Что такое софтфорк? Объяснение обратной совместимости биткоина.

Что такое софтфорк? Объяснение обратной совместимости биткоина.

Блок 481 824. Именно тогда 24 августа 2017 года первый крупный современный софтфорк Биткоина, SegWit, закрепился в протоколе. Это число важно, потому что софтфорк — это способ обновления блокчейна, подобного Биткоину, без разделения сети. Новые правила вводятся. Старое программное обеспечение продолжает работать. Оба компонента остаются в одной цепочке.

Спросите большинство людей, что такое софтфорк, и вы получите однострочный ответ: обратно совместимое изменение протокола блокчейна. Технически верно. Но не очень полезно. Реальная картина гораздо сложнее и интереснее. Софтфорк — это конечный продукт медленного танца: разработчики предлагают изменения правил, майнеры сигнализируют о поддержке или молчаливо отказываются, операторы узлов выбирают, какое программное обеспечение запускать, а пользователи в фоновом режиме настаивают на том, что считается биткоином. В этой статье механика объясняется простым языком. Затем приводятся канонические примеры (SegWit и Taproot) на уровне блоков. И в конце — живые дебаты о том, какой софтфорк следует провести дальше.

Определение софтфорка: обратно совместимое обновление блокчейна.

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

Хороший пример: BIP 16 Биткоина, софтфорк Pay-to-Script-Hash (P2SH). Он активировался 1 апреля 2012 года на блоке 173 805. До BIP 16 в скрипте Биткоина не существовало типа транзакций, называемого P2SH. После его внедрения обновленные узлы стали применять P2SH. Старые узлы, проанализировав те же выходные данные, увидели странный скрипт, который мог потратить любой желающий, пожали плечами и все равно приняли блоки. Они даже не подозревали о существовании правила, которое можно было нарушить. Цепочка осталась единой, потому что новое правило было подмножеством старого. Таким образом, Биткоин незаметно обрел новую возможность.

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

Это свойство также является той гранью, которая отделяет мягкий форк от всего, что несовместимо со старым программным обеспечением. Если обновление внезапно может сделать ранее действительный блок недействительным для старого программного обеспечения, это не мягкий форк, а жесткий форк. Компромиссы полностью меняются. С точки зрения технологии блокчейна, различие между этими двумя типами форков сводится к одному практическому вопросу: принимают ли узлы, которые не обновляются, новые блоки как действительные?

Мягкая вилка против жёсткой вилки: реальная разница

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

Часто встречаются два случая. Форк DAO Ethereum 20 июля 2016 года на блоке 1 920 000 вывел около 12 миллионов ETH из двух скомпрометированных контрактов. Старые узлы отказались от этого изменения, продолжая работу оригинальной цепочки, и в результате отказа появился Ethereum Classic. Год спустя последовал Bitcoin Cash. 1 августа 2017 года на блоке 478 559 Bitcoin Cash увеличил лимит размера блока с 1 МБ до 8 МБ. Старые узлы Bitcoin немедленно отклонили блоки большего размера. С этого момента Bitcoin Cash стал отдельной криптовалютой на новом блокчейне.

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

мягкая вилка

Как на самом деле активируется софтфорк в Биткоине

Большинство объяснений на этом и заканчиваются. Они говорят, что софтфорк «ужесточает правила», и идут дальше. Но никто, кажется, не хочет писать о том, как это ужесточение на самом деле происходит. Софтфорк — это не переключатель, который разработчик щелкает. Это медленная, порой неприятная, проблема координации. И эта координация заложена в сам Биткоин.

Классический метод активации — это сигнализация майнеров. Предложенный софтфорк становится BIP (Bitcoin Improvement Proposal — предложение по улучшению Bitcoin) и получает бит в поле версии заголовка блока. Майнеры, использующие обновленное программное обеспечение, переворачивают этот бит. Мощность майнинга этих блоков становится сигналом, который остальная часть сети использует для оценки готовности. Как только процент блоков, сигнализирующих о готовности, превышает пороговое значение в пределах определенного окна, форк активируется. Модель, использовавшаяся до 2017 года, — это BIP 9: 95% в течение скользящего окна блоков 2016 года. BIP 8 появился позже. Он добавил жесткий крайний срок, чтобы застопорившееся предложение не могло бесконечно затягиваться.

