Що таке SegWit? Знайомство з підходом масштабування біткойна в мережі | Глосарій блокчейну| Академія OKX

Зручний для початківців вступ до SegWit біткойна, зокрема, що таке SegWit, чому він важливий і чого він досягає

SegWit — це назва оновлення біткойн, реалізованого за допомогою софт-форку в серпні 2017 року. Метою його було збільшити кількість транзакцій на блок, який може обробити мережа біткойн. Крім того, він вирішив рідкісну проблему, пов’язану з піддатливістю транзакцій, і додав більшу програмованість у біткойн, що дозволило подальше масштабування рішень, таких як Lightning Network Bitcoin.

У цьому вступі до SegWit, зручному для початківців, ми пояснюємо, що таке SegWit, його важливість та передумови оновлення. Ми також оцінюємо вплив SegWit з моменту його прийняття.

Зміст:

Що таке SegWit Bitcoin?

SegWit — скорочення від «сегрегований свідок (рівень консенсусу)» — це механізм масштабування, запроваджений у мережі Bitcoin в серпні 2017 року. Він мав на меті зменшити розмір даних транзакцій, щоб більше транзакцій можна було включати в кожен блок без збільшення розміру блоку. обмеження через хардфорк.

Окрім збільшення пропускної здатності транзакцій біткойн, SegWit також вирішив декілька інших проблем у мережі. По-перше, оновлення пом’якшує рідкісний експлойт, під час якого зловмисник може створити новий ідентифікатор транзакції перед видобутком транзакції. Тоді вони можуть правдоподібно стверджувати, що ніколи не отримували свої кошти, оскільки відправник не впізнає їхню трансакцію через те, що вона відображається під іншим ідентифікатором. У SegWit для обчислення ідентифікатора транзакції не потрібні дані підпису транзакції. Тому, якщо поганий актор змінює дані підпису, ідентифікатор залишається незмінним.

Ще одним удосконаленням, яке SegWit привніс у біткойн, була підвищена гнучкість програмування. Це ефективно увімкнуло рішення для масштабування рівня 2, як-от Lightning Network. Мережа Lightning вимагає більш складних транзакцій, які залежать одна від одної. Без виправлення податливості транзакції транзакції, що залежать від інших, можуть стати недійсними шляхом зміни даних підпису і, отже, ідентифікатора транзакції. Оскільки SegWit відокремлює підписи транзакцій від даних транзакції та обчислює ідентифікатор з останніх, зміна даних підпису не може зробити майбутні транзакції недійсними.

Індустрія біткойн не повсюдно підтримувала SegWit. Перед його активацією деякі виступали за масштабування мережі шляхом збільшення обмеження розміру блоку за допомогою хардфорка. Зрештою, ця фракція введе збільшення розміру блоку. У результаті хардфорк створив мережу Bitcoin Cash і її рідний криптоактив, BCH.

Хоча не всі зацікавлені сторони в мережі біткойн негайно перейшли до SegWit, той факт, що вона була реалізована як зворотна сумісна зміна, означала, що її власна активація не розділила мережу. На відміну від хард-форка, така зміна відома як м’який форк, який ризикує розколоти мережу.

Коротка історія SegWit

Код SegWit був опублікований як Bitcoin Improvement Proposal 141 у грудні 2015 року. Авторами BIP були розробники Ерік Ломброзо, Джонсон Лау та Пітер Вуйле. Пізніше він був представлений у клієнті Bitcoin Core в жовтні 2016 року. Проте лише кілька майнерів біткойн схвалили цю зміну і не дали сигналу про підтримку SegWit.

Звіт в Bitcoin Magazine пропонує що фракція майнерів була проти SegWit, оскільки вони отримували вигоду від експлойту, відомого як «AsicBoost», який дозволив їм підвищити ефективність на 20%, зробивши їх більш прибутковими.

У травні 2017 року група найпотужніших майнерів і компаній біткойн зустрілася і розробила проект того, що пізніше буде названо Нью-Йоркською угодою. Вони погодилися активувати SegWit та збільшити обмеження на розмір блоку як частину зміни — оновлення, яке називається «SegWit 2X». На відміну від версії SegWit, реалізованої в програмному забезпеченні Core минулого року, ця зміна була несумісною з попередніми версіями програмного забезпечення Bitcoin і ризикувала розколоти мережу.

Згідно з Нью-Йоркською угодою, активація SegWit 2X була запланована на листопад 2017 року. Проте багато хто в біткойн-спільноті вважали, що таємна зустріч компаній не представляє їх, і сприймали SegWit 2X як загрозу загальному децентралізованому духу криптовалют.

