Původní název: Possible futures of the Ethereum protocol, part 1: The Merge

Původní autor: Vitalik Buterin

Původní kompilace: Deng Tong, Golden Finance

Zvláštní poděkování patří Justinu Drakeovi, Hsiao-wei Wangovi, @antonttc a Francescovi za jejich zpětnou vazbu a recenze.

Zpočátku „sloučení“ odkazovalo na nejdůležitější událost v historii protokolu Ethereum od jeho spuštění: dlouho očekávaný a těžce vybojovaný přechod od Proof-of-Work k Proof-of-Stake. Dnes je Ethereum již téměř dva roky stabilním a fungujícím systémem proof-of-stake, který si vedl mimořádně dobře z hlediska stability, výkonu a vyhýbání se rizikům centralizace. Stále však existují některé důležité oblasti, kde je třeba zlepšit důkaz o sázce.

Můj plán pro rok 2023 ho rozděluje do několika částí: vylepšení technických funkcí, jako je stabilita, výkon a dostupnost pro menší validátory, a ekonomické změny, které řeší rizika centralizace. První z nich převzal titul „Merge“, zatímco druhý se stal součástí „The Scourge“.

Tento článek se zaměří na část „sloučení“: Co ještě lze zlepšit v technickém návrhu proof of stake a jaké jsou způsoby, jak těchto vylepšení dosáhnout?

Toto není vyčerpávající seznam vylepšení, která by mohla být provedena v Proof of Stake, spíše je to seznam nápadů, které jsou aktivně zvažovány.

Finalita jednoho slotu a demokratizace sázek

Jaký problém řešíme?

Dnes trvá dokončení bloku 2-3 epochy (~15 minut) a vyžaduje 32 ETH, abyste se stali stakerem. Toto byl původně kompromis, který měl dosáhnout rovnováhy mezi třemi cíli:

· Maximalizujte počet validátorů, kteří se mohou zúčastnit sázky (to přímo znamená minimalizaci minimálního ETH potřebného pro sázku)

· Minimalizujte čas dokončení

· Minimalizujte režii běžících uzlů

Tyto tři cíle jsou ve vzájemném rozporu: aby bylo dosaženo ekonomické finality (tj. útočník by musel zničit velké množství ETH, aby obnovil dokončený blok), každý validátor by musel podepsat dvě zprávy na finalizaci. Pokud tedy máte mnoho validátorů, bude zpracování všech podpisů buď trvat dlouho, nebo budete potřebovat velmi výkonné uzly, které zpracují všechny podpisy současně.

Všimněte si, že to vše závisí na klíčovém cíli Etherea: zajistit, že i úspěšný útok bude pro útočníka znamenat vysoké náklady. To je myšleno pod pojmem „ekonomická konečnost“. Pokud tento cíl nemáme, můžeme tento problém vyřešit náhodným výběrem komise (jako například to, co dělá Algorand), která dokončí každý slot. Problém s tímto přístupem je ale v tom, že pokud útočník ovládá 51 % validátorů, pak mohou zaútočit s velmi nízkou cenou (obnovení dokončených bloků, cenzura nebo odložení finalizace): pouze část uzlů komise může být detekována jako podílet se na útocích a potrestáni, buď sekáním nebo hrstkou měkkých vidliček. To znamená, že útočník může řetězec opakovaně útočit mnohokrát. Pokud tedy chceme ekonomickou konečnost, jednoduchý přístup založený na komisích nebude fungovat a na první pohled potřebujeme k účasti celou sadu validátorů.

V ideálním případě chceme zachovat ekonomickou konečnost a zároveň zlepšit status quo dvěma způsoby:

· Ukončete bloky v rámci časového úseku (ideálně ponechejte nebo dokonce zkraťte aktuální délku 12 sekund) místo 15 minut

· Umožněte validátorům vsadit 1 ETH (sníženo z 32 ETH na 1 ETH)

První cíl dokládají dva cíle, z nichž oba lze považovat za „sladění vlastností Etherea s vlastnostmi (centralizovanějších) řetězců L1 zaměřených na výkon.“

