Если вы знакомы с разработкой программного обеспечения с открытым исходным кодом, вы могли слышать о том, что называется форком. Однако в криптовалютном пространстве это понятие имеет более специализированное значение:
Форкинг в криптовалюте – это изменение протокола консенсуса для блокчейна. Это изменение, при котором узлы начинают подтверждать блоки в цепи, отдельной от исходной цепи.
Допустим, разработчик размещает часть кода на платформе типа GitHub, которая открыта для общественности. Это называется открытым исходным кодом.
Это означает, что пользователи могут создать копию исходного кода для собственного использования. Они могут сделать это с намерением самостоятельно скомпилировать программное обеспечение. Они могут делать это, чтобы добавить функциональность, которая, возможно, не была добавлена первоначальными авторами программного обеспечения или была отвергнута первоначальными авторами.
Взятие исходного кода и самостоятельное создание на его основе называется форкингом. Это ключ к жизнеспособности open-source.
Нюанс криптовалют заключается в консенсусе. Это главное свойство функционирующего протокола блокчейн. Каждый узел, работающий в сети, должен использовать то же программное обеспечение, что и все остальные узлы, иначе это грозит штрафами и исключением из сети.
Допустим, вы хотите форкнуть существующую криптовалюту. Из-за необходимости консенсуса вам придется форкнуть весь блокчейн. То есть, если только вы не сможете заставить большинство существующих узлов заменить свое программное обеспечение на ваше, что не всегда легко!
Вилки возникают по многим причинам:
В криптовалютном пространстве существует два типа форков, когда изменяются правила консенсуса. Оба должны придерживаться различных результатов, которые либо включают, либо исключают участие пожилых узлов.
Жесткий форк происходит, когда правила консенсуса ослабляются, чтобы приспособиться к определенным изменениям в сети. Эти изменения повышают функциональность поведения подтверждения блока. Эти изменения не имеют обратной совместимости для узлов, работающих на более старом программном обеспечении, и начнут новую ветвь в исходном блокчейне.
Когда изменяется более широкая функциональность активов сети, изменяются и экономические свойства активов. Эти изменения могут включать:
Список можно продолжать, но одно можно сказать точно: для совершения транзакций на новой блокчейн необходим новый актив.
Например: Допустим, узел, работающий на старом программном обеспечении, получил блок размером 2 МБ, хотя ожидал блок размером 1 МБ. Блок размером 2 МБ будет недействительным, так как он больше, чем разрешено правилами старой сети. Блок размером 2 МБ должен быть отправлен по отдельной сети.
Мягкий форк происходит, когда правила консенсуса ужесточаются, чтобы приспособиться к определенным изменениям в сети. Это изменение создает определенную функциональность подтверждения блока или поведения консенсуса. Этот тип форка имеет обратную совместимость для узлов с более старым программным обеспечением и позволяет узлам отказаться от обновленного метода участия.
Используем наш предыдущий пример: Допустим, узел ожидает блок размером 1 МБ, но получает блок размером 0,8 МБ. В этом случае меньший блок будет восприниматься как меньший, чем полный блок, но все равно будет принят.
Давайте рассмотрим несколько примеров всех этих развилок на практике. Мы рассмотрим две самые популярные криптовалютные сети, которые прошли через некоторые трудности роста, чтобы достичь того уровня, на котором они находятся сегодня.
В середине и конце 2010-х годов биткойн(BTC / USDT) столкнулся с проблемами масштабируемости, и его дальнейший путь оспаривался между двумя фракциями пользователей биткойна.
Было внесено предложение о внедрении функции Segregated Witness (SegWit) в программное обеспечение Bitcoin. SegWit был предложен в качестве изменения архитектуры транзакций Биткойна. Это изменение позволит хранить данные подписи в виде дерева данных, прикрепленного к транзакциям, и не учитывать их в идентификаторе транзакции. SegWit был предложен как выбор по желанию. Это пример мягкой вилки.
Вы можете увидеть различия в своем адресе Bitcoin: Адрес, начинающийся с цифры один, использует традиционную структуру транзакций, в то время как адреса, начинающиеся с ‚bc1‘ или цифры три, используют встроенный SegWit и вложенный SegWit соответственно.
Так и вышло: биткойнеры разрывались между уменьшением объема данных, необходимых для транзакции, чтобы больше транзакций поместилось в блоки размером 1 МБ, и увеличением размера блока до 8 МБ. Отказ от SegWit для больших блоков потребует жесткого форка сети. В августе 2017 года биткоин был подвергнут хард форку, и был создан Bitcoin Cash.
В июне 2016 года хакеры взломали „The DAO“, крупное казначейство, созданное как средство обеспечения инвестиций для проектов в сети Ethereum. Хакеры похитили около 55 миллионов долларов США.
До момента взлома в казне DAO находилось около 250 млн долларов США. Вот как это работает:
Каждый участник будет получать 100 токенов DAO за каждый 1 ETH, внесенный в казначейство. Эти токены использовались для голосования по вопросу о том, является ли данное инвестиционное предложение потенциально выгодным или нет. Если бы предложение прошло, казначейство автоматически перевело бы предложенные инвестиции ETH на смарт-контракт, представляющий проект.
Идея была похожа на хедж-фонд. Если проект принесет больше дохода, чем инвестиции, прибыль будет возвращена в казну DAO и увеличит стоимость токена DAO.
Однако смарт-контракт имел уязвимость, воспользовавшись которой злоумышленник мог бесконечно снимать деньги, пока казна не опустеет.
Конечно, в этой истории много деталей, но давайте остановимся на основных событиях. Атакующие хакеры боролись за то, чтобы вывести как можно больше денег, в то время как „белые“ хакеры сообщества отчаянно пытались использовать тот же эксплойт, чтобы спасти средства казны.
К концу обе фракции слили все, что могли, но ущерб был нанесен. Для полного ослабления атаки был предложен жесткий форк блокчейна. Блокчейн будет перезапущен с момента, предшествовавшего взлому, и продолжит работу как ни в чем не бывало. Это нынешний канонический блокчейн Ethereum(ETH / USDT), каким мы его знаем.
Некоторые пользователи, однако, посчитали, что это плохой прецедент, и они останутся на блокчейне, на котором произошел взлом; сейчас он известен как Ethereum Classic.
Форкинг обычно делается для улучшения протокола. Хороши ли эти изменения или плохи, зависит от сообщества, вносящего эти изменения.
Поскольку вилочные сети имеют разные технические и экономические свойства, они являются принципиально разными активами. Эти факторы влияют на то, будет ли актив расти в цене.
Не существует лучшей криптовалюты для форка, и любой проект с открытым исходным кодом может быть форкнут.
Ethereum 2.0 не считается hard fork, если пользователи придерживаются модели Proof-of-Stake при обновлении программного обеспечения. Proof-of-Work версия ETH приведет к созданию нового блокчейна.
Биткойн реализует жесткие форки, как правило, для решения проблем масштабируемости. Обычно проблема заключается в количестве транзакций в секунду и размере блока.
Vasil – это хард форк Cardano(ADA/ USDT).
Жесткий форк не имеет обратной совместимости, требуя создания нового блокчейна, в то время как мягкий форк имеет обратную совместимость со старым блокчейном. Более подробное объяснение см. в статье выше.