Что такое хард-форк, софт-форк, UASF в криптовалютах

5517
Просмотры
Что такое хард-форк, софт-форк, UASF в криптовалютах

В этой статье мы поговорим о хардфорках, каснемся софтфорка и расскажем о других вариантах разделения сети.

В самой основе форка — то, что происходит, когда блокчейн расходится в два разных направления: либо в отношении истории транзакций сети, либо нового правила при принятии решения о подтверждении транзакции. То есть, участники сети должны одинаково признавать то, что было записано в блокчейн, и одинаково подтверждать то, что нужно записать. Изменение в правилах = два разных пути, цепи разделяются, противоречат друг друга. Происходит форк. Одни участники поддерживают один вариант, вторые — другой.

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

Наряду с этим также возникла путаница в отношении различных типов форков, их активации и рисков, которые они создают.

Чтобы уточнить, мы быстро собрали информацию о том, как работают разные форки.

Основы

Это побочный продукт распределенного консенсуса: «вилки» случаются в любое время, когда два майнера находят блок почти в одно и то же время. Неопределенность разрешается, когда к какому-то из двух одновременно найденных блоков добавляются последующие блоки, что делает эту последовательность самой длинной цепочкой, в то время как другой блок получает название «сиротка» (или заброшенный сетью), цепь с ним обрывается.

Но форки также могут быть представлены в самой сети. Это происходит, когда разработчики стремятся изменить правила, используемые программным обеспечением для определения того, действительна ли транзакция или нет.

Хардфорк / жесткий форк

Что это? Жесткая вилка — это обновление программного обеспечения, которое вводит новое правило в сеть, что становится несовместимо со старым программным обеспечением. Вы можете думать о жестком форке как о расширении правил. (Новое правило, позволяющее размеру блока быть 2 Мбайт вместо 1 МБ, требует хардфорка).

Что такое хард-форк, софт-форк, UASF в криптовалютах

Что происходит? Узлы, которые продолжают запускать старую версию программного обеспечения, будут считать новые транзакции недействительными. Таким образом, чтобы перейти к новой цепочке и продолжить работу с действующими блоками, все узлы в сети должны обновиться до новых правил.

Что может пойти не так? Проблема возникает, когда часть сообщества решает придерживаться старых правил.

Хардфорк Ethereum DAO был прекрасным примером того, как сообщество может расколоться надвое. Теперь у нас есть две цепи блоков: ethereum и ethereum classic, оба из которых имеют различный идеал и разную валюту.

Также был настоящий бум на форки биткоина: все разновидности хардфорков мы собрали в этой статье.

Хардфорки могут быть как запланированы самой командой, так и проводиться ббез ее согласия или ведома.

Запланированные хардфорки

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

Как пример, можно назвать:

  • Византию Ethereum — первую фаза модернизации Ethereum, которая произошла в октябре 2017 года.
  • В январе 2017 года Monero провел форк, чтобы внедрить обновление Call Confidential Transactions (RCT). Это улучшает конфиденциальность и безопасность.
  • ZCash проводил форк, чтобы противостоять АСИКам.
  • Хардфорк bitcoin gold был проведен для предотвращения атаки двойной траты.

Спорный хардфорк

Спорная вилка связана с разногласиями внутри сообщества, что приводит к тому, что часть из них создает новую цепочку, внося основные изменения в код. Самый яркий и громкий пример — Bitcoin Cash.

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

Для варианта с обновлением не от оригинальных разработчиков подойдут примеры всех форков биткоина. Для многих на фоне этой ситуации продолжением фразы «хардфорк — это то, что» стал ответ «приносит бесплатные монеты».

А для несогласия с решением разработчиков примером будет хардфорк Эфириум Классик. Ethereum Classic поддержан меньшей частью сообщества, которые были против изменений сети из-за взлома и похищения средств. Поскольку основные разработчики Ethereum и большинство сообщества согласились на форк и обновились, меньшинство не обновляло свое ПО и продолжило майнить то, что теперь известно как Ethereum Classic (ETC).