Zaprvé zajišťuje, že všichni uživatelé Etherea budou mít prospěch z vyšší úrovně zabezpečení dosažené prostřednictvím mechanismu finalizace. Dnes většina uživatelů tuto záruku nevyužívá, protože nejsou ochotni čekat 15 minut s mechanismem finalizace s jedním slotem, uživatelé vidí transakci dokončenou téměř okamžitě po potvrzení transakce. Za druhé, zjednodušuje protokol a okolní infrastrukturu, pokud se uživatelé a aplikace nemusejí obávat možnosti řetězového rollbacku (s výjimkou relativně vzácných případů úniků nečinnosti).

Druhým cílem je touha podporovat jednotlivé stakery. Průzkum za průzkumem opakovaně ukázal, že hlavní věcí, která brání většímu počtu lidí v sázkách samostatně, je minimum 32 ETH. Snížení minima na 1 ETH by tento problém vyřešilo do té míry, že by se hlavním faktorem omezujícím individuální sázky staly jiné problémy.

Je tu výzva: cíle rychlejší finality a demokratičtějšího vytyčování jsou v rozporu s cílem minimalizovat režii. Ve skutečnosti je tato skutečnost hlavním důvodem, proč v první řadě nepřijímáme jednoslotový determinismus. Nedávný výzkum však naznačuje některá možná řešení tohoto problému.

Co to je a jak to funguje?

Finalita jednoho slotu zahrnuje použití konsenzuálního algoritmu, který finalizuje bloky v rámci jednoho slotu. To samo o sobě není nedosažitelný cíl: mnoho algoritmů (např. Tendermint consensus) toho již dosahuje s optimálními vlastnostmi. Žádoucí vlastností jedinečnou pro Ethereum, kterou Tendermint nepodporuje, je únik neaktivity, který umožňuje řetězci pokračovat ve fungování a případně se zotavit, i když je více než 1/3 validátorů offline. Naštěstí toto přání již bylo splněno: již existují návrhy na úpravu konsenzu ve stylu Tendermint, aby se přizpůsobil únikům z nečinnosti.

Přední návrh finality jednoho slotu

Nejtěžší částí problému je přijít na to, jak zajistit, aby finalita jednoho slotu fungovala s velmi vysokým počtem validátorů, aniž by to znamenalo extrémně vysokou režii operátora uzlu. K tomu existuje několik předních řešení:

Možnost 1: Hrubá síla – Pracujte na lepším protokolu agregace podpisů, případně pomocí ZK-SNARK, což by nám v podstatě umožnilo zpracovávat podpisy od milionů validátorů na slot.

Horn, jeden z navrhovaných návrhů pro lepší agregační protokoly.

Možnost 2: Orbit Committee – Nový mechanismus, který umožňuje náhodně vybranému středně velkému výboru, aby byl odpovědný za dokončení řetězce, ale způsobem, který zachová vlastnosti nákladů na útok, které hledáme.

Jedním ze způsobů, jak uvažovat o Orbit SSF, je, že otevírá prostor kompromisních možností, v rozsahu od x=0 (výbor ve stylu Algorandu, žádná ekonomická konečnost) až po x=1 (současná situace Etherea), čímž se otevírá bod uprostřed. , Ethereum Stále existuje dostatek ekonomické finality k dosažení extrémní bezpečnosti, ale zároveň získáváme výhodu efektivity spočívající v požadavku pouze středně velkého náhodného vzorku validátorů k účasti v každé epoše.

Orbit využívá již existující heterogenitu ve velikosti vkladů validátorů, aby získal co největší ekonomickou konečnost a přitom stále dával roli malým validátorům. Orbit navíc používá pomalou rotaci výborů, aby zajistil vysoký stupeň překrývání mezi sousedními kvory a zajistil, že jeho ekonomická konečnost stále platí pro hranice rotace výborů.

Možnost 3: Dvouvrstvé sázky – mechanismus, kdy jsou sázkaři rozděleni do dvou kategorií, jedna s vyššími požadavky na vklad a druhá s nižšími požadavky na vklad. Na zajišťování ekonomické finality se přímo podílejí pouze úrovně s vyššími požadavky na vklady. Existují různé návrhy, jaká by přesně byla práva a povinnosti vrstev s nižšími požadavky na vklad (viz například příspěvek Rainbow Staking). Mezi běžné nápady patří:

