Gate.io
Learn Cryptocurrency & Blockchain

Що таке SegWit?

ПочатківецьNov 21, 2022
Сегрегований свідок (SegWit) — це оновлення в блокчейні біткойн, яке відокремлює дані свідків від базового блоку. Ідея SegWit була запропонована розробником Pieter Wuille у 2015 році. Це вдосконалення, спрямоване на вирішення проблеми податливості транзакцій і масштабування мережі.
Що таке SegWit?

У мережі Bitcoin майнерам доручено перевіряти транзакції та додавати нові блоки. Натомість вони отримують винагороду щойно відкарбованими біткойнами. Для виконання цих завдань потрібне складне комп’ютерне обладнання. Комп’ютери діють як валідатори та називаються вузлами.

Оскільки кількість користувачів у мережі продовжує зростати, потрібно перевіряти більше транзакцій і додавати більше блокувань. Розмір блоку Bitcoin обмежений 1 МБ, а нові блоки створюються кожні 10 хвилин. Кожен блок в мережі містить в середньому 2700 транзакцій, швидкість обробки 7-8 транзакцій в секунду. Це обмежує кількість транзакцій, які можна обробити, а також кількість транзакцій, доданих до блоку. Усе це призвело до уповільнення роботи мережі Bitcoin.

Щоб вирішити цю проблему, розробник Pieter Wuille запропонував ідею Segregated Witness (SegWit) на масштабній біткойн-конференції, що відбулася в грудні 2015 року. Спочатку ця ідея полягала в тому, щоб виправити помилку в мережі, відому як помилка пластичності. Помилка дозволяє будь-кому в мережі втручатися в дані транзакцій. Відокремлення свідкових даних від базового блоку забезпечило вирішення цієї помилки, а також масштабування блокчейну. Тож у цій статті ми дослідимо, як SegWit допоміг вирішити ці проблеми в мережі Bitcoin.

Що таке SegWit?

Сегрегований свідок (SegWit) — це оновлення в блокчейні біткойн, яке відокремлює дані свідків від базового блоку. Це вдосконалення, спрямоване на вирішення проблеми податливості та масштабування мережі. Відокремлюючи дані-свідки від базового блоку, у блоці створюється більше місця, і можна вмістити більше транзакцій без зміни початкового розміру блоку в 1 МБ.

Ідея SegWit була запропонована розробником Pieter Wuille у 2015 році. SegWit ділить транзакцію на дві частини. Дані-свідки відокремлені від базового блоку, але залишаються частиною блокчейну. Оригінальна частина містить адресу гаманця відправника та одержувача, а інша частина містить сценарії та підписи. Це розділення дає можливість для більшої кількості транзакцій у блоці. Крім того, видаливши дані свідка з базового блоку, ніхто не зможе змінити непідтверджену транзакцію в мережі. Біткойн - не перший блокчейн, який активує цю ідею. SegWit було активовано на Litecoin (LTC) у травні 2017 року, а потім на Bitcoin 23 серпня 2017 року.

Проблеми, які вирішує SegWit

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

Масштабованість

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

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

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

Податливість транзакції

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

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

Зі своїх егоїстичних міркувань Джейн дзвонить Джеймсу і скаржиться, що вона не отримала 20 BTC. Після перевірки він виявляє, що транзакція не пройшла, і відправляє ще 20 BTC Джейн. У цьому випадку ніхто не зможе виявити злий план Джейн. Крім того, будь-який запис, доданий до блокчейну, є незмінним і не може бути стертий. Тож у цьому випадку нічого не можна зробити. Вилучивши дані-свідки та розмістивши їх за межами базового блоку, ніхто не зможе перезаписати транзакцію.

Інші переваги SegWit

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

Швидші та дешевші транзакції

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

Прокладає шлях до рішень для масштабування рівня 2

Ідея рішень для масштабування рівня 2, таких як мережа Lightning, не народиться без SegWit. Рішення для масштабування рівня 2 сильно покладаються на основний блокчейн для безпеки. У ситуації, коли будь-хто може змінити дані в основній мережі, а безпека блокчейну буде порушена, якою буде доля його похідних? SegWit допоміг вирішити цю проблему безпеки, надаючи простір для нових удосконалень і розвитку.

Невдача SegWit

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

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

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

Чи є SegWit софтфорком?

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

Висновок

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

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

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

Автор: Unique
Перекладач: Binyu
Рецензент(-и): Matheus, Edward, Joyce, Ashley
* Ця інформація не є фінансовою порадою чи будь-якою іншою рекомендацією, запропонованою чи схваленою Gate.io.
* Цю статтю заборонено відтворювати, передавати чи копіювати без посилання на Gate.io. Порушення є порушенням Закону про авторське право і може бути предметом судового розгляду.