Blokovaný prostor je omezený: Bitcoinový blockchain dokáže zpracovat maximálně pouze 10 transakcí za sekundu. Aby to bylo možné vyřešit, vyvíjí technická komunita společnosti Bitcoin protokoly druhé vrstvy, které zpracovávají transakce „mimo řetězec“, jako je Lightning Network a postranní řetězce. Pomocí chytrých kryptografických triků jsou tyto transakce dávkovány, aby se pravidelně vypořádávaly na bitcoinovém blockchainu jako jediná transakce.
Nyní do boje vstupuje nový protokol druhé vrstvy. Státní řetězce, poprvé navrhl Soulové bitcoinové setkání organizátor a Nehashovaný podcast co-hostitel Ruben Somsen, staví koncept bitcoinové transakce na hlavu. Místo posílání coinů z adresy na adresu odesílají uživatelé státního řetězce pouze soukromý klíč, kterým lze mince utratit.
Zde to není tak šílené, jak to zní.
Proč jsou státní řetězce bezpečné (více či méně)
Zjednodušeně řečeno, bitcoinová transakce je pouze zpráva, která říká, které coiny („UTXO“) se přesouvají z kterých adres („vstupů“) na které adresy („výstupů“). Tato zpráva je kryptograficky podepsána soukromými klíči odpovídajícími odesílajícím adresám, což dokazuje, že transakci vytvořil vlastník těchto coinů. Balíček (transakce plus podpisy) je poté odeslán přes bitcoinovou síť, aby jej nakonec miner mohl zahrnout do bitcoinového bloku.
Je technicky možné místo toho odeslat soukromé klíče jako platbu: To umožňuje příjemci soukromého klíče utratit související mince. Ale není to bezpečné. Pokud odesílatel – buďme originální a řekněme jí „Alice“ – pošle příjemci soukromý klíč – proč mu nezavolat „Bob“? – Bob nemá žádný způsob, jak si být jistý, že Alice neuchovala kopii klíče. Pokud by si ponechala kopii klíče, který v této souvislosti budeme nazývat „přechodný klíč“, může Alice minci stále utratit za blockchain, takže mince vůbec není výhradně Bobovým klíčem.
Prvním řešením tohoto problému společnosti Statechains je přidání druhého klíče do mixu. Uzamčením mince do nastavení dvou podpisů s více podpisy (multisig) ji lze přesunout na blockchainu pouze v případě, že se obě klávesy podepíší ve shodě.
Tento druhý klíč generuje neutrální strana Victor, který se stává zprostředkovatelem státního řetězce. Victor má velmi důležitý úkol. Victor musí podepsat transakci tehdy a jen tehdy, když ho o to požádá poslední příjemce přechodného klíče.
Řekněme tedy, že Alice zřizuje státní řetězec, jehož pomocníkem je Victor. Alice vygeneruje přechodný klíč, Victor vygeneruje Victorův klíč a pomocí svých dvou klíčů vytvoří multisig adresu. Alice poté pošle jeden bitcoin na tuto adresu a „zamkne jej“ mezi Alicí a Victorem. Pokud si Alice přeje poslat minci Bobovi, mohla by vytvořit transakci, podepsat ji přechodným klíčem a požádat Victora, aby ji také podepsal. S oběma podpisy může Alice transakci vysílat a posílat coinu Bobovi jako běžnou blockchainovou transakci.
Ale to samozřejmě postrádá smysl státního řetězce. Alice má lepší nápad. Alice místo toho pošle přechodný klíč Bobovi a řekne Victorovi, že to udělala. Díky tomu je Bob posledním příjemcem přechodného klíče. Bob nyní může kontaktovat Victora a požádat ho o podpis, který mu pomůže s přesunem mince.
Alice stále má přechodný klíč také sama. Pokud by však teď požádala Victora, aby pomohl podepsat transakci s přesunem mince, Victor by to odmítl. Alice už minci nevlastní, pokud jde o Victora. A protože drží pouze přechodný klíč, není schopna s ním sama pohnout.
Pokud by Bob chtěl někdy přenést mince někomu jinému – řekněme Carol -, mohl by samozřejmě zopakovat trik státního řetězce. Když pošle přechodný klíč Carol a řekne to Victorovi, Victor bude od té doby spolupracovat pouze s Carol, čímž fakticky vytvoří minci Carol’s. Tento proces lze libovolně několikrát opakovat a předat přechodný klíč Danovi, Erin, Frankovi atd., Aniž byste někdy vyžadovali blockchainovou transakci.
Nedůvěřuji Victorovi
Scénář popsaný výše ve skutečnosti neodstraní ze systému veškerou důvěru. Spíše se Victorovi hodně věří.
Zaprvé, pokud Victor na žádost nepodepíše blockchainovou transakci, nelze minci vůbec přesunout. (Možná Victorův počítač havaroval, nebo ho srazil autobus, nebo možná Victor – vědom si své moci – vydírá posledního příjemce přechodného klíče, aby mu za podpis zaplatil část mince.)
Tento problém lze vyřešit – ale právě zde je návrh státní sítě o něco složitější.
Když zpočátku nastavuje státní řetězec, Alice učiní preventivní krok. Ještě před odesláním mince na multisig adresu vytvoří „záložní transakci“, která odešle coin z této multisig adresy na novou adresu.
Mince lze z této nové adresy utratit za dvou podmínek. Jak Victor, tak majitel přechodného klíče transakci podepíší, jako obvykle, nebo Alice může mince utratit sama po, řekněme, týdnu.
Alice nevysílá tuto záložní transakci do bitcoinové sítě. Místo toho to dá Victorovi, požádá ho, aby podepsal transakci, a nechá ho, aby jí to vrátil.
Teprve poté, co Alice obdrží tuto podepsanou (ale dosud nevysílanou) záložní transakci od Victora, pošle svou minci na multisig adresu. Tímto způsobem, i když Victor zmizí, může vyslat záložní transakci a po týdnu si vyzvednout mince zpět.
Nyní, když chce Alice poslat Bobovi přechodný klíč, nejprve kontaktuje Victora a požádá ho, aby podepsal Bobovi novou záložní transakci a dal mu ji. Když tedy Bob dostane přechodný klíč od Alice, má již nevyslanou, ale podepsanou záložní transakci od Victora, což mu umožňuje získat minci, pokud Victor zmizí.
Jako poslední dotek použijí Alice a Bob (a všichni následující vlastníci přechodného klíče) trik určený pro Lightning Network s názvem Eltoo. Eltoo by Bobovi umožnil „přepsat“ Alicinu záložní transakci jeho vlastní záložní transakcí. Takže pokud se Alice někdy pokusí podvádět vysíláním své staré záložní transakce, může Bob využít týden, který Alice potřebuje, aby čekal na spolupráci s Victorem a vyzvednout si minci, nebo může jednoduše přepsat Alicinu aktualizační transakci vlastní, aby získal peníze.
První problém vyřešen.
Důvěřující Victor (trochu)
Zatímco problém zmizení Victora je vyřešen, je tu další problém: Victor by mohl podvádět. Mohl se domluvit s předchozím majitelem soukromého klíče, jako je Alice, aby ukradl minci Bobovi, Carol, Danovi, Erin, Frankovi nebo komukoli, kdo byl posledním příjemcem přechodného klíče. (Později by se také mohl domluvit s Bobem, aby ukradl Carol, Danovi, Erin, Frankovi … atd.)
Tento problém nelze ve skutečnosti vyřešit úplně – a to je možná největší nevýhoda státních řetězců. Riziko však lze minimalizovat.
Jedním krokem k minimalizaci tohoto rizika je „rozdělit“ Victora a nahradit ho několika entitami. „Victorův klíč“ je rozdělen. Stává se tak samostatným multisig nastavením, kde, řekněme, osm účastníků z, řekněme, 12 musí spolupracovat s přechodným držákem klíče, aby mohli minci pohybovat. Spolupráce s osmi „Vítězi“ by měla být těžší než dohoda s jediným Victorem.
Zadruhé, vnějšímu světu může být zřejmé, pokud tito „Vítězové“ podvádějí. Děje se tak v podstatě vytvořením nového miniaturního blockchainu – vlastně „státního řetězce“ – kde Alice, Bob, Carol a ostatní podepisují zprávu potvrzující, že minci předali a komu. Pokud se Vítězové dohodnou s Alicí, aby minci utratila poté, co ji podepsala s Bobem na státní síti, každý to uvidí. (Podrobnosti o tom, jak by tento miniaturní blockchain samotný vypadal, ještě nejsou zpracovány, ale není to příliš obtížný problém k vyřešení.)
Zatřetí, tito „Vítězové“ mohou být dobře známé subjekty; například skupina bitcoinových společností. Tyto společnosti by získaly svoji reputaci, a proto by podváděním měly co ztratit – i kdyby si tím mohly vydělat coinu. I když to není kryptograficky dokonalé, dělá to předpoklad zabezpečení pro státní řetězce podobné federovaným postranním řetězcům, jako je Blockstream’s Liquid nebo současná implementace RSK Labs RSK.
A to je vše!
Statechains vám umožňují posílat soukromé klíče off-chain místo posílání coinů na nové adresy.
Omezení státních řetězců (a potenciální řešení)
Kromě požadované důvěry v „Vítěze“, že nedojde k dohodě s předchozím účastníkem státní sítě, mají státní řetězce určitá omezení.
Omezení
První věc, kterou je třeba si uvědomit, je, že jak jsou vysvětleny v tomto článku, státní řetězce vyžadují dvě upgrady protokolu: podpisy Schnorr a Sighash_Anyprevout (nebo něco podobného). Obě tyto upgrady probíhají, ale zdá se, že nebudou sporné.
Dalším omezením je, že státní řetězce umožňují pouze převod celých UTXO; Alice’s coin v kontextu tohoto článku. Vzhledem k tomu, že Alice zpočátku zamkla přesně jeden bitcoin a odešle přechodný klíč odpovídající tomuto bitcoinu, musí předat celou minci, stejně jako Bob, Carol a ostatní. To je docela velké omezení ve srovnání s normální bitcoinovou transakcí, ve které lze utratit jakýkoli zlomek mince, přičemž zbytek se vrátí odesílateli jako změna.
Řešení
Přesto to nemusí být nutně showstopper. U jednoho lze státní řetězce kombinovat s dalším trikem zvaným „atomové swapy“. Tento krok by umožnil Alici vyměnit celou svou minci se Zachem, který má dvě poloviční mince, a to takovým způsobem, že ani jeden nemusí tomu druhému důvěřovat, aby z obchodu nevystoupil na půli cesty. To vše se může stát bez nutnosti transakce na řetězci. To zvyšuje flexibilitu.
Zadruhé, dokonce i přenos celých UTXO může být v některých kontextech velmi užitečný. Snad nejzajímavější je, že by to umožnilo účastníkům přenášet celé Lightning kanály. Vyvážením kanálu Lightning na přesnou správnou částku (například tím, že se nejprve zaplatí v jiném kanálu) může Alice stále platit Bobovi zlomek mince. Jako bonus by to mohlo Bobovi umožnit okamžitě otevřít Lightning kanály, aniž by bylo nutné provést transakci financování v řetězci (což vyžaduje čas a poplatky).
Navíc, protože transakce Lightning mají opačný problém – přenosy velkých hodnot je obtížnější dokončit než menší – státní řetězce a Lightning Network by se mohly docela pěkně doplňovat.
Dotazy k ochraně osobních údajů
Rovněž ještě není jasné, kolik státních řetězců na ochranu soukromí může přesně nabídnout. V nejhorším případě by Vítězové a další účastníci státního řetězce přesně věděli, kdo komu zaplatil. (Ačkoli ve skutečnosti by to stále byly veřejné klíče, nikoli skutečná jména.) Existují způsoby, jak to zlepšit, pokud jde o Vítěze. Například používání slepých podpisů (kryptografický trik, který poprvé navrhl vynálezce eCash David Chaum v 80. letech), má další výhodu v tom, že může snížit odpovědnost za transakce od vítězů na samotné uživatele. (Vítězové by v ideálním případě ani nevěděli, co podepíší.)
Soukromí od ostatních účastníků by zase mohlo být vyřešeno také pomocí atomových swapů, což by pomohlo poplést řetězec vlastnictví. Pravděpodobně existuje více řešení pro zlepšení soukromí, například úpravy CoinJoin. (To je například také to, co používá peněženka Wasabi chránící soukromí.) Podrobnosti však ještě musí být vyřešeny.
Existují také určité obavy ohledně minulých účastníků řetězce, kteří se pokoušejí podvádět tím, že se snaží získat mince prostřednictvím záložní transakce. I když je nepravděpodobné, že by uspěl, stálo by to jen transakční poplatek (v řetězci), takže oportunistické podvádění by mohlo omezit potenciál státních řetězců.
A konečně, státní řetězce jsou samozřejmě relativně novým konceptem; probíhá vzájemné hodnocení.
Děkujeme Rubenovi Somsenovi za informace a zpětnou vazbu. Další informace o státních řetězcích naleznete v jeho vysvětlující na médiu nebo jeho prezentaci na Lámání bitcoinů v Amsterdamu.