Původní autor: Vitalik Buterin
Původní kompilace: bayemon.eth, ChainCatcher
Zvláštní poděkování patří Miku Neuderovi, Justinu Drakeovi a dalším za jejich zpětnou vazbu a recenze. Viz také: Mike Neuder, Dankrad Feist a dřívější příspěvky arixon.eth na podobná témata.
O současném stavu vývoje Etherea lze říci, že zahrnuje velké množství dvouúrovňových sázek Zde zmíněný dvouúrovňový sázek odkazuje na model sázek se dvěma typy účastníků.
Provozovatel uzlu: Provozuje uzel a používá svou vlastní pověst nebo určitou částku vlastního kapitálu jako zajištění.
Agent Delegator: Agenti se zavazují určitou částku Etherea bez minimální částky a bez dalších omezení na jiné metody účasti, než je kolaterál.
Tento vznikající dvojitý sázek je generován velkou účastí ve ssazovacích fondech, které poskytují likviditu pro sázkové tokeny (LST). (Rocket Pool a Lido jsou oba v tomto režimu).
Současný dvojitý příslib má však dva nedostatky:
Riziko centralizace provozovatelů uzlů: Současný mechanismus výběru provozovatelů uzlů ve všech stakeholderech je stále příliš centralizovaný.
Zbytečná konsensuální zátěž: Ethereum L1 potřebuje ověřit přibližně 800 000 podpisů za Epochu, což je obrovská zátěž na jeden slot. Navíc, protože likviditní sázkové fondy vyžadují více finančních prostředků, samotná síť z tohoto zatížení plně netěží. Pokud tedy síť Ethereum může dosáhnout přiměřené decentralizace a bezpečnosti, aniž by vyžadovala, aby každý stakeholder podepisoval podle období, pak může komunita přijmout takové řešení a účinně snížit počet podpisů za období.
Tento článek popíše řešení výše uvedených dvou problémů, zaprvé za předpokladu, že většinu kapitálu drží ti, kteří nejsou ochotni osobně spravovat stakingové uzly v jejich současné podobě, podepisovat informace na každém slotu, uzamknout vklady a přerozdělit je. na ty, jejichž finanční prostředky byly sníženy. Jakou roli tedy v tomto případě mohou tito lidé sehrát, aby ještě smysluplně přispěli k decentralizaci a bezpečnosti sítě?
Jak v současnosti funguje dvojité zajištění?
V současné době jsou dva nejoblíbenější staking pooly Lido a RocketPool Pokud jde o Lido, dvě zúčastněné strany jsou:
Operátor uzlu: Hlasuje Lido DAO, což znamená, že je ve skutečnosti volen držiteli LDO Když někdo vloží ETH do systému chytrých smluv Lido, vytvoří se stETH a operátor uzlu se dá do fondu zástavy (ale kvůli výběru. certifikát je vázán na adresu smart contract, operátor nemůže libovolně vybírat peníze)
Agent: Když někdo vloží ETH do systému chytré smlouvy Lido, vygeneruje se stETH a operátor uzlu jej může použít jako zástavu (ale protože poukaz na výběr je vázán na adresu chytré smlouvy, operátor si nemůže vybrat peníze libovolně)
Pro Rocket Pool jsou to:
Operátor uzlu: Operátorem uzlu se může stát kdokoli, když předloží 8 ETH a určitý počet tokenů RPL.
Agent: Když někdo vloží ETH do systému chytrých kontraktů Rocket Pool, vygeneruje se rETH a operátor uzlu ho může použít jako zástavu (také protože poukaz na výběr je vázán na adresu smart kontraktu, operátor nemůže libovolně vybírat hotovost ).
agenturní role
V těchto systémech (nebo v nových systémech umožněných potenciálními budoucími změnami protokolů) je třeba si položit klíčovou otázku: jaký smysl má mít agenta z pohledu protokolu?
Abychom pochopili hluboký význam tohoto problému, nejprve se zamyslíme nad změnami protokolu zmíněnými v příspěvku, které omezí penalizaci na 2 ETH a zároveň sníží výši vkladu operátorů uzlů na 2 ETH a Rocket Pool tržní podíl se zvýší na 100 % / (pro stakery a držitele ETH, protože rETH se stává bezrizikovým, téměř všichni držitelé ETH se stanou držiteli rETH nebo provozovateli uzlů).
Za předpokladu, že návratnost držitelů rETH je 3 % (včetně odměn v rámci protokolu a prioritních poplatků + MEV), je návratnost provozovatelů uzlů 4 %. Předpokládáme také, že celková dodávka ETH je 100 milionů.
Výsledky výpočtu jsou následující. Abychom se vyhnuli výpočtům složeného úroku, budeme denně počítat výnosy:
Nyní, za předpokladu, že Rocket Pool neexistuje, minimální částka vkladu na jednoho stakera klesne na 2 ETH, celková likvidita je omezena na 6,25 milionu ETH a návratnost operátora uzlu klesne na 1 %. Pojďme znovu počítat:
Zvažte oba scénáře z hlediska nákladů na útok. V prvním případě se útočník jako agent nezaregistruje, protože agent v podstatě nemá žádná práva na výběr peněz, takže to postrádá smysl. Proto využijí veškeré ETH ke sázce a stanou se operátory uzlů. Aby dosáhli 1/3 celkové vsazené částky, museli by vsadit 2,08 milionu Ethereum (což je, abychom byli spravedliví, stále značné číslo. Ve druhém případě by útočník musel vsadit pouze prostředky, aby dosáhl sázky). pool Na 1/3 celkové částky potřebují ještě investovat 2,08 milionu Etherea.
Z pohledu ekonomiky sázek a nákladů na útok je konečný výsledek v obou případech naprosto stejný. Podíl celkové nabídky ETH v držení provozovatelů uzlů se každý den zvyšuje o 0,00256 % a podíl na celkové nabídce ETH v držení neuzlových operátorů se každý den snižuje o 0,00017 %. Náklady na útok jsou 2,08 milionu ETH. Proto se v tomto modelu zdá, že se z agenta stal nesmyslný stroj Rube Goldberga a racionální komunita je dokonce nakloněna odstranění prostředníka, výraznému snížení odměn za sázky a omezení celkového množství vsazeného ETH na 6,25 milionu.
Tento článek samozřejmě neobhajuje čtyřnásobné snížení sázkové odměny a omezení celkové sázkové částky na 6,25 milionu. Pointou tohoto článku je spíše to, že klíčovým atributem dobře fungujícího stakingového systému je to, že agenti by měli mít významnou odpovědnost v celém systému. Kromě toho by nezáleželo na tom, kdyby byli agenti motivováni z velké části komunitním tlakem a altruismem, aby podnikli správné kroky, to je koneckonců to, co dnes pobízí decentralizovaná, vysoce bezpečná sázková řešení.
Povinnosti agenta
Pokud by agenti mohli hrát smysluplnou roli v systému sázek, jaká by to mohla být?
Myslím, že existují dvě kategorie odpovědí:
Výběr agenta: Agenti si mohou vybrat, kterým operátorům uzlů svěří své sázky. Váha operátorů uzlů v mechanismu konsenzu je úměrná celkovému podílu, který jim byl svěřen. V současné době je mechanismus výběru proxy stále omezený, tj. držitelé rETH nebo stETH mohou odebrat své ETH a přejít na jiný fond, ale skutečná dostupnost výběru proxy by se mohla výrazně zlepšit.
Účast na mechanismu konsenzu: Delegáti se mohou rozhodnout hrát určitou roli v mechanismu konsenzu. Odpovědnost je „lehčí“ než úplné předplatné a nedojde k dlouhému výstupnímu období a snížení rizika, ale stále může fungovat jako kontrola a vyvážení. pro efekt operátorů uzlů.
Vylepšete možnosti agentury
Existují tři způsoby, jak zvýšit možnost výběru vašeho zástupce:
Vylepšené nástroje pro hlasování ve fondu
Zvýšit konkurenci mezi fondy
Opravte právo na zastupování
V současné době není hlasování v poolu vlastně praktické: v Rocket Pool se může kdokoli stát operátorem uzlu a v Lidu o hlasování rozhodují držitelé LDO, nikoli držitelé ETH. Lido předložilo návrh na duální řízení LDO + stETH Mohou aktivovat ochranný mechanismus, který zabrání novým hlasováním, a tím zabrání přidávání nebo odstraňování operátorů uzlů. Přesto je tato síla omezená a může být silnější.
Cross-pool konkurence již dnes existuje, ale je poměrně slabá. Hlavním problémem je, že sázkové tokeny menších sázkových fondů jsou méně likvidní, obtížněji se získávají důvěru a méně podporované aplikacemi.
První dva problémy můžeme zlepšit omezením pokuty na menší částku, například 2 nebo 4 ETH. Zbývající ETH lze poté bezpečně uložit a okamžitě vybrat, což umožňuje, aby obousměrné konverze stále platili pro menší sázkové fondy. Třetí problém můžeme vylepšit vytvořením totální emisní smlouvy pro správu LST (obdoba smluv ERC-4337 a ERC-6900 používaných pro peněženky), abychom mohli zaručit jakékoli vsazené tokeny vydané prostřednictvím této smlouvy. Všechny jsou v bezpečí.
V současné době dohoda neobsahuje žádné pevné zastupitelské pravomoci, ale zdá se, že taková situace v budoucnu pravděpodobně nastane. Bude zahrnovat podobnou logiku jako výše uvedená myšlenka, ale implementovanou na úrovni protokolu. Podívejte se na tento článek o výhodách a nevýhodách zpevňování věcí.
Tyto myšlenky jsou vylepšením současného stavu, ale nabízejí omezené výhody. Existují problémy se správou tokenového hlasování a v konečném důsledku je jakákoli forma nemotivovaného výběru zástupců pouze formou tokenového hlasování, což bylo vždy mým hlavním problémem s delegovaným potvrzením o sázce. Proto je také cenné zvážit způsoby, jak dosáhnout silnější konsensuální účasti.
konsensuální účast
I když odhlédneme od současných problémů s likviditním sázením, existují omezení současných nezávislých metod sázek. Za předpokladu jednoslotové finality může každý slot ideálně zpracovat přibližně 100 000 až 1 000 000 podpisů BLS. I když k agregaci podpisů používáme rekurzivní SNARK, pro dohledatelnost podpisu musí být každému podpisu přiřazeno bitové pole účastníka. Pokud se Ethereum stane sítí globálního měřítka, plně decentralizovaná bitová pole úložiště nebudou stačit: 16 MB v každém slotu může podporovat pouze přibližně 64 milionů stakerů.
Z tohoto pohledu má smysl rozdělovat sázky na úrovně s vyšší složitostí, které lze snížit, a úrovně s nižší složitostí, kde bude platit každý slot, ale může mít pouze 10 000 účastníků nebo jsou vrstvy s nižší složitostí vyzvány k účasti jen příležitostně. Vrstvy s nižší složitostí by mohly být zcela vyjmuty ze snížení, nebo by účastníci mohli dostat náhodně příležitost vložit v rámci několika slotů a podléhat snížením.
V praxi toho lze dosáhnout zvýšením limitu zůstatku validátoru a následným zvýšením prahu zůstatku (např. 2048 ETH), aby se určilo, které stávající validátory se přesunou do vyšších nebo nižších úrovní složitosti.
Zde je několik návrhů, jak by tyto malé sázkové role mohly fungovat:
Pro každý slot bude náhodně vybráno 10 000 malých sázkařů, kteří mohou podepsat to, co považují za reprezentativní pro daný slot. Spustí pravidlo výběru vidlice LMD GHOST pomocí malých vytyčovačů jako vstupu. Pokud dojde k nějaké neshodě mezi výběrem větve řízeným malými sázkaři a výběrem větve řízeným operátory uzlů, klient uživatele nepřijme žádný blok jako konečné potvrzení a zobrazí chybu. To nutí komunitu zasáhnout a situaci vyřešit.
Agenti mohou posílat transakce s oznámením do sítě, že jsou online a chtějí příští hodinu sloužit jako malí sázkaři. Výpočet zprávy (blok nebo důkaz) odeslané uzlem vyžaduje, aby uzel i náhodně vybraný agent podepsali potvrzovací informace uzlu.
Agenti mohou posílat transakce s oznámením do sítě, že jsou online a chtějí příští hodinu sloužit jako malí sázkaři. Každou epochu je vybráno 10 náhodných agentů jako poskytovatelé zahrnutí do seznamu a 10 000 dalších agentů je vybráno jako voliči. Tito jsou vybráni před k-slotem a je jim přiděleno okno k-slot pro zveřejnění zprávy v řetězci potvrzující jejich online přítomnost. Každý potvrzený vybraný poskytovatel seznamu pro zařazení může zveřejnit seznam pro zařazení, pokud u každého seznamu pro zařazení nejsou zahrnuty buď transakce zahrnuté v tomto seznamu pro zařazení, nebo hlasování obecně 1 vybraného elektorátu neukáže, že seznam pro zařazení není dostupný, jinak bude blokování považováno za neplatný.
Tyto malé stakingové uzly mají společné to, že se nemusí aktivně účastnit každého slotu, nebo dokonce potřebují pouze lehké uzly k dokončení veškeré práce. Proto nasazení uzlů vyžaduje pouze ověření konsensuální vrstvy, čehož mohou operátoři uzlů dosáhnout prostřednictvím aplikací nebo zásuvných modulů prohlížečů, které jsou většinou pasivní a nevyžadují žádnou výpočetní režii, požadavky na hardware nebo technické know-how. Velmi nízké a dokonce ani ne vyžadují pokročilou technologii jako ZK-EVM.
Tito „malí aktéři“ mají také společný cíl: zabránit 51% většině provozovatelů uzlů v provádění cenzury transakcí. První a druhý také brání většině v účasti na snížení konečnosti. Třetí se přímo týká cenzury, ale je náchylnější k volbám většinových operátorů uzlů.
Tyto nápady jsou psány z pohledu řešení dvojitého sázky implementovaného do protokolu, ale mohou být také implementovány jako funkce sázkových fondů. Zde jsou některé konkrétní nápady na implementaci:
Z hlediska protokolu může každý ověřovatel nastavit dva klíče zástavy: nepřetržitý klíč zástavy P a vázanou adresu Ethereum, kterou lze volat, a vydat rychlý klíč zástavy Q. Sledování informací o podpisu uzlu pro výběr vidlice je reprezentováno P a podepsané informace jsou reprezentovány Q. Pokud jsou výsledky úložiště PQ nekonzistentní, nebude finalizace žádného bloku přijata a za náhodný výběr bude odpovědný fond likvidity. zástupci.
Protokol může zůstat z velké části nezměněn, ale veřejný klíč validátoru pro toto období bude nastaven na P+Q. Všimněte si, že u redukcí mohou mít dvě redukovatelné zprávy různé klávesy Q, ale budou mít stejný klíč P, aby tento případ zvládl návrh redukce.
Klíče Q lze v protokolu použít pouze k podepisování a ověřování seznamů zahrnutí v blocích. V tomto případě může být Q spíše chytrou smlouvou než jediným klíčem, takže jej může sázkový fond použít k implementaci složitější logiky hlasování, přijetí inkluzivního seznamu od náhodně vybraného poskytovatele nebo dostatečného množství Označuje, že obsahující seznam není k dispozici pro hlasování. .
na závěr
Je-li správně implementován, může jemné vyladění návrhu proof-of-stake vyřešit dva problémy jedním tahem:
Poskytuje těm, kteří dnes nemají zdroje nebo schopnost provádět nezávislý Proof of Stake, příležitost zúčastnit se Proof of Stake, a tím si ponechat více pravomocí ve svých rukou: včetně (i) pravomoci vybrat si, které uzly budou podporovat a (ii) Aktivně se podílet na konsensu způsobem, který je lehčí, ale přesto smysluplný, než provozování uzlu plného důkazu. Ne všichni účastníci si vyberou jednu nebo obě z těchto možností, ale každý účastník, který zvolí jednu nebo obě z těchto možností, zažije výrazné zlepšení oproti současnému stavu.
Snižte počet podpisů, které musí konsenzuální vrstva Ethereum zpracovat v každém slotu, dokonce i v režimu finality jednoho slotu, na menší počet, například asi 10 000. To také pomůže s decentralizací, což všem usnadní provoz ověřovacích uzlů.
Pro tato řešení lze řešení problému nalézt na různých úrovních abstrakce: oprávnění udělená uživatelům v rámci protokolů proof-of-stake, uživatelská volba mezi protokoly proof-of-stake a zřízení v rámci protokolů. Tato volba by měla být pečlivě zvážena a často je lepší zvolit minimální schůdné nastavení, aby se minimalizovala složitost protokolu a rozsah změn v ekonomice protokolu a přitom bylo stále dosaženo požadovaných cílů.
