
Segregated Witness (SegWit) — це фундаментальне технічне оновлення блокчейна Bitcoin, офіційно активоване у серпні 2017 року. Це рішення змінює структуру блоків, розділяючи підписи транзакцій («witness data») і основні дані транзакцій, розміщуючи їх у окремій структурі. Такий підхід ефективно ліквідує проблему зміни ідентифікаторів транзакцій у мережі Bitcoin, збільшує місткість блоків, оптимізує роботу мережі та створює фундамент для масштабування другого рівня, таких як Lightning Network.
Ідею Segregated Witness вперше запропонував розробник Bitcoin Core Pieter Wuille у грудні 2015 року на семінарі Scaling Bitcoin у Гонконзі. Тоді мережа Bitcoin мала серйозні труднощі з масштабуванням: обмеження розміру блоку у 1 МБ призводило до перевантаження транзакціями і зростання комісій. Крім того, вразливість transaction malleability давала змогу змінювати ідентифікатори транзакцій до підтвердження, що ускладнювало створення просунутих платіжних каналів.
У період гострих суперечок у спільноті Bitcoin щодо шляхів вирішення проблеми масштабування SegWit був запропонований як оновлення через soft fork, що збільшує ефективну місткість блоків без порушення консенсусу і усуває проблему transaction malleability. Після близько півтора року розробки та тестування SegWit впровадили через BIP (Bitcoin Improvement Proposal) 141, і він успішно активувався у серпні 2017 року після досягнення необхідного порогу підтримки.
Основний принцип SegWit полягає у зміні структури транзакцій:
Відокремлення даних — дані «witness» (підписи та скрипти) відділяються від основних даних транзакції та розміщуються в окремій «witness» структурі.
Коригування ваги — для визначення розміру блоку дані witness мають знижений коефіцієнт ваги: лише 0,25 одиниці ваги за байт, а невідокремлені дані залишаються з коефіцієнтом 1. Це дає змогу включати у блок більше транзакцій і фактично збільшує ліміт розміру блоку до приблизно 4 МБ.
Новий формат адрес — впроваджено новий формат адрес (Bech32, починаються з «bc1»), спеціально створений для транзакцій SegWit, що забезпечує кращу перевірку на помилки та коротші QR-коди.
Зміна розрахунку ідентифікатора транзакції — підписи більше не беруть участі у формуванні ідентифікатора транзакції (txid), завдяки чому проблема transaction malleability усувається, а ідентифікатори залишаються незмінними після трансляції.
Технічно SegWit впроваджує нові правила версій у скриптовій системі Bitcoin: транзакції старого формату мають версію 0, а SegWit — версію 1, що гарантує зворотну сумісність і дає змогу вузлам без оновлення перевіряти блокчейн.
Попри значні переваги, впровадження SegWit супроводжувалося низкою ризиків і викликів:
Проблеми впровадження — як опція, SegWit вимагав активної підтримки з боку гаманців і бірж для максимального ефекту, що призвело до відносно повільної адаптації на старті.
Технічна складність — реалізація SegWit потребувала глибоких змін у програмному забезпеченні гаманців, збільшуючи навантаження на розробників і ризик помилок.
Розкол спільноти — активація SegWit стала причиною серйозних розбіжностей у спільноті Bitcoin, що призвело до форку блокчейна і появи Bitcoin Cash.
Питання безпеки — нові правила перевірки скриптів і формат адрес вимагали ретельного тестування для запобігання новим вразливостям та питанням безпеки.
Перехідний період — до повного переходу мережі на SegWit потрібно було підтримувати сумісність обох типів транзакцій, що ускладнювало функціонування мережі.
Успішна активація SegWit вважається важливою віхою технічної еволюції Bitcoin, яка продемонструвала можливість реалізації масштабних оновлень блокчейна через soft fork.
SegWit — це ключовий етап технічного розвитку Bitcoin, що вирішив критичні технічні проблеми та заклав основу майбутніх інновацій. Усунувши проблему transaction malleability, SegWit відкрив шлях для рішень масштабування другого рівня, зокрема Lightning Network, і створив перспективу довгострокового розвитку Bitcoin. Водночас його впровадження через soft fork засвідчило складність управління блокчейном і технічних оновлень, а також труднощі досягнення консенсусу у децентралізованих системах. З часом SegWit став загальноприйнятим і стандартом у мережі Bitcoin, підтвердивши свою технічну цінність і обґрунтованість дизайну.
Поділіться


