Een overzicht van de afwegingen voor verschillende sidechain-implementaties PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Een overzicht van de afwegingen voor verschillende sidechain-implementaties

Dit is een opinieredactioneel commentaar van Shinobi, een autodidactische opvoeder in de Bitcoin-ruimte en technisch georiënteerde Bitcoin-podcasthost.

Dit artikel is het laatste in een serie die ingaat op de belangrijkste zijketenontwerpen die voor Bitcoin bestaan. Het wordt ten zeerste aanbevolen om de voorgaande stukken hiervoor te lezen: (1) Ruimteketens(2) Spacechain-gebruiksscenario's(3) Zachte kettingen(4) Aandrijfkettingen(5) Federatieve ketens.

Wat zijn zijketens in een notendop? Blockchains waarmee u uw bitcoin van de Bitcoin-blockchain naar deze andere zijketen kunt verplaatsen. Daarin ligt het probleem en de moeilijkheid bij het ontwerpen van een zijketen - dat kun je eigenlijk niet doen. U kunt bitcoin niet van de Bitcoin-blockchain naar een andere blockchain verplaatsen; dat is niet mogelijk omdat de enige plaats waar uw bitcoin daadwerkelijk bestaat, op de Bitcoin-blockchain is. Ze kunnen eigenlijk nergens anders bestaan. Het enige dat echt mogelijk is, is uw bitcoin op de een of andere manier op de Bitcoin-blockchain te vergrendelen en vervolgens andere tokens op een andere keten te maken om die bitcoin te vertegenwoordigen. De hoogste ambitie van een zijketen is om dit te doen op een manier waarbij verifieerbaar is dat deze tokens alleen 1: 1 bestaan ​​met echte bitcoin (eenvoudig), en waar de enige manier om bitcoin op de hoofdketen in elke situatie te ontgrendelen, is om aantoonbaar te vergrendelen tokens die u legitiem beheert in de andere keten (heel moeilijk om te doen op een betrouwbare manier die bitcoin zelf niet duurder maakt om te verifiëren).

Bijna alle moeilijkheden bij het ontwerpen van een zijketen komen neer op hoe dit vergrendelings- en ontgrendelingsmechanisme is ontworpen: hoe het vergrendelen werkt, welke voorwaarden vereist zijn om ze te ontgrendelen en hoe die voorwaarden worden geverifieerd en gehandhaafd. Eenrichtingsmechanismen, waarbij u alleen munten kunt vergrendelen en nooit kunt ontgrendelen, zijn triviaal eenvoudig. Brand gewoon wat bitcoin met OP_RETURN en verifieer dat om tokens op de nieuwe ketting te slaan en je bent klaar. Tweerichtingsmechanismen, die zowel vergrendeling als ontgrendeling ondersteunen, zijn een stuk ingewikkelder. Tot nu toe is er geen ontworpen tweerichtingsmechanisme, behalve degenen die de validatiekosten van de belangrijkste Bitcoin-blockchains (softchains) verhogen, of degenen die nieuwe vertrouwensaannames introduceren over de beveiliging van munten die "in de zijketen" zijn vergrendeld (drivechains en federatieve ketens) .

De heilige graal van zijketens is een mechanisme voor het vergrendelen en ontgrendelen van munten waarvoor geen vertrouwen vereist is om het af te dwingen, en dat de validatiekosten van de belangrijkste Bitcoin-blockchain niet verhoogt (dwz een enkele zijketen-interactie met de hoofdketen is niet duurder, geven of nemen, om te verifiëren dan een enkele Bitcoin-transactie). Momenteel bereikt niets dat, dus tijd om de nadelen door te nemen.

Mijncentralisatie

Alle verschillende ontwerpen die ik heb doorlopen, behalve Liquid, zijn op de een of andere manier afhankelijk van Bitcoin-mijnwerkers om de zijketen te beveiligen. RSK, ook al is het een federatieve koppeling, gebruikt nog steeds Bitcoin-mijnwerkers. Softchains zouden in theorie iets anders kunnen gebruiken, maar als het niet zoveel proof-of-work (PoW) beveiliging zou bieden als Bitcoin-mijnwerkers, dan zou het de Bitcoin-blockchain openstellen voor denial-of-service (DoS) -aanvallen. Dus in werkelijkheid, als een softchain zou worden ingezet, zou deze Bitcoin-mijnwerkers gebruiken. Spacechains PoW is expliciet gebaseerd op Bitcoin-mijnwerkers die een verbintenistransactie voor de zijketen bevestigen. Drivechains zijn speciaal ontworpen voor merge mining door Bitcoin-mijnwerkers. Er is geen ontkomen aan om mijnwerkers bij zijketens te betrekken, als alles behalve een pure gefedereerde zijketen alles is dat ooit wordt ingezet.

