Faktasjekk: DARPA-finansiert rapport om blokkjede-sentralisering

Del denne artikkelen

Beregnet lesetid: 13 minutter

Forfatter: Yan Pritzker & Tomer Strolight | Utgitt: 22/06/22 | Original: Fact Check: DARPA Funded Report on Blockchain Centralization


21. juni 2022 ble en DARPA-finansiert rapport om sentralisering av blokkjeder utgitt av Trail of Bits, et sikkerhetsforskningsfirma.

I denne analysen skal vi undersøke og faktasjekke noen av påstandene i rapporten. Vi vil først og fremst fokusere på Bitcoin, siden det er den eneste blokkjeden som har vist ekte motstandsdyktighet mot angrep under virkelige forhold. Vi vil også sette de akademiske funnene i oppgaven opp mot virkelige tester av disse teoriene.

Det er konstant forskning på angrep mot Bitcoin, og mye av det er interessant, relevant og verdt å vurdere. Siden Bitcoin sitt grunnleggende formål er motstand mot angrep på statsnivå, er premisset for nye angrepsvektorer spennende og verdt å diskutere. Med systemet som overfører mer enn en billion dollar i verdi årlig, er den også konstant underlagt reelle forhold for angrep som en av de største økonomiske eiendelene i verden.

               Reklame                                                             

Vi er enig med rapporten om at de fleste blokkjeder er sentraliserte i ulik grad, alt fra «desentraliseringsteater» til å være fullstendig sentralisert uten noen form for desentralisering. Dessverre finner vi mange betydelige problemer med papirets analyse av Bitcoin. Nedenfor vil vi ta for oss de fleste av de store påstandene i rapporten.

Påstand 1

Hver mye brukt blokkjede har et privilegert sett med enheter som kan modifisere semantikken til blokkjeden for å potensielt endre tidligere transaksjoner […] Det er for tiden 4 aktive bidragsytere med tilgang til å modifisere Bitcoin Core-kodebasen, kompromisset til enhver av dem vil tillate for vilkårlig modifikasjon av kodebasen.

FALSKT. Dette er rett og slett ikke sant i praksis i Bitcoin på grunn av det faktum at brukere som kjører noder, ikke utviklere, bestemmer hvilken kode som skal kjøres. Det har vært mange eksempler på dette tidligere, inkludert brukere som valgte å kjøre kode lagt ut av en pseudonym utvikler fordi de ønsket en bestemt oppgradering raskere under blokkstørrelseskrigene i 2017, noe som gikk imot meningene til noen høyt respekterte Bitcoin-core utviklere som talte imot å kjøre den.

Koden valgt av brukerne ble kjørt av mange noder, til tross for at endringen ikke ble implementert av de «fire aktive bidragsyterne» som forfatterne hevdet. Selv om vi fokuserer på den mest populære Bitcoin-klienten, bitcoin-core, er påstanden om at fire personer kontrollerer kildekoden også FALSKT. En mer dyptgående titt på hvordan endringer skjer i Bitcoin er tilgjengelig her.

Mange andre blokkjeder bruker en tvungen oppgraderingsmekanisme som Ethereum sine vanskelighetsbomber. I disse tilfellene finner vi påstanden å være i stor grad SANN fordi noder er tvunget til å oppgradere for å forbli operative.

               Reklame               
                                              

Påstand 2

Antall enheter som trengs for å forstyrre en blokkjede er relativt lavt: fire for Bitcoin, to for Ethereum og mindre enn et dusin for de fleste PoS-nettverk.

VILLEDENDE. Påstanden om at Bitcoin kan bli forstyrret ved å angripe de fire største mining-pools er feil av flere grunner:

  1. Mining-pools er ikke minere. Minere er en globalt distribuert arbeidsstyrke, ofte lokalisert i avsidesliggende regioner hvor strøm er billig. Minere kan (og har) enkelt byttet pool. Faktisk i 2014 byttet minere frivillig bort fra en pool som fikk for mye hashrate.
  2. Angrepet må vare for evig. Så snart angrepet er stoppet, kan miningen fortsette med uforminsket styrke.
  3. Hvis angrepet på spesifikke pools faktisk varer lenge, er det enkelt for minere å omgruppere seg til fortsatt ærlige pools ved å endre en enkelt konfigurasjonslinje.