· Právo delegovat podíly na držitele akcií vyšší úrovně

· Náhodně vybraní stakeholdeři nižší úrovně jsou ověřeni a povinni dokončit každý blok

· Právo vytvářet seznamy zařazení

Jaké jsou souvislosti se stávajícím výzkumem?

· Cesty k finalitě jednoho slotu (2022): https://notes.ethereum.org/@vbuterin/single_slot_finality

· Konkrétní návrh jednoslotového protokolu finality Etherea (2023): https://eprint.iacr.org/2023/280

· Orbit SSF:https://ethresear.ch/t/orbit-ssf-solo-staking-friendly-validator-set-management-for-ssf/19928

· Další analýza mechaniky stylu Orbit: https://notes.ethereum.org/@anderselowsson/Vorbit_SSF

· Horn, Signature Aggregation Protocol (2022): https://ethresear.ch/t/horn-collecting-signatures-for-faster-finality/14219

· Sloučení podpisů pro konsensus ve velkém měřítku (2023): https://ethresear.ch/t/signature-merging-for-large-scale-consensus/17386?u=asn

· Protokol agregace podpisů navržený Khovratovichem a kol.: https://hackmd.io/@7dpNYqjKQGeYC7wMlPxHtQ/BykM3ggu0#/

· Agregace podpisů založená na STARK (2022): https://hackmd.io/@vbuterin/stark_aggregationRainbow

· Staking: https://ethresear.ch/t/unbundling-staking-towards-rainbow-staking/18683

Co zbývá udělat? Jaké jsou kompromisy?

Existují čtyři hlavní možné cesty (můžeme také použít hybridní cesty):

· Zachovat status quo

· Orbit SSF

· Výkonný SSF

· SSF se dvěma úrovněmi vytyčování

(1) znamená nedělat žádnou práci a udržovat sázky tak, jak jsou, ale to by zhoršilo bezpečnostní zkušenost Etherea a vlastnosti centralizace sázek, než by tomu bylo jinak.

(2) Vyhněte se „high tech“ a vyřešte problém chytrým přehodnocením předpokladů protokolu: zmírnili jsme požadavek „ekonomické finality“, takže požadujeme, aby náklady na útok byly vysoké, ale připustili jsme, že náklady na útok mohou být 10krát nižší. než nyní (Například náklady na útok jsou 2,5 miliardy dolarů, nikoli 25 miliard dolarů). Všeobecně se má za to, že Ethereum má dnes mnohem větší ekonomickou konečnost, než potřebuje, a jeho hlavní bezpečnostní rizika leží jinde, takže je to pravděpodobně přijatelná oběť.

Hlavní snahou je ověřit, zda je mechanismus Orbit bezpečný a má vlastnosti, které chceme, a následně jej plně formalizovat a implementovat. Kromě toho EIP-7251 (Zvýšení maximálního platného zůstatku) umožňuje dobrovolnou konsolidaci zůstatku validátoru, což okamžitě snižuje režii ověřování řetězce a slouží jako efektivní počáteční fáze pro zavedení Orbitu.

(3) Vyhýbání se chytrému přehodnocování a místo toho problémům s hrubým vynucováním pomocí špičkových technologií. To vyžaduje nasbírání velkého počtu podpisů (1 milion+) ve velmi krátkém čase (5-10 sekund).

(4) Vyhýbá se chytrým přehodnocením a špičkovým technologiím, ale vytváří dvouúrovňový sázkový systém, který má stále rizika centralizace. Riziko silně závisí na konkrétních právech získaných nižšími úrovněmi sázek. Například:

Pokud sázkaři na nižší úrovni potřebují delegovat svá atestační práva na stakery vyšší úrovně, může se delegování stát centralizovaným a skončíme se dvěma vysoce centralizovanými sázkovými vrstvami. Pokud je ke schválení každého bloku vyžadováno náhodné vzorkování nižších úrovní, může útočník utratit malé množství ETH, aby zabránil definitivnosti. Pokud nízkoúrovňové stakeery mohou vytvářet pouze seznamy zahrnutí, pak vrstva důkazů může být stále centralizovaná, v tomto okamžiku může 51% útok na vrstvu důkazů cenzurovat samotný seznam zařazení.