Voordat we op dit risico ingaan, moet er één duidelijk onderscheid worden gemaakt: het verschil tussen miners zelf (hardware-operators) en mining-coördinatoren (pools; de node-constructieblokken). Pools zijn nodig om regelmatig een beloning te verzamelen als u niet over een zeer aanzienlijke hoeveelheid fysieke mijnbouwhardware beschikt en een legitiem centralisatiepunt bent. Mijncentralisatie/decentralisatie is geen eenvoudig onderwerp (meer hier) en er zijn belangrijke nuances in hoe verschillende aspecten van gecentraliseerde mijnbouw interageren met andere aspecten van mijnbouw. Zonder mijnpools is het inkomen van een mijnwerker een totaal grillige, onvoorspelbare inkomstenstroom. Dit, in combinatie met het zeer reële risico van mogelijke regulering van mijnbouwpools in de toekomst (ze zijn een bewarende entiteit; zij bewaren het geld van gebruikers tot opname), maakt mijnbouwpools een zeer gevaarlijk punt van centralisatie voor de ruimte.

Miners moeten de blockchain valideren om te minen, ongeacht of deze functie is uitbesteed of niet. Zonder de keten te valideren, hebben ze geen idee of het blok dat ze minen alleen geldige transacties bevat; het enige dat nodig is, is een enkele ongeldige om het blok dat ze vinden ongeldig te maken en al het geld te verliezen dat ze hadden kunnen verdienen. Deze vereiste voor validatie is echter niet de reden waarom mining-pools worden gebruikt: het is de voorspelbaarheid van beloningen. Een miner met 1% van de hashrate zal slechts zeer zelden een blok vinden en de hele beloning ontvangen, terwijl een mijnwerker met 1% van de hashrate die een pool gebruikt, regelmatig ongeveer 1% van de blokbeloning zal ontvangen die de pool gezamenlijk verdient. De validatiekosten zijn klein. De voorspelbaarheid van de beloning is het verkoopargument, daarom: ontwikkelaars proberen een manier te vinden om dezelfde voordelen te krijgen zonder dat een gecentraliseerde pool nodig is. Hierdoor zouden miners niet afhankelijk zijn van een gecentraliseerde entiteit die controle heeft over welke transacties in een blok terechtkomen.

Stel je nu eens voor dat de validatiekosten hoger waren. Er is geen limiet aan het aantal spacechains dat kan worden gemaakt. En hoewel ze niet in prijs zijn gekoppeld aan bitcoin, zoals andere ontwerpen, zou elk van hen met een aanzienlijke waarde het waard zijn voor mijnbouwpools (en mijnwerkers) om te rennen om meer geld te verdienen. Mijnwerkers die dat deden, zouden concurrerender zijn dan degenen die dat niet deden, en als mijnbouw op de lange termijn een industrie wordt met flinterdunne winstmarges, wordt dit in feite een vereiste om deze andere ketens te minen. Doe je dat niet, dan ben je niet winstgevend. Mijnwerkers die ze wel uitvoeren, kunnen de kosten verhogen voor mijnwerkers die dat niet doen en nog steeds profiteren, waardoor de anderen failliet gaan.

Onthoud ook dat er geen beperking is op de validatiekosten van een zijketen. Het kan erg duur zijn om sommige cryptografische functies te valideren, willekeurige complexiteit zoals Ethereum of zelfs volledige gigablock-domheid zoals BSV. Softchains hebben exact hetzelfde risico, naast het verhogen van de validatiekosten van reguliere gebruikers met volledige nodes. De enige 'reddende genade', als je het zo wilt noemen, is de vereiste om een ​​enkele zijketen tegelijk te activeren met een unieke softfork. Dat betekent in ieder geval dat elk afzonderlijk voorstel en de validatiekosten ervan grondig worden onderzocht voordat het wordt geactiveerd.