Псевдонімний розробник біткойн Шаолінь Фрай придумав рішення, відоме як Soft fork, що активується користувачем, або UASF. По суті, оператори вузлів і гаманців активують SegWit і відхиляють блоки, які не є SegWit. Це змусить майнерів активувати оновлення, оскільки без підтримки користувачів майнінг біткойн швидко стає марною операцією.

Зрештою, UASF не знадобився, оскільки його загрози було достатньо, щоб переконати майнерів сигналізувати про підтримку SegWit. Майнери заблоковані в SegWit 9 серпня 2017 року.

Однак перед активацією SegWit ті, хто найбільше прагне масштабувати біткойн за допомогою збільшення розміру блоку, розійшлися різними шляхами. Зміна розміру блоку мережі, реалізована групою так званих «великих блокувальників» — тобто майнерів, які віддавали перевагу масштабуванню за рахунок збільшення розміру блоків у спосіб, який не був сумісним із зворотним шляхом — призвело до хардфорку, який створив Bitcoin Cash. .

Період був бурхливим для мережі біткойн, і після того, як пил навколо хард- і м’яких форків влягся, ціна BTC провела решту 2017 року, піднявшись до історичного максимуму в майже 20,000 XNUMX доларів.

Після активації SegWit у серпні 2017 року BTC піднявся до свого максимуму 2017 року. Джерело: Кобінко

Як працює SegWit?

SegWit функціонує за допомогою відокремлення трансакцію дані свідків з даних транзакції. У старій системі блоки містили вхідні дані транзакції (відправники), вихідні дані (одержувачі) та дані підпису транзакції. Коли SegWit активний, блоки поділяються на базовий блок розміром 1 МБ і додатковий розділ, який зберігає дані транзакції. В іншому розділі можна зберігати до 3 МБ даних свідків.

Тому, всупереч поширеній думці, SegWit насправді є збільшенням розміру блоку. Проте збільшення було реалізовано таким чином, що не загрожує розколу мережі. Ті, хто не захотів оновлювати свої вузли до SegWit, все ще можуть брати участь у мережі Bitcoin.

У застарілих транзакціях дані та підписи транзакцій утворювали єдине дерево Merkle, тобто структуру даних, утворену шляхом хешування різних частин даних разом, з якого був створений ідентифікатор транзакції. Це означало, що зміна даних підпису, яка можлива перед видобутком транзакції, призвела до іншого ідентифікатора транзакції.

У SegWit ідентифікатор транзакції не залежить від даних підпису. Таким чином, навіть якщо зловмиснику вдалося змінити підпис транзакції, це не вплине на ідентифікатори транзакції або не стане недійсною будь-яку транзакцію, що залежить від попередньої.

Хоча базовий блок все ще становить 1 МБ, він може включати дані з більшої кількості транзакцій на блок, оскільки без даних-свідків транзакції менші на 65%. Це ефективно дозволяє майнерам включати більшу кількість транзакцій у кожен блок, масштабуючи мережу біткойн для більшої кількості користувачів.

На додаток до збільшення пропускної здатності транзакцій біткойн, SegWit також дозволяє здійснювати більш складні транзакції. Раніше транзакції, що залежали одна від одної, могли бути визнані недійсними, використовуючи помилку пластичності транзакції. Якщо SegWit активний, ідентифікатори транзакцій більше не залежать від даних, які згодом можна змінити. Таким чином, операції, що залежать від інших транзакцій, не можуть бути визнані недійсними. Це дозволяє використовувати додаткові рішення для масштабування, такі як Lightning Network.

Формат адреси SegWit

Транзакції SegWit використовують один із двох форматів адреси. Завдяки цьому дуже легко визначити, чи надсилаєте ви з адреси SegWit, чи здійснюєте транзакцію за допомогою гаманця, який підтримує SegWit.

Адреси, які починаються з «3», відомі як адреси Pay to Script Hash або P2SH. Це старіший формат адреси, сумісний як із застарілими (або не-SegWit), так і з транзакціями SegWit. Гаманці, які не підтримують SegWit, все ще можуть отримувати транзакції SegWit, використовуючи цей формат адреси. Комісія за трансакцію має бути дещо нижчою, ніж за застарілі адреси під час транзакції з адресами P2SH.

Тим часом адреси Bech32 — також відомі як рідна адреса SegWit — починаються з «bc1». Транзакції, що використовують адреси Bech32, використовують менше даних, ніж їхні аналоги P2SH. Цей формат адреси дозволяє здійснювати ще більше транзакцій за блок, що призводить до ще нижчої комісії за транзакції. Однак для цього потрібні гаманці, які використовуються для підтримки SegWit, що вимагає оновлення програмного забезпечення.