Lze kombinovat více strategií, např.

· (1 + 2): Přidá Orbit bez provedení finalizace jednoho slotu.

· (1 + 3): Použijte techniky hrubé síly ke snížení minimální velikosti vkladu bez vynucení jednoslotové finality. Potřebné množství polymerace je 64krát menší než v čistém (3) případě, takže problém se stává jednodušším.

· (2 + 3): Proveďte Orbit SSF s konzervativními parametry (např. 128k validátorový výbor místo 8k nebo 32k) a použijte techniky hrubé síly, aby byl super účinný.

· (1 + 4): Přidá duhové vytyčování bez vynucení finality jednoho slotu.

Jak interaguje s ostatními částmi plánu?

Mezi další výhody, jednoslotová finalita snižuje riziko určitých typů útoků MEV s více bloky. Kromě toho ve světě finality s jedním slotem musí být separační design navrhovatele a další potrubí pro výrobu bloků uvnitř protokolu navrženy odlišně.

Slabinou strategií hrubé síly je, že ztěžují zkrácení doby slotu.

Volba jediného tajného vůdce

Jaký problém se snažíme vyřešit?

Dnes, který validátor navrhne další blok, je známo předem. To vytváří bezpečnostní díru: útočník by mohl monitorovat síť, identifikovat, které validátory odpovídají kterým IP adresám, a spustit DoS útok na validátory, když se chystají navrhnout blok.

Co je to? Jak to funguje?

Nejlepší způsob, jak vyřešit problém s DoS, je skrýt informace o tom, který validátor vygeneruje další blok, alespoň do doby, než bude blok skutečně vygenerován. Všimněte si, že je to snadné, pokud odstraníme požadavek na „jediný“: jedním řešením by bylo nechat kohokoli vytvořit další blok, ale vyžadovat, aby randao odhalilo méně než 2256/N. Tento požadavek splňuje v průměru pouze jeden validátor – někdy jsou však dva nebo více a někdy nula. Spojení požadavku „důvěrnosti“ s požadavkem „jednoty“ bylo vždy obtížným problémem.

Jediný tajný protokol pro volbu vůdce řeší tento problém pomocí některých kryptografických technik k vytvoření „slepého“ validátoru ID pro každého validátora a poté dává mnoha navrhovatelům příležitost zamíchat a znovu zaslepit skupinu slepých ID (toto je podobné jak hybridní sítě fungují). V každém období je vybráno náhodné slepé ID. Pouze vlastník nevidomého průkazu může vygenerovat platný doklad pro návrh blokace, ale nikdo neví, kterému validátoru nevidomé ID odpovídá.

Whisk SSLE protokol

Jaké jsou odkazy na existující výzkum?

· Referát Dana Boneha (2020): https://eprint.iacr.org/2020/025.pdf

· Whisk (praktický návrh pro Ethereum, 2022): https://ethresear.ch/t/whisk-a-practical-shuffle-based-ssle-protocol-for-ethereum/11763

· Jednotná tajná volba vůdce na ethresear.ch: https://ethresear.ch/tag/single-secret-leader-election

· Zjednodušené SSLE pomocí vyzváněcích podpisů: https://ethresear.ch/t/simplified-ssle/12315

Co zbývá udělat? Jaké jsou kompromisy?

Opravdu už zbývá jen najít a implementovat protokol, který je dostatečně jednoduchý, abychom ho mohli snadno implementovat na mainnet. Ethereum bereme velmi vážně jako poměrně jednoduchý protokol a nechceme, aby se složitost dále zvyšovala. Implementace SSLE, které jsme viděli, přidaly stovky řádků kanonického kódu a zavedly nové předpoklady v komplexním šifrování. Otevřeným problémem je také nalezení dostatečně efektivní implementace kvantově odolného SSLE.

Může se nakonec stát, že „mezní dodatečná složitost“ SSLE se sníží pouze tehdy, když zavedeme obecný mechanismus důkazu nulových znalostí na L1 protokolu Ethereum z jiných důvodů (např. státní stromy, ZK-EVM) na dostatečně nízkou úroveň.

