Zveřejnění: autorem tohoto článku je zakladatel a hlavní vědecký pracovník organizace Projekt Ethereum

Minulý týden vyšli Adam Back a Austin Hill oznámení na Let’s Talk Bitcoin, ve kterém oznámili svůj nejnovější projekt: „postranní řetězce“. Myšlenka, kterou popsali, by umožnila existenci alternativních blockchainů, možná s odlišnými pravidly umožňujícími různé druhy dalších funkcí nebo typů transakcí, ale s měnovou jednotkou, jejíž hodnota je vázána na hodnotu bitcoinu. Záměrem je umožnit experimentování s různými rozšířeními bitcoinového protokolu pomocí samostatných sítí, aby se předešlo jakémukoli riziku pro samotný bitcoin, a přitom stále používat stejnou podkladovou měnovou jednotku. Jakmile byl tento nápad oznámen, o tento koncept byl velký zájem veřejnosti a přinesl obnovenou naději, že bitcoinový protokol může být potenciálně mnohem silnější než dnes.

Pod kapotou

Myšlenka postranních řetězců není nová; koncept existuje nejméně od loňského roku v prosinci a předchůdce této myšlenky existuje již několik let předtím. Prekurzor, protokol známý jako jednosměrné fixace, byl mechanismus, který by se teoreticky používal ke správě přechodu z „Bitcoinu 1.0“ na „Bitcoinu 2.0“, a fungoval následovně. Předpokládejme, že v bitcoinu 1.0 již bylo těžbou vydáno 13 milionů měnových jednotek, přičemž 8 milionů zbývá ještě rozdat. Distribuční model pro BTC2.0 by uvolnil 8 milionů jednotek těžbou podle přesně stejného harmonogramu jako BTC1.0 po tomto bodě, ale dalších 13 milionů by bylo distribuováno prostřednictvím mechanismu známého jako „proof-of-burn“.

V podstatě by bylo možné vzít jednu jednotku BTC1.0, poslat ji na nespotřebovatelnou adresu (např. 1111111111111111111114oLvT2) a předložit kryptografický důkaz, že k této transakci došlo, podepsaný stejným soukromým klíčem, který transakci poslal, jako transakci do Bitcoin 2.0. Podle protokolu Bitcoin 2.0 by to uživatele opravňovalo k přijetí jedné jednotky 2,0. Tomu se říká „jednosměrný kolík“, protože hodnota jednoho BTC2.0 se může maximálně rovnat jednomu BTC1.0; v opačném případě by lidé tento rozdíl arbitrážili převedením bitcoinů rychlostí 1: 1. Kromě prodeje BTC2.0 za BTC1.0 na trhu však neexistuje způsob, jak se vrátit, takže pokud experiment selže, hodnota BTC2.0 by mohla klesnout na nulu.

Bitcoinové postranní řetězce používají vylepšenou verzi tohoto systému zvanou „obousměrné pegging“, která funguje následovně. Abychom dostali jednu jednotku BTC2.0, museli bychom si vzít jednu jednotku BTC1.0 a poslat ji do „skriptu“, kterému budeme říkat X a necháme zatím nepopsaný. Skript v bitcoinu je adresa, která místo toho, aby byla vlastněna soukromým klíčem, v podstatě funguje jako skříňka, která odemkne bitcoiny, pouze když je dána transakce, která splňuje určité podmínky. Například lze mít skript, který odemkne finanční prostředky první osobě, která zadá padesátimístné prvočíslo skládající se výhradně z číslic 3 a 5. Provedení transakce a zveřejnění kryptografického důkazu, že taková transakce byla provedena, do blockchain Bitcoin 2.0 opravňuje uživatele k jedné jednotce BTC2.0.

Definice X je nyní jednoduchá: X odemkne prostředky (pamatujte, že toto je jedna jednotka BTC1.0), pokud obdržíte platný kryptografický důkaz, že odesílatel zničil jednu jednotku BTC2.0. Existuje tedy mechanismus pro převod BTC 1.0 na BTC2.0 a právě tento mechanismus vytváří další mechanismus, jehož hodnota je omezena na celkový počet vytvořených BTC2.0 a který lze použít k převodu BTC2.0 zpět na BTC1.0. . Proto obousměrný kolík.