Эта модель работала до тех пор, пока не перестала работать. В начале 2017 года SegWit застрял на уровне поддержки майнеров в 30-45% на несколько месяцев. У крупных майнеров были причины не подавать сигналы, и ни одна из них не была лестной. Сообществу пришлось придумать обходной путь. BIP 91 снизил эффективный порог и был быстро внедрен. В то же время параллельно развивалось движение — активируемый пользователями софтфорк, а именно BIP 148, установивший 1 августа 2017 года в качестве крайнего срока. После этой даты узлы BIP 148 начали отклонять любые блоки, не подающие сигналы SegWit. Сочетание BIP 91 с одной стороны и политического давления UASF с другой разрешило тупик. Большинство людей никогда не видели ничего подобного. Многие из нас до сих пор спорят о том, чья угроза на самом деле помогла преодолеть затор.

В случае с Taproot сообщество попробовало более экологичный подход: ускоренную пробную версию (Speedy Trial). Порог в 90% подтверждений в течение 90 дней. Достижение порога приводит к активации форка. Недостижение — предложение автоматически прекращает свое действие, и его можно попробовать снова. Taproot преодолел порог без проблем и активировался 14 ноября 2021 года на блоке 709 632.

модели активации софтфорков

Метод Как это запускается Пример Исход
БИП 9 Сигнал от майнеров с вероятностью 95% получен за период 2016 года (скользящее окно блоков). SegWit (изначально завис) Работал над ранними форками; столкнулся с тупиковой ситуацией на SegWit.
БИП 91 Снижен порог для разблокировки сигнала SegWit в августе 2017 года Устранена тупиковая ситуация с SegWit.
BIP 148 (UASF) Узлы устанавливают крайний срок; отклоняют блоки, не содержащие сигналов. SegWit, 1 августа 2017 г. Политическое давление; немедленно заменено BIP 91.
BIP 8 / Ускоренное судебное разбирательство 90% сигнала в течение фиксированного временного окна или истечение срока действия Taproot 2021 Активация прошла без проблем, никаких неполадок.

Софтфорки Биткоина: примеры SegWit и Taproot.

SegWit, сокращение от Segregated Witness (разделённый свидетель), — это наиболее часто упоминаемый софтфорк в истории Биткоина. Он нашёл способ извлекать подписи транзакций, «данные свидетеля», из основного тела транзакции и хранить их отдельно. Старые узлы рассматривали новые выходные данные как скрипты, которые может потратить любой желающий, и принимали блоки, содержащие их. Новые узлы корректно применяли правила свидетеля. Хитрость заключалась в том, что мягкое изменение базовой структуры транзакций в итоге привело к эффективному увеличению пропускной способности. Жесткое ограничение размера блока Биткоина в 1 МБ было заменено ограничением в 4 миллиона единиц веса. На практике типичный блок теперь содержит около 1,8 МБ данных. Теоретический максимум составляет около 2,4 МБ.

SegWit активировался на блоке 481 824 24 августа 2017 года в 01:57:37 UTC. Восемь месяцев, предшествовавших этому блоку, теперь стали частью истории управления Биткоином. Поддержка майнеров была заблокирована большую часть 2017 года. Окончательная разблокировка произошла благодаря BIP 91, угрозе UASF и так называемому соглашению SegWit2x. Я постоянно возвращаюсь к этому периоду, потому что это единственный пример, который рассматривался при каждой последующей активации.

Taproot — второй по частоте упоминания софтфорк и, вероятно, самая чистая активация Биткоина со времен SegWit. Он активировался через четыре года после SegWit, 14 ноября 2021 года, на блоке 709 632. Преодоление 90-процентного порога Speedy Trial оказалось несложным. Сам Taproot привнес три вещи: подписи Шнорра, деревья MAST и унифицированный тип вывода для транзакций с одной подписью, несколькими подписями и путями скриптов. Эти изменения также заложили основу для повышения эффективности таких решений, как Lightning Network, с течением времени.

