Ethereum och Bevisflaskhalsen
Ethereum (ETH) står inför en möjlighet att minska bevisflaskhalsen med 80% genom förslaget om ett binärt tillståndsträd och en långsiktig övergång till RISC-V Virtual Machine (VM). Medgrundaren av Ethereum, Vitalik Buterin, har presenterat två tekniska förändringar i EIP-7864, som syftar till att förbättra bevis-effektiviteten i blockchain-nätverket.
Förändringar i Tillståndsträdet
Det kortsiktiga förslaget, EIP-7864, föreslår att ersätta Ethereums nuvarande hexary Keccak Merkle Patricia Tree med en binär trädstruktur som använder en mer effektiv hash-funktion. Den befintliga hexary-strukturen designades för andra prioriteringar än den bevis-tunga arkitektur som Ethereum-utvecklare nu strävar efter.
Den nya binära trädstrukturen skulle producera Merkle-grenar som är fyra gånger kortare än det nuvarande systemet, eftersom binära operationer kräver 32 gånger log(n) jämfört med hexarys 512 gånger log(n) delat med 4, enligt förslaget. Denna minskning skulle sänka kostnaderna för klient-sidans grenverifiering och minska databandbreddsbehoven för verktyg som Helios och privata informationshämtning system med samma faktor.
Vinster i bevis-effektivitet skulle sträcka sig bortom förbättringar av grenlängd. Förslaget indikerar att kortare grenar skulle ge en tre till fyra gånger förbättring, oberoende av hash-funktionsoptimering. Att implementera Blake3 istället för Keccak skulle kunna ge en ytterligare tre gånger förbättring, medan en Poseidon-variant potentiellt skulle kunna ge 100 gånger förbättring, även om ytterligare säkerhetsanalys krävs innan Poseidon-implementering.
Sidbaserat Lagringssystem
Den binära träddesignen inkluderar ett sidbaserat lagringssystem som grupperar intilliggande lagringsplatser i sidor om 64 till 256 platser, vilket motsvarar cirka 2 till 8 kilobyte. Blockhuvudet och de första 1 till 4 kilobyten av kod och lagring skulle dela samma sida, vilket gör att kontrakt som läser från initiala lagringsplatser kan dra nytta av batcheffektivitet snarare än individuella åtkomstkostnader. Förslaget uppskattar att detta skulle kunna spara mer än 10 000 gas per transaktion för decentraliserade applikationer som laddar data från initiala lagringsplatser, vilket representerar en betydande del av aktiva distribuerade kontrakt.
Övergång till RISC-V Virtual Machine
Det långsiktiga förslaget innebär att ersätta Ethereum Virtual Machine med en mer effektiv virtuell maskin som RISC-V. Förslaget hävdar att EVM:s arkitektur inte är optimerad för en bevis-tung blockchain och att en ersättning skulle åtgärda grundläggande ineffektivitet snarare än att hantera dem genom ackumulerade förkompiler och lösningar.
Buterins förslag nämner fyra fördelar med RISC-V över EVM:
- Rå exekveringseffektivitet: RISC-V överträffar EVM i en grad som skulle eliminera behovet av många förkompiler.
- Prover effektivitet: zero-knowledge-provers är för närvarande skrivna i RISC-V, vilket skapar en naturlig anpassning till befintlig bevisinfrastruktur.
- Klient-sidans bevis: en RISC-V VM skulle möjliggöra för användare att generera zero-knowledge-bevis lokalt.
- Enkelhet: en RISC-V-tolk kan implementeras i flera hundra rader kod.
Implementeringsplan
Implementeringsplanen som beskrivs i förslaget inkluderar tre steg:
- En ny virtuell maskin, potentiellt RISC-V, hanterar förkompiler endast.
- Användare kan distribuera kontrakt direkt i den nya VM.
- EVM avvecklas och återimplementeras som ett smart kontrakt skrivet i den nya VM.
Buterin karakteriserar båda förändringarna som att de adresserar samma grundläggande utmaning från olika vinklar. Tillståndsträdet och VM tillsammans står för mer än 80 procent av flaskhalsen i effektiv bevisning. Att ta itu med någon av komponenterna utan den andra lämnar det större problemet delvis olöst.
”Förslaget erkänner att VM-ersättningen för närvarande inte representerar konsensus inom Ethereum-utvecklingsgemenskapen.”
Förslaget presenterar förändringarna som sekventiella: binära träd först, följt av VM-ersättning när bevisinfrastrukturen mognar kring den nya tillståndsstrukturen. EVM har ackumulerat komplexitet genom år av inkrementella tillägg, och förslaget anger att uppfyllandet av Ethereums funktionskrav nödvändiggör att ta itu med VM snarare än att kontinuerligt implementera lösningar.