SegWit, пояснення

Що таке SegWit?

SegWit — або Segregated Witness — назва протоколу Bitcoin (BTC), який був оновлений 23 серпня 2017 року.

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

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

Що таке форк і що зробив форк SegWit?

М’який форк — це оновлення блокчейна, яке не розділяє ланцюг на два окремі блоки, і SegWit збільшив кількість транзакцій у кожному блоці Bitcoin.

Форк — це, по суті, зміна в програмному коді з відкритим доступом. Він вводить зміни у функціонування проєкту, які можуть бути у формі м’яких (soft forks) або жорстких форків (hard forks). Жорсткий форк передбачає розділення блокчейна на два окремі ланцюги, оскільки учасники повинні відкинути блоки, які не підтримують нове програмне забезпечення. Новий ланцюг працює окремо від старого. SegWit був м’яким форком, що означає, що залишався один ланцюг Bitcoin, який приймав блоки від користувачів незалежно від того, ввімкнули вони SegWit чи ні у своєму програмному забезпеченні.

SegWit вирішив проблему маніпуляції транзакціями (transaction malleability), яка дозволяла змінювати дані транзакцій перед тим, як мережа їх обробляла. Це могло б створити хаос у бухгалтерському обліку. За рахунок можливості зберігати інформацію про підписи (тобто “свідка”) окремо (“ізольовано”) від блоку з транзакціями, але при цьому перевіряючи їх, SegWit дозволяє Bitcoin зберігати цілісність транзакцій і водночас вміщувати більше транзакцій в одному блоці розміром 1 мегабайт. Результат — швидший і безпечніший Bitcoin.

Чому впровадження SegWit ще не завершене?

Впровадження SegWit залишається неповним, оскільки воно не є обов’язковим, а також через різні інтереси учасників екосистеми. 

Незважаючи на переваги SegWit, не всі учасники мережі Bitcoin його впровадили. Щоб зрозуміти причину, потрібно звернути увагу на численні ролі, які виконують люди в екосистемі Bitcoin, і на те, як інколи їхні інтереси суперечать один одному.

Наприклад, Bitcoin не просто “оновлюється” автоматично — процес залежить від гаманців, бірж і компаній, які використовують цю систему та готові впровадити зміни в мережу. Оскільки немає обов’язкової вимоги до впровадження SegWit, цей процес покладається на інженерні команди, які повинні переконати свої організації здійснити оновлення, але це не завжди відбувається.

На момент появи SegWit у Bitcoin вже крутилися мільярди доларів, тобто корпоративна бюрократія завадила багатьом компаніям діяти оперативно. Остаточне рішення про те, чи впроваджувати оновлення, приймалося обережними керівниками, а не ентузіастами. Іншою проблемою була мотивація майнерів, які використовували програмне забезпечення AsicBoost, несумісне з SegWit, але, за чутками, дозволяло збільшити швидкість обробки транзакцій на 20%.

Чи зможе SegWit досягти успіху?

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

Після поступового відновлення Bitcoin після краху 2018-2019 років, зросли комісії, які користувачі платять за транзакції. Гаманці з підтримкою SegWit виявляються більш вигідними, оскільки блоки транзакцій, оброблені майнерами для таких гаманців, мають більший обсяг (тобто високу “щільність” транзакцій), що забезпечує швидкість і економію. Міграція користувачів до таких SegWit-гаманців і інструментів значно прискорилася. За останній рік використання SegWit зросло з 39% до понад 50.5%.

Ніхто не хоче платити $5 за відправлення Bitcoin, коли всього пів року тому це коштувало $0.40. Тому підтримка SegWit стала важливою характеристикою, яку шукають серед різноманітних гаманців і бірж. Чим більше транзакцій на блокчейні Bitcoin стають пристосованими до SegWit, тим менш вигідним стає використання прошивки AsicBoost або виключення таких транзакцій із боку майнерів.

Чи є недоліки у SegWit?

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

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

З цієї точки зору, сам SegWit виступає як слабкість, яка шкодить Bitcoin, через що частина спільноти створила новий блокчейнBitcoin Cash — у 2017 році.

Bitcoin Cash — це, по суті, “старий” Bitcoin до впровадження SegWit, а його стратегія масштабування полягає в простому збільшенні розміру блоку та збереженні всіх даних на блокчейні. Це — стратегія децентралізації, яка протилежна підходу Bitcoin Core, який вважає SegWit першим кроком до багатошарового блокчейну.

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