Монеты-ответвления, или спин-офф

Поскольку протоколы многих монет с открытым исходным кодом, любой может проверить базу кода и вносить в нее изменения. На этой же базе можно создать новую монету с новыми функциями. Например, Litecoin был форком BTC, созданным с изменением кодовой базы биткоина. Добавленное новое:

  • Среднее время создания блока 2,5 минуты по сравнению с 10 минутами у биткоина,
  • Разный алгоритм: Scrypt вместо SHA 256,
  • Исправлена ​​эмиссия монеты на 84 миллиона вместо 21 миллиона.
Что такое хард-форк, софт-форк, UASF в криптовалютах
визуализация с http://mapofcoins.com/bitcoin

Примеры монет, которые являются вариантами BTC, то есть написанные на базе его кода:

  • Namecoin,
  • Ixcoin,
  • SolidCoin,
  • Peercoin,
  • Tenebrix
  • Litecoin,
  • Dogecoin,
  • Auroracoin и другие.

Софтфорк / мягкий форк

Что это? Софтфорк, напротив, представляет собой любое изменение, которое обратно совместимо. Скажем, вместо блоков в 1 МБ новое правило может разрешать только 500 кб.

Что происходит? Не обновленные узлы по-прежнему будут считать новые транзакции действительными. Тем не менее, если необновленные узлы будут продолжать майнить, то их блоки будут подтверждаться обновленными. Вот почему мягкие форки нуждаются в большинстве хэш-мощности в сети.

Что может пойти не так? Когда софтфорк поддерживается только меньшим количеством хэш-мощности в сети, она может стать самой короткой цепью и отпасть. Или он может перейти в хардфорк, и цепи разойдутся.

Мягкие форки были наиболее частым вариантом для обновления блока биткоина, посколькуони представляют меньший риск разделения сети. Предыдущие примеры успешных программных форков включают в себя обновления программного обеспечения, такие как BIP 66 (которые касаются проверки подписи) и P2SH (что изменило форматирование адреса биткоина).

Пользовательский софт-форк

Что это? UASF (софтфорк, активируемый пользователями) является спорной идеей. Она заключается в том, что вместо того, чтобы ждать поддержки от пулов майнеров, сила активации форка идет с биржи, держателей и инвесторов.

Что происходит? Большинство основных бирж должны публично поддерживать изменения до того, как их можно будет записать в новую версию кода. После этого новое программное обеспечение устанавливается на нодах, которые хотят участвовать в мягком разделении цепи.

Что может пойти не так? Для этого метода требуется гораздо более продолжительное время работы. На самом деле, полагают, что может потребоваться до года или более, чтобы написать код и подготовить всех.

Кроме того, если большинство майнеров не «падают в тренд» и не активируют новые правила, они могут использовать свою подавляющую хэш-мощность для разделения сети.

В настоящее время эта идея находится только в теории и не реализована.

Git fork

Не путайте понятие форка криптовалют с git-форком.

Git — это система контроля версий. Форк, также известный как Fork A Repo, будет копией репозитория. Также известен как branch.

Он нужен для того, чтобы вносить в проект свои изменения, например, редактировать файлы или дополнять их. Разработчик делает полную копию, работает с ней и по завершении разработки, может отправить измененные файлы обратно. Авторы первоначального кода могут принять запрос на слияние и внести изменения в оригинальный репозиторий.

Таким образом, понятие гит-форка связано с криптовалютами с точки зрения разработки: много проектов распространяются с открытым исходным кодом, так что такие форки создаются часто. Это не означает, что новая команда хочет вывести на рынок новую монету.


В целом, хардфорки криптовалют являются неизбежным аспектом криптовалют на данный момент. Некоторые из них являются законными и ожидаемыми, а некоторые — откровенно мошенническими. Все ответвленные проекты имеют право на существование, если мы хотим придерживаться принципов децентрализации и открытого исходного кода.

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

Механизм форков дает голос сообществу: инвесторы и майнеры могут выразить несогласие с разработчиками или поддержать их.