En översikt över avvägningarna för olika sidokedjeimplementationer PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

En översikt över avvägningarna för olika sidokedjeimplementeringar

Detta är en åsiktsledare av Shinobi, en självlärd utbildare inom Bitcoin-utrymmet och teknikorienterad Bitcoin-podcast-värd.

Den här artikeln är den sista i en serie som dyker in i de stora sidokedjedesignerna som finns för Bitcoin. Det rekommenderas starkt att läsa de föregående styckena innan detta: (1) Rymdkedjor(2) Spacechain Användningsfall(3) Mjuka kedjor(4) Drivkedjor(5) Federerade kedjor.

Vad är sidokedjor i ett nötskal? Blockkedjor som låter dig flytta din bitcoin från Bitcoin blockchain till denna andra sidokedja. Däri ligger problemet och svårigheten med att designa en sidokedja - du kan faktiskt inte göra det. Du kan inte flytta bitcoin från Bitcoin blockchain till en annan blockchain; det är inte möjligt eftersom det enda stället där din bitcoin faktiskt finns är på Bitcoin blockchain. De kan faktiskt inte existera någon annanstans. Allt som verkligen är möjligt att göra är att låsa din bitcoin på något sätt på Bitcoin blockchain och sedan skapa andra tokens på en annan kedja för att representera dessa bitcoin. Den högsta ambitionen hos en sidokedja är att göra det på ett sätt där det är verifierbart att dessa tokens endast existerar 1:1 med riktiga bitcoin (lätt), och där det enda sättet att låsa upp bitcoin på huvudkedjan i alla lägen är att verifierbart låsa tokens som du legitimt kontrollerar på den andra kedjan (mycket svårt att göra på ett tillförlitligt sätt som inte gör bitcoin i sig dyrare att verifiera).

Nästan alla svårigheter kring att designa en sidokedja beror på hur denna låsnings- och upplåsningsmekanism är utformad: hur låsning av dem fungerar, vilka villkor som krävs för att låsa upp dem och hur dessa villkor verifieras och upprätthålls. Envägsmekanismer, där du bara kan låsa mynt och aldrig låsa upp dem, är trivialt enkla. Bränn bara lite bitcoin med OP_RETURN och kräv att du verifierar det för att skapa tokens på den nya kedjan så är du klar. Tvåvägsmekanismer, som stöder både låsning och upplåsning, är mycket mer komplicerade. Hittills finns det ingen designad tvåvägsmekanism förutom de som ökar valideringskostnaden för den huvudsakliga Bitcoin-blockkedjan (mjukkedjor), eller de som introducerar nya förtroendeantaganden om säkerheten för mynt låsta "i sidokedjan" (drivkedjor och federerade kedjor) .

Den heliga graalen av sidokedjor är en mekanism för att låsa och låsa upp mynt som inte kräver något förtroende för att upprätthålla det, och som inte ökar valideringskostnaderna för den huvudsakliga Bitcoin-blockkedjan (dvs en enskild sidokedjeinteraktion med huvudkedjan är inte dyrare, ge eller ta, för att verifiera än en enda Bitcoin-transaktion). För närvarande uppnår ingenting det, så dags att gå igenom nackdelarna.

Mining Centralization

Alla de olika designerna jag har gått igenom, förutom Liquid, är på ett eller annat sätt beroende av Bitcoin-gruvarbetare för att tillhandahålla säkerhet för sidokedjan. RSK, även om det är en federerad peg, använder fortfarande Bitcoin-gruvarbetare. Softchains skulle i teorin kunna använda något annat, men om det inte ger lika mycket proof-of-work (PoW) säkerhet som Bitcoin-gruvarbetare, då skulle det öppna Bitcoin-blockkedjan för denial-of-service (DoS)-attacker. Så, i verkligheten, om en mjukkedja skulle distribueras, skulle den använda Bitcoin-gruvarbetare. Spacechains PoW bygger uttryckligen på Bitcoin-gruvarbetare som bekräftar en åtagandetransaktion för sidokedjan. Drivkedjor är speciellt utformade för att slå samman gruvdrift av Bitcoin-gruvarbetare. Det går inte att komma undan att få gruvarbetare involverade i sidokedjor om något mer utom en ren federerad sidokedja är allt som någonsin distribueras.

