Разделен свидетел, част 2 Защо си струва да му обърнете внимание
В първата част от поредица от три статии за Разделения свидетел говорихме за това как работи. Във втората част ще говорим за възможностите, които разкрива.
Увеличаване на ефективния размер на блока без увеличаване на лимита
При прегледа на предложеното от Vuille разединено свидетелство, това, което привлече най-голямо внимание, беше очакваната печалба от издаване на подписи от 1MB блокове, което може ефективно да увеличи размера на блока на биткойн. Това означава, че повече транзакции в секунда могат да бъдат записани в блокчейна. С други думи, пропускателната способност на мрежата ще се увеличи. Освен това, такава промяна може да бъде приложена, без да се нарушават съществуващите мрежови правила за консенсус, включително ограничението за размера на блока.
Предложението на Vuille дава нова идея за максималния размер на блока. Формулата, използвана за изчисляване на лимита, е зададена донякъде произволно: Размерът на блока без разделените свидетели плюс една четвърт от размера на разделените свидетели - не трябва да надвишава общо 1 мегабайт. По този начин за старите възли всички блокове ще изглеждат по-малки от 1 мегабайт, тъй като една четвърт от отделения свидетел (който не могат да видят) ще трябва да се побере в същия 1 мегабайт. В същото време новите възли ще виждат блокове, по-големи от 1 мегабайт, тъй като действителният размер на разделения свидетел е по-голям от преброената четвърт.
Точният размер на допълнителното пространство, което отделен свидетел дава, зависи от типовете транзакции, които ще бъдат включени в новите блокове. Ако повече транзакции съхраняват повече данни в Seperated Witness, както правят транзакциите с множество подписи, например, общият размер на новите блокове ще се увеличи. Това ще добавидо нов максимален размер на блока от приблизително 1,75 мегабайта за нормални транзакции и 4 мегабайта като максимално ограничение, което не може да бъде надвишено дори ако (почти) всички данни са компресирани в отделен свидетел.
Сбогом на транзакционната пластичност
Но има и друга, може би още по-голяма полза: Разделеният свидетел може да помогне за решаването на проблема с пластичността на транзакциите. Всъщност този проблем беше първоначалната предпоставка, която породи самата концепция за разделения свидетел.
Податливостта на транзакцията се дължи на криптографски трик, при който подписът се променя, без да се променя значението на подписа. Освен това може да се направи без секретния ключ, използван за създаване на оригиналния подпис. По отношение на биткойн това означава, че всеки може да вземе всяка транзакция от p2p мрежата и да замени оригиналния подпис с еквивалентен, който все още ще бъде валиден. Този нов подпис все още ще отразява същите данни, които са били подписани първоначално, и все пак ще може да премине проверка с оригиналния публичен ключ. Това няма да промени резултата от транзакцията по никакъв начин, но тъй като нещата ще изглеждат различно, напълно ще промени идентификатора на транзакцията.
Податливостта на транзакциите води в по-голямата си част до два основни проблема. Първо, той пречи на софтуера, който използва идентификатора на транзакция, за да провери потвърдените транзакции. Но по-важното е, че гъвкавостта на транзакциите ограничава потенциала за всички видове усъвършенствани употреби на биткойн, изградени върху непотвърдени транзакции (използвайки идентификатор на транзакция), като канали за микроплащане и Lightning.
Разбира се, разделениСвидетелят изважда подписите извън транзакцията, използвани за създаване на ИД на транзакцията. И докато самите подписи в рамките на отделен свидетел могат да бъдат променяни, това няма да засегне блокчейна по никакъв начин. Това означава, че няма да засегне софтуера за биткойн, който използва идентификатори на транзакции, както и Lightning. Следователно това ще сложи край на проблема с гъвкавостта на транзакциите и ще постави началото на следващите нива на мащабиране.
Разработка на скрипт или как биткойн може да се научи да прави почти всичко
Третото предимство на Separated Witnesses зарадва биткойн програмистите почти толкова, колкото първите две, ако не и повече: версиите на скрипта.
Както беше обяснено в предишната статия, разделените свидетели съдържат скриптове, които отключват биткойни. Но те съдържат и нещо друго: байтове на версията. В отделните свидетели байтовете на версията предхождат scriptSig, обозначавайки типа на scriptSig. Ако след прочитане на байтовете на версията, възелът може да определи типа, той може да каже какви изисквания трябва да бъдат изпълнени, за да се отключат биткойни в scriptSig. Ако след прочитане на байтовете на версията хостът не разбира типа, той интерпретира scriptSig като „Всеки може да харчи“.
Това отваря много нови начини за блокиране на биткойни в транзакции. Всъщност това ви позволява да използвате биткойн брави по всякакъв начин, който разработчиците могат да измислят. По този начин не е възможно да се обясни как това ще се използва в бъдеще, тъй като значителна част от тези възможности все още трябва да бъдат доразвити. Но първоначалните идеи включват подписи на Schnorr, които ще бъдат много по-бързи за проверка от подписите, които се използват в момента, както и по-сложни видове транзакции с множество подписи. Може би дори скриптовеосновата на пълноправен език за програмиране, като този, използван в Ethereum.
И което е важно, както при самия разделен свидетел, тези видове актуализации няма да нарушат съществуващите правила за консенсус на Биткойн. Няма изискване за актуализиране на всеки биткойн възел. Ще бъде достатъчно да актуализирате повечето от възлите, което ще направи прилагането на промените много по-лесно за внедряване.
Доказателство за измама: Завършване на SPV визията на Satoshi
Още не е свършило. Разделеният Свидетел може също да представи нещо, наречено доказателство за измама. Първоначално предвидено от Сатоши Накамото, доказателството за измама може значително да подобри сигурността на SPV възлите (или: „леки портфейли“). Биткойн възли, които не проверяват всички транзакции в мрежата или съхраняват целия блокчейн.
Но дори и с доказателства за измама, SPV възлите няма да могат да предложат същото ниво на сигурност като пълните възли. Най-важното е, че разрешаването на доказателства за измама изисква SPV възлите да могат да комуникират в мрежа, която е свободна от цензура (напр. цензура от контролирани от държавата доставчици). В допълнение SPV възлите изискват поне един пълен възел, наличен в мрежата, което ще доведе до доказателство за измама.
Място за съхранение
Разбира се, освобождаването на блокчейна от стари подписи може да не е идеалът за перфекционист, тъй като те може да искат да валидират стари данни за транзакции независимо от всичко. За щастие това може да не е проблем. Всичко, от което един такъв перфекционист би се нуждаел в този случай, е да се застъпи за разпространението на данните за разделени свидетели, така че всички останали да могат да ги изтеглят.
В третата и последна част от поредицата за Раздвоения свидетел ще бъде разгледано товасъщото конкретно разделен свидетел означава за дългогодишния спор за размера на блока. Благодаря на разработчиците на Blockstream Питър Вуил и Марк Фриденбах (Марк Фриденбах) и главния изпълнителен директор наCiphrexЕрик Ломброзо за предоставянето на информация и допълнителна обратна връзка - да не говорим за голямото проявено търпение.