Jedná se o rozšíření mé předchozí série článků o různých existujících návrzích postranních řetězců. Tyto články naleznete zde: Spacechains, Spacechain Use Cases, Softchains, Drivechains, Federated Chains a Trade Offs Of Sidechains.
Společnost Botanix Labs nedávno navrhla zcela nový návrh sidechainu, tzv. spiderchainů, pro účely portování virtuálního stroje Ethereum na platformu ukotvenou v síti Bitcoin. Tato architektura je poměrně velkou odchylkou od většiny předchozích návrhů konkrétních designů. Za prvé, nezapojuje těžaře přímo do konsensu ani nepoužívá merge-mining v žádné z jeho variant. Za druhé, využívá multisig a escrow dluhopisy k vytvoření druhé vrstvy systému proof-of-stake nad Bitcoinem. Za třetí, pro své nasazení nevyžaduje žádné změny v Bitcoinu.
Nejprve je třeba objasnit, že technicky vzato spiderchain ve skutečnosti není sidechain. Jakýkoli sidechain nasazený s využitím spiderchainu by se nacházel „nad“ spiderchainem, který se nachází nad základní vrstvou na mainchainu. Bloky vedlejšího řetězce by byly vytvářeny nezávisle stakery (v článku označovanými jako orchestrátoři) v konsensuálním systému. Spiderchain, spíše než skutečný sidechain, je jakousi zajišťovací vrstvou usnadňující úschovu prostředků uživatelů a dluhopisů stakerů na mainchainu. Představte si jej jako střed sendviče mezi sidechainem a mainchainem.
Varianta Proof of Stake
Abychom si lépe představili, jak systém funguje, projděme si, jak řetězec Botanix EVM spolupracuje s vrstvou spiderchainu. Jedním z prvních způsobů, jak systém využívá blockchain Bitcoinu, kromě skutečné úschovy prostředků, které podporují tokeny sidechainu, je výběr konstruktoru bloku. Proof-of-stake řetězce vyžadují proces výběru, který staker skutečně sestaví bloky z transakcí v mempoolu. V proof-of-work to dělají všichni těžaři nezávisle a ten, kdo má štěstí a najde platný hash blockheaderu, má svůj blok přijatý do blockchainu. Vzhledem k tomu, že celým smyslem proof-of-stake je zbavit se energeticky náročného náhodného výběru toho, kdo vybere další blok, potřebují tyto systémy jiné řešení. Používají ověřitelnou náhodnou funkci (Verifiable Random Function, VRF), tedy funkci, která umožňuje všem účastníkům ověřit, že výsledek je skutečně náhodný a nikoliv zkreslený nebo deterministický. Pavoučí řetězce využívají k získání ověřitelné náhodnosti blokové šifry Bitcoinu.
Stejně jako jiné systémy proof-of-stake rozděluje Botanix blockchain na diskrétní úseky zvané „epochy“, které jsou pravidelně finalizovány a je vybrán nový konstruktor bloku. Na začátku epochy se vezme mainchain blockhash a použije se jako zdroj náhodnosti pro všechny stakery, aby se vybral nový konstruktor bloku. Po šesti blocích, aby byla zohledněna možnost reorgace, přejde síť na nový konstruktor bloku pro danou epochu. Nyní je popsán způsob, jakým systém proof-of-stake řeší konstrukci bloků v sidechainu a dosažení konsensu o tom, kdo je na řadě, je čas přejít k tomu, jak to všechno spolupracuje se spiderchainem (a co přesně je spiderchain).
Pavoučí řetězec
Kromě toho, že jej sidechain pravidelně používá pro výběr konstruktéra bloku, využívá VRF také k výběru náhodné podmnožiny stakerů pro konstrukci multisig adresy pro vklady do sidechainu v každém jednotlivém bloku Bitcoinu. Přesně tak, náhodná množina členů pro multisig peg. Na rozdíl od federativního sidechainu, který uchovává prostředky na adresách složených z celé množiny členů federace, spiderchainy rozdělují každý vklad (nebo změnu z transakcí pegujících z sidechainu) na jedinečnou adresu v závislosti na bloku mainchainu, ve kterém se potvrzuje, složenou z náhodné podmnožiny množiny stakerů. Tj. pokud je v daném bloku 50 sázejících, 10 z nich je náhodně vybráno jako držitelé klíčů pro všechny vklady, které se objeví v následujícím bloku. Intuitivně se to může zdát poněkud bláznivé, ale má to několik rozumných logických důvodů.
Odděluje to riziko finančních prostředků od škodlivých stran. Většina lidí má na mysli krádež, ale i ztráta živosti může být pro podobné systémy katastrofou. Přemýšlejte o federativním sidechainu, nepotřebujete zlomyslnou většinu, abyste způsobili obrovský problém, stačí zlomyslná menšina. Pokud federace vyžaduje 2/3 práh pro přesun mincí, pak stačí 1/3 + 1 člen, aby tyto mince zůstaly zmrazené (to je důvod, proč má Liquid časově zpožděnou cestu nouzového zotavení s klíči drženými Blockstreamem, aby se v této situaci zabránilo trvalé ztrátě mincí). Striktně vzato ani nepotřebujete žádné záškodníky, jen ztráta klíče by mohla tento problém vytvořit. Rozdělením vkladů do izolovaných podmnožin klíčů s náhodnými členy zmírníte (nikoli vyřešíte) podobné problémy. Pokud by došlo ke ztrátě klíčů nebo pokud by se zlomyslnému aktérovi podařilo získat dostatečné procento stakingu v systému, aby mohl zdržovat nebo krást, statisticky nikdy nebude mít přístup k celým prostředkům v spiderchainu. Každý blok má zcela nezávislé šance na zkonstruování vkladové adresy ovládané zlomyslnou většinou (nebo impledované zlomyslnou menšinou), a pokud jsou tyto podmínky splněny, budou ohroženy pouze prostředky vložené nebo překlopené prostřednictvím změny z výběrů v daném bloku, nikoliv veškeré prostředky sidechainu.
Existuje také další zajímavá bezpečnostní vlastnost, která vyplývá ze způsobu, jakým jsou výběry zpracovávány. Jakýkoli sidechainový peg mechanismus, který neagreguje všechny vklady do jediného klouzavého UTXO, vyvolává otázku, které UTXO použít pro plnění výběrů. Návrh spiderchainu se ustálil na principu LIFO (Last In First Out), což znamená, že veškeré výběry ze sidechainu budou zpracovávány pomocí naposledy vložených UTXO. Přemýšlejte o tom v souvislosti se škodlivými subjekty, které se připojí k sadě stakerů, aby ukradly prostředky ze spiderchainu. Všechny peníze, které byly uloženy předtím, než se tyto škodlivé subjekty stanou většinou, jsou před nimi zcela bezpečné a ohraničené, dokud jakékoliv požadavky na výběr nezačnou vyžadovat utrácení těchto prostředků a rotaci změny na nové adresy. Nyní, i poté, co se stanou většinou stakerů, budou mít přístup k prostředkům pouze tam, kde náhodně skončí jako většina klíčových členů v protokolu vytváření vkladových adres. Takže i poté, co vstoupí a takříkajíc převezmou vládu, nebudou mít plný přístup ke všem prostředkům vloženým po této skutečnosti kvůli vytvoření vkladové adresy pomocí VRF.
Tento řetězec náhodně vytvořených multisigů je spiderchain, mechanismus peggingu používaný k zamykání a odemykání mincí do sidechainu a z něj.
Stakingové dluhopisy
Poslední částí každého proof-of-stake systému jsou dluhopisy a je to docela jednoduché. Pokud stakeři nemusí výměnou za účast v konsensuálním mechanismu nic dávat do zástavy, pak jim nelze nic odebrat jako trest za zlomyslné chování. Toho se dosahuje, hádáte správně, pomocí pavoučího řetězce. Stejným způsobem, jakým jsou generovány vkladové adresy pro uživatele, je v každém bloku vygenerována nová vkladová adresa pro lidi, kteří chtějí na sidechainu vložit dluhopis do multisig složeného z náhodné množiny existujících stakerů. Jakmile je tento dluhopis potvrzen, je nový člen uznán jako staker a zařazen do celkové množiny, ze které jsou vybíráni noví členové konstruktorů bloků a vkladových adres.
V tomto okamžiku, pokud staker nereaguje a nezůstává online nebo se dopouští škodlivého chování, může být potrestán proříznutím a v případě potřeby nakonec odstraněn ze sady stakerů proříznutím celé stakingové vazby. Pěkné na tomto způsobu je, že politika slashingu, tj. výše v sankcích za konkrétní akce nebo nesprávné chování, není programová ani sociální, ale obojí. Slashing probíhá programově na základní vrstvě mainchainu, ale je iniciován sociálně držiteli klíčů staking bond. To znamená, že existuje potenciál pro to, aby věci byly trochu chaotické, ale flexibilita, která umožňuje doladit věci do rovnováhy, která udržuje fungování věcí způsobem prospěšným pro stakery a uživatele.“
Slepení všeho dohromady
Vezměte si myšlenku proof-of-stake jako konsensuálního mechanismu základní vrstvy a tuto myšlenku prozatím zahoďte. O tom to není a problémy, které je třeba vyřešit, aby bylo možné používat proof-of-stake jako systém druhé vrstvy místo samostatné základní vrstvy, nejsou stejné. Proof-of-stake je v podstatě federace, ale kde se může připojit kdokoli a nelze mu v tom zabránit, a s mechanismem pro trestání členů za nekalé jednání. Jako základní vrstva to vytváří nejrůznější existenční problémy, jako je objektivita postihu za lomítko. Proof-of-stake jako druhá vrstva tento problém nemá, když jsou dluhopisy za slashing na mainchainu, řízeném proof-of-work.
Problém s proof-of-stake jako druhou vrstvou spočívá v tom, jak zaručíte, že noví členové nemohou být drženi mimo „federaci“ Pokud jsou všechny prostředky v úschově současných členů, mohla by většina (nebo zlomyslná menšina 1/3 + 1) zabránit převodu jakýchkoli prostředků do multisig se zahrnutím nových členů. Mohlo by jim být zabráněno ve vstupu. Způsob, jakým vklady a sázkové dluhopisy využívají pavoučí řetězec a jeho prokazatelně náhodně generované multisigy složené z podskupin „federace“, tento problém, kdy stávající členové mohou vyloučit nové členy, elegantně řeší. Vše, čím se řídí členové adresy a noví účastníci, je prokazatelně ověřitelné a vynucené konsensem druhé vrstvy s informacemi zobrazitelnými na mainchainu řízeném proof-of-work. Jakmile někdo zveřejní dluhopis, je součástí množiny, která je vybrána k úschově vkladů a dalších stakingových dluhopisů. Všechno je tam a je to ověřitelné.
Na základě toho, jak to funguje, to také vytváří některé zajímavé bezpečnostní vlastnosti a dynamiku. Ve federativním sidechainu byly v okamžiku, kdy byly prostředky otočeny do multisigů složených z dostatečného počtu škodlivých subjektů, ohroženy všechny prostředky sidechainu. U spiderchainu lze vstup nové škodlivé většiny téměř zcela zmírnit, pokud je rychle rozpoznána. Pouhé zastavení nových vkladů, dokud slashing může odstřihnout dostatek škodlivých účastníků může udržet množství prostředků v ohrožení omezené na statistické části nových vkladů, které skončily na adresách, které kontrolují, protože se stal většinu. Nebyli by schopni slashovat žádné staré sázkové dluhopisy z doby před svým vstupem, ale dříve existující členové by mohli statisticky slashovat část svých dluhopisů.
Pokud bude velikost jednotlivých multisigů správně vyvážena celkovým počtem stakerů a hodnota všech vkladů porovnána se stakingovými dluhopisy, mohlo by jít o velmi funkční systém
Celkově jde o velmi zajímavý návrh, který navrhuje zajímavé řešení problémů „povýšení“ federací na systém proof-of-stake: možnost vstupu kohokoli, mechanismy ochrany před zlomyslnými členy a motivace k účasti, protože stakeři si mohou rozdělit transakční poplatky. A co je hlavní? Proč by vás to mělo zajímat? K aktivaci není potřeba vůbec žádný fork, takže k tomu dojde.