Vi finner påstanden STORT SETT SANN for andre blokkjeder, spesielt de som kjører staking-systemer, da mesteparten av stakingen vanligvis sitter på store sentraliserte børser eller datasentre, er i hendene på grunnleggere og innsidere som har gitt seg selv store token-beholdninger, og kan brukes til å kompromittere stemmebaserte systemer.

Påstand 3

For at en blokkjede skal distribueres optimalt, må det være en såkalt Sybil-kostnad. Det er foreløpig ingen kjent måte å implementere Sybil-kostnader på i en tillatelsesfri blokkjede som Bitcoin.

VILLEDENDE. Et Sybil-angrep (uttales sih-bill og er oppkalt etter den første personen diagnostisert med personlighetsforstyrrelse) er der noen kan lage mange noder som utgir seg for å være ærlige noder, men som faktisk er ondsinnede, for å lure en ærlig node til å akseptere ugyldige eller usanne data, eller på annen måte tvinge dens oppførsel ved å villede den. Oppfinnelsen av Nakamoto Consensus (dvs. Bitcoin sin avhengighet av proof of work som en kilde til sannhet) ble bokstavelig talt designet for å forhindre Sybil-angrep. Satoshi ønsket at enhver deltaker skulle kunne legge til en blokk, men å velge én bruker tilfeldig ville åpnet for at enkeltpersoner kan utgi seg for å være mange brukere. Men arbeid kan ikke forfalskes, og dette er en grunn til at Bitcoin bruker Proof of Work.

Sybil-angrep kan ikke lure en Bitcoin-node til å godta en falsk kopi av blokkjeden. Noden trenger bare 1 forbindelse til en ærlig node for å være motstandsdyktig mot dette angrepet på grunn av konsensus om at Bitcoin er basert på at den tyngste/største proof of work-kjeden er den sanne kopien. Det spiller ingen rolle om angripere tar over 99,9% av nettverket.

Det er en sterk Sybil-kostnad i Bitcoin når det gjelder mining: å produsere gyldige blokker krever brenning av virkelig energi. En ondsinnet miner vil måtte forbruke betydelig energi fra den virkelige verden for å produsere (fortsatt gyldige) blokker for å sulte ut transaksjonskjeden. En miner som produserer ugyldige blokker, forbrenner ganske enkelt energi og taper penger.

               Reklame               

                                              

Påstand 4

Et tett undernettverk av Bitcoin-noder ser ut til å være i stor grad ansvarlig for å oppnå konsensus og kommunisere med minere.

VILLEDENDE. Ordet «konsensus» brukes ikke i denne artikkelen på samme måte som Bitcoin definerer konsensus: det vil si at reglene for Bitcoin følges. Dette får forfatterne til å komme til konklusjoner som rett og slett ikke er relevante for funksjonen til Bitcoin-blokkjeden. Igjen, det spiller ingen rolle om noder ondsinnet endrer trafikk fordi de økonomiske nodene som mottar transaksjoner bekrefter reglene for Bitcoin, slik at modifisert trafikk vil bli ansett som ugyldig og dermed ignorert.

Konsensus fra dette perspektivet opprettholdes ved kantene (dvs. på hver node som mottar mynter). Det spiller ingen rolle hva som skjer i midten. Mer om dette emnet er dekket i artikkelen Bitcoin Miners Beware: Invalid Blocks Need Not Apply.

               Reklame                                                             

Forfatterne antyder at et angrep på nettverkslaget kan tillate angriperen å tukle med dataoverføring, men sensur (utelatelse av data) er det eneste mulige angrepet. Hvis en node finner ut at deres transaksjoner ikke blir inkludert i blokkjeden, kan den koble seg til andre noder som er ærlige/fungerende. Ethvert angrep som forsøker å sulte ut nettverket for dataoverføring må kontrollere store områder av internettet, og vare evig for å være effektive.

Påstand 5

Standardprotokollen for koordinering innenfor mining-pools, Stratum, er ukryptert og uautentisert.

BLANDET. Det er sant at den nåværende Stratum-protokollen har et mindre enn ideelt design. Likevel, under virkelige forhold, påvirker ikke disse feilene funksjonen til mining-pools i det store og hele. Mens noen kan bruke feilene i den nåværende protokollen til å utføre tjenestenektangrep på mining-pools, må det endelige spørsmålet stilles: til hvilket formål? Som nevnt ovenfor kan minere bytte pools hvis deres nåværende pool har problemer.

