SegWit «на низком старте» —
Дебаты о масштабировании Биткойна вступили в критическую фазу. Два самых популярных предложения на сегодняшний день — BIP148 и SegWit2x, оба из которых предполагают активацию Segregated Witness («SegWit») в течение 30 дней, могут быть встроены в сеть в течение ближайших двух месяцев.
Однако существует реальный риск того, что произойдет раскол цепи. Оба варианта, как BIP148, так и SegWit2x могут привести к расхождению с текущим биткойн-протоколом, что может впоследствии вызвать появление ответвлений, причём даже нескольких.
Какие же даты станут важными в июле и августе?
Резюмируем: общие сведения об активации обновления Segregated Witness
Кратко перечислим основные особенности Segregated Witness и методы его активации.
SegWit — это обратно совместимое обновление протокола, первоначально предложенное группой разработчиков Bitcoin Core. Его общее принятие позиционируется как центральное событие в общей схеме при проведении масштабирования, поддерживаемого Core, ещё с тех пор как обновление было предложено в декабре 2015 года, и оно уже успешно реализовано на многих активных узлах блокчейна. Сегвит стал обязательной частью программы по масштабированию после «Нью-Йоркского соглашения»: альтернативного плана масштабирования сети, которое было принято большинством биткойн-компаний, а также многими майнерами. Предложение по улучшению Биткойн (Bitcoin Improvement Proposal 148) или BIP148, в свою очередь также предполагает активируемый пользователями софт-форк (UASF) с инициализацией SegWit, он и запланирован на 1-ое августа 2017.
Разница между этими двумя решениями заключается в том, как должна пройти активация.
Первое и оригинальное решение было разработано командой Bitcoin Core. Их код для SegWit, определенный как BIP141, подразумевает активацию при поддержке 95% узлов (или хеш-мощности) в течение сложного двухнедельного периода сигнализации о готовности в срок до 15-го ноября . Предполагается факт того, что майнеры, которые будут сигнализировать о поддержке будут готовы принять обновление, — в этом случае риск расхождения цепи будет минимален.
Однако в настоящее время лишь 40-45% от числа общей мощности хеша фактически сигнализирует о готовности для BIP141. Вот почему некоторые пользователи склоняются и планируют провести SegWit именно согласно BIP148 (UASF). Начиная с 1-го августа, их узлы будут отклонять все блоки, не сигнализирующие для BIP141. Если активация по этому протоколу будет поддержана большинством майнеров (опят же, в соответствии с хеш мощностью), то они всегда будут предъявлять самую длинную подтверждённую цепь, которая должна будет активировать SegWit на всех готовых к нему клиентских устройствах, и благодаря этому разделение будет предотвращено. Но если предложение поддержит недостаточное количество майнеров, то новая «цепь BIP148» может отделиться от текущего протокола.
Согласно Нью-Йоркскому соглашению, которое известно также как «Сильбертское соглашение» (от имени известного инвестора Barry Silbert) или Segwit2x, активация производится посредством BIP91. Как и в случае предложения BIP148, все узлы BIP91 будут отклонять любые блоки, не сигнализирующие о готовности к BIP141. Отличие от BIP148 состоит в том, что узлы BIP91 будут делать сверку в течение 2-х дней и им «хватит» поддержки 80% от мощности. Это сделано опять же для того, чтобы снизить вероятность возникновения разделения.
Второй шаг, учтённый в Нью-Йоркском Соглашении, предполагает хард-форк для удвоения размера базового биткойн-блока. Это изменение, в противоположность обновлению Segregated Witness, не обладает обратной совместимостью (со старыми блоками), и поэтому, предположительно, может с высокой долей вероятности вызвать возникновение ответвления.
Майнеры намерены по
ддержать обновление согласно Нью-Йоркскому Соглашению своей сигнализацией, но это тема отдельной статьи.
Вернемся же к предстоящим важным датам…
SegWit: хронология событий
14-ое июля: развёртывание BTC1
Программа-клиент «BTC1», появление которой стало следствием Нью-Йоркского Соглашения, является форком кода Bitcoin Core. Бета-версия BTC1 была выпущена 30 июня. Согласно плану, расписанному для SegWit2x, 14 июля — это тот день, когда все участники, подписавшие соглашение, должны установить бета-BTC1 и протестировать ее работу самостоятельно.
Это не относится к обычным пользователям и майнерам, естественно.
21-го июля: сигнализация BIP91 для старта обновления
Разработчики SegWit2x определили эту дату для начала сигнализации майнерами, именно в этот день узлы с BTC1 будут фактически запущены.
Событие также никак не отразится на работе типичных пользователей.
Однако каждый майнер, если он хочет помочь активировать SegWit, может сигнализировать о готовности для BIP91. (Эта поддержка будет ощутима благодаря добыче ими блоков с подписью «Бит 4» — они будут добываться при майнинге с использованием BTC1, или при использовании ПО, имеющего патч BIP91).
23-го июля (скоро): BIP91-синхронизация
Точный порог активации BIP91 подразумевает сигнализацию (Bit 4) от 269-и блоков из предопределённой группы в 336 блоков. Она и составляет указанные ранее 80% мощности хеша, сигнализация продлится чуть более 2-х дней (2 и 1/3). Итак, принимая во внимание расписание инициализации SegWit2x, BIP91 начнётся в кратчайший срок, намеченный на 23 июля.
И опять же, влияние инициализации не отразится на обычных пользователях.
Однако майнерам, при инициализации BIP91, останется только приблизительно 2-е суток для принятия решения о том, чтобы их ПО работало в согласии с форком, иначе они имеют все шансы создавать блоки, которые будут не подтверждены.
25-го июля (ближайшее время): активация BIP91
Следующая группа из 336 блоков после синхронизации BIP91 появится 25 июля после вступления в силу данного предложения. Другие блоки, которые не будут сигнализировать о готовности к Segregated Witness (на основании BIP141), будут отклоняться. Эффект не ощутят обычные пользователи. Однако майнеры теперь будут вынуждены создавать блоки имеющие подпись, указывающую на поддержку SegWit (BIP141). Все блоки, не соответствующие данным требованиям, будут отклоняться большинством.
29-го июля: крайний срок для завершения BIP91
Если майнеры захотят предотвратить раскол в цепи и разделение текущей криптовалюты, то 29-го июля станет последним днём для принятия ключевых решений.
Для того чтобы BTC1, согласующееся с BIP91 было совместимо с BIP148, оно должно быть подхвачено большинством до 08:00 UTC (04:00 по восточному времени EST — это 13:00 по Москве). Чем позже оно будет синхронизировано, тем выше риск, что оно не будет активировано вовремя.
При условии, что BIP91 не будет активирован к этой дате, Биткойн может ожидать раскол.
Если события начнут развиваться по такому сценарию, то постоянным пользователям, не подготовленным к потенциальному BIP148 UASF форку, нужно будет выполнить ряд мероприятий в течение 2-х дней. Они будут вынуждены это сделать. Рекомендуется ознакомится с этой статьей .
Если вы майнер и не активировали BIP91 до 29 июля, то у вас останется 2 дня для принятия решения на/для какой цепи продолжать майнить 1-го августа: в цепи BIP148 или в остаться в оригинальном «традиционном» блокчейне.
31-го июля: крайний срок завершения BIP141
Технически, 31 июля — станет вторым днем по счёту для майнеров, в которой они могут предотвратить разделение цепи.
В этот день (до 00:00 по UTC) станет самым поздним сроком для активации BIP91, или локализации BIP141. Другими словами, если BIP91 не будет принят вовремя, это спровоцирует осложнения сроком на 2 недели, в который должно быть достигнуто преодоление 95% барьера мощности сигнализации для SegWit.
Низка вероятность того, что 31 июля совпадет фактически с заключительным днем сложного периода. Даже если это и случиться, маловероятно, что осложнения продлятся ещё и после того, как станет ясно, что обновление встретило поддержку 95% узлов (то есть это скорее всего случиться раньше).
Но если события начнут развиваться по такому сценарию, то все — и пользователи и майнеры — должны будут подготовиться к вероятному разветвлению, как в случае, рассмотренном для 29 июля. Таким образом, 31 июля — последний день для того, чтобы к нему подготовиться.
1-ое августа: активация BIP148
На этот день назначена активация BIP148, что делает эту дату третьей по счёту (и окончательной), открывающей последнюю возможность майнерам избежать раскола.
В 00:00 по UTC (в США всё еще будет 31 июля) 1-го августа, все узлы BIP148 начнут отклонять любые блоки, которые не сигнализируют поддержку SegWit (для BIP141). Если BIP141 от Bitcoin Core или версия BTC1 (BIP91) будут синхронизированы и/или активированы вовремя, то никакого разделения не произойдет.
В случае, если ни того ни другого не случится к этой дате, то у «большинства» майнеров останется последний шанс избежать разветвления, благодаря поддержке BIP148 собственными усилиями. Это гарантирует, что они будут подтверждать всегда самую длинную цепь в соответствии с текущими биткойн-узлами и активацию SegWit по BIP141.
Если BIP141, BIP91 равно как и BIP148 привлекут достаточный объём общей хеш-мощности, то BIP148 получит некоторое сопротивление, и цепь может разделиться в этот день. Возникнет два «вида» биткойна: первый из них будет иметь связь с BIP148 — «148 Bitcoin» или «148BTC», второй, относящийся к старой версии — традиционный биткойн, «LegacyBTC». (Раскол может со временем сойтись или разрешиться, если 148 Bitcoin будет представлять всегда самую длинную цепь, но это уже тема другой статьи).
Владельцам биткойнов (имеющим приватные ключи) во время разделения автоматически станут принадлежать как 148BTC, так и LegacyBTC (ведь, произойдет копирование каждого блока в каждую цепь). Однако для доступа к различным видам придётся использовать различное ПО (программу-кошелёк). Обычным пользователям лучше на время приостановить все транзакции, по крайней мере, до тех пор, пока ситуация не прояснится. Несоблюдение этой рекомендации может стоить дорого! Для более подробных инструкций, смотрите эту статью.
Если произойдёт раскол, то майнерам придется решить какую цепь использовать и для какой майнить. (Естественно, возможность переключиться с одной цепи на другую будет доступна всегда. Например, всегда можно будет перейти на «добычу» для той цепи, которая будет более выгодна с финансовой точки зрения).
4-ое августа: потенциальный запуск Bitcoin ABC
Несмотря на то, что точная дата ещё не определена, 4-ое августа считается датой введения «нового» биткойна: Bitcoin ABC (предполагает регулируемый пользователями размер блока в пределах до 16 Мб).
Это, по сути, запасной «план на случай непредвиденных обстоятельств», который был анонсирован и предложен крупнейшим производителем оборудования для майнинга, компанией Bitmain, на случай, если BIP91 не будет активирован до 1-го августа, а BIP148 будет показывать «признаки жизни». Сравнительно недавно данный план — «Bitcoin ABC» — был предложен и разработан именно на случай непредвиденных обстоятельств, о нём и было заявлено на конференции Future of Bitcoin («Будущее биткойн»).
Bitcoin ABC будет иметь общую историю с Биткойн до конца 1-го августа, но уже в течении нескольких дней будет майниться только Bitmain. Он также будет содержать несколько новых и несовместимых с общей цепью правил протокола, важнейшим из которых станет снятие ограничения на размер блока.
Если вы стали владельцем биткойнов во время разделения, то есть 1-го августа в 00:00 по UTC, то вы автоматически становитесь и обладателем Bitcoin ABC. Однако для этого будет необходимо загрузить дополнительное программное обеспечение, чтобы иметь возможность отправлять/получать «монеты». Более полная информация станет доступна в том случае, если событие произойдет.
Возможность майнинга Bitcoin ABC появится 4-го августа (а может быть и раньше).
15-ое августа: возможное изменение в алгоритме Proof-of-Work для BIP148
Пока дата точно не известна, но 15-е августа возможно станет датой появления ещё одного вида биткойна, который, вероятно, получит название «NewPoW Bitcoin» или «NewPoWBTC».
Равно как и UASF, форк BIP148, назначенный на 1 августа, изначально исполняется пользователями, а не майнерами. Пользователи начнут отклонять блоки, которые не будут сигнализировать для Segregated Witness (BIP141). Этот факт будет стимулом для майнеров «следовать» и поддерживать BIP148-цепь (в идеальном случае до тех пор, пока она не станет единственной). Случиться ли это — ещё предстоит увидеть. До настоящего времени лишь некоторые из майнеров публично заявили о поддержке UASF.
Если поддержка майнеров 148 Bitcoin будет низкой, то его обладатели (некоторые из них) могут решить внедрить хард-форк изменение алгоритма подтверждения (подробнее о Proof-of-Work). Это может скомпрометировать группу майнеров, использующих специализированное ASIC-оборудование, сделать их способ добычи неактуальным, открыть двери для «забытого» типа майнеров — по сути децентрализовать майнинг, «вернуть» его на домашние компьютеры с обычными видеокартами (По крайней мере временно).
Созданная на дополнительном канале «Bitcoin Core Community» открытая рабочая группа в Slack в настоящее время работает над деталями проекта. Но, если окажется что к 15-му августа менее 15% от общего количества хеш-мощности будет майнить 148 Bitcoin, то этот хард-форк будет развёрнут. Это сделает раскол между новым протоколом и «Legacy Bitcoin» более явным. Технически, может быть спровоцировано и другое разветвление, уже с точки зрения функционирования самого 148 Bitcoin, ведь некоторые пользователи могут отказаться от внедрения изменений, которые предусматривает сам хард-форк, а именно изменения в алгоритме PoW.
Для обычных пользователей, которые стали владельцем биткойна во время разделения (1-го августа), и не потратили его до 15-го числа, также будет принадлежать и NewPoWBTC. Если пользователь купил или заработал 148BTC в этом временном диапазоне (01.08–15.08), то ему также будет принадлежать NewPoWBTC.
Однако, если биткойны были потрачены владельцем до или после разделения, то в этой ситуации все не так прозрачно. Опять же, для того чтобы быть уверенным в своих монетах, рекомендуется не производить переводы до тех пор пока не появится дополнительная уточняющая информация. (Ознакомьтесь со статьей, указанной выше).
Майнерам, которые будут добывать биткойн 148 Bitcoin на оборудовании ASIC, скорее всего придется переориентировать их оборудование на добычу более прибыльной криптовалюты или временно свернуть майнинг (Это зависит, конечно, от того будет ли добыча 148BTC приносить должный доход и от прочих факторов).
Естественно, добыча и использование NewPoWBTC станут доступны любому пользователю даже без специального оборудования для майнинга.
С середины до конца августа: синхронизация SegWit
Если майнерам удастся избежать разделения цепи, то SegWit будет успешно внедрен в период с середины августа по конец месяца. Это не станет сенсационной новостью — обновление произойдет по предполагаемому сценарию BIP91 or BIP148, которые мало что изменят кардинально для кого-либо.
Однако общая синхронизация потребует 2-х недельный срок для полной реализации, а именно: подготовленные к переменам в протоколе клиенты должны использовать новые правила в течение этого срока. Постоянным пользователям с позиций безопасности и для возможности использовать весь новый функционал придется в течение этого срока перейти на новое ПО, поддерживающее SegWit.
Если все же разделение цепи свершиться, то ситуация станет более сложной. Уже к середине августа может появиться несколько (один, два, три, а то и четыре!) вида биткойнов: «148 Bitcoin», «NewPoW Bitcoin», «Bitcoin ABC», а также остаться «Legacy Bitcoin» (традиционный вид).
Пока рано что-либо посоветовать в данной ситуации. Рекомендации остаются прежними: обычным пользователям лучше воздержаться от проведения транзакций, держать свои приватные ключи в сохранности, а майнерам следует «придерживаться» наиболее прибыльной цепи.
Конец августа — середина сентября: активация SegWit
Для предотвращения раскола цепи активация SegWit должна произойти в этот период. Используя совместимое с обновлением ПО, пользователи смогут сохранить высокую степень защищенности и при этом наслаждаться новыми возможностями.
Ситуация станет сложно прогнозируемой, если раскол все же произойдет.
Конец октября — середина ноября: SegWit хард-форк
Ближе к концу 2017 года (скорее всего даже до начала 2018 г.) запланировано проведение SegWit хард-форка. А именно, его активация на клиентском BTC1 должна состоятся в течение 3-х месяцев после синхронизации обновления. Активация будет означать, что начнут добываться блоки с размером больше, чем 1 Мб, что сделает BTC1 несовместимым с другим клиентским ПО, в котором не будет встроен код хард-форка.
Согласно текущей ситуации, можно с уверенностью сказать, что не все пользователи будут менять ПО для поддержки хард-форка. Биткойн-сообщество разработчиков, практически, единогласно отвергло данное предложение, оно также не встретило поддержку со стороны некоторых крупных биткойн-компаний, нет согласия и в рядах обычных пользователей. Теоретически, из-за этого может произойти новый раскол. (Что, в свою очередь, приведет к появлению пятого!!! вида биткойна, хотя маловероятно, что к этому времени сформируются описанные выше четыре вида).
Все подробности будут постепенно появляться на сайте Bitnovosti.com, по мере приближения к критическим датам.
Если вы являетесь майнером и используете для поддержки SegWit только клиент BTC1 и у вас нет намерений поддерживать хард-форк, то, возможно, вам придется начать использовать другой клиент, отличный от BTC1.