Manglerne ved eksisterende blockchains: Ethereum

4. post i en serie om begrundelsen bag Themelio

(Eric (Yuhao Dong)) (31. august 2020)

En distribueret computer med endogen tillid

Da Ethereum først blev frigivet i 2015, sigter mod at være en blockchain, der er radikalt forskellig fra Bitcoin. I stedet for at implementere en enkelt applikation sigter Ethereum mod at være det samme som et operativsystem til endogent pålidelige apps eller “dApps” (decentraliserede apps). Denne funktionalitet er drevet af et Turing-komplet sprog (EVM) til blockchain-integrerede programmer eller “smarte kontrakter”, der kan få adgang til og gemme vilkårlig tilstand i blockchain. Ethereum er effektivt en “verdenscomputer”, som alle kan bruge tillidsfuldt.

I de efterfølgende år er der udviklet en bred vifte af Ethereum-apps, herunder nye kryptokurver som Dai , decentrale bettingplatforme som Augur og endda virtuelle samleobjekter som cryptokitties. Mest interessant er, at der opstod et økosystem med on-chain decentraliseret finansiering (DeFi) med stadig mere likvide kapitalmarkeder tilgængelige for alle med en netværksforbindelse. Sikkerheden ved alle disse applikationer er afhængig af den endogene tillid, Ethereum giver.

Desværre er denne tillid noget forkert placeret. Ethereums endogene tillid lider under lignende, måske værre, problemer i forhold til Bitcoin.

Kompleksitet skader tillid

I sin hvidbog , skaberen Vitalik Buterin formulerede Ethereums vision som en ”enkel” platform med “ingen funktioner” baseret på et simpelt smart contract sprog (EVM), som “enhver gennemsnitlig programmør kan implementere”. I dag er Ethereum imidlertid et ekstremt komplekst system med en referenceimplementering på næsten en million linier kode. Sådan kompleksitet kræver konstant vedligeholdelse og hyppige ændringer. Imidlertid indebærer enhver konsensusbrydende protokolopdatering (eller “hård gafler”) i blockchains en erstatning af endogen tillid til tillid til den eksterne protokoludvikler. Fra august 2020 viser den følgende tabel hver gang Ethereum-protokollen er “hårdt forked”.

Som det fremgår ovenfor, kræver Ethereums model af et komplekst dApp-operativsystem hyppig omgåelse af endogen tillid.

Mere alarmerende mangler Ethereums udviklere og samfund simpelthen en stærk tro på vigtigheden af ​​endogen tillid. Faktisk skrev Vlad Zamfir, en central Ethereum-udvikler, et (velkendt blogindlæg), der argumenterede imod “Szabos lov”, hvilket er ideen om, at blockchains ikke skal opgraderes, medmindre det er af kritiske, ikke-kontroversielle grunde. I samme indlæg hævder Zamfir også, at ekstern intervention i en blockchain er en legitim form for “kryptolov”.

Ikke overraskende har kombinationen af ​​protokolkompleksitet og social ligegyldighed over for endogen tillid ført til grove krænkelser af endogen tillid, der markant forstyrrede økosystemet. Det mest kendte eksempel på dette er “DAO-redning” fra 2016.

En casestudie: DAO-redning

Den 17. juni 2016 var en sårbarhed i den smarte kontrakt, der driver DAO, en af ​​de mest populære Ethereum-applikationer på det tidspunkt, blev skadeligt udnyttet. Angriberen stjal en hidtil uset mængde på mere end 3,6 millioner ETH – næsten 5\% af al eksisterende ETH – fra kontrakten.

Ethereum-samfundet brød ud i en heftig debat om, hvad de skulle gøre ved angrebet. Til sidst blev der afholdt en on-chain møntafstemning med kort varsel den 15. juli 2016. 87\% stemte for en hård gaffel til at vende angrebet og godtgøre investorer i DAO, selvom kun 5,5\% af alle udestående ETH viste sig kl. afstemningen. Fire dage senere blev en ny version af Ethereum frigivet, der udførte den hårde gaffel.

Denne meget kontroversielle DAO-gaffel undergravede fuldstændig uforanderlighed, en afgørende blockchain-sikkerhedsejendom. En del af Ethereum-samfundet fortsatte med at genkende Ethereums originale transaktionshistorie og dannede en separat blockchain kendt som Ethereum Classic. Som med Bitcoins 2017 gaffel i Bitcoin og Bitcoin Cash, endte brugerne med at beslutte uden for båndet, hvilken gaffel de skulle have tillid til, mens applikationsudviklere skulle klare jorden under deres applikationer, der pludselig gik i to.