Надграждането на SegWit на Bitcoin беше противоречиво, но донесе големи промени в най-популярната криптовалута в света.
Мащабируемостта на биткойн е постоянен проблем за най-популярната криптовалута в света и този, който разработчиците на биткойн се борят да разрешат. Едно въведено решение беше софтуерната вилка SegWit, която промени броя на биткойн транзакциите, които могат да бъдат обработени едновременно.
Въпреки че увеличаването на броя транзакции на биткойн блок звучи като сигурна победа, SegWit също имаше проблеми.
Как работят биткойн транзакциите?
Биткойн транзакциите използват модела UTXO (Unspent Transaction Output), при който всяка транзакция изразходва изхода на предишната транзакция в блокчейна и генерира нов изход, който може да бъде изразходван в следното сделка.
По дизайн вие не притежавате биткойн токен. Вместо това притежавате неизразходвания резултат от определен брой предишни транзакции. Можете да докажете собствеността върху този резултат чрез необходимия адрес, цифров ключ и цифров подпис.
Да приемем, че искате да изпратите биткойн на най-добрия си приятел. Първо ще използвате частен ключ, за да подпишете съобщение, съдържащо входа, изхода и сумата. Транзакцията се излъчва към цялата биткойн мрежа и всички потребители могат да я видят.
Когато възел получи транзакцията, той проверява дали:
- Вашият частен ключ съвпада с публичния ключ, който твърдите, че притежавате
- Сумата от входовете е по-голяма от сумата от изходите
- Резултатът е неизразходван.
Ако транзакцията отговаря на тези три правила, тя се проверява и се предава на други възли, които повтарят процеса на проверка. Този процес включва сложни математически пъзели, които миньорите са най-добри крипто хешрейт имат най-добрия шанс да решат първи.
Миньорските възли се състезават за решаване на пъзелите и ако успеят, копаят шаблона на блока в неизменен блок в блокчейна. Блокирането се излъчва към цялата мрежа и е ясно, че най-добрият ви приятел притежава новия неизразходван изход.
Какво представлява грешката в гъвкавостта на транзакцията?
Мащабируемостта и скоростта не са единствените проблеми, които тормозят биткойн блокчейна. За съжаление, има и „недостатък на гъвкавост на транзакцията“, дефект, който позволява промяна на цифровия подпис на транзакция, преди тя да бъде потвърдена в блокчейна.
Тази модификация е направена по такъв начин, че транзакцията запазва своята математическа логика, но дава различен резултат, когато се изпълнява чрез алгоритъм за хеширане.
Вземете, например, стойността на подписа на вашата транзакция с най-добрия ви приятел, която беше (5). Ако се промени на (5-10+10), математическата стойност все още е 5, но ако хешираме тези различни версии, получаваме различни резултати.
Тъй като хешът е начинът, по който транзакцията се идентифицира в блокчейна, тази промяна причинява няколко проблема.
- Лошите участници могат да създадат втора конфликтна транзакция, преди първата да бъде потвърдена, причинявайки объркване, забавяне и задръстване в мрежата.
- Това прави проблематично за разработчиците на блокчейн да създават решения от второ ниво, предназначени да подобрят скоростта и скалируемостта на основната мрежа.
Така че това е дефект с потенциал да превърне счетоводството на блокчейн в кошмар и няколко решения са внедрени за разрешаването му. И тук се намесва биткойн SegWit.
Какво е Bitcoin SegWit?
Segregated Witness (SegWit) е надграждане на биткойн блокчейн протокол, разработено основно за защита срещу гъвкавост на транзакциите.
SegWit беше предложен за първи път през 2015 г. като a блокчейн вилица за подобряване на скалируемостта. SegWit би постигнал това чрез разделяне на цифровите подписи от данните за транзакциите, което позволява повече транзакции да се съхраняват в един блок и намалява времето, необходимо за обработка на един блок.
Софт форкът на SegWit най-накрая беше внедрен през 2017 г., като въведе много подобрения в блокчейна на биткойн, освен решаването на недостатъка в ковкостта и подобряването на ефективността на транзакциите.
Какво е SegWit2x?
Преди внедряването на SegWit, в биткойн общността имаше малко размирици поради надграждане на предложение за хард форк насочени към увеличаване на ограничението за размер на блока от 1MB на 2MB, за да се подобри скоростта на обработка на транзакциите, оттук и терминът "SegWit2x."
Въпреки че много заинтересовани страни подкрепиха идеята, в общността възникнаха разногласия и липсата на консенсус доведе до разцепление. Отцепилата се фракция формира Bitcoin Cash (BCH), докато групата майка продължи да прилага SegWit.
Как работи Bitcoin SegWit?
SegWit работи, като отделя някои данни от блока, правейки го недостъпен за модификации. Това разделяне създава две секции. Първата секция на блока съдържа адресите на портфейла на подателя и получателя, докато втората секция съдържа цифровите подписи, известни също като „данни за свидетели“.
Тъй като свидетелските данни са отделени от основния блок, повече място в блока се освобождава за повече данни за транзакциите, които да бъдат записани. Това от своя страна увеличава капацитета на блока и влияе пряко на производителността на биткойн мрежата, като значително подобрява скалируемостта.
От друга страна, отделените данни, т.е. цифровият подпис, се криптират и съхраняват в странична верига. Този добавен слой на сигурност в допълнение към отделянето от основната мрежа прави невъзможно промяната на цифровия подпис на транзакцията, като по този начин решава проблема с гъвкавостта.
Предимства на Bitcoin SegWit
SegWit предоставя няколко предимства на биткойн мрежата.
- Решава гъвкавостта на транзакциите: Както споменахме по-рано, SegWit поправя недостатъка в гъвкавостта на транзакциите, който причини много объркване и задръствания в блокчейна на биткойн. Това позволи по-надеждни и сигурни транзакции.
- Подобрена сигурност: Чрез разрешаването на гъвкавостта на транзакциите SegWit направи биткойн мрежата по-сигурна и по-малко уязвима на атаки. Освен това улесни внедряването на нови функции за сигурност в бъдеще.
- Подобрена скалируемост: Мащабируемостта е увеличаването на производителността на системата. Това се случи с биткойн след мекия форк на SegWit. Повече транзакции могат да бъдат включени в блокове поради освободеното място, осигурявайки намалени такси за транзакции и по-бързо време за потвърждение на транзакциите.
- По-ниски такси за транзакции: Тъй като повече транзакции можеха да се поберат в един биткойн блок, конкуренцията за блоково пространство намаля, което от своя страна намали таксите за транзакции. Това беше особено полезно за малки транзакции.
- Подобрена съвместимост: По силата на това, че е мек форк, SegWit активира разширяемостта на блокчейна, като същевременно отваря вратата за бъдещи надстройки (като надстройката на Taproot) към биткойн мрежата. Тази гъвкавост предоставя на блокчейна възможността да внедрява нови функции и подобрения.
- Вдъхновено създаване на Lightning Network (LN): Когато SegWit подобри скалируемостта, неговият код вдъхнови разработването на решение Layer-2: мрежата Lightning. Кодът на LN позволява създаването на канал за плащане извън веригата между две транзакционни страни, подобрявайки скоростта на основната мрежа и намалявайки разходите за транзакция.
SegWit беше решаващо надграждане на биткойн мрежата, защото предлагаше решения, които подобриха нейната производителност и направиха изживяването по-добро за потребителите на биткойн. Това обаче не дойде без справедливия дял от нови предизвикателства.
Недостатъци на SegWit
Софт форкът на SegWit въведе няколко потенциални недостатъка.
Например, въпреки че много борси и портфейли са приели SegWit, не всички възли поддържат новия протокол. Освен това, тъй като SegWit намалява таксите за транзакции, като същевременно изисква поддръжка за страничната верига на свидетелските данни, ориентираните към печалба миньори не го харесват и може да не са склонни да го прилагат.
Освен това, поради самия размер на биткойн мрежата, SegWit не е достатъчен, за да се справи с нейния проблем с мащабируемостта. Има нужда от значителна корекция на блокчейна, за да се намали неговият размер и да се увеличи скалируемостта до ниво, подобно на алтернативните блокчейни.
Въпреки че SegWit има тези недостатъци, ясно е, че ползите от сигурността и мащабируемостта далеч надхвърлят проблемите.
Беше ли Bitcoin SegWit добра идея?
SegWit предотврати недостатък от причиняването на толкова голямо забавяне в блокчейна на биткойн в момент, когато приемането му набираше сила. Наистина чакаше доста време разработката да бъде реализирана. Докато някои копачи имаха отрицателно въздействие върху портфейлите си, софт форкът подобри сигурността и надеждността на блокчейна, като повлия положително на биткойн мрежата.