Další možností je ignorovat SSLE vůbec a místo toho použít mimoprotokolová zmírnění (například na vrstvě p2p) k vyřešení problémů s DoS.

Jak interaguje s ostatními částmi plánu?

Pokud přidáme mechanismus oddělení prover-proposer (APS), jako jsou prováděcí lístky, pak provádění bloků (tj. bloků obsahujících transakce Ethereum) nebude vyžadovat SSLE, protože se můžeme spolehnout na specializované tvůrce bloků. U konsensuálních bloků (tj. bloků, které obsahují protokolové zprávy (např. důkazy, případně části seznamů atd.)) však budeme stále těžit z SSLE.

Rychlejší potvrzení transakce

Jaký problém řešíme?

Další zkrácení doby potvrzování transakcí Etherea z 12 sekund na 4 sekundy má smysl. Pokud tak učiníte, výrazně zlepšíte uživatelskou zkušenost založenou na L1 a agregaci a zároveň zefektivníte protokol defi. L2 to také usnadní decentralizaci, protože umožní velkému počtu aplikací L2 pracovat na agregovaném řazení, čímž se sníží potřeba, aby L2 budovala své vlastní decentralizované řazení založené na výborech.

Co je to? Jak to funguje?

Jsou zde zhruba dvě techniky:

· Zkracte dobu slotu, napíklad na 8 sekund nebo 4 sekund. To nutně neznamená 4 sekundy finality: finalita v podstatě vyžaduje tři kola komunikace, takže bychom mohli z každého kola komunikace udělat samostatný blok s alespoň předběžným potvrzením po 4 sekundách.

· Umožněte navrhovatelům vydávat předběžná potvrzení během slotu. V extrémních případech by navrhovatelé mohli začlenit transakce, které vidí, do svých bloků v reálném čase a pro každou transakci okamžitě zveřejnit předpotvrzující zprávu („Moje první transakce byla 0x1234...“, „I Druhá transakce je 0×5678. ..”). Situaci, kdy navrhovatel vydá dvě protichůdná potvrzení, lze řešit dvěma způsoby: (i) podříznutím navrhovatele nebo (ii) použitím důkazů k hlasování o tom, které z nich je dříve.

Jaké jsou odkazy na existující výzkum?

· Na základě předběžných potvrzení: https://ethresear.ch/t/based-preconfirmations/17353

· Protokolem vynucené závazky navrhovatele (PEPC): https://ethresear.ch/t/unbundling-pbs-towards-protocol-enforced-proposer-commitments-pepc/13879

· Střídavá období na paralelních řetězcích (nápady na dosažení nízké latence v roce 2018): https://ethresear.ch/t/staggered-periods/1793

Co zbývá udělat a jaké jsou kompromisy?

Není jasné, jak praktické bude zkrácení doby slotu. Dokonce i dnes se sázkaři v mnoha částech světa snaží dostatečně rychle získat důkazy. Pokus o 4sekundový časový úsek riskuje koncentraci sady validátorů a znemožní stát se validátorem mimo několik privilegovaných oblastí kvůli latenci.

Slabinou metody předběžného potvrzení navrhovatele je to, že výrazně zlepšuje průměrnou dobu zahrnutí případu, ale nikoli dobu zahrnutí nejhoršího případu: pokud aktuální navrhovatel běží dobře, vaše transakce bude předem potvrzena za 0,5 sekundy, zatímco není (v průměru) 6 sekund, aby bylo zahrnuto, ale pokud je aktuální navrhovatel offline nebo si nevede dobře, musíte ještě počkat celých 12 sekund, než bude moci začít další blok a poskytnout nového navrhovatele.

Kromě toho je zde otevřená otázka, jak stimulovat předběžné potvrzení. Navrhovatelé mají motivaci maximalizovat svou volitelnost co nejdéle. Pokud prokazatel podepíše včasnost předběžného potvrzení, může odesílatel transakce podmínit část poplatku okamžitým předkonfirmací, což však pro dokazovatele bude znamenat další zátěž a může ztížit pokračování v prokazování. fungovat jako neutrální „hloupá trubka“.

