Bristerna i befintliga blockkedjor: Ethereum

4: e inlägget i en serie om motivet bakom Themelio

(Eric (Yuhao Dong)) (Aug 31, 2020)

En distribuerad dator med endogent förtroende

När Ethereum släpptes första gången 2015, syftar till att vara en blockchain radikalt annorlunda än Bitcoin. Istället för att implementera en enda applikation, syftar Ethereum till att motsvara ett operativsystem för endogent pålitliga appar, eller ”dApps” (decentraliserade appar). Denna funktionalitet drivs av ett Turing-komplett språk (EVM) för blockchain-inbäddade program, eller ”smarta kontrakt”, som kan komma åt och lagra godtyckligt tillstånd i blockchain. Ethereum är i själva verket en ”världsdator” som vem som helst kan otroligt använda.

Under de efterföljande åren har ett brett utbud av Ethereum-appar utvecklats, inklusive nya kryptovalutor som Dai , decentraliserade vadslagningsplattformar som Augur och till och med virtuella samlarobjekt som cryptokitties. Mest intressant uppstod ett ekosystem med on-chain decentralised finance (DeFi) med alltmer likvida kapitalmarknader tillgängliga för alla med en nätverksanslutning. Säkerheten för alla dessa applikationer är beroende av det endogena förtroende som Ethereum ger.

Tyvärr är detta förtroende något felplacerat. Ethereums endogena förtroende lider av liknande, kanske värre, problem jämfört med Bitcoin.

Komplexitet skadar förtroende

I sin whitepaper , skaparen Vitalik Buterin formulerade Ethereums vision som en ”enkel” plattform med ”inga funktioner” baserat på ett enkelt smart kontraktspråk (EVM) som ”alla genomsnittliga programmerare kan implementera”. Men idag är Ethereum ett extremt komplext system med en referensimplementering på nästan en miljon rader kod. Sådan komplexitet kräver ständigt underhåll och frekventa förändringar. Men alla konsensusbrytande protokolluppdateringar (eller ”hårda gafflar”) i blockkedjor innebär att man ersätter endogent förtroende för förtroende för den externa protokollutvecklaren. Från och med augusti 2020 listar följande tabell varje gång Ethereum-protokollet har “gaffat”.

Som framgår ovan, kräver Ethereums modell av ett komplext dApp-operativsystem frekvent kringgående av endogent förtroende.

Mer oroväckande saknar Ethereums utvecklare och samhälle helt enkelt en stark tro på vikten av endogent förtroende. Faktum är att Vlad Zamfir, en grundläggande Ethereum-utvecklare, författade ett (välkänt blogginlägg) som argumenterade mot ”Szabos lag”, vilket är tanken att blockchains inte ska uppgraderas om inte av kritiska, icke-kontroversiella skäl. I samma inlägg hävdar Zamfir också att extern intervention i en blockchain är en legitim form av ”kryptolag”.

Inte överraskande har kombinationen av protokollkomplexitet och social likgiltighet gentemot endogent förtroende lett till grova kränkningar av endogent förtroende som väsentligt störde ekosystemet. Det mest kända exemplet på detta är ”DAO-räddningen” från 2016.

En fallstudie: DAO-räddningen

Den 17 juni 2016 var en sårbarhet i det smarta kontraktet DAO, en av de mest populära Ethereum-applikationerna vid den tiden, utnyttjades skadligt. Angriparen stal ett aldrig tidigare skådat belopp på mer än 3,6 miljoner ETH – nästan 5\% av all existerande ETH – från kontraktet.

Ethereum-samhället bröt ut i en het debatt om vad man skulle göra åt attacken. Så småningom hölls en myntröstning på kedjan med kort varsel den 15 juli 2016. 87\% röstade för en hård gaffel för att vända attacken och ersätta investerare i DAO, men endast 5,5\% av alla utestående ETH visade sig kl. rösten. Fyra dagar senare släpptes en ny version av Ethereum som körde den hårda gaffeln.

Denna mycket kontroversiella DAO-gaffel undergrävde helt oföränderlighet, en viktig blockchain-säkerhetsegenskap. En del av Ethereum-communityn fortsatte att känna igen Ethereums ursprungliga transaktionshistoria och bildade en separat blockkedja som kallades Ethereum Classic. Precis som med Bitcoins 2017-gaffel i Bitcoin och Bitcoin Cash, slutade användarna att avgöra vilken gaffel de skulle lita på, medan applikationsutvecklare var tvungna att klara av marken under deras applikationer som plötsligt gick i två.