Transaksjonsfinalitet i PoS-nettverket
HodlX gjestepost Send inn innlegget ditt
Transaksjonssikkerhet i blockchain er ofte sammenkoblet med problemet med blokkfinaliteten.
En transaksjonsmottaker må være sikker på at transaksjonen ikke blir tilbakeført, og at avsenderen ikke kan utføre et dobbeltforbruk. Når det gjelder fiat-valutaer, er endeligheten avgrenset av loven ved å gjøre valutaen til et lovlig betalingsmiddel. I designene basert på PoW (bevis på arbeid) er blokken aldri endelig.
Satoshi Nakamoto har vist at sannsynligheten for en spontan kort gaffel med lengde N>6 blokker er ubetydelige, slik at man kan hevde at Bitcoin har en sannsynlig finalitet. Imidlertid har forskere det vist at blokkfinalitet faktisk er økonomisk: en transaksjon er endelig når kostnadene som kreves for tilbakeføringen er større enn den potensielle fortjenesten fra dobbeltutgiftsangrepet.
Noen ganger hevder blockchain-eksperter at noen blokkjeder basert på PoS (bevis på innsats) ikke har problemet med blokkfinalitet, siden blokker i dem er “øyeblikkelig endelige”. Dette påstanden er falsk. Forking er et uunngåelig problem for enhver blockchain, uansett hvilke konsensusregler som velges.
Et godt eksempel er det siste historie med Steem-blockchain. Nettverkssamfunnet ble delt i to gjensidig fiendtlige leirer. Til tross for konsensusreglene ble blockchain forked. Hver gruppe opprettholdt sin egen gaffel og blokkerte saldoer i lommeboken til motstanderne. Tilsynelatende hadde gaffelen som fulgte reglene i den opprinnelige protokollen mistet duellen, siden dens markedsverdi ble mindre enn gaffelens markedsverdi. Dermed kan vi konkludere med at finaliteten i en PoS-blockchain har en økonomisk underbygging, lik den som en PoW-blockchain. Utviklere av Ethereum 2.0 dele den samme visjonen.
Imidlertid hevder de at kaskamekanismen til Casper-protokollen ikke bare forhindrer noe som står på spill, men gjør doble utgiftsangrep dyrere. Likevel åpner kompleks protokollogikk døren for mer sofistikerte dobbeltbruk-angrep.
Forenklet angrep med dobbeltbruk
Den enkleste formen for dobbeltbruksangrepet på PoS-blockchain for den ondsinnede angriperen er å låse seg i innsatser dobbelt så mange midler som ærlige deltakere har. Hvis den ondsinnede skuespilleren B lykkes med å gjøre dette i et nettverk som ligner på Ethereum 2.0, er det sannsynlig at han i den spesielle skjervkomiteen vil oppnå dobbelt så mange innsatser som ærlige validatorer. Så den ondsinnede aktøren kontrollerer ⅔ av stemmene i skjærkomiteen. I Ethereum 2.0 er dette antall stemmer nok til å “fullføre” blokken. Anta at han vil dobbelt bruke noen mengder mynter i skjæret. Han kunngjør en transaksjon der B sender mynter til brukeren A. Denne transaksjonen kommer inn i blokken signert av ærlige validatorer. B legger til en del av stemmene slik at blokken blir valgt.
I konsensus basert på PoS, må ⅔ av stemmene i komiteen være bekreftende for å “fullføre” blokken. I følge vår antagelse er halvparten av angripernes stemmer ⅓ av stemmene i komiteen. Sammen med ærlige validatorer legger det opp til ⅔. Det er en terskel som kreves for å “fullføre” blokken. Så A får vite at transaksjonen blir “ferdig” og frigjør varer til B. Deretter tilbakefører B transaksjonen ved å lage en gaffel og validere den ved hjelp av alle sine stemmer i komiteen. I henhold til Casper-protokollen skal halvparten av B’s eierandel i skjæret som ble brukt i begge gafler kuttes. Designere av Casper-protokollen hevder at dette er kostnaden for angrepet.
I dette forenklede scenariet mister angriperen halvparten av sin andel i skjæret. Også dette beløpet tilsvarer innsatsen til ærlige validatorer i denne skjæringen. Anta at det er N-skjær i nettverket. Deretter mister angriperen 1 / 2N av sin samlede innsats eller 1 / N av den totale innsatsen til ærlige interessenter. Jo flere skjær i nettverket, jo billigere er angrepet med dobbeltbruk. Hvis man anser denne verdien som et mål på nettverkssikkerheten, faller sikkerheten med faktoren N. Legg merke til at dette ikke er eiendommen som hevdes å være den mulige løsningen på skalerbarhetstrilemmaet. Imidlertid hevder utviklere av Ethereum 2.0 at kostnadene for dette angrepet er så store at faktoren 1 / N ikke påvirker den.
Sofistikerte angrep med dobbeltbruk
Angrepsscenariet beskrevet i forrige avsnitt er ikke unikt. Den ondsinnede skuespilleren kunne utføre enda mer sofistikerte angrep med dobbeltbruk. Forfatterne av Casper-protokollen hevder at en del av angriperens stake alltid blir kuttet. Er det sant? Svaret er nei”. Alt som oppstår i nettverket blir registrert i blockchain. Hvis blockchain ikke inneholder noen oversikt over ondsinnede handlinger, hvordan kan man anklage noen for å utføre ondsinnet oppførsel?
I den neste versjonen av dobbeltangrepet forhindrer den ondsinnede skuespilleren å kutte sin innsats. For å kutte innsatsen, bør ærlige noder inkludere den respektive posten i den spesifikke kjeden som brukes til å koordinere interessenter. Det kalles Beacon-kjeden. Hvis Beacon-kjeden følger den tillatelsesløse PoS-konsensusen, kreves det ⅔ av validatorens stemmer for å inkludere posten i blockchain. Så lenge den ondsinnede skuespilleren kontrollerer ⅓ i Beacon-kjedekomiteen, kan han unngå å kutte. Hvis han forhindrer kutting til det tidspunktet hans innsats blir låst opp, er angrepet nesten gratis. Spørsmålet er: hvor lenge skal han holde sin innsats låst?
I den gjeldende spesifikasjonen av Ethereum 2.0 er innsatsen låst i et halvt år. Angriperen kunne imidlertid starte angrepet helt på slutten av stavlåsintervallet. En mulig løsning er å sette et tidsintervall før løslatelsen, i løpet av hvilken tid innsatsen ikke kan velges i skjærkomiteen, og deretter bli vant til et angrep med dobbeltbruk. Denne mottiltaket reduserer imidlertid kostnadseffektiviteten ved innsatsen. I løpet av dette tidsintervallet bør alle berørte interessenter få kompensasjon for sine låste midler. Likevel er disse midlene “deaktivert” og deltar derfor ikke i blokkvalidering. Videre kan den ondsinnede skuespilleren bruke denne løsningen til hans fordel, siden han nøye kan velge et tidspunkt for angrepet. Han kan låse innsatsen sin samtidig, slik at innsatsen blir “aktivert” og “deaktivert” samtidig. Derimot har ærlige interessenter ofte en del av sin eierandel deaktivert, og derfor ekskludert fra valideringsprosessen. Så å få ⅔ av stemmer i komiteer blir enda enklere.
Man kan hevde at i denne versjonen av angrepet kan ærlige noder observere at ⅓ av innsatsen i Beacon-kjedekomiteen brukes til å oppfylle angrepet. De kunne iverksette tiltak som ikke er oppført i Casper-protokollen for å straffe angriperen. Et første alternativ ville være å prøve å låse mer penger på innsatsen. Det andre er å starte en ny gaffel. Det første alternativet er ikke en levedyktig sak, siden angriperen kan gjennomføre “sensur.”
Han kan bruke sine stemmer i Beacon-kjedekomiteen for å forhindre tildeling av nye innsatser. Dermed kan han ha ⅔ av stemmene i skjærkomiteer så lenge han vil. Det andre alternativet er levedyktig, men det er et misbruk av nettverksprotokollen som aksepteres av deltakerne helt i begynnelsen. Hvis en uavhengig observatør prøver å finne ut hva som skjer i nettverket, basert på dataene som er registrert i blockchain, vil han ikke kunne skille ondsinnede aktører fra ærlige validatorer..
Før vi avslutter denne diskusjonen, la oss vurdere en modifisert versjon av det siste angrepet. Den nye versjonen er en kombinasjon av et langtrekkende angrep og et ingenting som står på spill. Nok en gang bruker den ondsinnede skuespilleren en del av staven sin til å forkaste en skjærkjede. I dette tilfellet avslører han imidlertid ikke en ny kjede til ærlige noder. Så venter han til hans kompromitterte innsats blir låst opp. Nå selger han sin kompromitterte eierandel til de hensynsløse deltakerne, stopper den ærlige skjærkjeden ved å bruke sine stemmer i komiteen, og avslører deretter gaffelen sin til andre skjærdeltakere. I følge protokollen bør kjeden vedlikeholdt av ærlige validatorer forlates. Så den modifiserte versjonen av angrepet er vellykket. Legg merke til at innsatsen som brukes til å forkaste kjeden selges. Dermed har den ondsinnede skuespilleren unngått å kutte igjen. Videre, i denne versjonen av angrepet, ble ikke hans eierandel på Beacon-kjeden kompromittert.
Man kan foreslå en løsning på den modifiserte versjonen av angrepet, basert på bruk av sjekkpunkter. I følge denne løsningen inneholder kjeden sjekkpunktblokker som “ikke kan tilbakestilles.” Denne løsningen er imidlertid kontroversiell, siden begrepet “sjekkpunkt” ikke fungerer i innstillingen av blockchain. Som vi vet blir blokker i blockchain aldri fullført. Forking er blockchainens naturlige eiendom, og enhver gaffel vil ha sine egne “fullstendig avsluttede kontrollpunkter”. Derfor er bruken av begrepet “kontrollpunkt” ofte forvirrende og villedende. Hvis noden må stole på sjekkpunktet, må den stole på “sjekkpunktleverandører.” Det krever å innføre et element av tillit i et angivelig pålitelig nettverk.
Vår konklusjon er at angriperen som tildelte en betydelig mengde kraft i form av innsatser, kan starte ødeleggende angrep i nettverket, samtidig som man unngår å kutte mekanikken. Denne angrepsformen ligner veldig på et 51% angrep som kan utføres i blockchain basert på PoW.
Vinod Manoharan er en teknologientreprenør og grunnlegger og administrerende direktør for Jax Multiversal Holdings, et holdingselskap hvis portefølje inkluderer online spillselskaper, betalingsportaler og Blockchain-teknologiselskaper. Manoharan er også grunnleggeren av JAX.Network, en teknisk oppstart i Ukraina, fokusert på Blockchain-teknologi og mer spesifikt, å løse det beryktede Blockchain Scalability Trilemma.
Skrevet i samarbeid med Iurii Shyshatskyi, vitenskapelig leder ved JAX.Network.
Utvalgt bilde: Shutterstock / Lopyryev Artem / Kuklos