Дальнейшая история Taproot заслуживает внимания. Внедрение неуклонно росло в течение 2023 года. Затем оно достигло пика, составив примерно 42 процента от всех транзакций Bitcoin в начале 2024 года, на волне бумов создания порядковых номеров. К середине 2025 года этот показатель снизился примерно до 20 процентов. Количество порядкового номера уменьшилось. Возникла дискуссия о том, уязвима ли схема подписи Taproot для будущих атак с использованием квантовых вычислений. Ничто из этого не помешало активизации. Но кривая использования напоминает о том, что успешный софтфорк на стороне протокола не автоматически приводит к увеличению числа кошельков или пользователей.

История софтфорка Биткоина

БИП / Имя Активировано Блокировать Порог
BIP 16 (P2SH) 1 апреля 2012 г. 173,805 55%
БИП 34 24 марта 2013 г. 227,835 95%
БИП 66 4 июля 2015 г. 363,731 95%
BIP 65 (CLTV) 14 декабря 2015 г. 388,380 95%
BIP 141 (SegWit) 24 августа 2017 г. 481,824 95% (после BIP 91)
BIPs 340/341/342 (Корневой канал) 14 ноября 2021 г. 709,632 90% Быстрая пробная версия

Дебаты о софтфорке 2025-2026: OP_CTV и OP_CAT

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

OP_CHECKTEMPLATEVERIFY, формализованный как BIP 119, добавит скриптовый опкод, позволяющий транзакции фиксировать определенный будущий шаблон расходования средств. OP_CAT, формализованный как BIP 347 после получения номера BIP в апреле 2024 года, вновь включит конкатенацию элементов скрипта. Это было удалено Сатоши Накамото еще в 2010 году из-за опасений по поводу атак типа «отказ в обслуживании». Оба опкода являются примитивами шлюза для того, что разработчики Биткоина называют ковенантами. Ковенанты — это скрипты, которые ограничивают дальнейшую отправку монет. Они открывают доступ к хранилищам, пакетной обработке для управления перегрузкой и улучшают пропускную способность сети на уровнях, построенных над блокчейном Биткоина.

В рамках 2026 параметры активации OP_CTV впервые с 2022 года официально обсуждаются. Предлагаемый порог составляет 90 процентов сигналов от майнеров. OP_CAT тестируется в signet, тестовой сети для разработчиков. Ни один из вариантов не получил консенсуса в сообществе. Компромисс, с которым борется сообщество, реален. Большая выразительность открывает новые возможности использования. Это также расширяет поверхность атаки Биткоина. Любой новый опкод является постоянным. Я не уверен, что какой-либо из вариантов пройдет в 2026, но эта дискуссия является самым явным признаком того, что руководство Биткоина все еще может рассматривать софтфорки.

Что означает «мягкая вилка» для кошельков и держателей.

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

Исключением является ситуация, когда мягкий форк вводит новый формат адресов. SegWit добавил префикс адресов bc1. Кошельки должны были поддерживать новый формат, чтобы пользователи могли отправлять и получать средства с адресов SegWit, а также получать выгоду от снижения комиссий, обеспечиваемого новой структурой транзакций. Пользователи со старыми кошельками по-прежнему могли без проблем отправлять и получать монеты на устаревшие адреса. Обновление до новой версии было необязательным. Taproot поступил аналогично с адресами bc1p. В этом и заключается вся суть — в добровольном участии. Мягкий форк менее разрушительен, чем жесткий форк, потому что внедрение происходит постепенно и добровольно.

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

мягкая вилка

Почему софт-форки превосходят хард-форки по состоянию сети

Аргумент в пользу мягких форков как пути обновления по умолчанию сводится к устойчивости сети, и здесь математика довольно суровая. Согласно снимку Bitnodes от 27 апреля 2026 года, в сети Bitcoin насчитывается примерно 22 992 доступных полных узла по всему миру. Плюс неизвестное большее количество узлов за брандмауэрами. Жесткий форк, в результате которого 10 процентов этих узлов теряются из-за инерции или разногласий, по определению, является разделением цепочки. Две криптовалюты. Два реестра. Два рынка. Два сообщества.