En tydlig skillnad måste göras innan man går in på denna risk: skillnaden mellan gruvarbetare själva (hårdvaruoperatörer) och gruvkoordinatorer (pooler; de nodbyggande blocken). Pooler är nödvändiga för att samla in en belöning regelbundet om du inte har en mycket betydande mängd fysisk gruvhårdvara och är en legitim punkt för centralisering. Gruvcentralisering/decentralisering är inte ett enkelt ämne (mer här.) och det finns viktiga nyanser i hur olika aspekter av gruvdrift som centraliseras interagerar med andra aspekter av gruvdrift. Utan gruvpooler är en gruvarbetares inkomst en helt oberäknelig, oförutsägbar inkomstström. Detta, i kombination med den mycket verkliga risken för potentiell reglering av gruvpooler i framtiden (de är en förvaringsenhet, de förvarar användarnas medel tills de tas ut), gör gruvpooler till en mycket farlig punkt för centralisering för utrymmet.

Gruvarbetare måste validera blockkedjan för att kunna bryta, oavsett om denna funktion är outsourcad eller inte. Utan att validera kedjan har de ingen aning om huruvida blocket som de bryter endast innehåller giltiga transaktioner; allt som krävs är en enda ogiltig för att ogiltigförklara blocket de hittar och förlora dem alla pengar de kunde ha tjänat. Detta krav för validering är dock inte anledningen till att gruvpooler används: det är förutsägbarheten av belöningar. En gruvarbetare med 1 % av hashratet kommer endast mycket sällan att hitta ett block och samla in hela belöningen, medan en gruvarbetare med 1 % av hashratet som använder en pool regelbundet kommer att samla in ungefär 1 % av blockbelöningen som poolen kollektivt tjänar. Valideringskostnaden är liten. Belöningens förutsägbarhet är försäljningsargumentet, och det är därför utvecklare försöker hitta ett sätt att få samma fördelar utan att behöva en centraliserad pool. Detta skulle tillåta gruvarbetare att inte vara beroende av en centraliserad enhet som har kontroll över vilka transaktioner som går in i ett block.

Tänk dig nu om valideringskostnaderna var högre. Det finns ingen gräns för antalet rymdkedjor som kan skapas. Och även om de inte är knutna till bitcoin i pris som andra mönster, skulle någon av dem som har ett betydande värde vara värt det för gruvpooler (och gruvarbetare) att driva för att tjäna mer pengar. Gruvarbetare som gjorde det skulle vara mer konkurrenskraftiga än de som inte gjorde det, och om gruvdrift på lång sikt blir en bransch med knivskarpa vinstmarginaler blir detta i praktiken ett krav för att bryta dessa andra kedjor. Om du inte gör det är du inte lönsam. Gruvarbetare som driver dem kan öka kostnaderna för gruvarbetare som inte gör det och fortfarande tjänar, vilket driver de andra i konkurs.

Kom också ihåg att det inte finns någon begränsning för valideringskostnaderna för en sidokedja. Det kan vara mycket kostsamt att validera vissa kryptografiska funktioner, godtycklig komplexitet som Ethereum eller till och med full-on gigablock dumhet som BSV. Softchains har exakt samma risk, förutom att de ökar valideringskostnaden för vanliga användare som kör hela noder. Den enda "räddande nåden", om du vill kalla det så, är kravet att aktivera en enskild sidokedja åt gången med en unik mjukgaffel. Det betyder åtminstone att varje enskilt förslag och dess valideringskostnad kommer att granskas noggrant innan det aktiveras.

