Zcash — одна из криптовалют, ориентированная на анонимность транзакций, — вскоре пройдёт через свой первый форк. Обновление, получившее имя «Overwinter», потребует повсеместный переход пользователей внутри сети Zcash на новое ПО. Разработчики уверяют, что с этим апгрейдом не будет никаких проблем; тем не менее, остаётся риск отделения «недовольной» части сообщества от основной цепи, что приведёт к созданию конкурирующей криптовалюты.

Переход на Overwinter произойдёт на блоке 347.500, который, по предварительным подсчётам, будет сформирован утром в этот вторник. По сути, новый протокол представляет собой подготовительный шаг перед проведением более масштабного обновления в октябре.

В свою очередь, данное обновление (Sapling) создано для «облегчения» приватных транзакций Zcash, чтобы сделать блокчейн более масштабируемым и доступным для большего количества пользователей. Предполагается, что Sapling не должно вызвать много разногласий — тем более, что Overwinter уже внедрит часть изменений основного кода.

Как сказано на официальном сайте Zcash, дюжина компаний — биржи, майнинговые пулы, стартапы, — открыто поддержали Overwinter. MinerGate, Bitfly и Huobi также выразили поддержку в своих аккаунтах в Twitter.

Саймон Лю (Simon Liu), программный инженер Zcash, уверен в том, что никаких накладок быть не должно. В комментарии CoinDesk он сказал: «Все причастные стороны единогласно поддерживают Overwinter».

С ним согласен и основатель проекта Зуко Уилкокс (Zooko Wilcox):

«Мы работали с большим количеством людей из индустрии, и все они участвуют в запуске. По сути, практически вся компания работает над тем, чтобы обновление прошло гладко и без ущерба безопасности, чтобы усилить защиту пользователей».

При этом, подготовка к апгрейду не обошлась без драм.

Ди Джейн Мерсер (D. Jane Mercer), разработчик Windows-версии кошелька Zcash, WinZEC, пригрозил, что прекратит работу над кодом клиента и проведёт собственный хардфорк, если финансирование его проекта не возобновится. Ситуация быстро разрешилась, когда на счёт разработчика начали поступать анонимные пожертвования.

В то же время, недовольство внутри сообщества, вызванное появлением ASIC-майнеров для Zcash, продолжает расти. Но разработчики утверждают, что это не повлияет на успех Overwinter, учитывая то, какие изменения привнесёт апгрейд.

Важные мелочи

Одной из причин такого оптимизма являются меры предосторожности, заранее проработанные командой Zcash.

Например, сам по себе Overwinter не изобилует нововведениями, пояснил программный инженер Zcash Джек Григг (Jack Grigg). Это ПО в первую очередь создано, чтобы подготовить сеть к октябрьскому форку, Sapling, усиливая защитные механизмы для полномасштабного системного обновления.

Кроме того, отметил Григг, все изменения кода — это своего рода практичная оптимизация работы блокчейна. Одним из таких изменений является срок истечения транзакции — механизм, который предусматривает отмену операции, если она не была обработана в течение определённого периода. Кроме того, Overwinter содержит новый протокол, устраняющий баг хэширования, из-за которого некоторые транзакции занимали больший объём внутри сети.

Комментируя данный нюанс, Григг сказал: «У сети хороший стимул для поддержки обновления, чтобы улучшить производительность для более прозрачных транзакций со многими входными точками», — добавив, что именно это снижает риск стороннего отделения от цепи.

Но этот риск всё равно есть.

Поскольку некоторые новые алгоритмы несут преимущественно защитный характер, оберегая пользователей от любого урона, который может быть причинён при хардфорках — например, от атак повторного воспроизведения, — пока что они не активированы, и проблемы могут возникнуть во время перехода на Overwinter.

На это Григг ответил, что здесь нет ничего удивительного: Overwinter запрограммирован защищать сеть во время последующих обновлений — но в отношении самого ПО его собственные протоколы не работают.

Защитные полумеры

Однако есть ряд приёмов, которые могут помочь разработчикам дополнительно обезопасить блокчейн во время апгрейда.

Так, за час до активации Overwinter на всех узлах внутри сети будет запущен протокол «безопасного режима», чтобы предотвратить осуществление транзакций на оригинальной цепи — при этом, отдельные узлы могут отключить запуск протокола.

По словам Григга, безопасный режим сохранит деньги пользователей, которые решат воспользоваться старой версией клиента:

«Переведя ранние версии клиентов в безопасный режим, мы защищаем пользователей от случайных убытков, вызванных незнанием об активации обновления».

Оригинальная цепь Zcash предусматривает подобный механизм под названием «автосенильность», который деактивировал старые версии ПО спустя 16 недель после выхода новой версии.

Не так давно разработчики решили убрать опциональное отключение автосенильности, благодаря чему, утверждает разработчик Zcash Джейсон Дэйвис (Jason Davies), пользователи никогда не отстают от апгрейдов:

«Обязательное использование автосенильности упрощает отношения между Zcash и сообществом. По умолчанию, клиент Zcash требует постоянной актуализации».

Но на этом стратегии минимизации рисков не заканчиваются. Уилкокс сообщил, что Overwinter прошёл ряд сторонних тестов (ревизия была проведена в марте), которые показали полное отсутствие уязвимостей в коде нового ПО.

Уилкокс заявил:

«Я хочу показать миру, что мы можем воплощать сложные, революционные инновации и делать это качественно, без вреда или угрозы для растущей экосистемы».