«Bitmain» потрясло Биткойн-сообщество на прошлой неделе, опубликовав пресс-релиз, в котором они подробно описали план проведения хард-форка, на случай если BIP148 все же вступит в силу. На следующий день Segwit2x выполнил реквест по объединению кода, который призван сделать их клиент совместимым с BIP91. На следующий день после этого группа китайских майнеров также выпустила собственный пресс-релиз о том, что они сигнализируют о Segwit2x, начиная с 19 июня.

Что же произошло после заявления сторон? Как будут дальше развиваться события? В статье описаны подробности того, как работает BIP91 и как Segwit будет активирован в сети и что должно произойти, чтобы избежать софт-форка, намеченного на первое августа.

Segwit2x: что надо знать

«Почему не была затронута та часть пресс-релиза, где говорится о Segwit2x?»

Я уже рассмотрел этот пресс-релиз, но как Чарли Шрем указал в показанном выше твите, я забыл упомянуть об одной особенности, связанной с Segwit2x.

Выдержка из пресс-релиза «Bitmain»:

Segwit2x: что надо знать

«Если Нью-Йоркское соглашение активируется, то мы бы хотели, чтобы оно было досконально продумано и проведено хорошо. Это последняя надежда объединиться промасштабировать Биткойн объединёнными усилиями перед лицом угрозы BIP148. Мы постараемся сделать всё возможное, чтобы  как можно скорее развернуть и активировать его».

«Bitmain» заявляет, что они предпочли бы Нью-Йоркское соглашение любому хард-форку и хотели бы активировать Segwit2x (собственно, известный, как Нью-Йоркское соглашение) до активации BIP148. Одна из важнейших причин для этого, это то, что Segwit2x нуждается в Segwit, и если он будет уже локализован в сети, то BIP148 не вызовет никаких действий. Каким же образом будет активирован Segwit2x? Вопрос, на самом деле, гораздо более скользкий, чем может показаться.

Механизм активации Segwit2x (Segwit2Mb)

В оригинальном Нью-Йоркском Соглашении сказано:

Segwit2x: что надо знать

«Мы даем согласие немедленно обеспечить параллельное обновление протокола, которое будет принято на постоянной основе и основано на решении Segwit2Mb: активировать опцию SegWit c порогом голосов в 80%, сигнализирующих bit 4; в последующие 6 месяцев активировать 2-мегабайтный хард-форк»

Как можно заметить, в заявлении нет никаких технических подробностей об активации Segwit, кроме части, выделенной красным цветом. Обратите внимание, оригинальное предложение Segwit BIP141 требует достижения 95% порога голосов и сигнализируется bit 1. Очевидно, что механизмы активации отличаются, и это вызвало недопонимание со стороны сообщества, совместимы ли вообще эти два сигнала? Можно ли сигнализировать о Segwit2x и не о BIP141, и наоборот?

Что произойдет, например, если Segwit2x удастся активировать Segwit, но узлы с BIP141 посчитают, что он неактивен, или наоборот?

Для решения этих проблем Джеймсом Хиллиардом в почтовом листе рассылки Bitcoin Dev был предложен оригинальный способ  (что интересно, предложение было внесено 22 мая, за день до конференции в Нью-Йорке). Этот умный механизм (называемый сейчас BIP91) открывает новый поворот развития событий.

Объединение двух вариантов при активации Segwit

BIP91 — это действительно «умное» решение позволяющее перевести 80%-порог сигнализации в 95%-ный. Как это реализуется:

  • Сигнализация по bit 4 принимается;
  • если 269 из 336 блоков сигнализируют о другом бите, то BIP91 фиксируется;
  • через следующие 336 блоков BIP91 активируется;
  • когда BIP91 становится активен, блоки не сигнализирующие bit 1 (то есть сигнал за BIP141), отклоняются.

Последний пункт из этого списка выглядит знакомым. Это в точности сценарий, как в случае с BIP148. В результате такой «принудительной сигнализации» цепь получит 100%-ую сигнализацию за BIP141 (Segwit), зафиксирует его принятие и активируется. Разница между BIP91 и BIP148 заключается в том, что BIP91 ожидает достижения 80%-порога согласия со стороны майнеров.

15 июня BIP91 был добавлен в репозиторий кода Segwit2x, что гарантирует его активацию при достижении 80%-порога поддержки майнеров.

Соглашение сообщества майнеров

На следующий день китайские майнеры опубликовали пресс-релиз, в котором они подтвердили, что запустят софт Segwit2x. Пока он ещё не готов, они не будут сигнализировать ни бит 1, ни бит 4, но добавят строку «NYA» в строчку Coinbase. Эти майнеры представляют около 80% всей существующей хеш-мощности и, предположительно, они включат сигнализацию бит 4 сразу же после того, того как программное обеспечение Segwit2x будет готово.

Что это значит для вас

Вот что должно произойти, чтобы избежать софт-форка 1-го августа:

  1. ПО Segwit2x должно быть выпущено и попасть в руки майнеров;
  2. Как минимум 269 из 336 блоков должны сигналить бит 4 (80%), это вызовет срабатывание BIP91;
  3. Затем должно пройти ещё 336 блоков. Это вызовет активацию BIP91. После этого каждый блок должен сигнализировать бит 1 (Segwit/BIP141).

Если всё это произойдёт до 1-го августа, то BIP148 ничего не сделает и, в результате, софт-форка не будет. Непонятно что произойдёт на втором шаге первого августа. Посчитают ли сторонники BIP148, что предложение достаточно хорошо, чтобы принять его, а не софт-форк? Вероятно, но до сих пор сторонники BIP148 не выступили с заявлением на этот счёт. В интересах всех, чтобы сторонники BIP148 прояснили позицию как можно скорее.

Постойте-ка, есть кое-что ещё

Это однозначно хорошие новости. Всё выглядит так, что Биткойн останется в рамках одной  цепи – конечно, если вы надеетесь, что цепь сможет избежать раскола на постоянной основе. Но бой не закончен. Гораздо большая и более спорная проблема хард-форка с увеличением размера блока до 2Mb ещё не урегулирована.

В соответствии с Нью-Йоркским Соглашением, 2-Mb хард-форк должен быть активирован в течение 6 месяцев. Какой софт произведёт эту активацию? Будет ли это Bitcoin Core? Маловероятно, поскольку они не подписали соглашение. Segwit2x? Возможно, но как они это выкатят? Через Bitcoin Unlimited? Для BUIP0055 уже выставлена дата,18 октября, однако это изменение предполагает размер блока больше, чем 2Mb.

Более того, если подписанты Нью-Йоркского соглашения запустят свой Биткойн-клиент, как будет управляться этот репозиторий? Будут ли вовлечены девелоперы Core? Если поступит предложение добавить код Segwit2x к репозиторию Core, что если Core отклонит это предложение?

Ни на один из этих вопросов пока что нет ответа. Мы всё ещё блуждаем в глухом лесу.

Заключение

Шаги, предпринятые две недели назад, предполагают, что Segwit будет активирован и форка 1-го августа не случится. В краткосрочной перспективе звучит обнадеживающее, но заглядывая в будущее, нельзя точно сказать произойдёт-ли хард-форк с целью увеличения размера блока или нет. Уже есть повод для оптимизма, но предстоит ещё много сражений.

Источник

Оставьте ответ

Пожалуйста, напишите ваш комментарий!
Пожалуйста, введите ваше Имя