Mechanismus, který tyto „kryptografické důkazy“ používají, se opírá o kryptografickou konstrukci používanou v bitcoinech, která se nazývá Merkleův strom. V bitcoinovém bloku je namísto toho, aby každá transakce byla přímo blokována, do záhlaví bloku ve skutečnosti je zahrnut pouze jeden 32bajtový hash. Tento 32bajtový hash se sám počítá ze dvou dalších 32bajtových hashů, z nichž každý pochází ze dvou dalších 32bajtových hashů, a tak dále, dokud nejsou hodnoty v dolní části samotné transakce. Jedná se přesně o smysl tohoto mechanismu umožnit existenci kompaktních důkazů, že konkrétní transakce je v konkrétním bloku; vše, co potřebujete, je jedna větev hashů, která jde nahoru z této transakce do kořenového uzlu, nebo celkem 10 hashů pro 1000 transakcí nebo 20 hashů pro jeden milion transakcí. To je nemožné vytvořit; pokud se pokusíte změnit i jedinou transakci ve stromu, změny se šíří nahoru skrz hash, až nakonec kořenový uzel skončí úplně jinak.

To však problém úplně nevyřeší; vše, co vám říká, je, že nějaký blok někde obsahuje danou transakci. Neříká vám, že transakce je v hlavním řetězci; ve skutečnosti mohly být stejné bitcoiny použité v transakci již odeslány do jiného zdroje, což by transakci zneplatnilo. Existují dva způsoby, jak to vyřešit. Jedním a zdaleka nejjednodušším přístupem je, aby mechanismus proof v Bitcoinu 2.0 požadoval nejen větev stromu Merkle, ale také to, aby se blockchain vrátil o šest bloků, podobně jako obchodník žádající o šest potvrzení, využívající těžební sílu jako zástupce platnosti. Pro vyšší zabezpečení může být vyžadován mnohem větší počet bloků, jako je šedesát. Tento přístup je jednoduchý a zdá se, že splňuje všechny požadované parametry.

Výzvy

Výše uvedený mechanismus je však velmi nedokonalý. Když běžný obchodník požádá o šest potvrzení, vyžaduje útok proti tomuto obchodníkovi dvojnásobné utrácení, které vyžaduje vyprodukování šesti bloků rychleji než zbytek sítě v kombinaci v reálném čase, což je úkol, který vyžaduje alespoň 30 z celkové hash síly sítě pro práci s jakýmkoli nezanedbatelná úspěšnost. S výše popsaným mechanismem obousměrného fixování však může škodlivý miner s dokonce 1 hashpower vygenerovat šest bloků, případně dokonce šedesát bloků, a poté pomocí těchto bloků podvodně získat všechny BTC1.0, které byly vloženy do uzamykatelné schránky BTC2.0 (nebo v opačném směru podvodně požadovat neomezený počet BTC2.0). Jednou z možných oprav, která vám možná přijde na mysl, je požadavek, aby ji otevřela stejná osoba, která schránku vytvořila, čímž se omezí množství škod, které lze na osobu napáchat, ale problém se tím nevyřeší, protože škodlivý miner se může snadno s někým dohodnout jiný. Zásadní problém, že neexistuje způsob, jak přijít s mechanismem pro validaci blockchainu, který se časem neaktualizuje, je buď velmi obtížné vyřešit, nebo ho pravděpodobně nelze vyřešit, pokud zůstaneme čistě ve skriptovacím paradigmatu „statického zámku“ bitcoinu.

Jiný přístup, který může tento problém vyřešit bez nadměrných obtíží, je složitější a rušivější. Vyžaduje to v zásadě zahrnutí takzvaného „lehkého klienta“ pro bitcoin 1.0 do bitcoinu 2.0. Světelný klient je nejsnadněji popsán jako dlouhotrvající „kontrakt“, program na blockchainu s velkým množstvím interního stavu, který běží pokaždé, když je na něj odeslána transakce, který by přijímal bloky a ověřoval záhlaví bloků přesně v stejným způsobem jako bitcoinový klient na vašem mobilním telefonu. Tato smlouva by pak udržovala průběžný seznam všech záhlaví bloků v bitcoinu 1.0 a pro získání jednoho BTC2.0 by bylo třeba předložit kryptografický důkaz, že jste do smlouvy provedli požadovanou transakci v BTC1.0, spolu se zabezpečením vklad 0,1 BTC2.0.

