Taproot и MAST: Отключване на напреднала приватност и сложни скриптове в Bitcoin

Bitcoin често се критикува заради бавната си еволюция, но това възприятие произтича от погрешно разбиране на начина, по който протоколът поставя приоритет на сигурността и стабилността. Докато ъпдейтите са редки в сравнение с други blockchain мрежи, те са дълбоки, когато се случат. Активирането на Taproot през ноември 2021 г. отбеляза един от най-значимите технически скокове в историята на Bitcoin. Този ъпгрейд не беше просто една функция, а пакет от технологии, предназначени да модернизират начина, по който се верифицират транзакциите и се съхраняват данни в blockchain-а.

В основата си Taproot решава два основни предизвикателства: приватност и ефективност. Със растежа на мрежата потребителите започнаха да изискват по-сложни типове транзакции, като многосигнатурни портфейли и договори с времеви заключвания. В предишната версия на Bitcoin протокола тези сложни транзакции бяха обемни по данни и лесно разпознаваеми в публичния регистър. Това създаде ситуация, в която потребителите трябваше да жертват приватността си и да плащат по-високи такси, за да използват напреднали скриптови функции.

Ъпгрейдът Taproot решава тези проблеми чрез въвеждането на Schnorr подписи, Merkelized Abstract Syntax Trees (MAST) и нов език за скриптове, наречен Tapscript. Заедно тези технологии правят сложните транзакции да изглеждат неотличими от стандартните трансфери в blockchain-а. Това създава по-приватна, взаимозаменяема и мащабируема мрежа. Разбирането на тези компоненти разкрива как Bitcoin се позиционира не само като дигитално злато, а като надеждна платформа за сигурен, приватен и ефективен трансфер на стойност.

Историческият контекст на ъпгрейдите на Bitcoin

За да разберем значимостта на Taproot, трябва да погледнем назад към ъпгрейда Segregated Witness (SegWit) от 2017 г. SegWit беше предимно поправка за транзакционна изменчивост, грешка, която позволяваше ID-тата на транзакциите да бъдат променяни преди потвърждение. Въпреки това най-трайното му наследство беше промяната в начина, по който се измерва пространството на блока. Чрез отделяне на цифровата подпись (данни за свидетел) от данните за транзакцията, SegWit ефективно увеличи лимита за размера на блока и прокара пътя за Layer-2 решения като Lightning Network.

SegWit въведе концепцията за „тегло на блока“, позволявайки повече транзакции да се вместят в един блок чрез отстъпка от размера на данните за свидетел. Макар това да подобри пропускателната способност, то не промени фундаментално криптографската схема за подписи или начина, по който се обработват скриптовете. Bitcoin продължи да разчита на Elliptic Curve Digital Signature Algorithm (ECDSA), който е индустриален стандарт от самото начало на Bitcoin.

Ограниченията на старата система

Преди Taproot сложните условия за харчене се обработваха чрез Pay-to-Script-Hash (P2SH). Ако потребител искаше да създаде договор, който изисква или два от трите частни ключа да подпишат, или конкретно време да изтече, трябваше да хешира целия скрипт и да го постави в blockchain-а.

Когато дойдеше времето да похарчи тези средства, потребителят трябваше да разкрие целия скрипт, включително условията, които не бяха изпълнени. Тази система имаше два основни недостатъка. Първо, беше неефективна, защото големите скриптове заемаха значително пространство в блока, което водеше до по-високи такси за транзакции. Второ, беше кошмар за приватността. Чрез разкриване на всяко възможно условие на смарт договора, потребителите излагаха настройките си за сигурност на целия свят.

Ъпгрейдът Taproot фундаментално променя тази динамика. Той позволява на потребителите да се ангажират със сложен скрипт, без да разкриват съдържанието му, докато средствата не бъдат похарчени. Дори тогава се разкрива само конкретното условие, използвано за отключване на средствата, като осталата логика на договора остава скрита от публичния поглед.

Силата на Schnorr подписите

Първият стълб на ъпгрейда Taproot е внедряването на Schnorr подписи (BIP 340). Това заменя стария ECDSA механизъм за генериране на публични ключове и подписи. Макар ECDSA да е сигурен, той няма математическо свойство, известно като линейност. Линейността позволява множество цифрови подписи да се комбинират в един валиден подпис. Тази възможност е известна като агрегация на ключове.

