Оглавление
Введение
Кто принимает решения в сети блокчейн?
Что такое вилка?
Хард-форк и софт-форк
Что такое хард-форк?
Что такое софт-форк?
Хард-форк или софт-форк: какой из них имеет больше преимуществ?
Подведем итог
Введение
Когда вы используете приложение электронного банкинга на своем смартфоне, вы, должно быть, столкнулись с системой, предлагающей вам обновление. В это время вам обычно необходимо рассмотреть и согласиться на обновление, прежде чем систему можно будет обновить. Возможно, ваш телефон также автоматически обновится без уведомления. В конце концов, обновление программного обеспечения — это необходимый процесс, и если вы не установите последнюю версию программного обеспечения, вы не сможете продолжать пользоваться соответствующими услугами.
В криптовалютной системе с открытым исходным кодом ситуация совершенно иная. Вам не нужно читать каждую строку кода, обеспечивающую работу Биткойна, но если вы можете, это будет полезно. Потому что вы обнаружите, что в децентрализованной среде нет иерархии управления и нет банка, который мог бы предлагать вам обновления и изменения контента по вашему желанию. Поэтому внедрение нового обновления функций в сеть блокчейна является непростой задачей.
В этой статье мы рассмотрим, как обновить криптовалютные сети без централизованного управления авторизацией. Таким образом, возникли два разных механизма: хард-форки и софт-форки.
Кто принимает решения в сети блокчейн?
Чтобы понять, как работают форки, сначала необходимо понять участников, участвующих в процессе принятия решений (или управления) сетью блокчейн.
В Биткойне вы можете грубо разделить участников на три разных подгруппы: разработчики, майнеры и пользователи полных узлов. На самом деле это узлы, участвующие в сети и вносящие свой вклад в ее работу. И, как и широко используемые легкие узлы (например, мобильные телефоны, ноутбуки и другие кошельки), они не являются реальными «участниками» сети.
Разработчик
Разработчики несут ответственность за создание и обновление кода. С традиционными токенами, какими вы их знаете, любой может внести свой код в этот процесс. Код общедоступен, поэтому они могут отправлять изменения другим разработчикам на рассмотрение.
шахтер
Майнеры являются участниками защиты сетевой безопасности. Они запускают код криптовалюты и выделяют вычислительные ресурсы для добавления новых блоков в блокчейн. Например, в сети Биткойн этого достигают посредством доказательства работы. Майнеры будут получать соответствующую прибыль от майнинга в виде коллективных вознаграждений.
Пользователь полного узла
Полные узлы являются основой криптовалютных сетей. Они отвечают за проверку, отправку и получение блоков и транзакций, а также за сохранение копии данных блокчейна.
Внутри этих различных категорий идентичностей вы можете обнаружить совпадения. Например, вы можете быть разработчиком и полным узлом одновременно или майнером и полным узлом. Вы также можете иметь все три личности одновременно. Но на самом деле мы считаем, что многие пользователи криптовалюты не выполняют эти роли. Вместо этого они предпочитают использовать облегченные узлы или централизованные сервисы.
Благодаря приведенному выше введению вы теперь также имеете глубокое понимание обязанностей разработчиков и майнеров в сети. Разработчики несут ответственность за создание кода, без которого вы не сможете запустить программное обеспечение и некому будет исправлять ошибки и обновлять новые функции. Майнеры несут ответственность за обеспечение безопасности сети, и без здоровой конкуренции в сфере майнинга блокчейн может быть взломан или остановлен.
Однако, если разработчики и майнеры попытаются заставить сеть делать то, что они хотят, будут последствия. Для большинства пользователей реальный контроль обеспечивается полными узлами. Они поддерживают работоспособность сети, позволяя пользователям выбирать программное обеспечение, которое они хотят запустить.
Разработчики не собираются врываться в ваш дом и угрожать вам загрузкой основных двоичных файлов Биткойна. Если майнеры займут жесткую позицию и заставят клиентов выбирать ненужные изменения, то большинство пользователей могут их не купить.
На самом деле ни майнеры, ни разработчики не являются могущественными повелителями, а являются поставщиками услуг. Если пользователь решит больше не использовать сеть, токены потеряют ценность. Потеря стоимости токена напрямую повлияет на майнеров (их вознаграждение будет стоить меньше, если измерять его в долларах США). Аналогично, для разработчиков их могут игнорировать только пользователи.
Вы заметите, что ни одно из этих программ не является собственностью. Вы можете вносить любые изменения, и если ваше модифицированное программное обеспечение используют другие люди, вы можете взаимодействовать друг с другом. В этом случае вы, по сути, создаете новую сеть, создавая форк программного обеспечения.
Что такое вилка?
Софт-форки реализуются путем копирования и изменения программного кода. Исходный проект продолжает существовать, но новый проект рождается отдельно, и новый проект развивается в другом направлении. Мы предполагаем, что у команды вашего любимого сайта, посвященного криптовалютам, есть серьезные разногласия по поводу дальнейших действий. Часть команды может копировать сайт в другие области. Однако, если мы посмотрим в будущее, они также будут публиковать статьи, отличающиеся от оригинального содержания.
Эти проекты построены на общей основе и используют одни и те же исторические данные. Как одна дорога позже разделилась на две, так и теперь их пути расходятся.
Обратите внимание, что подобные вещи постоянно происходят в проектах с открытым исходным кодом и существовали задолго до появления Биткойна или Эфириума. Однако только в мире блокчейна существует разница между хард-форками и софт-форками. Мы обсудим это подробно ниже.
➠Перейдите на Binance, чтобы купить биткойны и начать свой мир криптовалют!
Хард-форк и софт-форк
Хотя они имеют схожие названия и служат одной и той же цели, хард-форки и софт-форки сильно различаются. Давайте представим их подробно.
Что такое хард-форк?
Хард-форк — это обновление программного обеспечения, не поддерживающее обратную совместимость. Обычно такие ситуации возникают, когда узел добавляет новые правила, конфликтующие с правилами более старого узла. Новые узлы могут взаимодействовать только с узлами, на которых установлена новая версия программного обеспечения. В результате блокчейн разделился, образовав две отдельные сети: одну, работающую по старым правилам, и одну, работающую по новым правилам.