Artikkelen unnlater også å nevne at arbeidet med Stratum v2 er ganske avansert og inkluderer en løsning på mange av disse problemene, inkludert kryptering, autentisering og å skyve flere beslutninger til minere i stedet for å stole på at selve poolen velger og sorterer transaksjoner.

Påstand 6

Når noder har en utdatert eller feil visning av nettverket, reduserer dette prosentandelen av hashrate som er nødvendig for å utføre et standard 51%-angrep

SANT/IRRELEVANT. Forfatterne klarer ikke å demonstrere virkelige scenarier der dette betyr noe. Hvis en node har blitt “eclipse”-angrepet (omgitt av uærlige noder) til et punkt hvor de ikke har den mest oppdaterte kopien av den sanne blokkjeden, må dette angrepet opprettholdes for alltid til mineren er i stand til å koble seg til en ærlig node, og da vil den fikse seg selv. Dette angrepet innebærer også at blokkjeden har blitt omskrevet av en ondsinnet aktør, og at denne ondsinnede blokkjeden blir forplantet til ærlige noder. De virkelige kostnadene ved et slikt angrep må tas i betraktning. Det er ikke nok å late som at nasjonalstater har ubegrensede ressurser. En nasjonalstat ville måtte forpliktet en betydelig del av sin nasjonale energiproduksjon til et slikt angrep og opprettholde det i all evighet for å kjempe mot resten av verdens ærlige minere.

               Reklame               
                                              

Påstand 7

Bitcoin-trafikk er ukryptert – enhver tredjepart på nettverksruten mellom noder (f.eks. internett-leverandører, Wi-Fi-operatører eller myndigheter) kan observere og velge å unnlate de meldingene de ønsker.

BLANDET/IRRELEVANT. Noe Bitcoin-trafikk er kryptert (dvs. på Tor), mens noe er klartekst. Å unnlate trafikk i seg selv er ikke et angrep på Bitcoin-funksjonaliteten, da du må ha vedvarende kontroll over hele nettverket for å forhindre spredning av hver enkelt transaksjon. En enkelt forbindelse mellom en ærlig node og en ærlig miner vil tillate transaksjonen å forplante seg. Ethvert angrep må opprettholdes for alltid for å være effektive. Transaksjoner kan til og med sendes med metoder utenfor internettet (dvs. satellitter, mesh-nettverk, QR-koder, SMS, radio, osv.). Så snart en transaksjon når en ærlig miner, har angrepet blitt undergravd.

Påstand 8

Bitcoin Core-klienten har en innebygd forsinkelse på to minutter før den sender nye bekreftede blokker til en peer.

FALSKT. Denne uttalelsen er så åpenbart falsk at det er overraskende at den ble gjennomgått av 9 forfattere uten at noen påpekte det. Hvis noder bevisst forsinket blokkutbredelsen, ville det øket sjansen for foreldreløse blokker, og du ville aldri hatt to blokker bygget oppå hverandre fra forskjellige minere med mindre enn to minutters mellomrom. Dette avkreftes av blokkdata fra den virkelige verden. Det er spekulasjoner om at forfatterne forvekslet blokkutbredelse med en tilstand i mempoolutbredelse som ikke har noe med dette å gjøre i det hele tatt.

Påstand 9

I løpet av det siste året brukte en ondsinnet person (som antas å være fra Russland) et Sybil-angrep for å få kontroll over opptil 40% av Tor-utgangsnodene. Angriperen brukte nodene til å omskrive Bitcoin-trafikk.

EKSTREMT MISVISENDE. Det var faktisk et angrep på Tor-utgangsnoder, men omskriving av «Bitcoin-trafikk» var ikke en del av angrepet. Faktisk omskrev angriperen nettsteder for å endre bitcoin-adresser publisert på dem. Forfatterne gir et sitat, men forfatteren av rapporten de siterte presiserer: “…de er primært ute etter kryptovaluta-relaterte nettsteder – nemlig mixing-tjenester. De erstattet bitcoin-adresser i HTTP-trafikk for å omdirigere transaksjoner til lommeboken deres i stedet for den oppgitte bitcoin-adressen.”