В традиционна Bitcoin многосигнатурна транзакция мрежата трябва да верифицира всеки индивидуален подпис и да ги съхрани всички в blockchain-а. Ако трима души подпишат транзакция, три подписи и три публични ключа заемат пространство в блока. Този линеен растеж на размера на данните прави сигурността скъпа.

Schnorr подписите решават това чрез позволяване на множество страни да комбинират публичните си ключове в един агрегиран ключ. Когато подписват транзакцията, индивидуалните им частични подписи се комбинират в един подпис. За Bitcoin мрежата този агрегиран подпис изглежда точно като стандартен подпис на един потребител. Това драстично намалява количеството данни, съхранявани в blockchain-а, намалявайки таксите за сложни настройки за сигурност.

Освен ефективност, Schnorr позволява „пакетна валидация“. Тази функция позволява на пълните нодове да верифицират подписи много по-бързо от преди. Вместо да проверяват всеки подпис един по един, нодът може да верифицира пакет от Schnorr подписи едновременно. Тази математическа ефективност намалява изчислителната натовареност на мрежата, улеснявайки потребителите да стартират собствени нодове и да поддържат децентрализацията на системата.

Merkelized Abstract Syntax Trees (MAST)

Вторият основен компонент на ъпгрейда е интегрирането на Merkelized Abstract Syntax Trees или MAST. Тази технология революционизира начина, по който са структурирани смарт договорите в Bitcoin. В компютърните науки Merkle дървото е структура от данни, която позволява ефективна верификация на големи набори от данни без да е необходимо целият набор да е наличен. MAST прилага тази концепция към Bitcoin скриптовете.

В старата P2SH система смарт договорът беше един линеен скрипт. Ако скриптът съдържаше множество условия за харчене (ветки), целият скрипт трябваше да се обработи и разкрие. MAST разчленява тези условия на индивидуални листа в Merkle дърво. Когато потребител похарчи средства, той трябва да предостави само конкретния лист (условие), който използва, и „Merkle доказателство“, което свързва този лист с корена на дървото.

Ефективност чрез селективно разкриване

Основната полза от MAST е ефективността. Представете си сложен наследствен договор с десет различни начина за достъп до средства, включващи различни членове на семейството и времеви забавяния. В старата система всички десет условия биха заели пространство в блока. С MAST, ако основният наследник достъпи средствата с най-простото условие, само това условие се разкрива и съхранява в blockchain-а.

Неизпълнените ветки на дървото остават хеширани и скрити. Това означава, че транзакция с сто потенциални условия за харчене може да е толкова малка и евтина, колкото транзакция с едно условие. Това разделяне на сложността на договора от цената на транзакцията премахва финансовото наказание за използване на напреднали мерки за сигурност.

Ползи за приватността от скритите скриптове

MAST предлага значителни подобрения в приватността. Тъй като неизпълнените ветки никога не се разкриват, външни наблюдатели не могат да научат пълните детайли за конфигурацията на портфейла на потребителя. Наблюдател, гледайки blockchain-а, вижда само изпълненото условие, не и тези, които са запазени в резерв.

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

Pay-to-Taproot (P2TR) и Key Path Spending

Taproot обединява Schnorr подписите и MAST в нов тип изход на транзакция, наречен Pay-to-Taproot (P2TR), дефиниран в BIP 341. Тази структура позволява Bitcoin изход да се похарчи по два различни начина: „key path“ и „script path“. Тази двойна възможност е това, което прави Taproot транзакциите да изглеждат униформни в blockchain-а.

Key path използва агрегацията на ключове на Schnorr. Ако всички страни в смарт договора се съгласят за курс на действие, те могат да сътрудничат за създаване на един подпис, който похарчва средствата. Това е сценарият на кооперативно затваряне. За мрежата това изглежда идентично с просто плащане от човек на човек. Никакъв основен скрипт не се разкрива, защото оторизацията за харчене е обработена чисто чрез криптография извън веригата.

Ако страните не могат да се съгласят или ако трябва да се изпълни конкретно сложно условие, портфейлът прибягва към script path. Тук идва на сцена MAST. Портфейлът разкрива конкретната ветка от Merkle дървото, необходима за преместване на средствата. Гениалността на P2TR е, че публичният ключ в blockchain-а всъщност е комбинация от публичния ключ на потребителя и корена на MAST.