Drivkedjor? De påstår sig lösa detta problem, men verkligheten är att de inte gör det. Uppfattningen om en drivkedja är att blockskaparen slutar med att betala de flesta av avgifterna till gruvarbetare för att få sina block utvunna, och bara behålla en liten del för sig själva. Den lilla delen i en värld av knivskarpa vinstmarginaler är mer vinst som kan fås, vilket återigen kommer tillbaka till att kunna driva andra gruvarbetare i konkurs om du gör det själv. Även om du antar att skapare av drivkedjeblock inte behåller någon av avgifterna för sig själva, vilket ger 100 % till gruvarbetare, varför skulle de göra detta om det inte fanns någon annan aspekt av denna sidokedja som de kan tjäna pengar på? Det är förmodligen en form av Miner utvinningsbart värde (MEV) som gruvarbetare kunde tjäna pengar på, med samma centraliserande effekt. På lång sikt skulle varje typ av decentraliserad gruvpool behöva involvera gruvarbetare som kör alla dessa sidokedjenoder förutom en huvudkedjenod, vilket skulle kunna bli en mycket orealistisk utsikt för småskaliga gruvarbetare. Det skulle sätta ett konstgjort golv som begränsar hur decentraliserad gruvdrift kan vara.

Endast federerade sidokedjor undviker denna centraliserande effekt på Bitcoin-brytning eftersom de inte på något sätt interagerar med gruvarbetare, förutom genom att betala gruvarbetaravgifter på transaktioner som kopplar mynt ut ur sidokedjan.

Riskerna med pinnar och konsensus

Processen för hur sidokedjor bryts innebär risker för centralisering av gruvdrift och processen för hur mynt låses och låses upp från en sidokedjepinne kan innebära risker för konsensus. Federerade peggar och enkelriktade peggar utgör ingen allvarlig risk för konsensus. När det gäller en federerad peg, eftersom den i grunden inte är annorlunda än en depåbörs – du kan sätta in till och ta ut dem – har den ingen grundläggande interaktion med konsensusprocessen som börser gör och utgör därför ingen ny risk. Enkelriktade pinnar är helt enkelt ett sätt att bränna din bitcoin och göra dem oåterkalleliga. Detta är inte en risk eller inblandning i konsensus. Mjuka kedjor och drivkedjor utgör dock båda på olika sätt risker för Bitcoin-konsensus.

Softchains utgör en mycket tydlig konsensusrisk för det huvudsakliga Bitcoin-nätverket. För det första ökar det kostnaden för validering per mjukkedja som läggs till för noder endast för huvudkedjan, och beroende på storleken på blocken eller komplexiteten hos regler för att validera detta, kan det vara en marginell ökning eller en ganska drastisk ökning. För det andra kan varje konsensusdelning på grund av en icke-deterministisk bugg påverka huvudkedjan. En sådan bugg var orsaken till kedjesplittringen som inträffade 2013. På grund av hur databasen Bitcoin använder för att hantera läsning och skrivning av data fungerar, skulle vissa noder "få slut på" gånger de kunde läsa och skriva data och ogiltigförklara ett annars ogiltigt block. Eftersom dessa operationer var begränsade baserat på individuella datorresurser, fanns det ingen konsekvent situation som skulle orsaka detta, eftersom varje enskild nods resurser är olika.

En sådan incident på en mjukkedja utgör en konsensusrisk för huvudkedjan på grund av hur de är sammanflätade. Slutligen, hur svårighetskraven definieras för att bryta en mjukkedja kan ha enorma konsekvenser för valideringskostnaden för noder endast för mainchain. Varje upptäckt av en mjukkedjeuppdelning utlöser nedladdning och validering av varje block till roten av den kedjeuppdelningen, vilket, beroende på valideringskostnaderna för en specifik mjukkedja, kan skapa en massiv valideringsökning för huvudkedjenoder. Om gruvsvårigheten är eller till och med kan tillåtas vara för låg av en procentandel av den totala Bitcoin-hashhastigheten, kan det bli väldigt billigt att attackera Bitcoin och skapa kedjedelar på mjukkedjan bara för att öka kostnaderna för huvudkedjenoderna.