После обновления узлы становятся синими. Предыдущие желтые узлы отказывались подключаться к синим узлам, но синие узлы могут подключаться друг к другу.
Таким образом, теперь существуют две сети, работающие параллельно. Они продолжат создавать блоки и транзакции, но больше не будут работать в одной и той же цепочке блоков. До того, как сеть блокчейнов достигнет форка, все узлы имеют один и тот же блокчейн (и история все еще существует), но после этого у них будут разные блоки и транзакции.

Поскольку существует одна и та же история, если вы держали монеты до форка, у вас будут монеты в обеих сетях одновременно. Предположим, у вас на руках есть 5 BTC, когда форк происходит на высоте блока 600 000. Вы можете потратить 5 BTC в исходном блокчейне, когда высота блока достигнет 600 001, но потребление при высоте блока 600 001 не будет записано во вновь созданном блокчейне. Предполагая, что метод шифрования не изменился, эти 5 токенов по-прежнему будут существовать в вашем личном ключе в новой разветвленной сети.
Другим примером хард-форка является тот, который произошел в 2017 году, когда Биткойн разделился на две независимые цепочки: исходный Биткойн (BTC) и новый Bitcoin Cash (BCH). Форк произошел после долгих дебатов в сообществе по поводу масштабирования размеров блоков. Сторонники Bitcoin Cash (BCH) хотят увеличить размер блока, в то время как сторонники Bitcoin (BTC) выступают против этого изменения.
Увеличение размера блока требует внесения изменений в правила. Это было сделано до софт-форка SegWit (подробнее об этом позже), поэтому узлы могли принимать только блоки размером менее 1 МБ. Если вы создадите блок размером 2 МБ, другие узлы откажутся его проверять.
Только узлы, которые обновили свое программное обеспечение и поддерживают размеры блоков более 1 МБ, будут принимать эти блоки. Конечно, это делает их несовместимыми с предыдущими версиями, поэтому взаимодействовать друг с другом могут только узлы с одинаковым протоколом.
Что такое софтфорк
Софтфорк — это метод обновления программного обеспечения, который поддерживает обратную совместимость.Обновленные узлы по-прежнему могут взаимодействовать с необновленными узлами. Метод обновления софт-форка обычно заключается в добавлении в программу нового правила, которое не будет конфликтовать с предыдущим старым правилом.
Например, уменьшения размера блока можно добиться с помощью софт-форка. Давайте снова воспользуемся примером Биткойна, чтобы проиллюстрировать этот момент: в сети Биткойн существует верхний предел размера блока, но нет ограничения на нижний размер блока. Если вы хотите принимать блоки только меньшего размера, просто отклоняйте блоки большего размера.
Однако это не приведет к автоматическому отключению вас от сети. Вы по-прежнему можете взаимодействовать с узлами, которые не соблюдают эти правила, но некоторая информация, которую они вам передают, будет отфильтрована.
Хорошим примером этого является вышеупомянутый Segregated Witness (SegWit), который произошел вскоре после разделения Bitcoin и Bitcoin Cash. Segwit — это обновление, которое меняет формат блоков и транзакций, и оно продумано. Старые узлы по-прежнему могут проверять блоки и транзакции (в форматах, не нарушающих правила), но есть определенные поля, которые они не могут прочитать. Только после обновления узла до более новой версии некоторые поля станут доступны для чтения, а другие данные можно будет правильно проанализировать.

Даже спустя более двух лет после активации Segwit не все узлы были обновлены. Это имеет множество преимуществ, например, сеть не будет прерываться и обновления не будут столь срочными.
Хард-форк или софт-форк: какой из них имеет больше преимуществ?
По сути, эти два типа бифуркации работают по-разному. Спорное обновление хард-форка разделит сообщество на две части, но запланированное обновление хард-форка позволяет всем участникам свободно выбирать, изменять ли программу.
Софт-форк — более стабильный вариант. Вообще говоря, поскольку новые обновления не противоречат предыдущим правилам, вы можете применять только определенные ограничения. Тем не менее, если вы можете реализовать обновления совместимым образом, вам не нужно беспокоиться о риске фрагментации сети.
Подведем итог
Хард- и софт-форки имеют решающее значение для долгосрочного успеха сетей блокчейнов. Несмотря на отсутствие центрального органа власти, они могут вносить изменения и обновления в децентрализованную систему.
Форкинг позволяет блокчейнам и криптовалютам интегрировать больше новых функций по мере их разработки. Без этих механизмов нам нужна централизованная система с контролем сверху вниз. В противном случае мы будем придерживаться жестких правил на протяжении всего срока действия соглашения о программном обеспечении.
➠По вопросам, связанным с вилками, обращайтесь в Ask Academy!


