Что такое форк?
Форк — это создание копии ПО и внесение в него изменений. Эти модификации могут как быть совместимыми с предыдущей версией, так и противоречить ей. Это обновление не мешает работе изначального проекта.
Существуют два основных типа форков блокчейна: софтфорк и хардфорк.
Что такое хардфорк?
Хардфорк представляет собой более радикальное изменение протокола блокчейна, которое несовместимо с предыдущей версией. Это приводит к созданию двух отдельных цепочек с разными правилами и протоколами.
Хардфорк может быть вызван разногласиями в сообществе по поводу определенных изменений, вопросами масштабируемости, безопасности или другими фундаментальными аспектами. Пользователи и узлы должны принять решение, к какой ветви присоединиться. Хардфорк может также привести к созданию новой криптовалюты, если новая ветвь блокчейна набирает поддержку и становится самостоятельным проектом.
Пример недавнего хардфорка — переход Ethereum на алгоритм Proof-of-Stake. Майнинг стал невозможен, поэтому появился Ethereum PoW. По такому же принципу от биткоина откололся Bitcoin Cash.
Создатели систем устраивают хардфорки только в случае глубоких функциональных недостатков. Мелкие обновления выполняются в рамках софтфорка, поэтому пользователям не приходится делится на две группы или в срочном порядке адаптироваться к новым условиям.
Что такое софтфорк?
Софтфорк представляет собой обновление протокола, которое совместимо с предыдущей версией блокчейна. Это означает, что старые узлы в сети могут продолжать работать без необходимости обновления. Софтфорк обычно включает в себя внедрение новых правил и функциональностей, улучшение безопасности или повышение эффективности сети.
Он заставляет узлы, принявшие изменения, рассматривать другие блоки как недействительные. Однако «староверы» не исключаются из системы и продолжают работать — они могут проверять транзакции, создавать блоки.
Это и называют обратной совместимостью, которая отличает софтфорки и хардфорки. Ее особенность в том, что разработчикам не нужно одобрение участников. Если они не примут обновление, система пострадает в меньшей степени, чем после хард форка, так как не будет раскола.
Примером такого форка является Segregated Witness (SegWit) — изменение протокола биткоина для достижения большей масштабируемости сети.
С 2012 года активно шли дискуссии на тему медлительности биткоина. Выходом из этой проблемы стала концепция Segregated Witness, которая заключается в разделении информации о транзакции.
Открытый ключ и подпись занимают до 60% объема данных об операции, из-за чего разработчики предложили отправлять их по отдельности. Благодаря этому удвоилось количество транзакций в одном блоке без изменения размеров.
К реализации проекта разработчики подошли осторожно. Они внедрили изменение в протокол так, чтобы система распознавала любые блоки, включая устаревшие.
Кто обновляет блокчейны
В отличие от банков, социальных сетей и других подобных систем, у блокчейнов нет центральной инстанции, решающей все вопросы.
Развитием распределенной сети занимаются:
- Разработчики — создают и обновляют код. Любой человек с навыками программирования может предложить изменения, так как исходный код есть в открытом доступе.
- Майнеры и валидаторы — от них зависит безопасность сети. Пользователи предоставляют ресурсы для добавления блоков в блокчейн и часто играют большую роль при принятии решений.
- Владельцы полных нод — это основа криптовалютной сети, так как они хранят всю историю блокчейна, включая данные о генезис-блоке.
Все три группы важны для создания и внедрения изменений. Без разработчиков нельзя написать код, однако они никогда не станут ключевыми фигурами. Если майнеры и владельцы полных нод потеряют интерес к блокчейну, то существование платформы в принципе невозможно.
Из-за этого пользователям приходится искать согласие и договариваться на счет будущего системы. Это делает блокчейны привлекательнее классических площадок, находящихся под контролем корпораций. Однако отсутствие центральной фигуры часто тормозит развитие проектов. Из-за этого биткоин так и остался крайне медленной сетью из-за отказа сообщества на увеличение размера блока.
Вывод
Форки нужны блокчейну так же, как обновления в операционных системах и играх. Хотя изменения часто принимаются сообществом тяжело, без них сложно представить развитие децентрализованных сетей.