Привіт!
Це знову “that’s what she said”, ньюзлеттер, який раз на два тижні підкидає вам дозу знань про web3. Минулого разу ми досліджували ключі та крипто-гаманці — цифрові зв'язки ключів, які доводять, що ви володієте своїми активами (якщо ви пропустили статтю, поверніться і прочитайте її перед тим, як зануритися в сьогоднішню тему).
Сьогодні ми розбираємо щось, що насправді є фундаментальним у розвитку блокчейнів: форки. Так, як та штука, якою ви їсте, але також як буквальне роздоріжжя, де один шлях розділяється на два.
Ви, напевно, чули про те, як Bitcoin Cash відокремився від Bitcoin, або як Ethereum Classic відгалузився від Ethereum. Це не були випадковості — це були форки, природна частина того, як адаптуються децентралізовані мережі. Форки — це і рішення, і проблема одночасно. Вони дозволяють блокчейнам оновлюватися, але вони також можуть розділяти спільноти та створювати конкуруючі версії однієї й тієї ж криптовалюти.
Готові? Давайте поговоримо про цю тему!
🧠 Definition
У найпростіших термінах, форк відбувається, коли протокол блокчейну (його фундаментальний набір правил) змінюється, що призводить до розділення блокчейну на два окремі шляхи. Уявіть це як оновлення програмного забезпечення, за винятком того, що замість того, щоб усі плавно оновилися до нової версії, деякі люди кажуть "ні, нас влаштовує стара", і раптом ви маєте два окремі блокчейни, які мають спільну історію до моменту розділення.
Ось кращий приклад: уявіть блокчейн як дуже довгий потяг, де кожен вагон представляє блок транзакцій. Ви можете простежити його аж до самого першого вагона (блоку генезису). Тепер уявіть, що в якийсь момент залізниця розділяється. Одна колія продовжує йти початковим маршрутом, тоді як інша колія прямує в новому напрямку. Обидва потяги мають спільну історію до точки розділення, але звідти вони рушають абсолютно різними шляхами.
Чому це відбувається? Тому що блокчейни — це програмне забезпечення з відкритим кодом, яке підтримується спільнотами, а не корпораціями. Коли потрібно внести зміни — чи то з міркувань безпеки, масштабованості, нових функцій чи ідеологічних причин — не всі завжди погоджуються з найкращим шляхом вперед. У централізованих системах компанія вирішує, і всі слідують. У децентралізованих системах незгоди можуть призводити до реальних розділень мережі.
Критично важливо зрозуміти: ваша криптовалюта не зникає під час форку. Якщо ви володіли Bitcoin до форку Bitcoin Cash, ви автоматично отримали еквівалентну кількість Bitcoin Cash. Ваш оригінальний Bitcoin залишився без змін, і ви отримали нову форковану монету як бонус. Це наче блокчейн скопіював сам себе, і тепер ви володієте активами на обох версіях.
💡 Why Forks Are Needed
Форки — це особливості, які дозволяють блокчейнам еволюціонувати, зберігаючи свою децентралізовану природу. Ось чому вони важливі.
- Оновлення та покращення. Блокчейни потребують вдосконалення так само, як і будь-яке програмне забезпечення. Коли технології розвиваються, а вимоги користувачів змінюються, мережі повинні додавати нові функції, виправляти помилки та оптимізувати продуктивність. Форки забезпечують механізм для впровадження цих оновлень. Без них блокчейни залишалися б замороженими у своєму первісному стані, нездатними адаптуватися до нових викликів чи можливостей.
- Безпека. Коли виявляються вразливості, форки дозволяють розробникам виправити критичні проблеми безпеки, перш ніж вони будуть використані зловмисниками. Це може означати зміну способу валідації транзакцій, оновлення криптографічних стандартів або усунення слабких місць у механізмі консенсусу.
- Вирішення незгод у спільноті. Коли спільнота справді не погоджується щодо напрямку розвитку мережі, форки надають механізм мирного вирішення. Замість того, щоб одна сторона нав'язувала своє бачення всім іншим, обидві сторони можуть реалізувати свій бажаний підхід на окремих ланцюгах. Це демократія в дії у стилі блокчейн.
- Реагування на кризи. Великі злами, збої протоколу або непередбачені наслідки попередніх рішень можуть загрожувати життєздатності блокчейну. Форки пропонують спосіб виправити курс, потенційно відновити пошкодження або впровадити аварійні виправлення, які інакше були б неможливі.
Альтернативою форкам була б або повна стагнація (ніколи нічого не оновлювати), або централізований контроль (одна сутність вирішує все). Жоден з цих варіантів не узгоджується з основними цінностями web3 — інновацією та децентралізацією.
⚙️ How Forking Works
Форки не відбуваються просто так. Вони слідують досить структурованому процесу, навіть коли емоції на піку:
- Ідентифікація. Спочатку хтось у спільноті визначає потребу в змінах. Можливо, транзакції занадто повільні, можливо, є вразливість безпеки, можливо, розмір блоку обмежує масштабованість. Проблему обговорюють на форумах розробників, у каналах спільноти та в соціальних мережах.
- Пропозиція. Розробники пропонують конкретні зміни до протоколу через модифікації коду або формальні пропозиції щодо покращення. У Bitcoin вони називаються BIP (Bitcoin Improvement Proposals). В Ethereum — це EIP (Ethereum Improvement Proposals). Ці документи детально описують, що саме має змінитися та чому.
- Перегляд і тестування. Запропоновані зміни проходять перевірку з боку технічної спільноти. Розробники переглядають код, тестують його на тестових мережах та виявляють потенційні проблеми. Саме тут технічні переваги оцінюються окремо від політики.
- Час рішення. Спільнота повинна вирішити, чи приймати зміни. Це не формальне голосування; це гра координації, що включає майнерів, операторів вузлів, біржі, постачальників гаманців та звичайних користувачів. Різні зацікавлені сторони мають різну кількість впливу, що може призводити до напруги.
- Впровадження. Якщо достатня частина мережі погоджується, встановлюється часова мітка для активації форку. Коли настає цей момент, вузли, що працюють на оновленому програмному забезпеченні, починають слідувати новим правилам, тоді як вузли на старому програмному забезпеченні продовжують слідувати оригінальним правилам. Чи призведе це до постійного розділення, залежить від типу форку та рівня консенсусу.
Роль вузлів і майнерів
Вузли валідують транзакції та зберігають копії реєстру блокчейну. Під час форку кожен вузол вибирає, яку версію протоколу слідувати, запускаючи відповідне програмне забезпечення. Оновіться до нової версії, і ви підтримуєте форк. Залишіться зі старою, і ви його відхиляєте.
Майнери (або валідатори в proof-of-stake) захищають мережу, створюючи нові блоки. Під час спірних форків вони вирішують, який ланцюг отримає їхню обчислювальну потужність. Їхній колективний вибір визначає, який ланцюг виживе. Найдовший ланцюг — з найбільшою накопиченою роботою — зазвичай виграє, але іноді обидва ланцюги виживають незалежно, як Bitcoin і Bitcoin Cash.
Консенсус і управління
Форки розкривають виклик управління децентралізацією: немає CEO, немає ради директорів, лише приблизний консенсус серед зацікавлених сторін із конфліктуючими інтересами. Розробники хочуть елегантності, майнери хочуть прибутку, користувачі хочуть низьких комісій, а інвестори хочуть прибутків. Змусити всіх погодитися — це як пасти котів, тому форки іноді призводять до постійних розділень.
Деякі проєкти використовують формалізоване управління (системи голосування, токени управління, DAO), тоді як інші покладаються на неформальне досягнення консенсусу. Жоден підхід не є досконалим, і обидва можуть призводити до форків, коли розбіжності стають непримиренними.
👀 Hard Forks vs Soft Forks
Не всі форки створені однаково. Два основні типи — хард форки та софт форки — мають фундаментально різні наслідки для мережі.
Хард форки: остаточне розділення
Хард форк — це радикальна зміна протоколу, яка не є зворотно сумісною з попередньою версією. Після того, як відбувається хард форк, вузли, що працюють на старому програмному забезпеченні, більше не можуть валідувати блоки, створені вузлами на новому програмному забезпеченні. Ця несумісність створює остаточне розділення, що призводить до двох окремих блокчейнів, які мають спільну історію, але слідують різним правилам у майбутньому.
Ключові характеристики:
- Незворотно-сумісний. Старі вузли відхиляють нові блоки як недійсні, оскільки вони порушують старі правила.
- Всі учасники повинні вибрати. Майнери, вузли, біржі та постачальники гаманців повинні вирішити, який блокчейн підтримувати.
- Остаточне розділення. Обидва ланцюги можуть продовжувати існувати незалежно, кожен зі своєю спільнотою та екосистемою.
- Можливі серйозні зміни. Хард форки дозволяють фундаментальні модифікації, такі як зміна алгоритмів консенсусу, зміна лімітів розміру блоків або реструктуризація управління.
Класичний приклад — Bitcoin Cash, який зробив хард форк від Bitcoin у 2017 році через незгоди щодо того, як масштабувати мережу. Bitcoin Cash збільшив ліміт розміру блоку, щоб дозволити більше транзакцій на блок, тоді як Bitcoin зберіг свої менші блоки та реалізував інші рішення масштабування. Обидва ланцюги досі існують, кожен зі своїми пристрасними прихильниками.
Як працюють хард форки на практиці:
Коли форк активується, будь-хто, хто володів Bitcoin, раптом також володіє еквівалентною кількістю Bitcoin Cash. Ваші приватні ключі контролюють однакову кількість обох криптовалют, тому що вони мають спільну історію транзакцій до точки форку. Біржі та гаманці повинні вирішити, який ланцюг (або обидва) підтримувати, створюючи тимчасовий хаос, поки ринок визначає цінність кожної версії.
Софт форки: плавне оновлення
Софт форк — це зворотно-сумісна зміна протоколу, яка посилює правила, не порушуючи сумісності зі старою версією. Вузли, що працюють на новому програмному забезпеченні, застосовують суворіші правила, але блоки, які вони створюють, все ще дійсні згідно зі старими правилами. Це означає, що мережа може залишатися єдиною, навіть якщо не всі оновлюються одразу.
Ключові характеристики:
- Зворотно-сумісний. Старі вузли все ще приймають нові блоки як дійсні, навіть якщо вони не розуміють усіх нових правил.
- Немає розділення мережі. Блокчейн залишається єдиним ланцюгом, а не двома конкуруючими версіями.
- Достатньо консенсусу більшості. Лише більшість майнерів повинна оновитися; меншість може продовжувати працювати, не будучи змушеною покинути мережу.
- Обмежені зміни. Софт форки можуть лише зробити правила суворішими, а не м'якшими, що обмежує те, чого вони можуть досягти.
Найвідоміший софт форк — це SegWit (Segregated Witness) у Bitcoin, впроваджений у 2017 році. SegWit змінив структуру даних транзакцій, щоб виправити проблеми з податливістю транзакцій та збільшити місткість блоків, але зробив це таким чином, що старі вузли все ще могли функціонувати. Транзакції виглядали дійсними як для старих, так і для нових вузлів, запобігаючи розділенню мережі.
Як працюють софт форки на практиці:
Після того, як більшість майнерів приймає нові правила, блоки, що слідують старим правилам, починають відхилятися оновленою більшістю. Цей економічний тиск стимулює решту майнерів оновитися, зрештою призводячи до майже універсального прийняття. Перехід відбувається поступово без драми конкуруючих ланцюгів або дубльованих монет.
☝️ Other Types of Forks
Крім розрізнення хард і софт форків, є інші способи класифікувати ці розділення блокчейну.
- Заплановані vs спірні. Заплановані форки — це заплановані оновлення з широкою підтримкою спільноти. Вони оголошуються завчасно, ретельно тестуються та зазвичай виконуються гладко. Подумайте про регулярні оновлення мережі Ethereum. Спірні форки виникають через фундаментальні незгоди, де компроміс неможливий. Це драматичні розділення, які потрапляють у заголовки, як Bitcoin Cash, що відокремився від Bitcoin.
- Тимчасові vs постійні. Тимчасові форки (також звані реорганізаціями ланцюга) відбуваються природно, коли два майнери знаходять дійсні блоки одночасно. Мережа тимчасово розділяється, але швидко сходиться назад до єдиного ланцюга, коли знаходиться наступний блок. Це відбувається регулярно і вирішується автоматично. Постійні форки призводять до двох ланцюгів, які продовжують існувати незалежно безстроково.
- Випадкові форки. Іноді форки відбуваються випадково через помилки програмного забезпечення або невідповідності між різними версіями. Мережа Ethereum зазнала випадкового форку в 2020 році, коли різні реалізації клієнтів обробляли конкретну транзакцію по-різному. Вони швидко виявляються та вирішуються, спільнота координується, щоб повернути всіх на один ланцюг.
💡 Disadvantages of Forking
Ми вже обговорили, чому форкування може бути необхідним, але давайте також розглянемо потенційні мінуси процесу.
- Фрагментація спільноти. Форки розділяють не лише блокчейн; вони розділяють спільноту. Розробники, майнери та користувачі опиняються на протилежних боках, часто з поганими почуттями та спаленими мостами. Це розділення ослаблює обидва отримані ланцюги порівняно з тим, чого можна було б досягти в єдності.
- Плутанина користувачів. Коли Bitcoin форкується на Bitcoin Cash, Bitcoin Gold, Bitcoin SV та інші, звичайні користувачі зрозуміло плутаються. Який є "справжнім" Bitcoin? Звідки взялися ці нові монети? Чи варто їх продавати чи тримати? Ця плутанина перешкоджає масовому впровадженню.
- Зменшені мережеві ефекти. Цінність блокчейну частково походить від розміру його мережі. Розділіть цю мережу навпіл, і кожен отриманий ланцюг матиме менше розробників, нижчу ліквідність та меншу базу користувачів, ніж мав оригінал. Іноді обидва ланцюги виявляються слабшими, ніж був би об'єднаний ланцюг.
- Вразливості безпеки. Нові форки можуть запроваджувати несподівані помилки або проблеми безпеки. Навіть добре протестований код може поводитися непередбачувано в робочому середовищі. Крім того, міноритарні ланцюги у спірних форках стикаються з ризиком атак 51%, коли зловмисники з достатньою потужністю майнінгу можуть маніпулювати блокчейном.
- Волатильність ринку та невизначеність. Оголошення форків часто викликають волатильність цін, оскільки інвестори спекулюють про результати. Біржі мають труднощі з рішенням, який ланцюг підтримувати, іноді заморожуючи торгівлю в періоди форків. Регуляторна невизначеність навколо форкованих активів додає ще один шар плутанини.
💪 Fork Examples
Теорія — це чудово, але реальні приклади показують, як форки насправді відбуваються.
Bitcoin vs Bitcoin Cash (Hard Fork, 2017)
Дебати про масштабування Bitcoin тривали роками. У міру зростання популярності, комісії за транзакції злетіли до небес, а час підтвердження подовжився. Виникли два табори: збільшити розмір блоку, щоб вмістити більше транзакцій, або зберегти малі блоки та побудувати рішення другого рівня, як Lightning Network.
У серпні 2017 року Bitcoin Cash зробив хард форк з розміром блоку 8МБ (пізніше 32МБ), позиціонуючи себе як "електронні гроші від однієї людини до іншої" для щоденних транзакцій. Bitcoin зберіг свої блоки 1МБ та оновлення SegWit, ставши більше "цифровим золотом" і засобом збереження цінності.
Сьогодні обидва існують. Bitcoin домінує за ринковою капіталізацією та прийняттям, але Bitcoin Cash підтримує власну екосистему. Розділення продемонструвало, що спірні форки часто створюють два слабших ланцюги, а не один сильніший.
Ethereum vs Ethereum Classic (Hard Fork, 2016)
Коли The DAO був зламаний на $60 мільйонів ETH у 2016 році, спільнота Ethereum зіткнулася з важким вибором: поважати принцип "код — це закон" і дозволити хакеру зберегти кошти або зробити хард форк, щоб відмінити крадіжку.
Більшість вибрала зробити хард форк, створивши Ethereum (ETH) з відкатом. Меншість, яка виступала проти втручання, продовжила майнити оригінальний ланцюг, створивши Ethereum Classic (ETC).
Цей форк проілюстрував філософський розкол у web3: прагматизм проти ідеалізму, захист спільноти проти абсолютизму коду. Обидва ланцюги досі існують, хоча Ethereum значно домінує.
SegWit (Soft Fork, 2017)
Не всі значні форки є спірними. SegWit був софт форком у Bitcoin, який виправив податливість транзакцій та збільшив місткість блоків шляхом реструктуризації зберігання даних транзакцій.
Оскільки він був зворотно сумісним, SegWit не розділив мережу. Старі вузли все ще могли валідувати оновлені блоки, дозволяючи поступове прийняття без драми. Він проклав шлях для Lightning Network, показавши, як добре розроблені софт форки можуть розширити можливості без фрагментації спільноти.
Key Takeaways
- Форки — це оновлення, а не збої. Вони є способом, яким децентралізовані мережі адаптуються та еволюціонують без центрального органу, який приймає рішення. Можливість форкування є фундаментальною для відкритої, керованої спільнотою природи блокчейну.
- Хард форки розділяють блокчейн; софт форки оновлюють його. Хард форки створюють дві несумісні версії, які можуть співіснувати незалежно. Софт форки посилюють правила, зберігаючи зворотну сумісність, підтримуючи мережу єдиною.
- Форки розкривають виклики управління. Без центрального керівництва досягнення консенсусу є безладним. Форки розкривають напругу між різними групами зацікавлених сторін та їхніми конкуруючими баченнями майбутнього мережі.
- Не всі форки створені однаково. Заплановані форки з консенсусом спільноти виконуються гладко. Спірні форки фрагментують спільноти та послаблюють мережеві ефекти. Випадкові форки швидко вирішуються.
Final Thought
Традиційні оновлення програмного забезпечення прості: компанія випускає нову версію, і користувачі оновлюються або їх змушують це зробити. Форки перевертають цю модель. Вони безладні, суперечливі та можуть розділяти спільноти та валюти.
Форкування — це децентралізація в дії. Ніхто не може нав'язати вам зміни. Не подобається напрямок? Форкніть ланцюг. Зберігайте правила, в які ви вірите, і подивіться, чи інші підуть за вами. Форки послаблюють мережеві ефекти, плутають користувачів і іноді залишають обидва блокчейни в гіршому стані. Тому, коли форк викликає драму, не називайте це невдачею. Це демократія в стилі крипто: хаотична, некомфортна та реальна.
Якщо ви дізналися щось нове сьогодні, поділіться цим. Розкажіть своїй спільноті. Нумо поширювати знання і розвиватися разом.
На цьому все, нормі. Наступного разу ми поговоримо про блок експлорери. Нікуди не йдіть 😉
Cookies She Left Behind
Якщо ви хочете глибше зануритися в цю тему, я також рекомендую ознайомитися з наступним матеріалом:
- Soft Fork vs Hard Fork in Crypto від Whiteboard Crypto