Това означава, че всеки P2TR изход изглежда еднакво, докато не бъде похарчен. Наблюдател не може да каже дали P2TR адрес е прост single-sig портфейл, multi-sig настройка или сложен смарт договор. Ако потребителят похарчи чрез key path, съществуването на script path остава математически скрито завинаги. Тази концепция, известна като „cooperative close“, мотивира страните да се съгласят извън веригата, за да спестят такси и да запазят приватност.

Функция Стара (P2SH/ECDSA) Taproot (P2TR/Schnorr)
Алгоритъм за подписи ECDSA Schnorr
Приватност Разкрива целия скрипт Разкрива само изпълнената ветка
Multi-sig данни Един подпис на подписвач Един агрегиран подпис
Ефективност Разходът расте със сложността Постоянна цена за key path
Взаимозаменяемост Отличими отпечатъци на портфейли Униформен вид на транзакциите

Еволюцията на Bitcoin смарт договорите

Макар Bitcoin да не е Turing-complete платформа за смарт договори като Ethereum, той притежава надежден език за скриптове, способен да обработва сложна финансова логика. Taproot значително подобрява тази възможност. Чрез премахване на ценовото наказание за сложни скриптове, той насърчава разработчиците да създават по-сложни приложения директно на базовия слой на Bitcoin.

Това не означава, че Bitcoin се опитва да копира функционалността на други вериги. Вместо това той се фокусира върху верификацията, а не върху изчисленията. Bitcoin смарт договорите са фундаментално за условия за оторизация: кой може да похарчи пари и кога. Taproot позволява тези условия за оторизация да бъдат произволно сложни извън веригата, като остават прости и кратки в веригата.

Tapscript и бъдещи ъпгрейди

За да подкрепи тези нови функции, ъпгрейдът въведе Tapscript (BIP 342), обновена версия на езика за скриптове на Bitcoin. Tapscript модифицира начина, по който се верифицират подписите, и възстановява или променя определени „opcodes“ (операционни кодове), за да ги направи по-гъвкави.

Една от критичните промени в Tapscript е премахването на строгото ограничение за размера на данните за свидетел. Преди това имаше твърд кап на размера на скрипта, който може да се обработи. Tapscript облекчава тези ограничения, позволявайки по-големи и сложни скриптове да се изпълняват, при условие че се вместват в лимитите за тегло на блока.

Освен това Tapscript е проектиран с мисъл за бъдещи ъпгрейди. Той преопределя начина, по който се обработват недефинираните opcodes. В старата система въвеждането на нов opcode често изискваше сложен процес на ъпгрейд. С Tapscript непознатите opcodes се третират като валидни по подразбиране (no-ops), което улеснява въвеждането на нова функционалност по-късно чрез soft forks без да се нарушава мрежата. Този напреднал дизайн гарантира, че Bitcoin може да продължи да се адаптира към нови криптографски иновации.

Въздействие върху Layer-2 решенията

Последиците от Taproot се простират далеч отвъд базовия слой, значително облагодетелствайки Layer-2 мащабируващи решения като Lightning Network. В момента отварянето и затварянето на Lightning канал включва 2-of-2 многосигнатурна транзакция. В старата верига тези транзакции са различни и лесно разпознаваеми.

С Taproot отваряне или затваряне на Lightning канал може да използва key path. Това означава, че Lightning транзакция изглежда точно като стандартно плащане на потребител. Това подобрява приватността на потребителите на Lightning Network, тъй като става много по-трудно да се различи между on-chain плащания и операции за управление на канали.

Освен това Taproot позволява Point Time Locked Contracts (PTLCs) да заменят текущите Hashed Time Locked Contracts (HTLCs), използвани в Lightning. PTLCs използват Schnorr криптография, за да подобрят приватността по маршрута на плащането. В HTLC същият хеш се използва по целия маршрут, потенциално позволявайки на нодовете да коррелират плащания. PTLCs използват случайни скаляри на всеки скок, прекъсвайки тази връзка и правейки маршрута на плащането математически непрозрачен за посредниците.

Bitcoin управление и активиране

Пътят към активирането на Taproot демонстрира уникалната природа на Bitcoin управлението. За разлика от централизирани системи, където лидери диктуват ъпгрейди, Bitcoin разчита на консенсус сред децентрализирани заинтересовани страни, включително миньори, разработчици и оператори на нодове. Процесът на активиране, използван за Taproot, беше известен като „Speedy Trial“.