Drivkedjor utgör en mer subtil risk för konsensus. Som diskuterats ovan har de faktiskt dynamik som andra sidokedjedesigner som skapar tryck som ytterligare centraliserar gruvdrift. Detta samverkar mycket dåligt med det faktum att stiftet i huvudsak bara är gruvarbetare som har total kontroll över mynten i drivkedjor; en majoritet av dem kan effektivt göra vad de vill med mynt inlåsta i drivkedjor. Säkerheten för alla mynt på drivkedjor beror på att gruvarbetare är tillräckligt decentraliserade för att göra 51 % attacker omöjliga, men skapar samtidigt tryck som sannolikt på lång sikt kommer att öka centraliseringen av gruvdriften.

Om en sådan dynamik utspelar sig med drivkedjor och gruvarbetare stjäl mynt från stiftet, finns det bokstavligen inget alternativ för användare av den sidokedjan förutom en användaraktiverad mjukgaffel (UASF) för att ogiltigförklara stiftet. Detta skulle vara en helt annan dynamik än den förra UASF; 2017 spelade användare i princip en omgång kyckling där de skulle ha mynt på båda sidor om gaffeln. Båda alternativen var tillgängliga för personer som stödde en UASF. I händelse av en UASF för att stoppa stöld av drivkedjor, skulle användare inte ha båda alternativen tillgängliga. Endast på UASF-sidan av gaffeln skulle de ha mynt; på arvskedjan skulle de inte ha någonting. De har bokstavligen inga incitament att komma tillbaka till den gamla kedjan om UASF misslyckas och resulterar i en kedjedelning.

Vissa hävdar till och med att gruvarbetare borde attackera vissa "dåliga" sidokedjor (även om det inte är säkert vad som är "dåligt" i en sidokedja). Om drivkedjor användes allmänt, skulle hela denna dynamik kunna fragmentera Bitcoin-blockkedjan och späda ut dess nätverkseffekt. Människor som drabbats av en drivkedjestöld har alla incitament i världen att hålla en gaffel igång, eftersom att låta den dö betyder att de har förlorat allt.

Sammanfatta

Det skulle vara försumligt av mig att inte nämna federerade sidokedjor i detta stycke; de utgör inte direkta hot mot Bitcoin-konsensus som andra konstruktioner, men är till sin natur ett effektivt system. Användare av sådana system bör noggrant överväga om verktyget som erbjuds av sådana system är värt att byta ut i säkerhetsmodell, och om den federation som driver systemet är tillräckligt pålitlig för att hålla förvaring av deras medel.

I slutändan kommer ingen för närvarande föreslagen sidokedjedesign i närheten av att uppfylla det ursprungliga löftet om sidokedjor som anges i det ursprungliga 2014-dokumentet. De misslyckas alla med att tillhandahålla den säkerhetsnivå som önskas i en kopplingsmekanism för att flytta mellan kedjor eller utgör risker för själva Bitcoin-nätverket. Kanske kan saker som nollkunskapsbevis en dag ge ett sätt att designa en peg som inte medför ökade valideringskostnader på huvudkedjenoder som mjuka kedjor, eller inte kräver nya förtroendeantaganden som drivkedjor eller federerade kedjor när det gäller säkerheten för användarnas pengar . Men än så länge finns ingen sådan konkret design. Om du tror att verkligt trovärdiga sidokedjor är en viktig förbättring för Bitcoin, kommer förhoppningsvis tekniken för att implementera dem en dag att utvecklas, men för närvarande har ingenting som existerat kommit i närheten.

Detta är ett gästinlägg av Shinobi. Åsikter som uttrycks är helt deras egna och återspeglar inte nödvändigtvis de från BTC Inc eller Bitcoin Magazine.

Tidsstämpel:

Mer från Bitcoin Magazine