Hypotetiske angreb på kryptovalutaer

I denne vejledning skal vi analysere forskellige angreb, der kan ske med din kryptokurrency (for det meste bitcoin). Selv om det er rigtigt, at de fleste af de angreb, vi vil tale om, er af rent hypotetisk karakter, har vi allerede set eksempler på det virkelige liv på nogle af de angreb, der er beskrevet her (Gox og Transaction-formbarhed). Inden vi kommer i gang, råbte et stort råb til “Game theory and Network attacks” -videoen fra “Blockchain at Berkley” for at give inspiration til artiklen.

Hypotetiske angreb på kryptovalutaer

Hypotetiske angreb på kryptovalutaer

Bemærk: Vi bruger disse to udtryk meget i artiklen nedenfor, så lad os definere det lige nu:

  • Forældreløse blokke aka forældreløse: Blokke, der ikke kunne føjes til hovedkæden, til trods for at de blev udvundet med succes.
  • Hashrate: Grundlæggende betyder, hvor stærk minearbejderens beregningsressourcer er.

Så uden yderligere problemer, lad os komme i gang.

Hvad er minedrift puljer?

Før vi går ind i beskrivelserne af forskellige angreb, lad os forstå, hvad en minedrift er (i dette afsnit vil vi udelukkende tale om BTC). Hele blockchain fungerer på grund af et netværk af “minearbejdere”. Minearbejdere “mine” grundlæggende for nye blokke i blockchain ved at løse komplekse kryptografiske gåder ved hjælp af deres beregningskraft. Som et resultat af dette får de en minearbejdsbelønning, der er 12,5 BTC.

Når de med succes miner en blok, får de magten til at foretage transaktioner inde i blokken. Det er dybest set, hvordan transaktioner sker i al kryptovaluta, en minearbejder registrerer transaktionen inde i blokken.

Husk nu en ting, der er kun et begrænset antal bitcoins, der blev oprettet (21 millioner mønter). Satoshi Nakamoto, skaberen af ​​bitcoins, forestillede sig, at efterhånden som flere og flere minearbejdere kom ind, ville antallet af bitcoin-minedrift eksponentielt stige, så meget at alle de tilgængelige bitcoins kunne udvindes om et par år!

Nu kan dette være en katastrofe for bitcoins, fordi værdien af ​​bitcoin ligesom alle økonomiske råvarer ligger i udbud og efterspørgsel. Hvis udbuddet af bitcoins pludselig øges, ville det mindske efterspørgslen, hvilket igen ville skade dets værdi. Forholdet mellem udbud og efterspørgsel er et af de mest kritiske økonomiske begreber, det følgende er, hvordan udbuds- og efterspørgselsgrafen ser ud:

Hypotetiske angreb på kryptovalutaer

For at forhindre levering af bitcoins i at gå ud af hånden og gøre det til en mere bæredygtig model implementerede Satoshi et vanskelighedsjusteringssystem.

Hvad er vanskelighedsjustering? Da flere og flere blokke bliver udvundet, stiger sværhedsgraden ved de kryptografiske gåder eksponentielt. Dybest set, jo flere bitcoins du udvinder, jo vanskeligere bliver minedriftsprocessen. Minearbejdere fandt hurtigt ud af, at de ikke rigtig kan udvinde effektivt alene selv, processen blev mere og dyrere. Så de besluttede at samle deres ressourcer sammen og danne klik og grupper for at udvinde bitcoin mere effektivt. Disse grupper af minearbejdere kaldes “minedrift puljer”.

Fordele og ulemper ved minedrift