Софтфорк, в результате которого 10 процентов майнеров теряют сигнализацию, приводит лишь к незначительному замедлению подтверждения, в то время как 90-процентное большинство обеспечивает соблюдение новых правил. Экономическая цепочка остается единой. Именно эта асимметрия обуславливает предпочтение Биткоина обратной совместимости. Успешный софтфорк вознаграждает координацию, не наказывая медлительных участников. Неудачный софтфорк просто не активируется и может быть повторен в следующем цикле. Неудачный хардфорк создает новый блокчейн с новым брендом и сохраняющимся политическим влиянием, которого никто не просил.

Именно поэтому каждое крупное обновление блокчейна Bitcoin с 2012 года, за единственным исключением спорного форка в августе 2017 года, в результате которого появился Bitcoin Cash, представляло собой мягкий форк. Большая часть майнинговых мощностей неизменно выбирала обратно совместимые изменения вместо расхождений. Эта закономерность не случайна.

Риски и режимы отказов, связанные с софтфорком

Софт-форки безопаснее хард-форков. Однако они не лишены рисков. BIP 66 в июле 2015 года вызвал случайное разделение цепочки на шесть блоков, когда некоторые майнеры выразили поддержку новым правилам, но фактически не подтвердили их. Классический сценарий сбоя. Обновленные узлы отклоняют блоки, которые продолжают создавать необновленные майнеры. На короткое время возникают конкурирующие цепочки. Безопасность сети снижается на несколько часов. Разделение разрешилось само собой, как только большинство догнало. Но в течение нескольких часов в сети Bitcoin одновременно работали две конкурирующие цепочки. Двухлетний период активации SegWit также нанес политический ущерб, который не был полностью устранен, включая последующее создание Bitcoin Cash. А UASF без явного большинства майнеров несет в себе реальный риск окончательного разделения. Обратная совместимость — это мощное ограничение, а не индульгенция.

Любые вопросы?

Да. OP_CHECKTEMPLATEVERIFY (BIP 119) и OP_CAT (BIP 347) — это основные предложения. Оба направлены на обеспечение возможности написания скриптов в стиле соглашения. В OP_CTV параметры активации впервые с 2022 года официально обсуждаются. Ни одно из предложений не получило консенсуса сообщества. Дата активации по состоянию на май 2026 не установлена.

Да, в итоге. Но активация заняла примерно два года и потребовала политического обходного пути (BIP 91 плюс угроза BIP 148 UASF). SegWit достиг 100-процентной сигнализации майнеров только после внедрения BIP 91. После активации он чисто заблокировался. Цепочка так и не разделилась. SegWit — это классический пример управления софт-форками, в хорошем или плохом смысле.

Сигнализация майнеров. Модернизированные майнеры переключают флаг в заголовках блоков. Когда процент сигнализации превышает пороговое значение (обычно от 90 до 95 процентов), новые правила активируются на определенной высоте блока. Вы услышите о моделях BIP 9, BIP 8 и Speedy Trial. Speedy Trial — это модель, которую использовала компания Taproot.

Нет. Сеть остаётся единой. Монета остаётся единой. SegWit не создал новый актив. Taproot тоже. Хардфорки могут отделять новые криптовалюты, такие как Bitcoin Cash или Ethereum Classic. Софтфорки — нет.

Софт-форк ужесточает правила. Старое программное обеспечение по-прежнему проверяет новые блоки. Цепочка остается единой. Хард-форк ослабляет или полностью изменяет правила. Старое программное обеспечение отклоняет новые блоки. Цепочка часто разделяется, как это произошло с Ethereum и Ethereum Classic после форка DAO, или с Bitcoin и Bitcoin Cash в 2017 году.

Наиболее известными являются SegWit (24 августа 2017 г., блок 481 824) и Taproot (14 ноября 2021 г., блок 709 632). К более ранним относятся P2SH (апрель 2012 г.), BIP 34, BIP 66 и BIP 65. Каждый из них ужесточил правила Биткоина, сохранив при этом старые узлы в той же цепочке.

Ready to Get Started?

Create an account and start accepting payments – no contracts or KYC required. Or, contact us to design a custom package for your business.

Make first step

Always know what you pay

Integrated per-transaction pricing with no hidden fees

Start your integration

Set up Plisio swiftly in just 10 minutes.