Главное
- Хардфорк — метод внесения существенных изменений в код протокола блокчейн-проекта. Термин произошел от английского слова “fork” — «вилка».
- Также хардфорк является своеобразным способом достичь консенсус относительно новых изменений в комьюнити.
- Иногда хардфорки используют для запуска новых криптопроектов.
Зачем нужен хардфорк?
Каждый блокчейн работает на базе какого-то протокола — приложения, состоящего из различных компонентов. Код протокола большинства популярных блокчейн-проектов открыт. Это значит, что он опубликован целиком и его можно свободно копировать.
Код блокчейн-протоколов постоянно дорабатывают: убирают найденные ошибки и уязвимости и добавляют улучшения. Некоторые из этих изменений могут быть довольно масштабными. Тогда разработчики и производят хардфорк: не меняют текущую версию протокола, а создают параллельную его копию, куда добавляют новый код. А уже затем валидаторы или операторы биткоин-нод переходят на новую версию протокола. Конечно, если они согласны с предложенными изменениями.
Такой подход позволяет сохранить стабильность блокчейна, ведь текущий протокол остается без изменений и не подвержен риску сбоев при обновлении.
Хардфорки проводят для крупных обновлений, но они также могут служить средством решения кризисных ситуаций. Например, после взлома The DAO в 2016 году разработчики Ethereum с помощью хардфорка «вернули» владельцам похищенные у них средства на сумму около $55 млн, что было очень существенной суммой для криптоиндустрии в то время.
Кто придумал хардфорк?
Хардфорки широко применяют в программировании. Большинством библиотек с кодом приложений с помощью Git — самой популярной в мире системы управления версиями приложений. И она позволяет создавать копии текущей библиотеки. Это удобная функция для разработчиков, ведь в новой версии они, в частности, могут тестировать изменения, которые хотят внести в основную библиотеку, без риска ее «сломать».
Так в ходе выполнения различных задач по разработке от исходной библиотеки часто отрастают новые «ветки», которые тоже, в свою очередь, могут быть скопированы. Таким образом, история изменения кода приложения имеет древовидную структуру и похожа на зубцы вилки с единым основанием (отсюда и название явления).
Примерно то же происходит с блокчейн-протоколом.
Кто участвует в хардфорке?
Обычно хардфорк — результат длительного обсуждения и консенсуса, которого достигают в сообществе блокчейн-проекта. Сначала разработчики выдвигают какое-то предложение. Его обсуждают, дорабатывают и тестируют, а в конце концов производят релиз.
Если обновление крупное и предполагает не только технические изменения, но и другие перемены — например, в токеномике криптопроекта, — обсуждение может выйти за пределы сообщества разработчиков. Например, в Ethereum действует целая система для предложений по улучшению протокола под названием Ethereum Improvement Proposal.
Чтобы активировать хардфорк, недостаточно только написать новый код, нужно еще получить одобрение большинства других участников. Помимо разработчиков, другая ключевая сторона — это валидаторы, управляющие нодами сети. Именно от них зависит стабильная и здоровая работа блокчейна, следовательно, и всего проекта.
Валидаторы хорошо знают о том, что нужно пользователям блокчейна, и при необходимости могут высказать свое мнение относительно предложенных изменений. Если валидаторы не поддерживают обновление, они просто не переведут на него свои ноды.
Важно понимать: протокол настоящего блокчейна невозможно обновить в одностороннем порядке, без согласия сообщества, потому что децентрализованный характер имеет не только сеть, но и ее программный уровень.
Это хорошо продемонстрировал пример — Terra. После драматичного краха стейблкоина UST и нативной монеты LUNA основатель проекта, До Квон, предложил выпустить новую цифровую валюту через хардфорк. По мнению Квона, ее можно использовать для компенсации держателям обесценившихся криптовалют. Однако многие в сообществе Terra с ним не согласились.
Как в результате хардфорков появляются новые блокчейн-проекты?
Если большинство ключевых участников проекта одобряют хардфорк, сеть просто переходит на новую версию, а старой перестают пользоваться, и она фактически «умирает».
Но иногда хардфорк может вызвать раскол в сообществе: часть комьюнити принимает обновление, а часть — нет. Тогда проект, по сути, разделяется на два: одни живут с новым обновление, а другие продолжают старую «ветку» кода, дополняя ее уже своими изменениями.
Так произошло в результате того же взлома The DAO: большинство поддержали предложение Виталика Бутерина о компенсации пострадавшим через хардфорк, но часть комьюнити с этим не согласилась. В результате появилась Ethereum Classic.
Похожий случай произошел c биткоином: разные взгляды на масштабирование первой криптовалюты через улучшение ее протокола привели к тому, что часть разработчиков и майнеров в 2017 году образовали проект Bitcoin Cash.
Форками также называют сторонние проекты, код которых был скопирован с какого-то другого протокола. Так появился SushiSwap, создатели которого внесли лишь небольшие правки в исходный код децентрализованной биржи Uniswap.
Как хардфорк влияет на курс криптовалюты?
Такого рода события почти всегда сказываются на ценах криптовалют. Если хардфорк призван решить какие-то масштабные проблемы блокчейн-проекта, относительно его необходимости есть консенсус и его ожидает сообщество, тогда с высокой долей вероятности цена на криптоактив этой сети вырастет.
Но если хардфорк приводит к расколу в комьюнити, не отвечает задачам развития проекта или идет не так, как запланировано, то вполне вероятно, что в результате нативная криптовалюта потеряет в стоимости. Чаще всего это связано с сомнениями инвесторов относительно дальнейших перспектив этого блокчейна.
Так или иначе, хардфорк создает для криптовалюты риск неопределенности.
Чем софтфорк отличается от хардфорка?
Если хардфорк — это «жесткое» обновление, которое требует перехода на новую «ветку», то софтфорк — «мягкие», обычно несущественные изменения, для которых не нужно перезапускать сеть на новом протоколе.