Що таке SegWit?

Що таке SegWit?

Segregated Witness, який зазвичай називають SegWit, представляє ключове оновлення протоколу Bitcoin Core, представленого в 2017 році. Зародившись як засіб для вирішення проблем масштабування та окремих вразливостей Bitcoin, SegWit привніс низку значних покращень. Серед його головних досягнень протокол усунув проблеми з піддатливістю транзакцій і збільшив ліміт розміру блоку біткойна, тим самим полегшивши включення більшої кількості транзакцій у кожен блок. Крім того, це оновлення започаткувало два інноваційних типи сценаріїв для транзакцій Bitcoin і представило новий підхід до кодування, відомий як Bech32 .

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

Як працює SegWit?

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

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

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

Як SegWit вирішує податливість транзакцій?

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

Поглибленість транзакцій

Уявіть собі сценарій, коли Джон винен Стівену 10 BTC. Стівен зі злим наміром змінює дані свідка Джона до того, як мережа підтвердить транзакцію. Ідентифікатор транзакції змінюється, навіть якщо вміст транзакції залишається незмінним. Після підтвердження маніпуляційної транзакції оригінал скасовується. Якщо Стівен неправдиво стверджує, що не отримав 10 BTC, Джон може повторно надіслати BTC, ставши жертвою шахрайства, навіть не усвідомлюючи цього. Такі маніпуляції були невидимі для мережі, тому їм важко запобігти.

Рішення проблеми SegWit

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

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

SegWit і масштабованість : поєднання, створене для майбутнього

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

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

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

SegWit, або Segregated Witness, тісно пов’язаний з еволюцією біткойна та викликає різні погляди на його ефективність і наміри.

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

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

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

SegWit вмикає мережу Lightning

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

Однак повний потенціал Lightning Network не можна було б реалізувати без активації SegWit. Це насамперед через те, що основа Lightning Network значною мірою покладалася на непідтверджені транзакції біткойнів. У початковому стані мережі біткойн ці транзакції були вразливими до типу атак, які називаються «податливістю транзакцій». По суті, зловмисники можуть змінити унікальну ідентифікацію транзакції до її підтвердження, створюючи розбіжності та можливі сценарії подвійних витрат.

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

Збільшення розміру блоку SegWit

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

До появи SegWit кожен блок мав обмеження на зберігання до 1 МБ даних, що означає приблизно 1650 транзакцій, коли блок заповнюється до максимальної ємності. Однак SegWit запровадив концепцію ваги блоку, яка витіснила розмір блоку як основне обмеження вмісту блоку. На сьогоднішній день повністю завантажений блок-хаус наближається до 2700 транзакцій.

Варто звернути увагу на цю відмінність: до появи SegWit кожен блок обмежувався розміром 1 МБ, що відповідає 1 мільйону байт даних транзакцій.

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

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

Нові типи сценаріїв SegWit

У світі біткойн типи сценаріїв представляють різні методи транзакцій біткойнів у блокчейні за допомогою його власної мови сценаріїв під назвою «Script». З появою SegWit було започатковано два нові типи сценаріїв для використання можливостей поля Witness: а саме Pay-to-Witness-Pubkey-Hash (P2WPKH) і Pay-to-Witness-Script-Hash (P2WSH).

Важлива інформація: ті типи сценаріїв, у тому числі P2PKH і P2SH, які існували до епохи SegWit, називаються «застарілими типами сценаріїв».

Pay-to-Witness-PubKey-Hash (P2WPKH)

До створення SegWit найчастіше використовуваним сценарієм був Pay-to-Pubkey-Hash (P2PKH), механізм, який ефективно прив’язував біткойн до хешу відкритого ключа. P2WPKH, інновація SegWit, відображає функціональні можливості P2PKH з незначними відмінностями. У сценарії використання виходу P2WPKH важливі компоненти — підпис і відкритий ключ — надійно розміщені в Witness. Тим часом ScriptSig залишається недоторканим. Цей стратегічний крок має на меті запобігти потенційній податливості ідентифікатора транзакції.

Pay-to-Witness-Script Hash (P2WSH)

Слідом за P2PKH, Pay-to-Script-Hash (P2SH) отримав популярність як видатний застарілий тип сценарію. Він дає змогу користувачам відправляти біткойни в унікальний довільний хеш сценарію, який отримав назву redeemScript. Кожен, хто має цей redeemScript і відповідає встановленим критеріям, може повернути цей біткойн.

На початку свого існування P2SH в основному обслуговував транзакції з кількома підписами, пропонуючи як покращену ефективність використання простору, так і конфіденційність у порівнянні зі своїми аналогами, такими як простий мультипідпис.

Введіть хеш-сценарій Pay-to-Witness-Script (P2WSH) SegWit. Його modus operandi тісно перегукується з P2SH. Виходи P2WSH розблоковуються, якщо надати сценарій Witness (версія redeemScript від SegWit) разом із необхідними підписами та відкритими ключами. Подібно до підходу в P2WPKH, вхідні дані P2WSH вимагають вакантного поля ScriptSig, відводячи Script Witness — охоплюючи життєво важливі підписи та відкриті ключі — на територію свідка.

Загорнутий SegWit

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

По суті, загорнутий SegWit функціонує як традиційний варіант сценарію P2SH. Він бездоганно інтегрує рідний сценарій SegWit, будь то P2WPKH або P2WSH, і виконує його роль redeemScript сценарію P2SH. Отже, результуючі обгорнуті сценарії SegWit класифікуються як P2SH-P2WPKH або P2SH-P2WSH.

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

Зверніть увагу, що Plisio також пропонує вам:

Створіть крипторахунки-фактури в 2 кліки and Приймайте криптовалютні пожертви

12 інтеграції

6 бібліотеки для найпопулярніших мов програмування

19 криптовалют і 12 блокчейн

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.