Påstanden om at Bitcoin-trafikk kan omskrives er umulig basert på utformingen av digitale signaturer. Bitcoin-transaksjoner er digitalt signert med ECDSA-signaturer. Det er ikke mulig å «omskrive Bitcoin-trafikk» uten å gjøre transaksjonssignaturer ugyldige, og dermed uakseptable for mottaksnodene. Det er umulig å tukle med blokker uten å gjøre dem ugyldige.

               Reklame               
                                              

Påstand 10

De to landene med høyest prosentandel av ikke-Tor-noder, USA og Tyskland, har den høyeste samlede konsensusinnflytelsen i Bitcoin.

EKSTREMT MISVISENDE. Papiret bruker igjen en annen definisjon av konsensus enn det Bitcoin-protokollen gjør. Det er ikke sant at noe land, eller til og med et flertall av alle minere, kan gjøre endringer i Bitcoin-konsensusreglene fordi reglene håndheves av noder som mottar betalinger. Det papiret faktisk mener er at en stor nok aktør kan prøve å unnlate transaksjoner, og dermed sensurere dem, men transaksjonen trenger bare å nå en enkelt ærlig node for at den skal forplante seg ordentlig. Papiret sier «vi ønsker å kvantifisere i hvilken grad et land som blokkerer all Bitcoin-trafikk kan påvirke systemet», men unnlater å adressere hvordan Bitcoin fortsatte å fungere helt fint under mange forbud i Kina, som er kjent for å ha en kraftig brannmur. Videre kan mange noder bruke VPN-er, og deres sanne plassering kan derfor ikke være åpenbar fra nettverksanalyse.

Påstand 11

21% av Bitcoin-nodene kjører en gammel versjon av Bitcoin Core-klienten som er kjent for å være sårbar.

EKSTREMT MISVISENDE. For det første er det ingen måte å måle det totale antallet noder på, fordi forfatterne bare kan se på noder som lytter åpent. For det andre spiller det ingen rolle. Den aktuelle sårbarheten ville bare ha krasjet den utdaterte noden, hvoretter nodeoperatøren antagelig ville oppgradert. Det er mer sannsynlig at disse nodene som ikke har fikset en kritisk sårbarhet, faktisk ikke er økonomiske aktører (dvs. mottar egentlig ikke mynter regelmessig) og dermed egentlig ikke er en del av systemet i seg selv. Mange kan være test-noder, for eksempel drevet som eksperimenter.

Som et tankeeksperiment, hvis vi spinner opp én million noder i et skydatasenter som kjører en gammel versjon av programvaren, ville ikke helsen til nettverket endret seg. Men ved å bruke metodikken i artikkelen, ville forfatterne konkludert med at 99,9+% av nettverket er sentralisert i et enkelt datasenter og sårbart for å bli krasjet. Bitcoin-nettverksanalyse er derfor i stor grad en akademisk øvelse med få implikasjoner i den virkelige verden. Selskaper i Bitcoin-området spinner jevnlig opp et stort antall noder for eksperimentering.

Påstand 12

Flertallet av Bitcoin-noder har betydelige insentiver til å oppføre seg uærlig.

FALSKT. Minere har utrolige insentiver til å oppføre seg ærlig, fordi ellers kaster de bort energi som er virkelig dyrt. For andre økonomiske noder, f.eks. de som behandler betalinger, er det ingen definisjon i denne artikkelen av hva uærlig betyr eller hvordan det faktisk påvirker Bitcoin-nettverket. Noder handler i egeninteresse for å validere Bitcoin-transaksjoner som de mottar. Hvis definisjonen av uærlighet er å unnlate å overføre data (dvs. transaksjonssensur), hvorfor har vi ikke sett dette ennå, spesielt med aktører på statlig nivå som Kina, som har ønsket å undertrykke Bitcoin-aktivitet i landet sitt?

Bitcoin-systemet, som overfører over 1 billion dollar årlig, er en betydelig eiendel for vellykkede angrep. Det er få systemer av denne økonomiske størrelsen, og alle blir angrepet konstant, inkludert Bitcoin. Hvis et angrep var mulig, ville det blitt forsøkt, noe vi ikke ser i dag. Igjen, det er viktig å huske at sensurangrep blir trivielt beseiret ved å overføre en signert transaksjon til kun én enkelt ærlig mining-node, uansett hvor mange noder angriperen kontrollerer, og dette kan bokstavelig talt gjøres på et håndskrevet stykke papir om nødvendig.