Aandrijfkettingen? Ze beweren dit probleem op te lossen, maar de realiteit is dat ze dat niet doen. Het idee van een drivechain is dat de maker van het blok uiteindelijk het grootste deel van de vergoedingen aan mijnwerkers betaalt om hun blok te laten ontginnen, en slechts een klein deel voor zichzelf houdt. Dat kleine deel in een wereld van flinterdunne winstmarges is meer winst die kan worden behaald, wat weer terugkomt op het feit dat je andere mijnwerkers failliet kunt laten gaan als je het zelf doet. Zelfs als je aanneemt dat makers van drivechain-blokken geen van de kosten voor zichzelf houden en 100% aan miners geven, waarom zouden ze dit doen als er geen ander aspect van deze zijketen was waarmee ze geld kunnen verdienen? Dat is waarschijnlijk een vorm van Mijnwerker extraheerbare waarde (MEV) waar mijnwerkers geld mee kunnen verdienen, met hetzelfde centraliserende effect. Op de lange termijn zou elk type gedecentraliseerde mijnbouwpool moeten bestaan ​​uit miners die al deze zijketenknooppunten gebruiken naast een hoofdketenknooppunt, wat een zeer onrealistisch vooruitzicht zou kunnen zijn voor kleinschalige mijnwerkers. Dat zou een kunstmatige vloer zijn die de gedecentraliseerde mijnbouw zou beperken.

Alleen gefedereerde zijketens vermijden dit centraliserende effect op Bitcoin-mijnbouw omdat ze op geen enkele manier interactie hebben met mijnwerkers, behalve door het betalen van minervergoedingen voor transacties die munten uit de zijketen halen.

De risico's van pinnen en consensus

Het proces van hoe zijketens worden gedolven, brengt risico's met zich mee voor de centralisatie van mijnen en het proces van hoe munten worden vergrendeld en ontgrendeld vanaf een zijketenpin kan risico's voor consensus opleveren. Federated haringen en eenrichtings haringen vormen geen serieus risico voor consensus. In het geval van een federated peg heeft het, omdat het in wezen niet anders is dan een bewaarbeurs - u kunt storten op en terugtrekken uit hen - geen fundamentele interactie met het consensusproces dat uitwisselingen doen en brengt dus geen nieuw risico met zich mee. Eenrichtingspinnen zijn gewoon een manier om uw bitcoin te verbranden en onherstelbaar te maken. Dit is geen risico of inmenging in consensus. Softchains en drivechains vormen echter beide op verschillende manieren risico's voor de Bitcoin-consensus.

Softchains vormen een zeer duidelijk consensusrisico voor het belangrijkste Bitcoin-netwerk. Ten eerste verhoogt het de validatiekosten per toegevoegde softchain voor alleen-mainchain-nodes, en afhankelijk van de grootte van de blokken of de complexiteit van regels om dit te valideren, kan dit een marginale toename of een behoorlijk drastische toename zijn. Ten tweede kan elke consensussplitsing als gevolg van een niet-deterministische bug de mainchain beïnvloeden. Zo'n bug was de oorzaak van de kettingsplitsing dat gebeurde in 2013. Vanwege de manier waarop de database die Bitcoin gebruikt om met het lezen en schrijven van gegevens om te gaan, werkt, zouden sommige knooppunten de tijd hebben om gegevens te lezen en te schrijven en een anders ongeldig blok ongeldig te maken. Omdat deze bewerkingen beperkt waren op basis van individuele computerbronnen, was er geen consistente situatie die dit zou veroorzaken, omdat de bronnen van elk afzonderlijk knooppunt anders zijn.

Een dergelijk incident op een softchain vormt een consensusrisico voor de mainchain vanwege de manier waarop ze met elkaar verweven zijn. Ten slotte, hoe de moeilijkheidsvereisten worden gedefinieerd voor het minen van een softchain, kan enorme implicaties hebben voor de validatiekosten van alleen-mainchain-knooppunten. Elke detectie van een softchain chainsplit triggert het downloaden en valideren van elk blok tot aan de root van die chainsplit, wat, afhankelijk van de validatiekosten van een specifieke softchain, een enorme validatieverhoging voor mainchain-knooppunten zou kunnen veroorzaken. Als de mijnbouwmoeilijkheid een te laag percentage van de totale Bitcoin-hashsnelheid is of zelfs kan zijn, kan het erg goedkoop worden om Bitcoin aan te vallen door chainsplits op de softchain te creëren, alleen maar om de kosten van de mainchain-knooppunten te verhogen.

