Hypotetiske angrep på kryptovalutaer

I denne guiden skal vi analysere forskjellige angrep som kan skje med kryptovalutaen din (for det meste bitcoin). Selv om det er sant at de fleste angrepene vi vil snakke om, er rent hypotetiske, har vi allerede sett eksempler på virkeligheten av noen av angrepene som er beskrevet her (Mt. Gox og smidighet). Før vi setter i gang, et stort rop til “Game theory and Network attacks” -videoen av “Blockchain at Berkley” for å gi inspirasjon til artikkelen.

Hypotetiske angrep på kryptovalutaer

Hypotetiske angrep på kryptovalutaer

Merk: Vi bruker disse to begrepene mye i artikkelen nedenfor, så la oss definere det akkurat nå:

  • Foreldreløse blokker aka foreldreløse: Blokker som ikke kunne legges til hovedkjeden til tross for at de ble vellykket utvunnet.
  • Hashrate: Betyr i utgangspunktet hvor kraftig den beregnende ressursen til gruvearbeideren er.

Så uten videre, la oss komme i gang.

Hva er gruvebassenger?

Før vi går inn i beskrivelsene av forskjellige angrep, la oss forstå hva et gruvebasseng er (i denne delen vil vi utelukkende snakke om BTC). Hele blockchain fungerer på grunn av et nettverk av “gruvearbeidere”. Gruvearbeiderne “gruver” i utgangspunktet for nye blokker i blokkjeden ved å løse komplekse kryptografiske oppgaver ved hjelp av deres beregningskraft. Som et resultat av dette får de en gruvebelønning som er 12,5 BTC.

Når de vellykket miner en blokk, får de makten til å sette inn transaksjoner inne i blokken. Det er i utgangspunktet slik transaksjoner skjer i all kryptovaluta, en gruvearbeider legger inn oversikten over transaksjonen inne i blokken.

Husk nå en ting, det er bare et begrenset antall bitcoins som ble opprettet (21 millioner mynter). Satoshi Nakamoto, skaperen av bitcoins, så for seg at etter hvert som flere og flere gruvearbeidere kom inn, ville graden av bitcoin-gruvedrift eksponentielt øke, så mye at alle tilgjengelige bitcoins kunne utvinnes om et par år!

Nå kan dette være en katastrofe for bitcoins, for som alle økonomiske varer ligger verdien av bitcoin i tilbud og etterspørsel. Hvis tilbudet av bitcoins plutselig øker, vil det redusere etterspørselen, noe som igjen vil skade verdien. Forholdet mellom etterspørsel og etterspørsel er et av de mest kritiske økonomiske begrepene. Følgende er hvordan etterspørselsgrafen ser ut:

Hypotetiske angrep på kryptovalutaer

For å forhindre at tilførselen av bitcoins går ut av hånden og for å gjøre det til en mer bærekraftig modell, implementerte Satoshi et vanskelighetsjusteringssystem.

Hva er vanskelighetsjustering? Etter hvert som flere og flere blokker blir utvunnet, øker vanskeligheten med de kryptografiske oppgavene eksponentielt. I utgangspunktet, jo flere bitcoins du bryter ut, jo vanskeligere blir prosessen med gruvedrift. Gruvearbeidere fant snart ut at de ikke lenger kan effektivisere meg selv, prosessen ble dyrere og dyrere. Så de bestemte seg for å samle ressursene sine sammen og danne klikker og grupper for å utvinne bitcoin mer effektivt. Disse gruppene av gruvearbeidere kalles “gruvebassenger”.

Fordeler og ulemper med gruvedrift

