Що таке м`який форк? Пояснення зворотної сумісності біткойна

Що таке м`який форк? Пояснення зворотної сумісності біткойна

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

Запитайте більшість людей, що таке софт-форк, і ви отримаєте однорядкову відповідь: зворотно сумісна зміна протоколу блокчейну. Технічно правильно. Не дуже корисно. Реальна картина більш заплутана та цікава. Софт-форк – це кінцевий продукт повільного танцю: розробники пропонують зміни правил, майнери сигналізують про підтримку або тихо відмовляються, оператори вузлів вибирають, яке програмне забезпечення запускати, а користувачі у фоновому режимі наполягають на тому, що вважається біткойном. У цій статті простою мовою пояснюється механіка. Потім вона показує вам канонічні приклади (SegWit та Taproot) на рівні блоків. І вона завершується живими дебатами про те, що робити софт-форк далі.

Визначення м'якого форку: зворотно сумісне оновлення блокчейну

Уявіть собі м’який форк як посилення правил. Все, що легально за новими правилами, залишається легальним і за старими. Тож старі вузли продовжують приймати нові блоки. Нові вузли відхилятимуть блоки старого зразка, які порушують суворіші правила, але самі правила суворіші, а не інші. Атмосфера мережі не змінюється. Змінюється контроль над тим, що вважається дійсним.

Гарний приклад: BIP 16 біткойна, софт-форк Pay-to-Script-Hash. Він активувався 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 став окремою криптовалютою на новому блокчейні.

Софт-форк дозволяє уникнути всього цього безладу за своєю природою. Старі вузли нічого не просять робити. Вони продовжують перевіряти блоки за своїми менш обмежувальними правилами. Коли переважна більшість майнерів застосовує нові правила, кожен видобутий блок є дійсним за обома наборами правил одночасно. Один економічний ланцюжок. Один реєстр. Ця асиметрія є структурною причиною, чому культура Bitcoin за замовчуванням використовує софт-форки, а хард-форки розглядаються як крайній захід.

м'яка вилка

Як насправді активується м'який форк на біткойні

Більшість пояснень на цьому зупиняються. Вони скажуть вам, що м’який форк «посилює правила» і рухаються далі. Здається, ніхто не хоче писати про те, як це посилення насправді відбувається. М’який форк — це не перемикач, який перемикає розробник. Це повільна, часом неприємна проблема координації. І ця координація була вбудована в сам біткойн.

Класичний метод активації – це сигналізація майнера. Запропонований м’який форк стає BIP, пропозицією щодо покращення 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% сигналу в межах фіксованого вікна або закінчення терміну дії Стрижневий корінь 2021 Активується чисто, без драми

Софт-форки біткойна: приклади SegWit та Taproot

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

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

Taproot – другий за частотою цитуванням софт-форк і, ймовірно, найчистіша активація Bitcoin з часів SegWit. Він активувався через чотири роки після SegWit, 14 листопада 2021 року, на блоці 709 632. Подолання 90-відсоткового порогу Speedy Trial виявилося не таким драматичним. Сам Taproot приніс три речі: підписи Шнорра, дерева MAST та уніфікований тип виводу для витрат з одним підписом, кількома підписами та шляхом скрипта. Ці зміни також заклали основу для рішень, таких як Lightning Network, які з часом стануть ефективнішими.

Варто розповісти історію Taproot, яка мала б відбутися далі. Впровадження стабільно зростало протягом 2023 року. Потім, на початку 2024 року, воно досягло піку приблизно в 42 відсотки всіх транзакцій Bitcoin, завдяки буму підписів Ordinals. До середини 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)
BIP 340/341/342 (Стрільовий корінь) 14 листопада 2021 року 709 632 90% швидкий судовий розгляд

Дебати щодо soft fork 2025-2026: OP_CTV та OP_CAT

Перша серйозна дискусія щодо софт-форку біткойна з часів Taproot відбувається саме зараз. Суперечка здебільшого стосується того, наскільки виразним має бути скрипт біткойна. У дебатах ведуть дві пропозиції. Жодна з них поки що не перемагає.