Påstand 13

I denne rapporten identifiserte vi flere scenarier der blokkjedens uforanderlighet trekkes i tvil, ikke ved å utnytte kryptografiske sårbarheter, men i stedet ved å undergrave egenskapene til en blokkjede sin implementering, nettverk eller konsensusprotokoll.

FALSKT. Forfatterne har ikke oppnådd en vellykket beskrivelse av et angrep som ville vært i stand til å omskrive Bitcoin-historikken eller endre konsensusreglene, de eneste to forholdene som med rimelighet kan beskrives som å bryte «uforanderlighet.» I beste fall har de demonstrert utrolig usannsynlige forhold for midlertidige angrep som sulter ut blokkjeden eller på annen måte sensurerer transaksjoner, som ikke ser ut til å være mulig å opprettholde for alltid på grunn av de virkelige energikostnadene ved å gjøre det.

Sammendrag

Papiret utdyper mange allerede utforskede angrepsvektorer i Bitcoin, hvorav noen Bitcoin bokstavelig talt ble oppfunnet for å løse (Sybil-angrep), men klarer ikke å gi kontekst til angrepene og deres oppnåbarhet og konsekvenser i den virkelige verden.

Spesielt «eclipse-angrep» og «Sybil-angrep» som tvinger en node til å opprette forbindelser til ondsinnede noder er ikke effektive mot Bitcoin. Noden krever én enkelt tilkobling til en annen ærlig node for å se den sanne blokkjeden.

Selv om den er fullstendig omringet, vil ikke noden godta ugyldige transaksjoner fordi den håndhever reglene for Bitcoin-konsensus ved å bruke sin lokale programvare. De mest skadelige angrepstypene her kan være et dobbeltforbruksangrep, der angriperen prøver å bytte Bitcoin mot en annen valuta og slippe unna med det, samt sensurangrep.

I praksis blir dobbeltforbruksangrep forsøkt på sentraliserte børser og er svært vanskelig til umulig å komme unna med i det virkelige liv – spesielt på Bitcoin hvor det er lett å kjøre en full-node. For at et slikt angrep skal være praktisk, må du kontrollere nok av internettet til å lure en sentral til å koble seg til kun ondsinnede noder, og du må opprettholde dette lenge nok til at ingen kan legge merke til det og stjele midler uten å etterlate et identifiserende spor i det tradisjonelle banksystemet.

Forfatterne hevder at Bitcoin kan bli angrepet på nettverkslaget for å oppnå sensur. Igjen har forfatterne ikke klart å demonstrere dette under virkelige forhold, og har unnlatt å nevne at en tilkobling til én enkelt ærlig node undergraver angrepet.

Til slutt klarer ikke forfatterne å avklare betydningen av et 51%-angrep. Et slikt angrep lar ikke angriperen lage mynter fra løse luften, bruke mynter som ikke er deres, stjele brukermidler, eller virkelig gjøre noe av verdi annet enn å sensurere transaksjoner eller sulte ut blokkjeden. I tillegg må et slikt angrep opprettholdes bokstavelig talt for alltid og er svært kostbart å starte, enn si opprettholde, for så snart de gjenværende ærlige minerne i verden har en majoritets-hashpower, kan de fortsette å produsere normale blokker.

Ethvert angrep som ikke var i stand til å vare evig ville til slutt gjenopprette funksjonaliteten til Bitcoin, og dermed bare bevise dens styrke. Å omskrive historikken til blokkjeden er et enda mer skremmende og uoppnåelig mål på grunn av de eksponentielle energikostnadene som kreves for å gjøre det, og å gjøre det i evighet mot en ærlig gruppe minere. En ytterligere utdyping av et 51%-angrep er tilgjengelig her: Is Bitcoin mining centralization a threat?

Vi konkluderer med at det DARPA-finansierte papiret om blokkjede-sentralisering av Sultanik et al. inneholder mange falske eller villedende påstander og kan ikke behandles seriøst.

Dette er et gjesteinnlegg skrevet av Yan Pritzker og Tomer Strolight. Uttrykte meninger er helt deres egne og reflekterer ikke nødvendigvis meningene til Bitcoinplassen.