Този механизъм позволи на миньорите да сигнализират подкрепата си за ъпгрейда в минените си блокове през тримесечен период. Прагът за активиране беше зададен на 90% от блоковете в епоха на трудност. Този висок стандарт гарантира, че ъпгрейдите продължават само при подавящ консенсус, предотвратявайки разделяне на мрежата или спорни hard forks.

Успешното активиране през ноември 2021 г. доказа, че Bitcoin все още може да координира сложни ъпгрейди въпреки огромния си размер и децентрализирана природа. То подчерта културна предпочитание към „soft forks“ – обратно съвместими ъпгрейди, които не принуждават потребителите да актуализират софтуера си незабавно. Taproot нодовете могат да продължат да комуникират със стари нодове, гарантирайки, че никой не е изгонен от мрежата заради неизпълнение на ъпгрейд.

Непредвидени последствия: Възходът на Ordinals

Един от най-изненадващите резултати от ъпгрейда Taproot беше появата на Bitcoin Ordinals. Макар Taproot да беше проектиран да подобри финансовите смарт договори, облекчаването на ограниченията за данни в полето за свидетел (чрез Tapscript) отвори вратата за съхранение на произволни данни в blockchain-а.

Ordinals позволяват на потребителите да гравират данни – като изображения, текст или код – директно върху индивидуални сатоши (най-малката единица на Bitcoin). Тъй като Taproot премахна лимита за размера на данните за свидетел, потребителите можеха внезапно да транзакционират с 4MB данни в един блок, при условие че платят необходимите такси. Това роди пазар за „дигитални артефакти“ или NFT директно в Bitcoin.

Този развой предизвика интензивни дебати в общността. Пуристите твърдят, че това „наддува“ blockchain-а с нефинансови данни, потенциално правейки по-трудно да се стартират пълни нодове. Сторнишите на Ordinals аргументират, че високите такси, платени за гравиранията, укрепват мрежата, докато субсидията за блока намалява. Независимо от позицията, Ordinals демонстрираха гъвкавостта на Taproot архитектурата и непредсказуемостта на начина, по който се използват open-source протоколи, след като бъдат освободени.

Covenants и завръщането на OP_CAT

Гъвкавостта, въведена от Taproot, оживи дискусиите за допълнително разширяване на възможностите за скриптове на Bitcoin. Основна тема в текущите изследвания са „covenants“ – скриптове, които ограничават къде могат да бъдат изпратени средствата след като бъдат похарчени. В момента Bitcoin скриптът контролира само оторизацията (кой може да похарчи), не и дестинацията (къде отиват).

За да позволят covenants и по-напреднали мостове към sidechain-и, разработчиците обсъждат възстановяването на OP_CAT opcode. OP_CAT позволява две части данни да се конкатенират (съединят) в скрипт. Той беше премахнат в ранните дни на Bitcoin заради притеснения относно употребата на памет, но с модерните предпазни мерки на Tapscript може да бъде безопасно възстановен.

Ако бъде активиран, OP_CAT в комбинация с Taproot би позволил още по-мощни смарт договори, като децентрализирани хранилища, които налагат период на изчакване преди средствата да могат да бъдат преместени към нов адрес, ефективно неутрализирайки кражбата дори ако частните ключове бъдат откраднати. Това представлява продължаващата еволюция на Bitcoin скриптовете, изграждаща върху основата, положена от Taproot.

Заключение

Интегрирането на Taproot и MAST представлява узряване на Bitcoin протокола. Чрез преместване на сложната логика за верификация извън веригата и използване на напреднала криптография, Bitcoin успя да мащабира функционалността си без да компрометира основните си ценности за сигурност и децентрализация. Ъпгрейдът разреши напрежението между приватността и функционалността, доказвайки, че потребителите не трябва да избират между усъвършенствана сигурност и финансова приватност.

Докато екосистемата продължава да възприема тези инструменти, можем да очакваме преход към стандарти за портфейли, където всички транзакции изглеждат идентично, независимо от основната си сложност. От подобряване на Lightning Network до позволяване на нови типове активи като Ordinals, Taproot осигури релевантността на Bitcoin в бързо еволюиращо дигитално пространство. Той служи като основа за следващото поколение приватни, ефективни и програмируеми пари.

Taproot и MAST позволяват на Bitcoin да скрива детайлите на сложните транзакции, правейки смарт договорите по-евтини за използване и по-трудни за проследяване.