Drivechains vormen een subtieler risico voor consensus. Zoals hierboven besproken, hebben ze in feite dynamiek zoals andere zijketenontwerpen die druk creëren om de mijnbouw verder te centraliseren. Dit gaat heel slecht samen met het feit dat de peg in wezen gewoon mijnwerkers zijn die de munten in drivechains volledig onder controle hebben; een meerderheid van hen kan effectief doen wat ze willen met munten opgesloten in aandrijfkettingen. De veiligheid van alle munten op drivechains hangt af van het feit dat miners voldoende gedecentraliseerd zijn om 51% aanvallen niet praktisch te maken, maar creëert tegelijkertijd druk die waarschijnlijk op de lange termijn de centralisatie van mijnbouw zal vergroten.

Als een dergelijke dynamiek zich afspeelt met drivechains en mijnwerkers munten van de peg stelen, is er letterlijk geen optie voor gebruikers van die zijketen, behalve een door de gebruiker geactiveerde soft fork (UASF) om die peg ongeldig te maken. Dit zou een heel andere dynamiek zijn dan de laatste UASF; in 2017 speelden gebruikers in wezen een spelletje kip waarbij ze munten aan beide kanten van de vork zouden hebben. Beide opties waren beschikbaar voor mensen die een UASF steunden. In het geval van een UASF om diefstal van aandrijfkettingen te stoppen, zouden gebruikers niet over beide opties beschikken. Alleen aan de UASF-kant van de vork zouden ze munten hebben; op de legacy-keten zouden ze niets hebben. Ze hebben letterlijk geen prikkel om terug te keren naar de legacy-keten als de UASF faalt en resulteert in een chainsplit.

Sommigen beweren zelfs dat miners bepaalde "slechte" zijketens moeten aanvallen (hoewel het niet zeker is wat "slecht" is in een zijketen). Als drivechains op grote schaal zouden worden toegepast, zou deze hele dynamiek de Bitcoin-blockchain kunnen fragmenteren en het netwerkeffect ervan afzwakken. Mensen die het slachtoffer zijn van een diefstal van een aandrijfketting hebben alle redenen om een ​​vork draaiende te houden, want als ze doodgaan, zijn ze alles kwijt.

verpakken

Het zou nalatig zijn als ik in dit stuk geen gefedereerde zijketens zou noemen; ze vormen geen directe bedreigingen voor de Bitcoin-consensus zoals andere ontwerpen, maar zijn door hun aard in feite een vertrouwd systeem. Gebruikers van dergelijke systemen moeten diep nadenken of het hulpprogramma dat door dergelijke systemen wordt aangeboden de afweging waard is in het beveiligingsmodel, en of de federatie die het systeem beheert betrouwbaar genoeg is om hun geld in bewaring te houden.

Uiteindelijk komt geen enkel momenteel voorgesteld ontwerp van zijketens in de buurt van het vervullen van de oorspronkelijke belofte van zijketens zoals uiteengezet in het originele artikel uit 2014. Ze bieden allemaal ofwel niet het beveiligingsniveau dat gewenst is in een koppelingsmechanisme om tussen ketens te schakelen of vormen risico's voor het belangrijkste Bitcoin-netwerk zelf. Misschien kunnen op een dag dingen als zero-knowledge proofs een manier zijn om een ​​koppeling te ontwerpen die geen hogere validatiekosten oplegt aan mainchain-knooppunten zoals softchains, of geen nieuwe vertrouwensaannames zoals drivechains of federatieve ketens vereist in termen van de veiligheid van het geld van gebruikers . Maar vanaf nu bestaat zo'n concreet ontwerp niet. Als je denkt dat echt betrouwbare zijketens een belangrijke verbetering zijn voor Bitcoin, zal hopelijk op een dag de technologie worden ontwikkeld om ze te implementeren, maar momenteel is er niets dat in de buurt komt.

Dit is een gastpost van Shinobi. De geuite meningen zijn geheel van henzelf en komen niet noodzakelijk overeen met die van BTC Inc of Bitcoin Magazine.

Tijdstempel:

Meer van Bitcoin Magazine