OP_CHECKTEMPLATEVERIFY, формалізований як BIP 119, додасть опкод скрипта, який дозволить транзакції прив'язати до певної майбутньої моделі витрат. OP_CAT, формалізований як BIP 347 після остаточного отримання номера BIP у квітні 2024 року, знову дозволить об'єднання елементів скрипта. Це те, що Сатоші Накамото видалив ще у 2010 році через проблеми з відмовою в обслуговуванні. Обидва опкоди є примітивами шлюзу для того, що розробники Bitcoin називають ковенантами. Ковенанти - це скрипти, які обмежують, куди монети можна надсилати далі. Вони розблоковують сховища, пакетну обробки з контролем перевантаження та покращують пропускну здатність мережі на рівнях, побудованих над блокчейном Bitcoin.

Через 2026 параметри активації OP_CTV офіційно обговорюються вперше з 2022 року. Запропонований поріг становить 90 відсотків сигналізації майнера. OP_CAT тестується на signet, тестовій мережі розробників. Жоден з них не має консенсусу спільноти. Компроміс, з яким бореться спільнота, реальний. Більша виразність відкриває нові варіанти використання. Це також розширює поверхню атаки Bitcoin. Будь-який новий опкод є постійним. Я не переконаний, що жоден з них пройде 2026, але ці дебати є найчіткішою ознакою того, що управління Bitcoin все ще може розглядати м'які форки.

Що означає м'який форк для гаманців та їхніх власників

Для кожного, хто володіє біткойнами, практичне питання полягає в тому, чи вимагає м’який форк дій. Чесна відповідь майже завжди – ні. Нічого робити, нічого вимагати, нічого мігрувати. М’який форк не створює нового цифрового активу. Існуючі гаманці продовжують надсилати та отримувати монети за старими правилами без будь-яких дій користувача.

Винятком є випадки, коли м’який форк вводить новий формат адреси. SegWit додав префікс адреси bc1. Гаманці мали підтримувати новий формат, щоб дозволити користувачам надсилати дані на адреси SegWit або з них, а також щоб отримати економію на комісіях, яку пропонувала нова структура транзакцій. Користувачі зі старими гаманцями все ще могли без проблем надсилати та отримувати монети на застарілі адреси. Оновлення до нової версії було необов’язковим. Taproot зробив те саме з адресами bc1p. Саме в цій формі згоди і полягає вся суть. М’який форк менш руйнівний, ніж хард форк, оскільки впровадження відбувається поступово та добровільно.

Для операторів вузлів картина дещо змінюється. Запуск вузла старої версії після м’якого форку означає, що ви більше не самостійно застосовуєте нові правила. Ви довіряєте оновленим майнерам та іншим вузлам робити це за вас. Вузли, які не оновлюються до нової версії, все ще можуть перевіряти блоки за старим програмним протоколом. Вони просто не можуть перевірити нові обмеження, запроваджені форком. Більшість операторів все одно швидко оновлюються. Це одна з причин, чому повноцінна екосистема вузлів Bitcoin така важлива.

м'яка вилка

Чому софт-форки перевершують хард-форки для здоров'я мережі

Аргумент на користь софт-форків як стандартного шляху оновлення зводиться до стійкості мережі, і математика тут насправді досить невблаганна. Згідно зі знімком Bitnodes від 27 квітня 2026 року, біткойн має приблизно 22 992 доступні повні вузли у світі. Плюс невідомо більша популяція вузлів за брандмауерами. Хард-форк, який втрачає 10 відсотків цих вузлів через інерцію або розбіжності, за визначенням, є розколом ланцюга. Дві криптовалюти. Два реєстри. Два ринки. Дві спільноти.

Софт-форк, який втрачає 10 відсотків майнерів через відсутність сигналізації, є лише трохи повільнішим підтвердженням, тоді як 90-відсоткова більшість забезпечує дотримання нових правил. Економічний ланцюг залишається єдиним. Саме ця асиметрія зумовлює перевагу біткойна до зворотної сумісності. Успішний софт-форк винагороджує координацію, не караючи тих, хто повільно рухається вперед. Невдалий софт-форк просто не активується і його можна спробувати повторити в наступному циклі. Невдалий хард-форк створює новий блокчейн з новим брендингом і постійною політичною вагою, про яку ніхто не просив.

Саме тому кожне велике оновлення блокчейну Bitcoin з 2012 року, за винятком суперечливого форку серпня 2017 року, який створив Bitcoin Cash, було м’яким форком. Більшість майнінгових компаній послідовно обирали зворотно сумісні зміни замість дивергенції. Ця закономірність не є випадковою.

Ризики м'якого форку та види невдач

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

Які-небудь питання?

Так. 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. Кожен з них посилив правила Bitcoin, зберігаючи старі вузли в одному ланцюжку.

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.