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