Чому SegWit важливий?

SegWit вирішує зростаючі транзакційні витрати, які, як розуміли розробники біткойн та спостерігачі галузі, обмежують впровадження мережі. Коли блоки біткойн заповнені, транзакції чекають так, як відомо меморіал.

Транзакції залишаються в мемпулі, доки майнер не включить їх у блок. Майнер вибирає, які транзакції включити, на основі включеної комісії за транзакцію. Транзакції, що включають дуже невелику комісію, будуть чекати в мемпулі протягом тривалого часу в періоди сильної перевантаженості блокчейну біткойн, оскільки майнери віддадуть перевагу транзакціям з більш високими комісійними платежами, оскільки це призводить до більшої прибутковості.

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

Крім того, SegWit надає додаткові рішення для масштабування, побудовані на рівнях над основним блокчейном Bitcoin. Першою і найвідомішою на сьогоднішній день є Lightning Network. Lightning Network дозволяє здійснювати транзакції поза ланцюгом у платіжних каналах. Оскільки ці транзакції більше не потребують негайного майнінгу в блок, менше транзакцій очікує на майнінг, що ще більше зменшує тиск на користувачів, які підвищують комісію за транзакції.

Для тих, хто підтримує SegWit, оновлення є більш вигідним, ніж збільшення обмеження розміру блоку за допомогою хардфорка. По-перше, софтфорк не ризикує розколоти мережу, що може призвести до плутанини серед користувачів біткойн.

По-друге, оновлення не висуває до операторів вузлів додаткових вимог до обладнання. Однією з найбільш важливих якостей біткойна є те, що будь-хто може керувати апаратним забезпеченням, необхідним для посилання на блокчейн біткойн і підтверджувати дійсність транзакцій. Збільшення обмеження розміру блоку вимагатиме від операторів вузлів використання більш дорогого обладнання з додатковими ресурсами пам’яті, що збільшує централізацію мережі.

Чи був SegWit успішним?

Оскільки це необов’язкове, зворотно-сумісне оновлення, SegWit знадобився деякий час, щоб дійсно вплинути на мережу. Незважаючи на те, що він був активований у серпні 2017 року, комісія все ще досягала рівня, який збільшував потенційні випадки використання біткойн. На піку 2017 року середня комісія за транзакцію сягала понад 55 доларів, що робило дрібні транзакції або платежі економічно неможливими.

Середня комісія за транзакцію BTC у 55 році після активації SegWit піднялася вище 2017 доларів. Джерело: Скловузол

Хоча деякі учасники екосистеми впровадили оновлення майже відразу, постачальникам гаманців та іншим постачальникам послуг, як-от біржі, знадобилося багато часу, щоб запровадити SegWit. До кінця 2019 року лише половина всіх транзакцій використовувала новий формат. Сьогодні більше 80% угод використання SegWit.

Наведена вище діаграма показує, що щоденна комісія за транзакції, що сплачуються в BTC, значно знизилася після впровадження SegWit. Хоча кількість транзакцій у мережі, що обробляються за день, досягла приблизно 7% нижче піку 2017 року, сплачені комісії залишаються невеликою частиною від 1,500 BTC, сплачених мережі 22 грудня 2017 року. Загальна комісія, сплачена за один день не перевищили 300 BTC під час останніх стрибків.

Оцінюючи вплив SegWit, важливо пам’ятати, що оновлення зробило можливою Lightning Network. Запущена як бета-версія в 2018 році, Lightning Network відчула величезне зростання. На початку 2021 року загальна потужність рішення для масштабування становила трохи більше 1,000 BTC. До квітня 2022 року загальна ємність мережі зросла до понад 3,650 BTC.

Загальна потужність Lightning Network зросла до понад 3,650 BTC з моменту її запуску в 2018 році. Джерело: Скловузол

Кількість каналів Lightning Network також зросла за той же період. З 37,100 2021 на початку 86,500 року, пік каналів досяг 2022 XNUMX у березні XNUMX року. Обидва показники показують сильне зростання активності Lightning, що стало можливим лише завдяки SegWit.

Очевидно, що SegWit досяг успіху як з точки зору впливу на мережеві збори, так і з точки зору підтримки більш складних типів транзакцій. На додаток до Lightning Network, останні оновлення мережі Bitcoin, наприклад Taproot, будуйте на основі SegWit для подальшої оптимізації мережі — і, вирішуючи питання податливості транзакцій, soft fork дозволить інновації, які ще не розроблені.


Не трейдер OKX? Зареєструватися і приєднуйтесь до нас сьогодні.

Джерело: https://www.okx.com/academy/en/what-is-segregated-witness