Fordele

  • Puljerne drives af poolchefer. Det er langt lettere at opgradere det samlede netværk, for i stedet for at koordinere med tilfældige uafhængige minearbejdere kan pooladministratorerne simpelthen opgradere netværket alene.

  • Reducerer varians i minedriftbelønninger: En af de største grunde til, at minearbejdere slutter sig til puljer, er at reducere variansen i deres minebelønninger. For at forstå, hvad varians betyder, og hvordan det påvirker minearbejdere, bliver vi nødt til at gøre noget matematik. Tak til L.M. Goodman og hendes mediumartikel for forklaringen. Lad os først forstå, hvad Bernoulli-distribution er. Bernoulli-distributionen siger grundlæggende, at for hver diskret distribution, der har to resultater, er “succes” og “fiasko”, hvis sandsynligheden for succes er p (hvor, 0

    Nu skal vi definere ”standardafvigelse”. Standardafvigelse er et udtryk, der definerer, hvor meget medlemmerne af en bestemt distribueret gruppe varierer fra middelværdien af ​​gruppen.

I sammenhæng med blockchain og dette eksempel er standardafvigelsen, hvor meget vil denne minearbejder afvige fra den forventede belønning.

Standardafvigelse = [sqrt] varians / forventet afkast.

Nu, som vi ved:

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

Så ved at erstatte disse værdier får vi:

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

Lad os nu tage et eksempel. Antag, at en minearbejder ejer 0,01% af hashprocenten i netværket. (Betydning p = 0,0001).

Hvis du erstatter værdierne i overensstemmelse med standardafvigelsesligningen, får du en standardafvigelse på 0,4364 ELLER 43,6%!! En 43,6% afvigelse fra den forventede belønning eller en minearbejder, der ejer 0,01% hashrate.

Den eneste løsning til at mindske denne afvigelse og varians er at samle ressourcer for sammen at øge den samlede hashprocent, hvilket er nøjagtigt hvad minepuljer tilbyder.

Ulemper

  • Meget afhænger af poolchefens etik.
  • Centralisering: Den største kritik, som de fleste puljer møder, er, at de fører til centralisering af mønter. Lad os se, hvad vi mener med det. Checkout hashratefordeling af bitcoin:Hypotetiske angreb på kryptovalutaerBillede med tilladelse: Blockchain.info ~ 50% af verdens bitcoinforsyning udvindes af 4 puljer !! Bare 4! Bitcoin formodes at være en decentraliseret valuta, men hvor decentraliseret kan det virkelig være, hvis næsten halvdelen af ​​det styres af 4 puljer? Desværre er dette ikke et eksklusivt problem for Bitcoin, kassen til fordelingsdiagrammet for Monero:Hypotetiske angreb på kryptovalutaer

    Billede med tilladelse: Monero Hash. I Monero kontrolleres 42,6% af udbuddet af 1 ukendt gruppe!!

    Når en pulje overvældende indtager mere og mere andel i hashrate-fordelingsdiagrammet, besejrer de formålet med decentralisering. Vi har allerede set, hvor vigtige minearbejdere er i forbindelse med en blockchain. Når en gruppe minearbejdere styrer så meget hashrate, har de tendens til selv at blive den centrale myndighed. Faktisk, når en gruppe minearbejdere overtager 51% af netværkets hashrate, indleder de automatisk et angreb kaldet “51% -angrebet”.

Hvad er 51% angrebet?

51% angrebet sker, når 51% af netværkets hashrate er under en enhed. Denne enhed kunne være en minedrift eller en autoritetsfigur. I det øjeblik 51% af hashratet er under belejring ødelægger det dybest set den decentrale natur og åbner netværket for en overflod af angreb:

  • Selvisk minedrift.
  • Annullering af alle transaktioner.
  • Dobbeltforbrug.
  • Tilfældige gafler.

Lad os nu se, hvordan og hvornår kan et 51% angreb ske, før vi gennemgår hvert af disse angreb.

Tilfælde 1: En minepulje bliver for stor

Den mest almindelige form for 51% -angreb kan ske, når en minedrift bliver for stor og får mere end 51% hashrate. Faktisk er dette allerede sket med bitcoin en gang før. I juli 2014 bestod den populære minedrift GHash.io 51% hashrate. De skar derefter frivilligt ned og erklærede udtrykkeligt, at de aldrig ville passere 39,99% hashrate.

I august 2016 led Krypton og Shift, som er to blockchains baseret på Ethereum, 51% angreb.

Sag 2: At have ubegrænset kapital

En magtfuld enhed med ubegrænset kapital (som et land eller en milliardær) kan købe nok udstyr til at overtage blockchain. En anden interessant variation af dette er et “Gold finger attack”.

Billed dette, antag at du er en fjendtlig enhed, og at du har ubegrænset kapital til din rådighed. Du kan i teorien købe alle de ASIC’er og GPU’er, der kræves for at igangsætte en 51% overtagelse af kæden. Du kan derefter fortsætte med at ødelægge møntens værdi ved enten at indlede dobbelt udgifter eller ved at sprede kæden med spamtransaktioner.

Sag 3: Beviset for overtagelse af arbejde

Dette er nu et meget interessant og djævelsk scenarie. Vitalik Buterin gav et godt eksempel på dette ved at vise, hvordan overtagelsesproblemet kan ske i Ethereum.

Antag, nogen laver en hypotetisk smart kontrakt til en aktivitet. Kontraktsbetingelserne går således ud:

  • Enhver minearbejder kan deltage i aktiviteten ved at sende en meget stor indbetaling til kontrakten.
  • Minearbejdere skal sende andele af de delvist udfyldte blokke, som de har udvundet i kontrakten, og kontrakten verificerer den og verificerer også, at du er en minearbejder, og at du har tilstrækkelig hashkraft.
  • Inden 60% af minearbejdere i systemet deltager, kan du forlade det, når du vil.
  • Efter at 60% af minearbejderne tilmelder sig, vil du være bundet af kontrakten, indtil de 20 blokke er blevet føjet til hardfork-kæden, også kaldet den røde kæde.

Hypotetiske angreb på kryptovalutaer

Ikke kun vil den nye kæde vokse sig større og længere, da 60% af hele minearbejdere er bundet kontraktmæssigt ind i denne nye kæde, vil dette hurtigt gøre den oprindelige ældre kæde alias den blå kæde irrelevant.

Nu spørger du måske hvorfor minearbejdere deltager i en overtagelse?

Lad os se deres incitament til at deltage:

  • Mulig belønning i slutningen.
  • Ingen risiko for at deltage fra deres side.

Hvad er deres incitament til at følge kontrakten?

  • Det enorme beløb, de har deponeret i starten.
  • Endnu en gang muligheden for en stor belønning.

Så disse er i nøddeskal visse eksempler på, hvordan 51% hashrate kan overtages af en enhed. Lad os nu se konsekvenserne af et sådant angreb.

Hvad er konsekvenserne af et 51% angreb?

Som diskuteret ovenfor er de 4 hovedangreb, der kan ske direkte som et resultat af 51% -angrebet:

  • Selvisk minedrift.
  • Annullering af transaktioner.
  • Dobbeltforbrug.
  • Tilfældige gafler.

Selvisk minedrift

Når en enhed formår at få over 51% af hashkraften, er den beregningsfordel, de har over deres konkurrenter, virkelig svimlende. Som vi har diskuteret før, mineer minearbejdere efter mønter ved at opdage og tilføje blokke til blockchain. Den måde dette sker på er, at de løser ekstremt komplicerede kryptografiske gåder. Ved at opdage blokken skal hele netværket (eller i det mindste et flertal) erkende, at det opfylder det nødvendige bevis for arbejdskriterium, og derefter bliver det en del af hovedkæden.

Antag nu, at Alice og Bob er to minearbejdere. Der er en chance for, at de begge løser puslespillet på samme tid for begge deres respektive blokke. Derefter handler det om, hvem netværket vælger og accepterer at udvinde. For eksempel. Hvis 80% af netværket vælger at udvinde på Alice’s blok, er der en større chance for, at de kommer op med den næste blok end de 20%, der sidder med Bob (på grund af den højere hashrate). Når dette sker, bliver Alice’s blok en del af kæden, mens Bob bliver en forældreløs blok (en blok, der ikke er knyttet til hovedkæden).

Tænk nu på dette. Antag, at Bob har 51% af hashprocenten i Bitcoin til hans rådighed. Han kan simpelthen mine efter blokke og holde minedrift oven på det uden at vente på netværks godkendelse, fordi han selv repræsenterer flertallet (da han besidder 51% af hashprocenten). Så han kan simpelthen fortsætte minedrift oven på sine blokke uden at gider at fortælle netværket og opkræve alle belønnings- og transaktionsgebyrer.

Annullering af transaktioner

Hvordan sker transaktioner i kryptovalutaer? Lang historie kort, hvis Alice skulle sende 1 BTC til Bob, bliver Alice nødt til at sende transaktionen efter at have underskrevet den til minearbejdere, som derefter kan kontrollere og sætte den i deres blokke. På den måde kan Bob derefter få sin 1 BTC. Hvis bitcoin nu var under 51% angreb, er chancerne for, at flertallet af blokke vil blive udvundet af angriberen. I sådanne tilfælde vil det være helt muligt for angriberen ikke at acceptere nogen transaktioner til nogen af ​​deres blokke (hvilket kan være alle fremtidige blokke i kæden). Hvis dette skulle ske, ødelægger det bitcoin.

Dobbeltforbrug

En af de mange vigtige roller, som minearbejdere har, er forebyggelse af “dobbeltforbrug”. Dobbeltforbrug betyder grundlæggende at bruge den nøjagtige samme mønt på mere end én transaktion på samme tid. Dette problem er omgået på grund af minearbejdere. I en blockchain sker der kun transaktioner, når minearbejdere placerer transaktionerne i de blokke, de har udvundet.

Så antag, at Alice skulle sende 1 bitcoin til Bob, og så sender hun den samme mønt til Charlie, minearbejdere ville lægge en transaktion inde i blokken og i løbet af processen overskrive den anden og forhindre dobbeltforbrug i processen. Dette fungerer dog kun, når minearbejdere ikke er kompromitteret.

I et 51% angreb er minearbejdere allerede blevet kompromitteret. Som tidligere nævnt vil angriberen sandsynligvis være den, der tilføjer nye blokke til blockchain i et 51% -angreb. De kan derefter starte et dobbeltforbrug, hvor de kan bruge den samme mønt til at udføre mere end en transaktion.

Dette angreb udføres generelt for at devaluere en mønt. Som nævnt ovenfor kan en fjendtlig enhed indlede et “Gold Finger” -angreb for dobbelt at bruge mønten uden forskel og ødelægge dens værdi. Dobbeltforbrug kan også ske via “forking”.

Tilfældige gafler

Så hvad er en gaffel?

En gaffel er en tilstand, hvorved blockchain-tilstanden divergerer i kæder, hvor en del af netværket har et andet perspektiv på transaktionshistorikken end en anden del af netværket. Det er dybest set, hvad en gaffel er, det er en divergens i perspektivet af blockchain-tilstanden.

Hypotetiske angreb på kryptovalutaer

I eksemplet ovenfor er den røde kæde en gaffel fra den vigtigste blå kæde.

Så hvorfor ville en valuta som bitcoin under 51% angreb ønske at forkaste fra hovedkæden? Antag, at angriberen har brugt 20 BTC i blok 51 for at købe 400 Ethereum (hypotetisk scenario). De kan derefter simpelthen lave en fork i blok 50 for at gå til blok 51. Når du forkaster, får du den nøjagtige mængde valuta, som du havde i blokken før, i den for nylig gaffelblok. Dybest set, hvis angriberen havde 20 BTC i blok 50, i blå blok 51 ville de have 400 ETH og i den røde blok 51 ville de stadig have 20 BTC.

Så postgaffel ville de stadig have deres 20 BTC og yderligere 400 ETH! Dette er det dobbelte forbrug, der sker via forking.

Der er et andet interessant scenarie, hvor en angriber kan vælge at forkaste. Husk, som vi sagde, under 51% angriber de fleste, hvis ikke alle, blokke ville blive udvundet af angriberen selv? Hvad vil der ske, hvis en tilfældig minearbejder klarer at skabe en ny blok af noget dumt held? Nå, angriberen vil simpelthen forkæle kæden før denne nye blok og fortsætte minedrift i den nye kæde alligevel!

Nu tænker du måske, hvad får resten af ​​de 49% til at gå med i den nye kæde? Svaret på det ligger i et koordineringsspil. Husk, at de fleste af de 49% minearbejdere vil være spredt og uafhængige. De vil gerne kigge efter deres egne egeninteresser. Så i denne sammenhæng ser vi på spilteori, især koordineringsspil, for at få svar.

Lad os tage et eksempel på koordineringsspillet:

Antag, at vi vil ændre sproget til et symbolbaseret sprog. For eksempel:

  • Oprindelig erklæring: “Giv mig dit nummer?”
  • Ny erklæring: “#?”

Hvis du kun taler ved hjælp af dette sprog, vil det være en fiasko, fordi flertallet ikke forstår, hvad du taler om, og du vil blive undgået fra samtaler, dvs. udbetalingen for dig er meget lav, og du har ikke noget incitament til at ændre.

Men hvis størstedelen af ​​dit samfund skifter til dette sprog og udelukkende bruger det, bliver du nødt til at ændre dit sprog, ellers vil du aldrig være i stand til at passe ind. Nu er incitamentet for dig til at deltage højt.

Brug den samme logik her. Størstedelen af ​​hashhastigheden er allerede i forkedket kæde. Hvis du er den uafhængige minearbejder, vil du gerne være i samme kæde som flertallet.

Hvor sandsynligt er det, at bitcoin kan være modtagelig for et 51% -angreb?

Som vi har nævnt før, stod bitcoin over for dette scenario en gang, da Ghash-poolen oversteg 51%, men sandsynligheden for, at det sker, er lille lige nu. For at en hacker kan starte et 51% angreb, er incitamenterne (oprindeligt) meget lave. Mængden af ​​kapital, der kræves for at gøre en 51% på bitcoin, er svimlende. I tilfælde som disse er markedsprisen på bitcoin faktisk et godt skjold. Jo højere markedsprisen er, desto mere bliver hashing-kraften betalt for, og jo dyrere bliver et angreb, da ressource sourcing bliver dyrere.

Lad os nu se på flere måder, hvorpå blockchain kunne blive angrebet, som ikke har noget at gøre med 51% -angrebet. Husk, at de fleste af disse eksempler er af rent hypotetisk karakter, så lad være med at ringe alarmklokkerne!

Hvad er “Kannibalisering af puljer”?

Lad os lave et tankeeksperiment.

Antag, den samlede hashrate af bitcoin er 100, hvoraf 30 er din. Du har effektivt 30% hashrate. Antag nu, at minedriftbelønningen er 1 BTC, hvilket betyder, i betragtning af at du har 30% hashrate, forventes det også, at du får 30% af minedriftbelønningen, hvilket er: 0,3 BTC.

Nu har du to muligheder:

Mulighed 1: Du køber mere minedrift

Antag at du køber minedriftsudstyr, der øger dit og netværks hashrate med 1.

Hvilket betyder, at vi oprindeligt havde antaget, at netværkets hashrate var 100 og din hashrate til 30.

Nu er netværkets hashrate 101 og din 31, hvilket betyder din egen 31/101 * 100 = 30,69% af netværks hashrate. Så det betyder også, at du får 30,69% af minedriftbelønningen, hvilket er 0,3069 BTC. Så det betyder, for hver 1% HR, du tilføjer til dit arsenal, får du en 0,0069 BTC-gevinst (0,3069 – 0,3000).

Mulighed 2: Du kannibaliserer puljen

Så i det forrige eksempel tilføjede du 1% hashrate til dit eget arsenal, hvad hvis du skulle distribuere hashrate ligeligt blandt alle minearbejdere, og du tilbageholder også alle de gyldige blokke, du mine? Vi vil udvide om “blokering” senere, men for bare at give dig en kort idé, betyder det grundlæggende, at du udvinder en blok, men du afslører den ikke til netværket og bare holder den for dig selv.

Lad os se på matematikken bag den nu:

Hvis vi fjerner din 30% hashrate (da du tilbageholder dine blokke, får du ingen belønninger via dine egne hashrates), havde resten af ​​netværket i alt 70% hashrate.

Hvilket betyder, at de normalt får 70% af blokbelønningen, hvilket i dette tilfælde er 70% af 1 BTC = 0,7 BTC. Men nu, da du har distribueret den ekstra 1% hashrate med resten af ​​minearbejdere, ser det sådan ud nu:

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

Da du ejer 1/71 af al anden hashrate, får du:

1/71 * 0,7 = 0,0098 BTC-indtægter fra det arbejde, som andre minearbejdere har udført.

Lad os nu sammenligne de to. Hvis du skulle udføre ærlig minedrift, får du 0,0069 BTC, og hvis du skulle være uærlig, får du 0,0098 BTC. Så det er mere rentabelt at kannibalisere puljer end at være ærlig!

Hvad er tilbageholdelse af blokke?

Blokholdning er en anden form for egoistisk minedrift. Forestil dig dette scenarie, du er en minearbejder i bitcoin-netværket, der bruger de mest sofistikerede og største ASIC’er. Minedrift er en meget nem opgave for dig.

Så antag at du miner en bock, men du afslører det ikke for netværket. I stedet for at annoncere til netværket og indsamle din belønning holder du blokken hemmelig og mine oven på den blok. Sådan ser det ud:

Hypotetiske angreb på kryptovalutaer

Billede med tilladelse: Blockchain på Berkley

De “hemmelige blokke” er dem, som du har udvundet og tilbageholdt fra resten af ​​netværket. Når du finder en anden blok, kan du afsløre de to blokke til netværket. Hvad dette vil gøre er følgende:

  • Dobbelt den belønning, som du kunne have samlet.
  • Vær blokdiktatorerne i to blokke i stedet for en, og dobbelt så det beløb, du kan tjene via transaktionsgebyrer.

Årsagen til, at det kaldes “egoistisk”, er fordi du går imod selve ideen om “lige muligheder for alle”, som minedrift står for. Alle skal have en rimelig ryste ved minedrift og opdage deres egne blokke. Plus, dette kan også føre til netværksmonopolisering.

Under alle omstændigheder er der to måder, hvorpå dette kan slå ud:

Scenarie nr. 1: En minearbejder udvinder en blok, når du allerede har udvundet to blokke

Så hvad sker der, hvis en minearbejder formåede at udvinde en blok, efter at du allerede har udvundet 2 blokke i hemmelighed? I sender begge oplysningerne til netværket. Netværket vil se, at du har den længere kæde og vil give dine blokke nikket over den anden ensomme blok. Hvilket betyder, at denne blok bliver forældreløs:

Hypotetiske angreb på kryptovalutaer

Billede med tilladelse: Blockchain på Berkley

Scenarie nr. 2: En minearbejder udvinder en blok, før du kunne udvinde en anden blok

Hvad vil der ske, hvis du ikke var i stand til at udvinde en anden blok over din første, og nogen allerede var i stand til at udvinde en blok?

Hypotetiske angreb på kryptovalutaer

Du vil både sende dette til netværket og starte et løb om godkendelse.

Sagen er dog, at du stadig har 50% sandsynlighed for at få din blok godkendt, hvilket stadig er gode odds at arbejde med.

Hvad er P + Epsilon Attack

Et bevis på arbejdssystem er sårbart over for en bestemt type angreb kaldet “P + epsilon-angreb”. For at forstå hvordan dette angreb fungerer, skal vi definere nogle udtryk inden hånden. Ukoordineret valgmodel: En ukoordineret valgmodel er en model, hvor alle deltagerne ikke har incitament til at arbejde sammen. Deltagerne kan danne grupper, men på intet tidspunkt er gruppen stor nok til at blive flertal.

Koordineret valgmodel: Dette er en model, hvor alle deltagerne koordinerer på grund af et fælles incitament.

Nu antages det, at blockchain er en ukoordineret model, men hvad hvis der er et incitament for minearbejdere til at gøre en handling, der strider mod blockchainens integritet? Hvad hvis der er bestikkelse for at få minearbejdere til at tage en bestemt handling? Dette er, hvor den bestikkende angribermodel kommer ind.

Hvad er den bestikkende angribermodel?

Forestil dig en ukoordineret model. Hvad nu hvis en angriber kommer ind i systemet og tilskynder minearbejdere til at koordinere med hinanden efter at have givet dem bestikkelse? Denne nye model kaldes en bestikkelsesmodeller. For at kunne bestikke systemet skal angriberen have to ressourcer:

  • Budget: Det samlede beløb, som angriberen har, som de er villige til at betale for at få minearbejderne til at tage en bestemt handling.
  • Omkostning: Den pris, som minearbejderen rent faktisk ender med at betale.

Men hvis en angriber beslutter at angribe blockchain, ankommer vi i en interessant gåde … og det er her “p + epsilon-angrebet” kommer ind. Se denne tabel for reference:

Hypotetiske angreb på kryptovalutaer

Billede med tilladelse: Vitalik Buterin-præsentation.

Forestil dig et simpelt scenario som et valg. Hvis folket stemmer på en bestemt person, hvis de stemmer på samme måde som alle stemmer, får de udbetaling, men ellers gør de det ikke. Forestil dig nu, at en bestikkelse kommer ind i systemet og lægger denne betingelse for en person. Hvis du stemmer OG de andre ikke stemmer, så får du en udbetaling på “P + ε”. Den sædvanlige udbetaling OG en ekstra bestikkelse på ε oven på det.

Så nu ser udbetalingsmatrixen sådan ud:

Hypotetiske angreb på kryptovalutaer

Billede med tilladelse: Vitalik Buterin-præsentation.

Forestil dig nu dette scenario, alle involverede i dette scenario får at vide, at hvis de alligevel stemmer, så er der en chance for, at de kan få udbetaling, men hvis de ikke stemmer, er der en 50-50 chance for, at de får en udbetaling.

Hvad tror du spillerne vil gøre da? Selvfølgelig vil de stemme for at få en garanteret udbetaling. Nu er det her, tingene bliver interessante. Som det kan ses i matrixen, skal bestikkeren kun betale bestikkelsen “ε”, når kun personen stemmer, mens de andre ikke gør det. Men i denne situation, da alle stemmer, skifter Nash-ligevægten til:

Hypotetiske angreb på kryptovalutaer

Det er rigtigt, bestikkeren behøvede ikke engang at betale bestikkelsen!

Så lad os nærme os dette problem fra bestikkelsens POV:

  • Overbevis gruppen om at stemme på en bestemt måde.
  • Opnå målet uden engang at skulle betale bestikkelsen.

Det er et kæmpe win-win-scenario for bestikkeren, og dette har stor betydning for blockchain især i et proof-of-work-system. Lad os tjekke vores gamle hypotetiske blockchain igen:

Hypotetiske angreb på kryptovalutaer

Antag, at bestikkeren virkelig vil have kæden til hardfork og erklærer, at en gruppe minearbejdere, der vælger at slutte sig til den nye kæde, får bestikkelse på ε, dette vil tilskynde hele minearbejdere til at koordinere og deltage i den nye kæde.

Bestikkelsen skal selvfølgelig være ekstremt høj for at noget som dette kan ske, men som vi har set i modellen for bestikkelsesangriber ovenfor, behøver angriberen ikke engang at betale det nævnte beløb. Ifølge Vitalik Buterin er dette et af de største problemer med beviset for arbejdssystem, dets sårbarhed over for P + epsilon-angrebet.

Løsningen ligger i bevis for indsats.

Løsningen på denne form for incitamentsdrevet angreb ligger i bevis for indsats. I dette system skal minearbejdere lægge en del af deres personlige formue og investere den i fremtidige blokke. Som et økonomisk system er dette meget bedre, fordi straffen i det er langt strengere. I stedet for at få deres rettigheder taget og slippe væk med et “tryk på knoene”, står minearbejdere nu over for den meget reelle mulighed for, at deres andel og formue bliver taget væk.

Så hvordan hjælper dette med at forhindre P + epsilon-angreb? Sæt jer i minearbejderens sko. Du har en del af din formue investeret i en blok, som skal tilføjes i hovedkæden. Nu kommer en bestikkelse og fortæller dig, at du kan få en ekstra udbetaling, hvis du får din blok til at slutte sig til hovedkæden. MEN hvis kæden ikke bliver godkendt, er der en enorm risiko for, at du mister alle de penge, du har investeret i blokken. Plus, som P + Epsilon-angrebet siger, får du ikke engang den ekstra udbetaling fra bestikkelsen. Når en minearbejder, når de først har investeret en andel, er det ikke en idé for dem at fortsætte i hovedkæden og ikke blive involveret i ondsindede aktiviteter.

Hvad er en sortliste?

Sortliste er en form for angreb mod en enkelt enhed. Forestil dig, at der er en meget fremtrædende enhed, der har meget kapital, og de har det ud for denne fyr ved navn Jake, og de vil sortliste dem fra netværket. Lad os faktisk antage, at denne enhed er et land, der har mange puljer i deres kontrol, lad os kalde dette land Aliceland.

Før vi fortsætter, skal vi oprette en forklaring:

Hypotetiske angreb på kryptovalutaer

Sådan ser en normal blok ud:

Sådan ser blokke udvundet af Aliceland ud:

Og sådan ser blokke, der inkluderer Jakes transaktioner, også kaldet Jake-blokke, ud:

Ok, så der er to måder, som Aliceland kan sortliste Jake på:

  • Straffende gafler.
  • Fjergafler.

Sag nr. 1: Straffende gaffel

Der er to forskellige strategier, som du kan udføre via strafgaffel.

Strategi 1:

Da Aliceland er et land, kan det simpelthen beordre alle sine puljer til ikke at medtage nogen transaktioner fra Jake i deres blokke. Nu er dette en naiv strategi, for for at den skal fungere, er der mange ting, som de bliver nødt til at overveje.

For det første skal de have kontrol over 100% af puljerne i deres land. Hvis selv en pulje er uden for deres kontrol, kan de inkludere Jakes transaktion i deres blok. Det maksimale, de kan opnå ved at gøre dette, forårsager masser af forsinkelser og ulemper.

Strategi 2:

Hvad nu hvis Aliceland ønsker at gøre straffesmede OG ejer >51% af verdens minekraft? Dette er når ligningen vender helt på hovedet. Dette er hvad de bliver nødt til at gøre.

For det første vil de meddele verden, at de ikke længere tillader nogen transaktion, der inkluderer Jake i blockchain, og at ikke en eneste af deres puljer vil arbejde på en kæde, der har en “Jake Block” i sig. Med andre ord, i det øjeblik en Jake-blok vises, vil Aliceland indlede en gaffel.

Antag, at dette er, hvordan blockchain ser ud:

Hypotetiske angreb på kryptovalutaer

Forestil dig nu, at en af ​​minearbejdere uden for Alicelands kontrol tilføjer Jakes transaktion i deres blok og opretter en Jake-blok:

Aliceland ved at se dette vil med det samme starte en gaffel. Da de allerede har 51% flertal, kan de starte gaffelen uden nogen konsensus fra nogen anden.

Da de allerede har meddelt deres intentioner på forhånd, og fordi de ejer 51% flertal, vil ingen turde gå imod dem, og selvom de gør oprør og inkluderer en Jake-blok, vil de blive tvunget til at forældreløse det, fordi Aliceland simpelthen kan bruge deres flertal for at forkaste og fortsætte.

Sag nr. 2: Feather Forking

Så vi har set ovenfor, hvordan alle med 51% flertal kan tilbageliste nogen, der bruger straffegaffel. Hvad kan du nu gøre, hvis du vil sortliste nogen, men du ikke ejer 51% flertal? Aliceland kan faktisk stadig sortliste stakkels gamle Jake ved en metode kaldet fjergafler. Lad os se, hvad det betyder.

Aliceland kan erklære, at når en Jake-blok tilføjes, vil de forsøge at forkaste, men give op efter et bestemt antal bekræftelser (Bekræftelser = antallet af blokke, der er udvundet oven på den anfægtede blok). Dette adskiller sig fra straffegaffel i den forstand, at Aliceland ikke truer med en permanent gaffel, men i stedet siger de, at de vil gaffel hver gang, MEN også kommer tilbage efter et vist antal bekræftelser.

Lad os se et eksempel:

Hypotetiske angreb på kryptovalutaer

Så hvad skete der her?

Da Jake-blokken blev føjet til systemet, lavede Aliceland en gaffel og ventede på en bekræftelse. I dette tilfælde var bekræftelsen 1 blok. I det øjeblik denne blok blev vedhæftet Jake-blokken, forlod Aliceland gaffelen og sluttede sig til hovedkæden igen.

Nu tænker du måske, “Det er ikke så slemt.” Men lad os se på matematikken i det hele.

Antag, at Aliceland har “q” hashkraft, hvor 0

Efter Bernoullis distribution er chancen for at udvinde en blok og gaffel q ^ 2.

Hvis vi går efter vores eksempel, antager vi, at Aliceland kun venter på 1 bekræftelse.

Antag, Aliceland har 20% af verdens hashkraft, så q = 0,2 og chancen for at udvinde en blok er 0,2 ^ 2 = 0,04 = 4%.

4% chance synes måske ikke så høj, men de andre minearbejdere er nu opmærksomme på, at der er 4% chance for, at deres blokke bliver forældreløse, HVIS de inkluderer Jake-blokke.

Så hvad er den forventede værdi (EV), som minearbejdere kan få, HVIS de inkluderer / ikke inkluderer Jake-blokke?

  • EV (inklusive Jake-blok) = (1-q ^ 2) * blokbelønning + Jake-transaktionsgebyrer.
  • EV (ikke inklusive Jake-blok) = Block Reward.

Så for minearbejdere at få lige EV fra begge scenarier, skal Jake betale transaktionsgebyrer, der svarer til q ^ 2 * blokbelønning. Lad os se, hvor meget det er i forbindelse med bitcoin.

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

Udskiftning af værdierne i denne ligning:

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

Det er, hvor meget Jake skal betale i transaktionsgebyrer HVER eneste gang for at gøre det umagen værd for minearbejdere at lægge en Jake-blok til hovedkæden. Ikke mildt sagt den mest bekvemme af scenarier!

Hvad er transaktionens smidighed?

Lad os starte med en kort oversigt over, hvad en hashing-funktion gør. En hashing-funktion kan optage ethvert input af enhver længde, men det output, det giver, har altid en fast længde.

Der er dog hinanden vigtig funktion af hashing, som du har brug for at vide for at forstå “bugtransaktionens bugtransaktion”, som det kaldes. Enhver lille ændring i inputdataene vil ændre output-hash drastisk.

For eksempel. Tjek denne test, som vi gjorde med SHA-256, også kaldet hashing-algoritmen, der blev brugt i bitcoin:

Hypotetiske angreb på kryptovalutaer

Vi har lige ændret “T” fra store til små bogstaver, og se på, hvad det gjorde med output!

En ting mere, som du har brug for at forstå om blockchain, er at det er uforanderligt, hvilket betyder, at når dataene først er indsat i en blok, kan de aldrig ændres. Mens dette viser sig at være et sikkerhedsnet mod korruption, var der en svaghed, som ingen så komme.

Hvad hvis der blev manipuleret med dataene, før de overhovedet kom ind i blokken? Selvom folk fandt ud af det senere, var der intet, som nogen kan gøre ved det, fordi data, der først er indtastet i en blok, aldrig kan tages ud! Det er i grunden grunden til, at transaktioners smidighed er et sådant problem.

Nu, hvorfor sker transaktionens smidighed?

Viser sig, at signaturen, der følger med inputdataene, kan manipuleres, hvilket igen kan ændre transaktions-id’et. Faktisk kan det få det til at virke som om transaktionen ikke engang skete i første omgang. For eksempel. Antag at du har et sæt blokke, der siger “3 + 1 = 4”, og så kommer nogen sammen og ændrer det til “2 + 2 = 4”, resultatet er stadig det samme i begge tilfælde “4”, men det indre transaktionsoplysninger er alle blevet meget muddied som et resultat.

Lad os se dette i et blockchain-relateret eksempel.

Antag at Bob vil have Alice til at sende ham 3 BTC. Alice igangsætter en 3 BTC-transaktion til Bobs offentlige adresse og sender den derefter til minearbejderne til godkendelse. Mens transaktionen venter i køen, bruger Bob transaktionens formbarhed til at ændre Alice’s signatur og ændre transaktions-id’et.

Nu er der en chance for, at denne manipulerede transaktion vil blive godkendt, før Alice bliver godkendt, hvilket igen overskriver Alice’s transaktion. Når Bob får sin 3 BTC, kan han simpelthen fortælle Alice, at han ikke fik de 3 BTC, som hun skyldte ham. Alice vil så se, at hendes transaktion ikke gik igennem, og vil de sende den igen. Som et resultat ender Bob med 6 BTC i stedet for 3 BTC.

Et af de mest berømte eksempler på transaktionens formbarhedsangreb var Mt Gox-angrebet i 2014. Mt. Gox var en af ​​de største bitcoin-børser i verden, og omkring 450 millioner dollars i bitcoins blev stjålet fra den.

Nu hvor bitcoin-kernen har startet Segwit, stopper den transaktionens smidighed i BTC.

Hvad er timejacking?

Det sidste mulige angreb, som vi vil tale om, er “timejacking”. Bitcoin-systemet bruger et netværk af noder til at videresende meddelelser og information. Hver knude skal holde styr på tiden OG den skal være synkroniseret med sine andre peer-noder. Den måde, det gør på, er ved at holde et internt ursystem, som tilfældigvis er det samme som den beregnede medianurstid for alle dets jævnaldrende. Hvis denne mediantid adskiller sig mere end 70 minutter fra systemtiden, justeres det interne ur og vender tilbage til systemtiden.

Som en sikkerhedsforanstaltning, og dette er meget vigtigt at forstå angrebet, afviser noderne enhver blok, der er mere end 120 minutter foran dens interne ur. Antag nu, at der er en angriber, der ønsker at angribe et bestemt målknudepunkt. Hvordan vil de gøre det?

  • For det første lancerer de et Sybill-angreb på bitcoin-netværket. Et Sybill-angreb er et angreb, hvor en angriber har kontrol over flere noder i netværket, dette kan ske ved at gyde tusinder af falske noder og vedhæfte dem til netværket. Ved at gøre angrebet manipulerer angriberen tidsstemplerne for noder i sådan en en måde, at målknudepunktet er 70 minutter bag uret, mens hver anden knudepunkt er 70 minutter foran (Hvorfor 70? Så det er stadig under 70 min. grænsen, og at uret ikke vender tilbage). Dette skaber grundlæggende et mellemrum på 140 minutter mellem målnoden og resten af ​​netværket.

  • Nu udranger angriberen ved hjælp af deres hashrate-magt en ny blok med et tidsstempel, der er 190 minutter før realtid.

  • Når denne nye blok sendes, afviser målnoden straks den, da den ifølge dem ikke er inden for grænsen på 120 minutter. For målnoden er blokken (190 + 70), 260 minutter bagud.

  • Imidlertid accepterer hver anden knude blokken, fordi den er inden for grænsen på 120 minutter (190-70 = 120), og minearbejdere i alle disse andre noder begynder at bryde på den.

  • Så angriberen har nu med succes opdelt målnoden fra resten af ​​netværket. Målknudepunktet begynder at arbejde i deres egen kæde, mens alle andre arbejder på deres.

  • Angriberen kan nu udvinde flere gratis blokke fra målnoden og engagere sig i dobbelt forbrug. Faktisk, hvis de fortsætter med at justere timejacket, kan de holde det i gang på ubestemt tid.

Timejacking er et meget skræmmende forslag. Faktisk kan en gruppe af ondsindede minearbejdere timejack en gruppe minearbejdere og tage dem ud af systemet og øge deres hashrate-procent i processen.

Hypotetiske angreb på kryptovalutakonklusion

Så det er en liste over mulige angreb, der kan ske for kryptokurver. Husk, at disse angreb eller i det mindste de fleste af dem er af rent hypotetisk karakter. Ideen er ikke at øge paranoia; ideen er at uddanne alle om kryptokurrency og teknologien bag den. Hvis du kan tænke på et muligt hypotetisk angreb, som vi ikke har nævnt endnu, skal du kommentere nedenfor og lade os og alle vide det.

 

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