Хардфорк и софтфорк: что это? В чем разница?
Индустрия криптовалюты и блокчейнов постоянно меняется. Чтобы внести эти изменения, разработчикам часто приходится делать непростой выбор. Внедрение таких обновлений – кропотливый процесс в децентрализованной среде, который может привести к распаду сетей при неправильном выполнении. Обновление сети часто осуществляется с помощью «вилок», или форков. Хардфорк и софтфорк очень разные и могут иметь разные результаты при внедрении. Оба варианта могут оказаться необходимыми при определенных условиях.
Платформы блокчейна работают по протоколам, которые согласовываются и проверяются узлами. Транзакции между двумя сторонами создают блок, который отправляется в распределенный реестр, сеть подтверждает транзакцию, и блок добавляется в сеть. Ключевым элементом платформы блокчейн, относящимся к форкам, является именно протокол. Он определяет, как работает блокчейн: какой размер блоков, вознаграждения, которые получают майнеры, как рассчитываются комиссии и многое другое.
Платформы блокчейн постоянно развиваются. Как Windows и Apple обновляют свое программное обеспечение, так и платформы блокчейнов обновляются и меняются. Иногда группы разработчиков расходятся во мнениях относительно того, как обновить цепочку блоков или как должна развиваться платформа цепочки блоков. Кому-то могут понадобиться блоки большего размера, кому-то может потребоваться другое вознаграждение для майнеров, кому-то может потребоваться изменение комиссий. Поскольку разработчики и майнеры вместе работают над блокчейном и знают и понимают технологию, у них есть возможность развивать блокчейн или двигаться в новом направлении. Хардфорк представляет собой сегмент блокчейна, движущийся в новом и другом направлении, аналогично развилке на дороге.
Как происходит форк?
Форк в цепочке блоков – это пример того, как разработчики создают новый протокол цепочки, хотя и связанный с существующим протоколом. Это необходимо, чтобы обеспечить другую и новую версию цепочки блоков.
Когда дело доходит до программного обеспечения, разветвление кода часто означает копирование и изменение существующих данных. Это позволяет проекту жить дальше, а не создавать что-то совершенно новое, хотя будущая версия программного обеспечения будет отличаться от текущей. В большинстве случаев различия принесут пользу пользователям проекта разными способами, хотя всегда есть шанс, что некоторые участники сети предпочтут старую версию новой.
Поскольку обе версии проекта будут иметь общую историю, существует эффективная «развилка» в отношении того, какую версию программного обеспечения использовать. Форки широко распространены в проектах с открытым исходным кодом и, соответственно, во многих криптовалютах, представленных на рынке сегодня. Однако важно различать софтфорки и хардфорки, поскольку оба имеют очень разные последствия. Форки часто реализуются по одной из следующих причин:
- чтобы исправить проблемы безопасности в существующей цепочке блоков;
- чтобы добавить новую функциональность (например, размер блока);
- для отмены транзакций.
Концепция хардфорка
Хардфорк – это изменение исходного блокчейна, которое делает новый блокчейн несовместимым с ним. Любая транзакция, которая происходит в новой цепочке блоков, не может быть совместима со старой цепочкой блоков, и наоборот. Изменения касаются и майнеров. Для возможности майнинга блоков в новой цепочке, все узлы необходимо обновить, чтобы они были совместимы с новым протоколом.
Основная причина, по которой хардфорки имеют некоторую отрицательную репутацию, заключается в том, что они не имеют обратной совместимости. Когда разработчики добавляют новые правила, которые конфликтуют или перезаписывают предыдущие, могут возникнуть расхождения в коммуникации. Обычно это происходит, когда не все используют одну и ту же версию программного обеспечения. В худшем случае это может привести к разделению экосистемы блокчейна с двумя отдельными сетями, сосуществующими некоторое время.
Когда две сети работают параллельно, возникает очень неприятная ситуация. Каждая версия блокчейна продолжает генерировать блоки и транзакции, но они несовместимы друг с другом. Некоторые узлы будут взаимодействовать только в одной цепочке, тогда как другие сосредоточены на другой. В результате у них будут разные блоки и транзакции, а не один и тот же реестр.
Для пользователя это также может иметь последствия. Обычно у пользователя будет одинаковое количество монет в обеих цепочках, если произойдет разделение сети. Их можно потратить на обе цепочки, но преобразование стоимости из одной цепочки в другую или наоборот может оказаться сложной задачей. Что еще более важно, стоимость монет в этих двух цепочках может значительно отличаться.
Что такое софтфорк?
В то время как в хардфорке узлы на новом блокчейне несовместимы со старым блокчейном, софтфорк считается обратно совместимым. Узлы в старой цепочке блоков могут распознавать транзакции в новой цепочке блоков, поэтому они могут следовать новому протоколу, одновременно соблюдая старый. Это означает, что пользователи цепочки блоков, которые не обновились до нового протокола, все еще могут проверять транзакции.
Увеличение размера блока требует хардфорка и потенциального разделения сети, тогда как можно уменьшить размер с помощью софтфорка. Как правило, нет никаких ограничений на то, насколько маленькими могут быть сетевые блоки. Если нужно выполнить меньше транзакций, нет смысла постоянно использовать максимальный размер блока. Вместо этого размер может адаптироваться к потребностям сети.
Для узлов, на которых запущено это программное обеспечение и которые принимают только блоки меньше определенного размера, есть возможность сделать это. Даже если они отклоняют блоки большего размера, они не отключаются от сети за это. Связь между узлами останется возможной, даже если некоторые данные, не относящиеся к набору правил узла, будут отфильтрованы.
Самые известные примеры хардфорка и софтфорка
Bitcoin
Первым форком в сети Bitcoin является Bitcoin XT. Он произошел в 2014 году с целью улучшения скорости транзакций в сети с 7 до 24 tsp. Хотя вначале проект был довольно успешным, в настоящее время он недоступен. Инвесторы отказались от него, отдав предпочтение Bitcoin и другим валютам.
Хардфорк Bitcoin Cash – самый известный форк в экосистеме криптовалют. Этот хардфорк также является самым успешным на сегодня. Он произошел в 2017 году, и сразу же кошельки BCH начали отклонять транзакции BTC. На момент написания материала BCH торгуется на уровне $671 при рыночной капитализации в $12 644 130 667.
Он произошел в результате того, что группа разработчиков, инвесторов и майнеров хотела увеличить размер блоков Bitcoin с 1 МБ до 8 МБ, что помогло бы масштабировать блокчейн и позволить больше транзакций. Увеличение размера блока – это существенное изменение правила, требующее хардфорка кода. Сеть автоматически отклонит любой блок, не соответствующий пороговому значению.
Bitcoin Gold (BTG) – еще один форк, произошедший в экосистеме Bitcoin. Он также произошел в 2017 году, сразу после запуска Bitcoin Cash. Причина его запуска заключалась в упрощении майнинга монет. BTG снизила потребность в ресурсах, сохранив при этом очень эффективный консенсус POW. На сегодня цена BTG составляет $70,11 при рыночной капитализации в $1 227 989 582.
Примером софтфорка Bitcoin является обновление Segregated Witness. SegWit изменяет формат блоков и транзакций, не мешая старым узлам проверять данные по другим правилам. Благодаря усовершенствованию SegWit в каждый сетевой блок помещается больше транзакций. Стоит отметить, не все узлы воспользовались обновлением.
Ethereum
В сети Ethereum самым популярным является форк Ethereum Classic. Он произошел в середине 2016 года, когда разработчики обнаружили уязвимость в Ethereum DAO. Она привела к потере около 3,6 миллиона ETH. Команда разработчиков Ethereum создала хардфорк для возврата средств. Сегодня ETC торгуется на уровне $59,68 при рыночной капитализации в $7 768 710 195.
Подписывайтесь на Телеграм канал, чтобы всегда быть в курсе самых последних и горячих новостей – @like_freedman
Автор: Евгения Лимончикова, аналитик Freedman Сlub Crypto News