Smlouva zkontroluje, zda je důkaz platný, skončí v bloku, který je ve vlastním interním mini-blockchainu smlouvy, a pak počká, až se stane jedna ze dvou věcí. Nejprve, jakmile se do smlouvy přidá dalších šedesát bloků bitcoinu 1.0, uvolní to odesílateli jednu jednotku BTC2.0 plus bezpečnostní zálohu. Alternativně, pokud někdo jiný během této doby předloží kryptografický důkaz, že transakce je z jakéhokoli důvodu neplatná (např. Utrácí bitcoiny, které neexistují), pak by obdržel bezpečnostní zálohu.

Tím by se vyřešil problém se zabezpečením, ale má jednu důležitou chybu: nelze ji provést v rámci stávajícího bitcoinové protokolu. Je poměrně snadné implementovat do protokolu jako Ethereum, protože je speciálně navržen pro smlouvy, ale funkce skriptování bitcoinu neumožňuje existenci kontraktů, které mají vnitřní stav, takže by to uvnitř bitcoinu vyžadovalo velmi podstatnou změnu protokolu Bitcoin 1.0. Přístup Austina Hilla a Adama Backa nakonec nemusí vypadat přesně jako žádná z těchto strategií; naprostá složitost problému však ukazuje, že před námi je ještě mnoho výzev.

Hornictví

Další důležitá otázka je: jak budou tyto postranní řetězy zabezpečeny? Standardní mechanismus pro zabezpečení blockchainu je těžba, ale těžba vyžaduje mechanismus odměňování těžařů v tomto řetězci. V postranním řetězci musí být každá jednotka měny postranního řetězce zajištěna skriptovacím zámkem obsahujícím jednotku BTC na bitcoinovém blockchainu, takže neexistuje žádná jednoduchá příležitost vydávat měnové jednotky postranního řetězce z ničeho nic. Existují dvě možnosti: demurrage (tj. Procentní roční daň ze všech BTC v postranním řetězci) a transakční poplatky. Oba však poskytují poměrně nízkou částku výnosů, a proto není vůbec jisté, že obyčejná stará nezávislá těžba problém vyřeší.

Tento problém lze obejít dvěma způsoby. Jedním z přístupů je zajistit, aby byl postranní řetězec zajištěn dokladem o podílu pomocí malého výnosu z transakčních poplatků ke kompenzaci zúčastněných zúčastněných stran úrokovou sazbou. Tento přístup by však bylo velmi obtížné implementovat do vedlejšího řetězce, protože výpočty spojené s ověřováním důkazu o podílu jsou pravděpodobně příliš složité na to, aby se mohly efektivně implementovat přímo na blockchainu. Druhý přístup, který podporují Adam Back a Austin Hill, se nazývá „sloučení těžby“; Těžaři v podstatě zahrnují do bitcoinových bloků data z bloku bitcoinů i bloku namecoinů, což těžařům umožňuje zajistit bezpečnost pro oba řetězce současně pomocí stejného výpočetního úsilí.

Jak však tvrdí vývojář bitcoinů Peter Todd, koncept těžby sloučení má jednu velmi důležitou bezpečnostní chybu: pokud většina bitcoinových těžařů nesouhlasí se sloučením a těžbou konkrétního řetězce, tento řetězec pravděpodobně není vůbec bezpečný. Abychom pochopili proč, nejprve zvažte případ tradičnějšího altcoinu, v našem příkladu je pro jednoduchost spuštěn SHA256 (pokud altcoin používá vlastní algoritmus, pak mohou litecoinoví horníci místo toho útok utáhnout). Pokud má altcoin 5 hashpower bitcoinů, pak aby bylo možné zaútočit na řetězec prostřednictvím dvojitého utrácení, nejméně 5 síly sítě bitcoinů by se muselo dočasně přesměrovat na těžbu altcoinů. To je potenciálně možné, ale jedná se o nákladný krok: zatímco útok je na místě, bitcoinoví horníci by ztratili příjmy z těžby na bitcoinech. V případě bočního řetězce těženého sloučením je však těžba na hlavní trati vedlejšího řetězce nebo jeho napadení bez nákladů, takže by neexistovala žádná ekonomická demotivace k útoku na alternativní řetězec. To není pouhá domněnka; ve skutečnosti existovaly skutečné příklady těžebních fondů, které útočí na řetězce těžené sloučením.

