Введение
Если на смартфоне всплывает окно с обновлением приложения, мы активируем его без раздумий. Телефоны могут обновляться даже без уведомления пользователя. В конце концов, обновления необходимы — без установки последней версии программного обеспечения существует риск сбоев в работе сервисов на устройстве.
Кто принимает решения в сети блокчейна
Разработчики
Разработчики создают и обновляют код. Любой пользователь с монетами может вносить в него изменения, так как код общедоступен и дает возможность отправлять любые предложения разработчикам.
Майнеры
Пользователи полных нод
Перечисленные категории участников зачастую могут совпадать. Например, разработчик может быть одновременно и полной нодой или же полная нода может быть в то же время майнером. Любой человек может выступать в роли всех троих или ни одного из них. На самом деле, под пользователями криптовалюты обычно понимаются те, кто не выполняет ни одной из этих ролей. Вместо этого они используют упрощенные ноды или централизованные сервисы.
Разработчики не заставляют пользователей загружать бинарные файлы Bitcoin Core под дулом пистолета, также и майнеры не в состоянии ставить ультиматум и вносить свои изменения.
Что такое форк
Форк — это создание копии программного обеспечения и его модификация. При этом первоначальный проект продолжает функционировать, но форк развивается отдельно в своем направлении. Предположим, что внутри команды некого сайта с криптовалютой возникли серьезные разногласия по поводу дальнейшего развития. Тогда одна часть команды может воссоздать сайт в другом домене, где они будут размещать другой контент.
Оба этих проекта построены на одной основе и имеют общую историю подобно тому, как одна дорога разделяется на два разных направления.
Хардфорки и софтфорки
Несмотря на похожие названия и задачи, хардфорки и софтфорки существенно различаются. Рассмотрим каждый из них подробнее.
Что такое хардфорк
Хардфорки — это обновление программного обеспечения, несовместимое с предыдущими версиями. Обычно это происходит, когда ноды добавляют изменения, противоречащие существующим правилам старых нод. Новые ноды могут взаимодействовать только с нодами, использующими новую версию. В результате блокчейн разделяется на две отдельные сети: одну со старыми правилами и другую — с новыми.
После обновления ноды становятся синими. Старые желтые ноды отвергают их, а синие соединяются друг с другом.
Итак, теперь две сети работают параллельно. Они обе продолжат работать с блоками и транзакциями, но не в одном блокчейне. Все ноды работали в одном блокчейне до создания форка (у этого форка будет такая же история, как и у оригинального блокчейна), но в будущем их блоки и транзакции будут отличаться.
Увеличить размер блока можно только с изменением правил. Это происходило до софтфорка SegWit (подробнее об этом далее), поэтому ноды принимали только блоки размером менее 1 Мб. Даже блок на 2 Мб, соответствующий всем прочим требованиям, все равно был бы отклонен.
В форке только ноды с новым программным обеспечением смогли одобрять блоки крупнее 1 Мб. Конечно, это означало полную несовместимость с оригинальной версией, так что взаимодействовать могли только ноды с одинаковыми модификациями.
Что такое софтфорк
Это не приведет к автоматическому отключению от сети. Ноды софтфорка по-прежнему смогут взаимодействовать с нодами из оригинального блокчейна — они просто будут фильтровать получаемую информацию.
Даже через два года после активации SegWit не все ноды были обновлены. Обновление имеет свои преимущества, но никакой срочности в этом нет, посколько изменения не оказывают деструктивного влияния на сеть.
Хардфорки и софтфорки — что лучше?
По сути, каждый вид форков служит своим целям. Рожденные в результате разногласий хардфорки могут разделить сообщество, но запланированные форки позволяют свободно модифицировать программное обеспечение по обоюдному согласию.
Софтфорк — это более мягкий вариант. Он подразумевает изменения с определенными ограничениями, которые не противоречат старым правилам. В любом случае, если обновление может оставаться совместимым, то беспокоиться о фрагментации сети не стоит.
Резюме
Хардфорки и софтфорки имеют решающее значение для успеха сетей блокчейна в долгосрочной перспективе. Они позволяют вносить изменения и обновления в децентрализованные системы, несмотря на отсутствие единого органа управления.
Форки — это возможность для блокчейнов и криптовалют интегрировать новые функции по мере их разработки. Благодаря этим механизмам исчезает необходимость в централизованной системе с вертикальным управлением. Без них развитие блокчейнов тормозилось бы одними и теми же правилами.