Na druhou stranu, pokud se o to nepokusíme a udržíme dobu finalizace na 12 sekundách (nebo déle), ekosystém bude klást větší důraz na mechanismus předběžného potvrzení zavedený vrstvou 2 a interakce napříč vrstvou 2 budou trvat delší dobu.

Jak interaguje s ostatními částmi plánu?

Předběžná konfirmace založená na navrhovateli se ve skutečnosti opírá o mechanismy oddělení mezi navrhovateli (APS), jako jsou lístky na provedení. V opačném případě může tlak na poskytování předběžných potvrzení v reálném čase vytvářet příliš centralizovaný tlak na pravidelné validátory.

Další oblasti výzkumu

51% obnovení útoku

Obecně se má za to, že v případě 51% útoku (včetně útoků, které nelze kryptograficky prokázat, jako je cenzura), se komunita spojí, aby implementovala menšinový soft fork, který zajistí, že dobří vyhrají a padouši budou unikla nebo byla omezena v důsledku nečinnosti. Tato míra nadměrného spoléhání se na sociální vrstvu je však pravděpodobně nezdravá. Můžeme se pokusit snížit závislost na sociální vrstvě a proces obnovy co nejvíce zautomatizovat.

Plná automatizace není možná, protože pokud by byla, počítalo by se to jako >50% tolerantní k chybám konsensuální algoritmus, a my již známe (velmi přísná) matematicky prokazatelná omezení takových algoritmů. Můžeme však dosáhnout částečné automatizace: klient může například automaticky odmítnout přijmout řetězec jako konečný, nebo jej dokonce odmítnout přijmout jako vedoucího výběru forku, pokud klient zkontroloval transakci, kterou klient dlouho viděl. dost. Klíčovým cílem je zajistit, aby padouši v útoku nezískali alespoň rychlé vítězství.

Zvýšit práh kvora

Dnes bude blok dokončen, pokud jej podpoří 67 % stakerů. Někteří si myslí, že je to příliš radikální. V celé historii Etherea došlo pouze k jednomu (velmi krátkému) konečnému selhání. Pokud by se toto procento zvýšilo na 80 %, počet zvýšených epoch nefinality by byl relativně nízký, ale Ethereum by získalo bezpečnost: zejména mnoho spornějších situací by mělo za následek dočasné pozastavení finality. Zdá se to mnohem zdravější než okamžitá výhra „špatné strany“, ať už je útočníkem špatná strana, nebo je chyba na straně klienta.

To také odpovídá na otázku "Jaký smysl má samostatný staker?" Dnes již většina stakerů sází prostřednictvím poolů a zdá se nepravděpodobné, že jeden staker obdrží až 51 % vsazeného ETH. Zdá se však možné, že se sólo sázkaře dostane k menšině, která blokuje většinu, pokud se budeme hodně snažit, zvláště pokud většina dosáhne 80 % (takže k zablokování většiny stačí pouze 21 %). Dokud se osamělí stakeři nezúčastní 51% útoku (ať už obrácení finality nebo přezkoumání), tento útok nedosáhne „čistého vítězství“ a osamělí stakeři budou aktivně pomáhat organizovat menšinové soft forky.

Kvantový odpor

Metaculus v současnosti věří, že kvantové počítače pravděpodobně začnou prolomit kryptografii někdy ve třicátých letech 20. století, i když s velkou mírou chyb:

Odborníci na kvantové počítače, jako je Scott Aaronson, také nedávno začali brát vážněji možnost, že kvantové počítače budou ve střednědobém horizontu skutečně fungovat. To má důsledky pro celý plán Etherea: znamená to, že každá část protokolu Ethereum, která v současnosti spoléhá na eliptické křivky, bude potřebovat nějakou alternativu založenou na hash nebo jinou kvantově odolnou alternativu. To zejména znamená, že nemůžeme předpokládat, že se někdy budeme moci spolehnout na vynikající vlastnosti agregace BLS při zpracování podpisů z velkých sad validátorů. To ospravedlňuje konzervatismus v předpokladech provedení proof-of-stake design a je to důvod k agresivnějšímu vývoji kvantově odolných alternativ.

Původní odkaz