Kromě bezpečnosti tato závislost na těžbě sloučení také odhaluje další znepokojující omezení myšlenky postranních řetězců: zatímco duch kryptoměny je pravděpodobně duch inovace bez povolení, vytvoření postranního řetězce vyžaduje povolení a aktivní pomoc 50 všech bitcoinů provozovatelé těžební skupiny. Tato omezení společně naznačují, že protokol postranních řetězců, i když je skvělý pro mnoho případů použití, určitě nebude ideální pro všechny.

Slib

Pokud lze vyřešit technické problémy týkající se postranních řetězců, jaký je slib, který přinášejí? Právě teď lze vývoj kryptoměny v zásadě rozdělit do čtyř kvadrantů. První kvadrant se skládá z projektů, které používají bitcoinovou měnu a bitcoinový blockchain – v podstatě samotný bitcoin. Druhým kvadrantem jsou protokoly, které používají bitcoinový blockchain, ale ne bitcoinovou měnu; Mastercoin, barevné mince a protistrana jsou toho vynikajícím příkladem. Třetí kvadrant používá jak nezávislou měnu, tak nezávislý blockchain; toto obsahuje aplikace jako (abychom vzali široce různorodé příklady) Ripple, litecoin a NXT. Nyní, s bočními řetězci, byl také naplněn poslední kvadrant: použití nezávislé sítě, ale použití bitcoinu jako podkladové měny.

Bude zajímavé sledovat, pro které aplikace, které nika funguje nejlépe. Pro celé nové ekosystémy to pravděpodobně není správný přístup; nemá smysl, aby zcela nezávislá síť, jako je Ripple nebo Ethereum, finančně svázala svůj hlavní interní token s bitcoiny a nechala je vzájemně vystavit cenovým pohybům. V případě tak velkého úsilí má také často smysl experimentovat s různými měnovými politikami; Ether Etherea má lineární emisní model, který každoročně neustále vydává určitý pevný počet měnových jednotek, zatímco Ripple uvolnil všech 100 miliard jednotek XRP organizaci Ripple najednou a tato organizace je postupem času vydává vývojářům, investorům a lidé účastnící se projektů distribuované výpočetní techniky. Pro vidlici, která má sloužit jako hlavní změna protokolu, jako je upgrade z SHA256 na SHA3 nebo v případě kvantových počítačů z ECDSA na Lamportovy podpisy nebo NTRU, to rozhodně dává smysl. U všeho uprostřed to bude možné zjistit případ od případu.

V případě Ethereum je třeba mít na paměti speciální úvahu: Ethereum je univerzální kryptografická konsenzuální platforma, nikoli konkrétní „altcoin“. Na platformě Ethereum tedy může existovat mnoho různých měn existujících jako smlouvy; jeden může mít nudné staré měny s pevným zásobováním, měny s měnovou politikou řízenou decentralizovanou autonomní organizací, měny, které existují k dotování vědeckého výzkumu nebo k zajištění základního příjmu, a dokonce i měny s vestavěným mechanismem obousměrné směny pro působí jako postranní řetězce. Ethereum tedy nelze přesně zařadit do kvadrantu postranních řetězců nebo kvadrantu Ripple / Litecoin / NXT; existuje v obou.

Je velmi pravděpodobné, že jakmile se spustí blok geneze Ethereum, budou do tří měsíců implementovány postranní řetězce pro bitcoiny, litecoiny a dogecoiny. Pokud lze úspěšně a bezpečně implementovat postranní řetězce, znamená to, že se Ethereum může dokonce stát preferovaným prostředkem pro ukládání BTC, LTC nebo DOGE pomocí výkonných multisignativních úložných smluv zahrnujících funkce, jako jsou limity výběru. Mezi smlouvami na univerzálním řetězci, vysoce výkonnými altcoiny pro speciální účely, kvazi-centralizovanými servery OpenTransaction, postranními řetězci a samotným bitcoinem je jasné jedno: kryptoměny budou schopny spolupracovat jako nikdy předtím.