Nya blockkedjor föds hela tiden. Bitcoin var den ensamma blockchain i flera år, men nu finns det hundratals. Problemet är att om du vill använda de funktioner som erbjuds i en annan blockchain, måste du köpa tokens för den andra blockchain.
Men allt detta kan snart förändras. En utvecklingsteknik som kallas sidokedjor lovar att göra det lättare att flytta tokens över blockkedjor och som ett resultat öppna dörrarna till en värld av möjligheter, inklusive att bygga broar till gamla bankers äldre finansiella system..
I oktober 2017 Aggelos Kiayias, professor vid University of Edinburgh och chefsforskare vid blockchain-forsknings- och utvecklingsföretaget IOHK; Andrew Miller, professor vid University of Illinois i Urbana-Champaign; och Dionysis Zindros, forskare vid universitetet i Aten, släppte tidningen ”Icke-interaktiva bevis på bevis på arbete”(NiPoPoW), introducerar en kritisk bit till sidokedjans pussel som saknats i tre år. Det här är berättelsen om hur de kom dit.
Men först, vad är exakt en sidokedja?
Samma mynt, olika blockchain
En sidokedja är en teknik som låter dig flytta dina tokens från en blockchain till en annan, använda dem på den andra blockchain och sedan flytta tillbaka dem vid en senare tidpunkt, utan behov av en tredje part.
Tidigare har föräldrarnas blockchain vanligtvis varit Bitcoin, men en föräldrakedja kan vara vilken blockchain som helst. Dessutom, när en token flyttar till en annan blockchain, bör den behålla samma värde. Med andra ord skulle en bitcoin på en Ethereum-sidokedja förbli en bitcoin.
Den största fördelen med sidokedjor är att de skulle ge användarna tillgång till en mängd nya tjänster. Du kan till exempel flytta bitcoin till en annan blockchain för att dra nytta av sekretessfunktioner, snabbare transaktionshastigheter och smarta kontrakt.
Sidkedjor har också andra användningsområden. En sidokedja kan erbjuda ett säkrare sätt att uppgradera ett protokoll, eller så kan det fungera som en typ av säkerhetsbrandvägg, så att huvudkedjan förblir opåverkad i händelse av en katastrofal katastrof på en sidokedja. “Det är ett slags begränsat ansvar”, sade Zindros i en video förklara hur tekniken fungerar.
Slutligen, om banker skulle skapa sina egna privata blockchain-nätverk, kunde sidokedjor möjliggöra kommunikation med dessa nätverk, så att användarna kunde emittera och spåra aktier, obligationer och andra tillgångar..
Tidiga konversationer
Tidig dialog om sidokedjor uppträdde först i Bitcoin chattrum runt 2012, när Bitcoin Core-utvecklare funderade på sätt att säkert uppgradera Bitcoin-protokollet.
En idé var för en “enkelriktad pinne”, där användare kunde flytta bitcoin till en separat blockkedja för att testa en ny klient; när dessa tillgångar hade flyttats kunde de dock inte flyttas tillbaka till huvudkedjan.
“Jag tänkte på detta som ett verktyg för mjukvaruteknik som kunde användas för att göra omfattande förändringar”, säger Adam Back, nu vd för blockchain-utvecklingsföretaget Blockstream, i en intervju med Bitcoin Magazine. “Man kan säga att vi ska skapa en ny version [av Bitcoin], och vi tror att den kommer att vara redo om ett år, men under tiden kan du välja tidigt och testa det.”
Enligt Back föreslog Bitcoin Core-utvecklaren Greg Maxwell någon gång nästa år, på Bitcoin IRC-kanalen, en idé för en “tvåvägspinne”, där värdet kunde överföras till den alternativa kedjan och sedan tillbaka till Bitcoin vid ett senare tillfälle punkt.
En tvåvägspinne tog upp en annan växande oro vid den tiden. Alternativa mynt, som Litecoin och Namecoin, blev alltmer populära. Rädslan var att dessa “altcoins” skulle späda ut värdet av bitcoin. Det var vettigt, tänkte Bitcoin Core-utvecklare att behålla bitcoin som en typ av reservvaluta och förflytta nya funktioner till sidokedjor. På det sättet, “om du vill använda en annan funktion, behöver du inte köpa en spekulativ tillgång”, sa Back.
För att förvandla konceptet sidokedjor till verklighet bildade Back tillsammans med Maxwell och några andra Bitcoin Core-utvecklare Blockstream 2014. I oktober samma år släppte gruppen ”Aktiverar Blockchain-innovationer med Pegged Sidechains, ”en uppsats som beskriver sidokedjor på hög nivå. Miller uppträder också som medförfattare på det papperet.
Hur sidokedjor fungerar
En viktig komponent i sidkedjorna är ett bevis på förenklad betalningsverifiering (SPV) som visar att polletter har låsts in i en kedja så att validerare säkert kan låsa upp ett motsvarande värde i den alternativa kedjan. Men för att arbeta för sidokedjor måste ett SPV-bevis vara tillräckligt litet för att passa in i en enda myntbastransaktion, den transaktion som belönar en gruvarbetare med nya mynt. (För att inte förväxlas med företaget Coinbase.)
När Blockstream-forskarna släppte sitt papper visste de att de behövde ett komprimerat SPV-bevis för att få sidokedjor att fungera, men de hade ännu inte utvecklat kryptografin bakom den. Så de skisserade allmänna idéer på hög nivå.
Blockstream-papperet beskriver två typer av tvåvägspinnar: en symmetrisk tvåvägspinne, där båda kedjorna är oberoende med sin egen brytning; och en asymmetrisk tvåvägspinne, där sidekedjearbetare är fullständiga validerare av moderkedjan.
I en symmetrisk tvåvägspinne skickar en användare sina bitcoins till en speciell adress. Om du gör det låser du pengarna på Bitcoin blockchain. Denna utgång förblir låst under en tävlingsperiod på kanske sex block (en timme) för att bekräfta att transaktionen har gått igenom, och sedan skapas ett SPV-bevis som ska skickas till sidokedjan.
Vid den tidpunkten visas en motsvarande transaktion på sidokedjan med SPV-beviset, vilket verifierar att pengar har blivit låsta i Bitcoin-blockkedjan, och sedan låses mynt med samma kontovärde på sidokedjan.
Mynt spenderas och byter händer och vid ett senare tillfälle skickas tillbaka till huvudkedjan. När mynten returneras till huvudkedjan upprepas processen. De skickas till en låst utgång på sidokedjan, en väntetid går och ett SPV-bevis skapas och skickas tillbaka till huvudblocket för att låsa upp mynt i huvudkedjan.
I en asymmetrisk tvåvägspinne är processen något annorlunda. Överföringen från moderkedjan till sidokedjan kräver inte ett SPV-bevis, eftersom validerare på sidokedjan också är medvetna om moderföretagets tillstånd. Ett SPV-bevis behövs dock fortfarande när mynten returneras till moderkedjan.
Sök efter ett kompakt bevis
I en sidokedja måste ett kompakt SPV-bevis innehålla en komprimerad version av alla blockrubriker i kedjan där medel är låsta från Genesis-blocket genom tävlingsperioden, samt transaktionsdata och vissa andra data. På detta sätt kan ett SPV-bevis också betraktas som ett “proof of-work” för en viss produktion.
Inspiration för det kompakta SPV-beviset kommer från en länkad listliknande struktur som kallas en ”hoppa över listan”Utvecklades för 25 år sedan. Genom att tillämpa denna struktur på ett kompakt SPV-bevis var tricket att hitta ett sätt att hoppa över blockrubriker samtidigt som en hög säkerhetsnivå bibehålls så att en motståndare inte skulle kunna förfalska ett bevis.
Genom att arbeta igenom problemet visade Blockstream ett tidigt utkast av sitt sidokedjepapper för Miller, som redan hade funderat över kompakta SPV i några år.
I augusti 2012, i ett inlägg på ett BitcoinTalk-forum med titeln “High-Value-Hash Highway,”Miller beskrev en idé för en” merkle skip-list ”som en Bitcoin light-klient kunde använda för att snabbt bestämma den längsta kedjan och börja använda den. I det inlägget beskrev han betydelsen av datastrukturen som ”absolut häpnadsväckande.”
När Miller läste igenom Blockstream-utkastet upptäckte han en sårbarhet i det kompakta SPV-bevis som beskrivs i tidningen. Diskussioner följde, men de “kunde inte hitta något sätt att lösa det problemet utan att kompromissa med effektiviteten”, sa Miller.
Millers icke-triviala bidrag till Blockstream-papperet blev till slut några stycken i bilaga B som beskriver utmaningarna med att skapa ett kompakt SPV-bevis.
Det borde “vara möjligt att i hög grad komprimera en lista med rubriker samtidigt som man bevisar samma mängd arbete”, läser avsnittet, men “att optimera dessa avvägningar och formalisera säkerhetsgarantierna är utom räckvidden för denna uppsats och ämnet för pågående arbete. ”
Det pågående arbetet förblev fast i tre år.
Gör det icke-interaktivt
Under den påföljande tiden började forskare vid IOHK ta ett mer allvarligt intresse för sidokedjor. Planer tog form för Cardano, en ny block-proof-of-stake-blockchain som IOHK hade fått i uppdrag att bygga.
Cardano skulle bestå av två lager: ett avvecklingslager, som lanserades i september 2017, där penningmängden skulle hållas och ett smart kontraktlager. Dessa två lager skulle vara två sidokedjeaktiverade blockkedjor. På detta sätt kan förlikningen förbli enkel och säker från alla attacker som kan inträffa på det smarta kontraktlagret. Men om IOHK skulle få Cardano att fungera som avsett, behövde det lösa sidkedjor.
I februari 2016 släppte Kiayias, då professor vid universitetet i Aten, och två av hans studenter, Nikolaos Lamprou och Aikaterini-Panagiota Stouka, ”Bevis på bevis på arbete med sublinjär komplexitet”(PoPoW).
Papperet var den första som formellt behandlade ett kompakt SPV-bevis. Endast beviset som beskrivs i tidningen var interaktivt; För att arbeta för sidokedjor behövde det vara icke-interaktivt.
I ett interaktivt bevis inleder provaren och verifieraren ett fram och tillbaka-samtal, vilket betyder att det kan finnas mer än en runda med meddelanden. Däremot skulle ett icke-interaktivt bevis vara en enkel, kort textsträng som passar in i en enda transaktion på blockchain.
PoPoW-uppsatsen presenterades vid BITCOIN’16, en workshop kopplad till International Financial Cryptography Association (IFCA) Financial Cryptography and Data Security konferens. Miller, som var på konferensen, kontaktade Kiayias och delade en idé för att göra protokollet icke-interaktivt.
Det var en “trevlig observation”, berättade Kiayias Bitcoin Magazine, men att göra beviset säkert var “inte uppenbart alls” och skulle kräva betydande arbete.
Zindros, som precis börjat arbeta med sin doktorsexamen under Kiayias, var också på konferensen och han behövde ett ämne för sin avhandling. Kiayias såg en bra passform, “så vi fortsatte, vi tre, och anpassade PoPoW-protokollet och dess säkerhetsbevis till den icke-interaktiva inställningen,” sa Kiayias.
I oktober 2016 officiellt Kiayias gick med i IOHK, och ett år senare släppte Kiayias, Miller och Zindros “Non-Interactive Proofs of Proof-of-Work”, som introducerade ett kompakt SPV-bevis fem år efter att sidkedjor först hade pratats om på Bitcoin-forum.
”Om det vore interaktivt, vet jag inte om det skulle ha fungerat; med ett icke-interaktivt bevis är det riktigt smidigt, berättade Zindros Bitcoin Magazine.
Mer arbete som ska göras
Även med NiPoPoW är sidokedjor fortfarande inte helt specificerade. Flera frågor kvarstår, inklusive, hur små kan bevisen göras? När en transaktion är låst i en kedja, hur mycket tid behöver det gå innan den kan spenderas på den andra? Och kommer det att vara möjligt att flytta en token från en sidokedja direkt till en annan sidokedja?
“Mycket teori behöver fortfarande definieras”, sa IOHK: s VD Charles Hoskinson när han talade till Bitcoin Magazine.
Även om NiPoPoW är utformat för att fungera för proof-of-work blockchains, tror vissa att om blockchains ska ta sin plats i världen i stor skala, vilar framtiden i proof-of-stake-protokoll som Ouroboros, Algorand eller Snövit, som lovar att vara mer energieffektiva än Bitcoin.
I synnerhet, om Cardano, som baseras på Ouroboros, ska fungera enligt plan, behöver IOHK-forskare fortfarande upptäcka ett icke-interaktivt bevis för bevis på insats (NiPoPoS).
Hoskinson är säker. “Vi kan definitivt göra det”, sa han. ”Vi kan definitivt ha en NiPoPoS. Frågan är hur många megabyte eller kilobyte det kommer att bli? Kan vi få ner det till 100 kB? Det är verkligen frågan. ”