Fordeler

  • Bassengene drives av bassengforvaltere. Det er langt lettere å oppgradere det samlede nettverket fordi i stedet for å koordinere med tilfeldige uavhengige gruvearbeidere, kan bassengforvalterne bare oppgradere nettverket alene..

  • Reduserer avvik i gruvebelønninger: En av de største grunnene til at gruvearbeidere blir med i bassenger, er å redusere variansen i gruvedriftbelønningen. For å forstå hva avvik betyr og hvordan det påvirker gruvearbeidere, må vi gjøre litt matematikk. Takk til L.M. Goodman og hennes mediumartikkel for forklaringen. La oss først forstå hva Bernoulli-distribusjon er. Bernoulli-fordelingen sier i utgangspunktet at for hver diskret distribusjon som har to utfall, “suksess” og “fiasko” hvis sannsynligheten for suksess er p (hvor, 0

    Nå skal vi definere “standardavvik”. Standardavvik er et begrep som definerer hvor mye medlemmene i en bestemt distribuert gruppe varierer fra gjennomsnittet av gruppen.

I sammenheng med blockchain og dette eksempelet, er standardavvik hvor mye vil denne gruvebelønningen bli avviket fra den forventede belønningen.

Standardavvik = [sqrt] varians / forventet avkastning.

Nå som vi vet:

  • varians = 365 * 24 * 6 * p * (1-p)
  • forventet avkastning = 365 * 24 * 6 * s

Så når vi erstatter disse verdiene får vi:

  • Standardavvik = [sqrt] (365 * 24 * 6 * p * (1-p)) / 365 * 24 * 6 * p

La oss nå ta et eksempel. Anta at en gruvearbeider eier 0,01% av hashgraden i nettverket. (Betydning p = 0,0001).

Hvis du erstatter verdiene i samsvar med standardavviksligningen, vil du få et standardavvik på 0,4364 ELLER 43,6%!! Et avvik på 43,6% fra forventet belønning eller en gruvearbeider som eier 0,01% hashrate.

Den eneste løsningen for å redusere dette avviket og avviket er å samle ressurser for å øke den totale hashprosenten, som er akkurat det gruvedriftene tilbyr.

Ulemper

  • Mye avhenger av etikken til bassengforvalteren.
  • Sentralisering: Den største kritikken som de fleste bassenger møter, er at de fører til sentralisering av mynter. La oss se hva vi mener med det. Kassa hashratefordeling av bitcoin:Hypotetiske angrep på kryptovalutaerBilde med tillatelse: Blockchain.info ~ 50% av verdens bitcoinforsyning blir utvunnet av 4 bassenger !! Bare 4! Bitcoin skal være en desentralisert valuta, men hvor desentralisert kan det egentlig være hvis nesten halvparten av den blir kontrollert av 4 bassenger? Dessverre er dette ikke et problem eksklusivt for Bitcoin, sjekk ut distribusjonsdiagrammet for Monero:Hypotetiske angrep på kryptovalutaer

    Bilde med tillatelse: Monero Hash. I Monero kontrolleres 42,6% av tilbudet av 1 ukjent gruppe!!

    Når et basseng overveldende tar inn mer og mer andel i hashrate-fordelingsdiagrammet, beseirer de formålet med desentralisering. Vi har allerede sett hvor viktige gruvearbeidere er i sammenheng med en blockchain. Når en gruppe gruvearbeidere kontrollerer så mye hash, har de en tendens til å bli den sentrale autoriteten selv. Faktisk, når en gruppe gruvearbeidere tar over 51% av nettverkets hashrate, setter de automatisk i gang et angrep kalt “51% -angrepet”.

Hva er 51% -angrepet?

51% -angrepet skjer når 51% av nettverkets hashrate er under en enhet. Denne enheten kan være et gruvebasseng eller en autoritetsperson. I det øyeblikket 51% av hashratet er beleiret, ødelegger det i utgangspunktet den desentraliserte naturen og åpner nettverket for en mengde angrep:

  • Egoistisk gruvedrift.
  • Avbryter alle transaksjoner.
  • Dobbel utgift.
  • Tilfeldige gafler.

Nå, før vi går gjennom hvert av disse angrepene, la oss se hvordan og når kan et 51% -angrep skje.

Sak 1: Et gruvebasseng blir for stort

Den vanligste formen for 51% -angrep kan skje når en gruvedrift blir for stor og får mer enn 51% hashrate. Faktisk har dette allerede skjedd med bitcoin en gang før. I juli 2014 passerte det populære gruvebassenget GHash.io 51% hashrate. De kuttet seg frivillig ned og uttalte eksplisitt at de aldri ville passere 39,99% hashrate.

I august 2016 fikk Krypton og Shift, som er to blokkjeder basert på Ethereum, 51% angrep.

Sak 2: Å ha ubegrenset kapital

En kraftig enhet med ubegrenset kapital (som et land eller en milliardær) kan kjøpe nok utstyr til å overta blockchain. En annen interessant variant av dette er et “Gold finger attack”.

Avbild dette, antar at du er en fiendtlig enhet og at du har ubegrenset kapital til din disposisjon. Du kan i teorien kjøpe alle ASIC-ene og GPU-ene som kreves for å sette i gang en 51% -overtakelse av kjeden. Du kan deretter fortsette å ødelegge verdien av mynten ved å enten starte dobbeltbruk eller ved å oppblåse kjeden med søppelposttransaksjoner.

Sak 3: Beviset for overtakelse av arbeid

Dette er et veldig interessant og djevelsk scenario. Vitalik Buterin ga et godt eksempel på dette ved å vise hvordan overtakelsesproblemet kan skje i Ethereum.

Anta at noen lager en hypotetisk smart kontrakt for en aktivitet. Vilkårene i kontrakten går slik:

  • Enhver gruvearbeider kan delta i aktiviteten ved å sende et veldig stort innskudd til kontrakten.
  • Gruvearbeiderne må sende andeler av de delvis fullførte blokkene som de har utvunnet i kontrakten, og kontrakten verifiserer den og verifiserer også at du er gruvearbeider og at du har tilstrekkelig hashkraft.
  • Før 60% av gruvearbeiderne i systemet blir med, kan du dra når du vil.
  • Etter at 60% av gruvearbeiderne blir med, vil du være bundet til kontrakten til de 20 blokkene er lagt til hardforkjeden, også kjent som den røde kjeden..

Hypotetiske angrep på kryptovalutaer

Ikke bare vil den nye kjeden vokse seg større og lengre, siden 60% av hele gruvearbeidere er bundet kontraktuelt i denne nye kjeden, vil dette raskt gjøre den opprinnelige eldre kjeden aka den blå kjeden irrelevant.

Nå spør du kanskje hvorfor gruvearbeidere blir med på en overtakelse?

La oss se deres insentiv for å bli med:

  • Mulig belønning på slutten.
  • Ingen risiko for å bli med fra deres side.

Hva er deres insentiv til å følge opp kontrakten?

  • Den enorme mengden de har satt inn i begynnelsen.
  • Nok en gang muligheten for en stor belønning.

Så, disse i nøtteskall er visse eksempler på hvordan 51% hashrate kan overtas av en enhet. La oss nå se konsekvensene av et slikt angrep.

Hva er konsekvensene av et 51% angrep?

Som diskutert ovenfor er de 4 hovedangrepene som kan skje direkte som et resultat av 51% -angrepet:

  • Egoistisk gruvedrift.
  • Avbryter transaksjoner.
  • Dobbel utgift.
  • Tilfeldige gafler.

Egoistisk gruvedrift

Når en enhet klarer å få over 51% av hashkraften, er beregningsfordelen de har over konkurrentene virkelig svimlende. Som vi har diskutert tidligere, gruver gruverne etter mynter ved å oppdage og legge til blokker i blockchain. Måten dette skjer på er at de løser ekstremt kompliserte kryptografiske oppgaver. Ved å oppdage blokken, må hele nettverket (eller i det minste flertallet) erkjenne at det oppfyller det nødvendige beviset på arbeidskriteriet, og deretter blir det en del av hovedkjeden.

Anta at Alice og Bob er to gruvearbeidere. Det er en sjanse for at begge to løser puslespillet samtidig for begge sine respektive blokker. Etter det handler alt om hvem nettverket velger og godtar å utvide. F.eks. Hvis 80% av nettverket velger å gruve på Alice’s block, er det en større sjanse for at de kommer opp med neste blokk enn de 20% som er med på Bob (på grunn av høyere hashrate). Når dette skjer, blir Alice’s block en del av kjeden mens Bob blir en foreldreløs blokk (en blokk som ikke er festet til hovedkjeden).

Tenk nå på dette. Anta at Bob har 51% av hashgraden i Bitcoin til sin disposisjon. Han kan rett og slett bryte for blokker og holde gruvedrift på toppen av det uten å vente på nettverkets godkjenning fordi han selv representerer flertallet (siden han eier 51% av hashgraden). Så han kan bare fortsette å bryte på toppen av blokkene sine uten å bry seg om å la nettverket vite og samle alle belønnings- og transaksjonsgebyrene.

Avbryte transaksjoner

Hvordan skjer transaksjoner i kryptovalutaer? Lang historie kort, hvis Alice skulle sende 1 BTC til Bob, må Alice sende transaksjonen etter å ha signert den til gruvearbeiderne, som deretter kan bekrefte og legge den i blokkene sine. På den måten kan Bob da få sin 1 BTC. Nå hvis bitcoin var under 51% angrep, er sjansen stor for at flertallet av blokkene vil bli utvunnet av angriperen. I slike tilfeller vil det være fullstendig mulig for angriperen å ikke godta noen transaksjoner til noen av blokkene deres (som kan være alle fremtidige blokker i kjeden). Hvis dette skulle skje, vil det ødelegge bitcoin.

Dobbel utgift

En av de mange viktige rollene som gruvearbeidere har, er å forebygge “dobbeltbruk”. Dobbeltbruk betyr i utgangspunktet å bruke nøyaktig samme mynt på mer enn én transaksjon samtidig. Dette problemet er omgått på grunn av gruvearbeidere. I en blokkjede skjer transaksjoner bare når gruvearbeidere plasserer transaksjonene i blokkene de har utvunnet.

Så anta at Alice skulle sende 1 bitcoin til Bob, og så sender hun den samme mynten til Charlie, gruvearbeiderne ville legge inn en transaksjon inne i blokken og i prosessen overskrive den andre, og forhindre dobbeltbruk i prosessen. Dette fungerer imidlertid bare når gruvearbeiderne ikke er kompromittert.

I et 51% angrep har gruvearbeiderne allerede blitt kompromittert. Som det er nevnt tidligere, vil angriperen i et 51% -angrep mest sannsynlig være den som legger til nye blokker i blockchain. De kan deretter starte et dobbeltforbruk hvor de kan bruke samme mynt til å gjøre mer enn én transaksjon.

Dette angrepet er vanligvis gjort for å devaluere en mynt. Som nevnt ovenfor kan en fiendtlig enhet sette i gang et “Gold Finger” -angrep for å dobbeltbruke mynten uten å skille og ødelegge verdien. Dobbeltbruk kan også skje via “forking”.

Tilfeldige gafler

Så, hva er en gaffel?

En gaffel er en tilstand der tilstanden til blockchain divergerer i kjeder der en del av nettverket har et annet perspektiv på transaksjonshistorikken enn en annen del av nettverket. Det er i utgangspunktet hva en gaffel er, det er en avvik i perspektivet til tilstanden til blockchain.

Hypotetiske angrep på kryptovalutaer

I eksemplet over er den røde kjeden en gaffel fra den viktigste blåkjeden.

Så hvorfor ville en valuta som bitcoin, under angrep på 51%, ønske å forkaste fra hovedkjeden? Anta at angriperen har brukt 20 BTC i blokk 51 for å kjøpe 400 Ethereum (hypotetisk scenario). De kan da ganske enkelt gjøre en gaffel i blokk 50 for å gå til blokk 51. Når du gaffel, vil du få den nøyaktige mengden valuta du hadde i blokken før i den nylig gaffelblokken. I utgangspunktet, hvis angriperen hadde 20 BTC i blokk 50, i blå blokk 51 ville de ha 400 ETH og i den røde blokk 51 ville de fortsatt ha 20 BTC.

Så, postgaffel, de ville fortsatt ha sine 20 BTC og ytterligere 400 ETH! Dette er det doble forbruket som skjer via gaffel.

Det er et annet interessant scenario der en angriper kan velge å forkaste. Husk, som vi sa, angriper under 51% de fleste, om ikke alle, blokkene ville bli utvunnet av angriperen selv? Hva vil skje, hvis en eller annen tilfeldig gruvearbeider klarer å lage en ny blokk? Vel, angriperen vil rett og slett forkaste kjeden før denne nye blokken og fortsette gruvedrift på den nye kjeden uansett!

Nå tenker du kanskje, hva skal få resten av de 49% til å gå med i den nye kjeden? Svaret på det ligger i et koordineringsspill. Husk at de fleste av de 49% gruvearbeiderne vil være spredt og uavhengige. De vil ønske å lete etter egne egeninteresser. Så i denne sammenhengen ser vi på spillteori, spesielt koordineringsspill, for svar.

La oss ta et eksempel på koordineringsspillet:

Anta at vi vil endre språket til et symbolbasert språk. F.eks .:

  • Opprinnelig uttalelse: “Gi meg nummeret ditt?”
  • Ny uttalelse: “#?”

Hvis du bare snakker med dette språket, vil det mislykkes fordi flertallet ikke forstår hva du snakker om, og du vil bli unngått fra samtaler, eller utbetalingen for deg er veldig lav og du har ikke noe incitament til å endre.

Men hvis flertallet av samfunnet ditt skifter til dette språket og bruker det utelukkende, må du endre språket ditt, ellers vil du aldri kunne passe inn. Nå er incitamentet for deg å bli med høyt.

Bruk den samme logikken her. Størstedelen av hashhastigheten er allerede i gaffelkjeden. Hvis du er den uavhengige gruvearbeideren, vil du være i samme kjede som flertallet.

Hvor sannsynlig er det at bitcoin kan være utsatt for et 51% angrep?

Som vi har nevnt tidligere, møtte bitcoin dette scenariet en gang da Ghash-bassenget oversteg 51%, men sannsynligheten for at det skjer er liten akkurat nå. For at en angriper skal starte et 51% angrep, er insentivene (i utgangspunktet) veldig lave. Mengden kapital som kreves for å gjøre 51% på bitcoin er svimlende. Faktisk, i tilfeller som disse, er markedsprisen på bitcoin et flott skjold. Jo høyere markedsprisen, jo mer blir betalt kraft, og jo dyrere blir et angrep siden ressursinnkjøp blir dyrere.

La oss nå se på flere måter blockchain kan angripes på, som ikke har noe å gjøre med 51% -angrepet. Husk at de fleste av disse eksemplene er av hypotetisk karakter, så ikke la alarmklokkene lyde!

Hva er “Kannibalisering av bassenger”?

La oss gjøre et tankeeksperiment.

Anta at den totale hashraten av bitcoin er 100, hvorav 30 er din. Du har effektivt 30% hashrate. Anta nå at gruvebelønningen er 1 BTC, noe som betyr, gitt at du har 30% hashrate, forventes det også at du får 30% av gruvebelønningen, som er: 0,3 BTC.

Nå har du to alternativer:

Alternativ 1: Du kjøper mer gruveutstyr

Anta at du kjøper gruveutstyr som øker ditt og nettverkets hashrate med 1.

Hvilket betyr at vi opprinnelig antok at nettverkets hashrate var 100 og hashrate til 30.

Nå er nettverkets hashrate 101 og ditt 31, noe som betyr din egen 31/101 * 100 = 30,69% av nettverkets hashrate. Så det betyr også at du får 30,69% av gruvebelønningen, som er 0,3069 BTC. Så dette betyr at for hver 1% HR du legger til i arsenalet ditt, får du en 0.0069 BTC-gevinst (0.3069 – 0.3000).

Alternativ 2: Du kannibaliserer bassenget

Så i det forrige eksemplet la du til 1% hashrate til ditt eget arsenal, hva om du skulle distribuere den hashrate likt blant alle gruvearbeiderne, og du holder tilbake alle gyldige blokker du også mine? Vi vil utvide om “blokkere tilbakeholdelse” senere, men for å bare gi deg en kort ide, betyr det i utgangspunktet at du utvinner en blokk, men at du ikke avslører den for nettverket og bare holder den for deg selv.

La oss se på matematikken bak den nå:

Hvis vi tar bort 30% hashrate (siden du holder tilbake blokkene dine, vil du ikke få noen belønning via dine egne hashrates), hadde resten av nettverket totalt 70% hashrate.

Hvilket betyr at de normalt får 70% av blokkbelønningen, som i dette tilfellet er 70% av 1 BTC = 0,7 BTC. Men nå, siden du har distribuert den ekstra 1% hashraten til resten av gruvearbeiderne, ser dette slik ut nå:

  • Total hashrate eksklusiv din andel = 71.
  • Ærlig hashrate = 70.
  • Uærlig hashrate = 1.

Siden du eier 1/71 av all annen hashrate, får du:

1/71 * 0,7 = 0,0098 BTC-inntekter fra arbeidet som andre gruvearbeidere har gjort.

La oss nå sammenligne de to. Hvis du skulle drive ærlig gruvedrift, får du 0,0069 BTC, og hvis du skulle være uærlig så får du 0,0098 BTC. Så det er mer lønnsomt å kannibalisere bassenger enn å være ærlig!

Hva er Block Withholding?

Blokkholding er en annen form for egoistisk gruvedrift. Tenk deg dette scenariet, du er en gruvearbeider i bitcoin-nettverket som bruker de mest sofistikerte og beste ASIC-ene. Gruvedrift er en veldig enkel oppgave for deg.

Anta at du miner en bock, men du avslører den ikke for nettverket. I stedet for å kunngjøre nettverket og samle inn belønningen din, holder du blokken hemmelig og min på toppen av den blokken. Slik ser det ut:

Hypotetiske angrep på kryptovalutaer

Bilde med tillatelse: Blockchain på Berkley

De “hemmelige blokkene” er de du har utvunnet og holder tilbake fra resten av nettverket. Når du finner en annen blokk, kan du avsløre de to blokkene for nettverket. Hva dette vil gjøre er følgende:

  • Dobbel belønningen du kunne ha samlet inn.
  • Vær blokkdiktatorene i to blokker i stedet for en, og dobbelt så mye du kan tjene via transaksjonsgebyrer.

Årsaken til at det kalles “egoistisk”, er fordi du går imot ideen om “lik mulighet for alle” som gruvedrift står for. Alle må ha en ordentlig risting ved gruvedrift og oppdage sine egne blokker. I tillegg kan dette også føre til nettverksmonopolisering.

Uansett er det to måter dette kan slå ut på:

Scenario nr. 1: En gruvearbeider bryter en blokk etter at du allerede har utvunnet to blokker

Så hva skjer hvis en gruvearbeider klarte å bryte en blokk etter at du allerede har utvunnet 2 blokker i det skjulte? Dere vil begge sende informasjonen til nettverket. Nettverket vil se at du har den lengre kjeden og vil gi blokkene dine nikket over den andre ensomme blokken. Noe som betyr at den blokken vil være foreldreløs:

Hypotetiske angrep på kryptovalutaer

Bilde med tillatelse: Blockchain på Berkley

Scenario nr. 2: En gruvearbeider bryter en blokk før du kan utvinne en ny blokk

Hva vil skje hvis du ikke klarte å bryte en ny blokk over den første, og noen allerede klarte å bryte en blokk?

Hypotetiske angrep på kryptovalutaer

Du vil både kringkaste dette til nettverket og starte et løp for godkjenning.

Saken er imidlertid at du fremdeles har 50% sannsynlighet for å få godkjent blokken din, som fortsatt er gode odds å jobbe med.

Hva er P + Epsilon Attack

Et bevis på arbeidssystem er sårbart for en bestemt type angrep kalt “P + epsilon-angrepet”. For å forstå hvordan dette angrepet fungerer, må vi definere noen begreper før hånden. Ukoordinert valgmodell: En ukoordinert valgmodell er en modell der alle deltakerne ikke har insentiv til å jobbe med hverandre. Deltakerne kan danne grupper, men er ikke på noe tidspunkt store nok til å bli flertall.

Koordinert valgmodell: Dette er en modell der alle deltakerne koordinerer på grunn av et felles insentiv.

Nå antas det at blockchain er en ukoordinert modell, men hva om det er et incitament for gruvearbeiderne til å gjøre en handling som strider mot blockchainens integritet? Hva om det er bestikkelse involvert for å få gruvearbeiderne til å ta en bestemt handling? Det er her den bestikkende angripermodellen kommer inn.

Hva er den bestikkende angripermodellen?

Se for deg en ukoordinert modell. Hva om en angriper kommer inn i systemet og oppmuntrer gruvearbeiderne til å koordinere seg med hverandre etter å ha gitt dem bestikkelse? Denne nye modellen kalles en bestikkelsesangrepsmodell. For å bestikke systemet, må angriperen ha to ressurser:

  • Budsjett: Den totale mengden penger som angriperen har som de er villige til å betale for å få gruvearbeiderne til å ta en bestemt handling.
  • Kostnad: Prisen som gruvearbeideren faktisk ender med å betale.

Imidlertid, hvis en angriper bestemmer seg for å angripe blockchain, kommer vi i en interessant gåte … og det er her “p + epsilon-angrepet” kommer inn. For referanse, sjekk ut denne tabellen:

Hypotetiske angrep på kryptovalutaer

Bilde med tillatelse: Vitalik Buterin Presentasjon.

Se for deg et enkelt scenario som et valg. Hvis folket stemmer på en bestemt person hvis de stemmer på samme måte som alle stemmer, får de utbetaling, men ellers gjør de ikke det. Tenk deg nå at en bestikkelse kommer inn i systemet og legger denne tilstanden til et individ. Hvis du stemmer OG de andre ikke stemmer, vil du få en utbetaling av “P + ε”. Den vanlige utbetalingen OG en ekstra bestikkelse av ε på toppen av det.

Så nå ser utbetalingsmatrisen slik ut:

Hypotetiske angrep på kryptovalutaer

Bilde med tillatelse: Vitalik Buterin Presentasjon.

Tenk deg dette scenariet, alle som er involvert i dette scenariet får vite at hvis de stemmer uansett, er det en sjanse for at de kan få utbetaling, men hvis de ikke stemmer, er det 50-50 sjanse for at de får en Lønne seg.

Hva tror du spillerne vil gjøre da? Selvfølgelig skal de stemme for å få en garantert utbetaling. Nå er det her ting blir interessante. Som det kan sees i matrisen, må bestikkeren bare betale bestikkelsen “ε” når bare personen stemmer mens de andre ikke gjør det. Imidlertid, i denne situasjonen siden alle stemmer, skifter Nash-likevekten til:

Hypotetiske angrep på kryptovalutaer

Det stemmer, bestikkeren trengte ikke engang å betale bestikkelsen!

Så, la oss nærme oss dette problemet fra bestikkelsens POV:

  • Overbevis gruppen om å stemme på en bestemt måte.
  • Oppnå målet uten å måtte betale bestikkelsen.

Det er et stort vinn-vinn-scenario for bestikkeren, og dette har stor betydning for blockchain, spesielt i et proof-of-work-system. La oss sjekke ut den gamle hypotetiske blockchain igjen:

Hypotetiske angrep på kryptovalutaer

Anta at bestikkeren virkelig vil at kjeden skal hardfork og erklærer at en gruppe gruvearbeidere som velger å bli med i den nye kjeden vil få bestikkelse på ε, dette vil incitamente hele gruvearbeidersamfunnet til å koordinere og bli med i den nye kjeden.

Tydeligvis må bestikkelsen være ekstremt høy for at noe slikt skal skje, men som vi har sett i bestikkelsesangrepsmodellen ovenfor, trenger ikke angriperen engang å betale det nevnte beløpet. I følge Vitalik Buterin er dette et av de største problemene med beviset på arbeidssystemet, dets sårbarhet for P + epsilon-angrepet.

Løsningen ligger i bevis på innsatsen.

Løsningen på denne formen for insentivdrevet angrep ligger i bevis på innsatsen. I dette systemet må gruvearbeiderne sette opp en del av sin personlige formue og investere den i fremtidige blokker. Som et økonomisk system er dette mye bedre fordi straffen i den er langt strengere. I stedet for å få rettighetene tatt og slippe unna med et ”trykk på knokene”, står gruvearbeidere nå overfor den reelle muligheten for at deres eierandel og formue blir tatt bort.

Så hvordan hjelper dette med å forhindre P + epsilon-angrep? Sett dere i en gruvesko. Du har en del av formuen din investert i en blokk som skal legges til i hovedkjeden. Nå kommer en bestikkelse og forteller deg at du kan få en ekstra utbetaling hvis du gjør at blokken din blir med i hovedkjeden. MEN hvis kjeden ikke blir godkjent, er det en enorm risiko for at du mister alle pengene du har investert i blokken. I tillegg, som P + Epsilon-angrepet sier, vil du ikke engang få ekstra utbetaling fra bestikkelsen. Når en gruvearbeider først har investert en andel, er det ingen idé for dem å fortsette i hovedkjeden og ikke bli involvert i skadelige aktiviteter.

Hva er en svarteliste?

Svarteliste er en form for angrep mot en enkelt enhet. Tenk deg at det er en veldig fremtredende enhet som har mye kapital, og de har det ut for denne fyren som heter Jake, og de vil svarteliste dem fra nettverket. La oss faktisk anta at denne enheten er et land som har mange bassenger i sin kontroll, la oss kalle dette landet Aliceland.

Før vi fortsetter, la oss lage en legende:

Hypotetiske angrep på kryptovalutaer

Slik ser en normal blokk ut:

Slik ser blokker utvunnet av Aliceland ut:

Og slik ser blokker som inkluderer Jakes transaksjoner aka Jake-blokker ut:

Ok, så det er to måter Aliceland kan svarteliste Jake på:

  • Straffende gaffel.
  • Fjærgafler.

Sak nr. 1: Straffende gaffel

Det er to forskjellige strategier som du kan utføre via straffegaffel.

Strategi 1:

Siden Aliceland er et land, kan det ganske enkelt beordre alle bassengene sine til ikke å inkludere transaksjoner av Jake i blokkene sine. Dette er en naiv strategi, for for at den skal fungere er det mange ting de må vurdere.

For det første må de ha kontroll over 100% av bassengene i landet deres. Hvis til og med ett basseng er utenfor deres kontroll, kan de inkludere Jakes transaksjon i blokkeringen. Det maksimale de kan oppnå ved å gjøre dette, forårsaker mange forsinkelser og ulemper.

Strategi 2:

Nå hva om, Aliceland vil gjøre straffegaffel OG eier >51% av verdens gruvedrift? Dette er når ligningen helt snur på hodet. Dette er hva de må gjøre.

For det første vil de kunngjøre verden at de ikke vil tillate noen transaksjoner som inkluderer Jake i blockchain lenger, og at ikke en eneste av bassengene deres vil fungere i en kjede som har en “Jake Block” i seg. Med andre ord, i det øyeblikket en Jake-blokk vises, vil Aliceland starte en gaffel.

Anta at dette er slik blockchain ser ut:

Hypotetiske angrep på kryptovalutaer

Tenk deg at en av gruvearbeiderne utenfor Alicelands kontroll legger til Jakes transaksjon i blokken deres og oppretter en Jake-blokk:

Aliceland ser dette vil umiddelbart starte en gaffel. Siden de allerede har 51% flertall, kan de starte gaffelen uten konsensus fra noen andre.

Siden de allerede har kunngjort sine intensjoner på forhånd, og fordi de eier 51% flertall, vil ingen våge å gå imot dem, og selv om de gjør opprør og inkluderer en Jake-blokk, vil de bli tvunget til å foreldreløse den fordi Aliceland bare kan bruke deres flertall for å gaffel og fortsette.

Sak nr.2: Feather Forking

Så vi har sett ovenfor hvordan alle med 51% flertall kan sette en liste over alle som bruker straffegaffel. Nå, hva kan du gjøre hvis du vil svarteliste noen, men ikke eier 51% flertall? Aliceland kan faktisk fortsatt svarteliste stakkars gamle Jake etter en metode som kalles fjærgafler. La oss se hva det betyr.

Aliceland kan erklære at når en Jake-blokk legges til, vil de forsøke å forkaste, men gi opp etter et visst antall bekreftelser (Bekreftelser = antall blokker utvunnet på toppen av den omstridte blokken). Dette er forskjellig fra straffegaffel i den forstand at Aliceland ikke truer med en permanent gaffel, de sier i stedet at de vil gaffel hver gang MEN også vil komme tilbake etter et visst antall bekreftelser.

La oss se et eksempel:

Hypotetiske angrep på kryptovalutaer

Så hva skjedde her?

Da Jake-blokken ble lagt til systemet, gjorde Aliceland en gaffel og ventet på en bekreftelse. I dette tilfellet var bekreftelsen 1 blokk. I det øyeblikket blokken ble lagt til Jake-blokken, forlot Aliceland gaffelen og ble med i hovedkjeden igjen.

Nå tenker du kanskje: “Det er ikke så ille.” Men la oss se på matematikken til det hele.

Anta at Aliceland har “q” hashing power der 0

Så, etter Bernoullis distribusjon, er sjansen for å bryte en blokk og gaffel q ^ 2.

Gjennom vårt eksempel, vil vi anta at Aliceland bare venter på en bekreftelse.

Anta at Aliceland har 20% av verdens hashkraft, så q = 0,2 og sjansen for å bryte en blokk er 0,2 ^ 2 = 0,04 = 4%.

4% sjanse kan ikke virke så høy, men de andre gruvearbeiderne er nå klar over at det er en 4% sjanse for at blokkene deres blir foreldreløse HVIS de inkluderer Jake-blokker.

Så hva er den forventede verdien (EV) som gruvearbeiderne kan få HVIS de inkluderer / ikke inkluderer Jake-blokker?

  • EV (inkludert Jake-blokk) = (1-q ^ 2) * blokkbelønning + Jake-transaksjonsgebyrer.
  • EV (ikke inkludert Jake-blokk) = Block Reward.

Så for at gruvearbeiderne skal få lik EV fra begge scenariene, må Jake betale transaksjonsgebyrer som tilsvarer q ^ 2 * blokkbelønning. La oss se hvor mye det er i sammenheng med bitcoin.

Blokker belønning = 12,5 btc og i dette eksemplet q ^ 2 = .04.

Erstatter verdiene i denne ligningen:

  • q ^ 2 * blokker belønning
  • Og vi får: 0,04 * 12,5 = 0,5 BTC.
  • 0,5 BTC er i skrivende stund $ 2091.

Det er hvor mye Jake må betale i transaksjonsgebyrer HVER eneste gang for å gjøre det verdt for gruvearbeiderne å legge inn en Jake-blokk til hovedkjeden. Ikke mildest sagt det mest praktiske av scenarier!

Hva er transaksjons smidighet?

La oss starte med en kort oversikt over hva en hashing-funksjon gjør. En hashing-funksjon kan ta inn enhver inngang av hvilken som helst lengde, men utgangen den gir har alltid en fast lengde.

Imidlertid er det hverandre en viktig funksjon av hashing som du trenger å vite for å forstå “transaksjonsmulighetsbarhet” som det kalles. Enhver liten endring i inngangsdataene vil endre utgangshashen drastisk.

F.eks. Sjekk ut denne testen som vi gjorde med SHA-256 aka hashing-algoritmen som brukes i bitcoin:

Hypotetiske angrep på kryptovalutaer

Vi har nettopp endret “T” fra store til små bokstaver, og ser på hva det gjorde med utgangen!

En ting til som du trenger å forstå om blockchain er at den er uforanderlig, noe som betyr at når dataene først er satt inn i en blokk, kan de aldri endres. Selv om dette viser seg å være et sikkerhetsnett mot korrupsjon, var det en svakhet som ingen så komme.

Hva om dataene ble tuklet med før de til og med kom inn i blokken? Selv om folk fant ut av det senere, var det ingenting noen kan gjøre med det, fordi data som en gang er lagt inn i en blokk, aldri kan tas ut! Det er egentlig grunnen til at smidighet av transaksjoner er et slikt problem.

Nå, hvorfor skjer transaksjonens smidighet?

Vises at signaturen som følger med inngangsdataene kan manipuleres, noe som igjen kan endre transaksjons-ID. Faktisk kan det få det til å virke som om transaksjonen ikke en gang skjedde i utgangspunktet. F.eks. Anta at du har et sett med blokker som sier “3 + 1 = 4” og så kommer noen sammen og endrer det til “2 + 2 = 4”, resultatet er fortsatt det samme i begge tilfeller “4”, men det indre Transaksjonsdetaljer har blitt veldig gjørmede som et resultat.

La oss se dette i et eksempel på et blockchain.

Anta at Bob vil at Alice skal sende ham 3 BTC. Alice initierer en 3 BTC-transaksjon til Bobs offentlige adresse og sender den deretter til gruvearbeiderne for godkjenning. Mens transaksjonen venter i køen, bruker Bob transaksjonens smidighet for å endre Alice sin signatur og endre transaksjons-ID.

Nå er det en sjanse for at denne manipulerte transaksjonen blir godkjent før Alice blir godkjent, som igjen overskriver Alice’s transaksjon. Når Bob får sin 3 BTC, kan han ganske enkelt fortelle Alice at han ikke fikk 3 BTC som hun skyldte ham. Alice vil da se at transaksjonen hennes ikke gikk gjennom, og vil de sende den på nytt. Som et resultat vil Bob ende opp med 6 BTC i stedet for 3 BTC.

Et av de mest kjente eksemplene på transaksjonsmidlighetsangrepet var Mt Gox-angrepet 2014. Mt. Gox var en av de største bitcoin-børsene i verden, og rundt $ 450 millioner dollar bitcoins ble stjålet fra den.

Nå som bitcoin-kjernen har startet Segwit, vil den stoppe transaksjonsmulighet i BTC.

Hva er timejacking?

Det siste mulige angrepet vi vil snakke om er “timejacking”. Bitcoin-systemet bruker et nettverk av noder for å videreformidle meldinger og informasjon. Hver node trenger å holde oversikt over tiden OG den må være i synkronisering med de andre node-nodene. Måten det gjør på er ved å holde et internt klokkesystem som tilfeldigvis er det samme som beregnet median klokketid for alle dets jevnaldrende. Hvis denne mediantiden avviker mer enn 70 minutter fra systemtiden, justeres den interne klokken og går tilbake til systemtiden.

Som en forholdsregel, og dette er veldig viktig å forstå angrepet, avviser nodene enhver blokk som er mer enn 120 minutter foran den interne klokken. Anta nå at det er en angriper som ønsker å angripe en bestemt målnode. Hvordan vil de gjøre det?

  • Først lanserer de et Sybill-angrep på bitcoin-nettverket. Et Sybill-angrep er et angrep der en angriper har kontroll over flere noder i nettverket, dette kan skje ved å gyte tusenvis av falske noder og feste dem til nettverket. Ved å gjøre angrepet manipulerer angriperen tidsstemplene til nodene i slike en måte at målnoden er 70 minutter bak klokken, mens annenhver node er 70 minutter foran (Hvorfor 70? Slik at den fremdeles er under 70 min-grensen og at klokken ikke går tilbake). Dette skaper i utgangspunktet et gap på 140 minutter mellom målnoden og resten av nettverket.

  • Nå, angriperen bruker min hashrate-kraft og bryter en ny blokk med et tidsstempel som er 190 minutter foran sanntiden..

  • Når denne nye blokken sendes, avviser målnoden den straks siden den ifølge dem ikke er innenfor 120 min-grensen. For målnoden er blokken (190 + 70), 260 minutter bak.

  • Imidlertid aksepterer hver annen node blokken fordi den er innenfor grensen på 120 minutter (190-70 = 120), og gruvearbeiderne i alle disse andre nodene begynner å gruve på den.

  • Så angriperen har nå vellykket partisjonert målnoden fra resten av nettverket. Målnoden begynner å jobbe i sin egen kjede mens alle andre jobber med deres.

  • Angriperen kan nå bryte ut flere gratis blokker fra målnoden og delta i dobbeltbruk. Faktisk, hvis de fortsetter å justere tidsjakken, kan de holde den i gang på ubestemt tid.

Timejacking er veldig skummelt. Faktisk kan en gruppe av ondsinnede gruvearbeidere tidsjakke en gruppe gruvearbeidere og ta dem ut av systemet og øke hashrateprosenten i prosessen.

Hypotetiske angrep på konklusjonen om kryptovalutaer

Så det er en liste over mulige angrep som kan skje med kryptovalutaer. Husk at disse angrepene, eller i det minste de fleste av dem, er rent hypotetiske. Tanken er å ikke øke paranoia; ideen er å utdanne alle om kryptovaluta og teknologien bak den. Hvis du kan tenke deg et mulig hypotetisk angrep som vi ikke har nevnt ennå, kan du kommentere nedenfor og gi oss og alle beskjed.

 

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me