Autor original: Vitalik Buterin
Compilație originală: bayemon.eth, ChainCatcher
Mulțumiri speciale lui Mike Neuder, Justin Drake și altora pentru feedback și recenzii. Vezi și: postările anterioare ale lui Mike Neuder, Dankrad Feist și arixon.eth pe subiecte similare.
Se poate spune că starea actuală de dezvoltare a Ethereum include un număr mare de mize duble, iar miza dublu menționată aici se referă la un model de miză cu două tipuri de participanți.
Operator de nod: operează un nod și își folosește propria reputație sau o anumită cantitate din propriul capital ca garanție.
Agent delegat: Agenții angajează o anumită cantitate de Ethereum, fără o sumă minimă și fără restricții suplimentare cu privire la alte metode de participare, altele decât garanția.
Această miză dublă emergentă este generată de participarea puternică la pool-uri de miza care oferă lichiditate pentru jetoanele de miză (LST). (Rocket Pool și Lido sunt ambele în acest mod).
Cu toate acestea, gajul dublu actual are două defecte:
Riscul de centralizare al operatorilor de noduri: Mecanismul actual de selecție a operatorilor de noduri din toate grupurile de staking este încă excesiv de centralizat.
Sarcina de consens inutilă: Ethereum L1 trebuie să verifice aproximativ 800.000 de semnături pe Epoch, ceea ce reprezintă o sarcină uriașă pentru un singur slot. În plus, deoarece pool-urile de participare a lichidității necesită mai multe fonduri, rețeaua în sine nu beneficiază pe deplin de această sarcină. Prin urmare, dacă rețeaua Ethereum poate realiza o descentralizare și securitate rezonabilă fără a cere fiecărui staker să semneze în funcție de perioadă, atunci comunitatea poate adopta o astfel de soluție, reducând efectiv numărul de semnături pe perioadă.
Acest articol va descrie o soluție la cele două probleme de mai sus, mai întâi presupunând că cea mai mare parte a capitalului este deținută de cei care nu doresc să gestioneze personal nodurile de miză în forma lor actuală, să semneze informațiile de pe fiecare slot, să blocheze depozitele și să le redistribuie. pentru cei ale căror fonduri au fost reduse Deci, în acest caz, ce rol pot juca acești oameni pentru a aduce în continuare o contribuție semnificativă la descentralizarea și securitatea rețelei?
Cum funcționează dubla garanție în prezent?
În prezent, cele mai populare două staking pool-uri sunt Lido și RocketPool. În ceea ce privește Lido, cele două părți participante sunt:
Operatorul de nod: Votat de Lido DAO, ceea ce înseamnă că este de fapt ales de deținătorii de LDO. Când cineva depune ETH în sistemul de contract inteligent Lido, este creat stETH, iar operatorul de nod poate fi pus în pool-ul de gaj (dar pentru că. certificatul de retragere este legat la adresa contractului inteligent, operatorul nu poate retrage bani după bunul plac)
Agent: Când cineva depune ETH în sistemul de contract inteligent Lido, stETH va fi generat, iar operatorul nodului îl poate folosi ca gaj (dar pentru că voucherul de retragere este legat de adresa contractului inteligent, operatorul nu poate retrage bani după bunul plac)
Pentru Rocket Pool, acestea sunt:
Operator de nod: Oricine poate deveni operator de nod trimițând 8 ETH și un anumit număr de jetoane RPL.
Agent: Când cineva depune ETH în sistemul de contract inteligent Rocket Pool, va fi generat rETH, iar operatorul nodului îl poate folosi ca gaj (tot fiind că voucherul de retragere este legat de adresa contractului inteligent, operatorul nu poate retrage numerar după bunul plac ).
rol de agentie
În aceste sisteme (sau în sisteme noi activate de potențialele modificări viitoare ale protocolului), o întrebare cheie de pus este: ce rost are un agent din perspectiva protocolului?
Pentru a înțelege semnificația profundă a acestei probleme, ne gândim mai întâi la modificările de protocol menționate în postare, care vor limita penalitatea la 2 ETH, Rocket Pool va reduce, de asemenea, suma de gaj a operatorilor de noduri la 2 ETH și Rocket Pool Cota de piață va crește la 100% / (pentru participanți și deținătorii de ETH, pe măsură ce rETH devine fără riscuri, aproape toți deținătorii de ETH vor deveni deținători de rETH sau operatori de noduri).
Presupunând că randamentul deținătorilor de rETH este de 3% (inclusiv recompensele în protocol și taxele prioritare + MEV), randamentul operatorilor de noduri este de 4%. De asemenea, presupunem că oferta totală de ETH este de 100 de milioane.
Rezultatele calculului sunt după cum urmează. Pentru a evita calculele dobânzii compuse, vom calcula randamentele zilnic:
Acum, presupunând că Rocket Pool nu există, suma minimă a depozitului per staker scade la 2 ETH, lichiditatea totală este plafonată la 6,25 milioane ETH, iar rata de returnare a operatorului nodului scade la 1%. Să calculăm din nou:
Luați în considerare ambele scenarii din perspectiva costului atacului. În primul caz, atacatorul nu se va înregistra ca agent, deoarece agentul în esență nu are niciun drept de a retrage bani, deci nu are sens. Prin urmare, își vor miza tot ETH și vor deveni operatori de noduri. Pentru a ajunge la 1/3 din suma totală mizată, ar trebui să mizeze 2,08 milioane de Ethereum (care, pentru a fi corect, este încă un număr destul de mare, în al doilea caz, atacatorul ar trebui să mizeze doar fonduri pentru a ajunge la staking pool Pentru 1/3 din suma totală, mai trebuie să investească 2,08 milioane de Ethereum.
Din perspectiva economiei de miză și a costurilor de atac, rezultatul final în ambele cazuri este exact același. Ponderea ofertei totale de ETH deținute de operatorii de noduri crește cu 0,00256% în fiecare zi, iar ponderea ofertei totale de ETH deținute de operatorii non-noduri scade cu 0,00017% în fiecare zi. Costul atacului este de 2,08 milioane ETH. Prin urmare, în acest model, agentul pare să fi devenit o mașină Rube Goldberg fără sens, iar comunitatea rațională este chiar înclinată să îndepărteze intermediarul, să reducă semnificativ recompensele de miză și să limiteze suma totală a ETH mizați la 6,25 milioane.
Desigur, acest articol nu pledează pentru reducerea recompensei de miză de 4 ori și limitarea sumei totale a mizei la 6,25 milioane. Mai degrabă, ideea acestui articol este că un atribut cheie al unui sistem de miză care funcționează bine este că agenții ar trebui să aibă responsabilități semnificative în întregul sistem. Mai mult, nu ar conta dacă agenții ar fi motivați în mare parte de presiunea comunității și de altruism să ia acțiunile corecte, până la urmă, asta este ceea ce stimulează soluțiile de miza descentralizate, de înaltă securitate;
Responsabilitățile agentului
Dacă agenții ar putea juca un rol semnificativ în sistemul de miză, care ar putea fi acel rol?
Cred că există două categorii de răspunsuri:
Selectarea agenților: agenții pot alege operatorilor de noduri cărora să le încredințeze mizele. Ponderea operatorilor de noduri în mecanismul de consens este proporțională cu miza totală care le este încredințată. În prezent, mecanismul de selecție a proxy este încă limitat, adică deținătorii de rETH sau stETH își pot retrage ETH și pot trece la un alt grup, dar disponibilitatea reală a selecției proxy ar putea fi mult îmbunătățită.
Participarea la mecanismul de consens: delegatorii pot alege să joace un anumit rol în mecanismul de consens. pentru operatorii de nod.
Îmbunătățiți opțiunile de agenție
Există trei moduri de a crește puterea de a alege a reprezentantului dvs.:
Instrumente de vot îmbunătățite în grup
Creșteți concurența între piscine
Fixarea dreptului de reprezentare
În prezent, votul în pool nu este practic practic: în Rocket Pool, oricine poate deveni operator de nod, iar în Lido, votul este decis de deținătorii LDO, nu deținătorii de ETH. Lido a înaintat o propunere de guvernare dublă a LDO + stETH. Aceștia pot activa un mecanism de protecție pentru a preveni adăugarea sau eliminarea operatorilor de noduri. Totuși, această putere este limitată și poate fi mai puternică.
Concurența între piscine există deja astăzi, dar este relativ slabă. Principala provocare este că jetoanele de miză ale pool-urilor de miză mai mici sunt mai puțin lichide, mai greu de câștigat încredere și mai puțin susținute de aplicații.
Putem îmbunătăți primele două probleme limitând valoarea penalității la o sumă mai mică, cum ar fi 2 sau 4 ETH. ETH-ul rămas poate fi apoi depus în siguranță și retras imediat, permițând conversiilor bidirecționale să rămână valabile pentru pool-urile de miză mai mici. Putem îmbunătăți a treia problemă prin crearea unui contract de emitere totală pentru gestionarea LST (similar cu contractele ERC-4337 și ERC-6900 utilizate pentru portofele), astfel încât să putem garanta orice jetoane pariate emise prin acest contract Toate sunt în siguranță.
În prezent, nu există puteri reprezentative solide în acord, dar o astfel de situație pare să existe în viitor. Va implica o logică similară cu ideea de mai sus, dar implementată la nivel de protocol. Vedeți acest articol despre avantajele și dezavantajele solidificării lucrurilor.
Aceste idei sunt îmbunătățiri față de status quo-ul, dar oferă avantaje limitate. Există probleme cu guvernanța votului cu simbol și, în cele din urmă, orice formă de selecție de proxy nemotivată este doar o formă de vot cu simbol, aceasta a fost întotdeauna principala mea reproșare cu Delegated Proof of Stake. Prin urmare, este, de asemenea, valoros să luăm în considerare modalități de a obține o participare mai puternică la un consens.
participarea la consens
Chiar și lăsând deoparte problemele actuale cu miza de lichiditate, există limitări ale metodelor actuale de mizament independent. Presupunând finalitatea unui singur slot, fiecare slot poate gestiona în mod ideal aproximativ 100.000 până la 1.000.000 de semnături BLS. Chiar dacă folosim SNARK-uri recursive pentru a agrega semnăturile, pentru trasabilitatea semnăturii, fiecărei semnături trebuie să i se aloce un câmp de biți al unui participant. Dacă Ethereum devine o rețea la scară globală, câmpurile de biți de stocare complet descentralizate nu vor fi suficiente: 16 MB în fiecare slot pot suporta doar aproximativ 64 de milioane de stakers.
Din această perspectivă, este utilă împărțirea mizei în niveluri reduse de complexitate mai mare și niveluri de complexitate mai scăzută, unde fiecare slot va intra în vigoare, dar poate avea doar 10.000 de participanți sau, straturile de complexitate mai mică sunt chemate doar ocazional să participe. Straturile de complexitate mai scăzută ar putea fi complet scutite de reduceri, sau participanților li s-ar putea oferi aleatoriu posibilitatea de a depune în câteva intervale și de a deveni supuși reducerilor.
În practică, acest lucru poate fi realizat prin creșterea plafonului de echilibru al validatorului și, ulterior, prin creșterea pragului de echilibru (de exemplu, 2048 ETH) pentru a determina care validatori existenți trec la niveluri de complexitate mai ridicate sau mai mici.
Iată câteva sugestii despre cum ar putea funcționa aceste mici roluri de miză:
Pentru fiecare slot, 10.000 de mize mici vor fi selectați aleatoriu și aceștia pot semna ceea ce cred că este reprezentativ pentru slot. Rulează regula de alegere a furcăturii LMD GHOST folosind stakers mici ca intrare. Dacă există o oarecare dezacord între selecția de furcă condusă de micii stakers și selecția de furcă condusă de operatorii de noduri, clientul utilizatorului nu va accepta niciun bloc ca confirmare finală și va afișa o eroare. Acest lucru obligă comunitatea să intervină pentru a rezolva situația.
Agenții pot trimite tranzacții anunțând rețelei că sunt online și că sunt dispuși să servească ca mici stakers pentru următoarea oră. Calculul mesajului (bloc sau dovadă) trimis de nod necesită atât nodul, cât și un agent selectat aleatoriu să semneze informațiile de confirmare a nodului.
Agenții pot trimite tranzacții anunțând rețelei că sunt online și că sunt dispuși să servească ca mici stakers pentru următoarea oră. În fiecare epocă, 10 agenți aleatori sunt selectați ca furnizori de liste de includere și încă 10.000 de agenți sunt selectați ca alegători. Acestea sunt selectate înainte de k-slot-uri și au o fereastră de k-slot pentru a publica un mesaj în lanț care confirmă că sunt online. Fiecare furnizor de liste de includere selectat confirmat poate publica o listă de includere, cu excepția cazului în care, pentru fiecare listă de includere, fie tranzacțiile incluse în lista respectivă de includere sunt incluse, fie un vot al unui electorat selectat în general indică faptul că lista de includere este indisponibilă, în caz contrar blocarea va fi luată în considerare. invalid.
Ceea ce au în comun aceste mici noduri de miză este că nu trebuie să participe activ la fiecare slot sau chiar au nevoie doar de noduri ușoare pentru a finaliza toată munca. Prin urmare, implementarea nodurilor necesită doar verificarea stratului de consens, pe care operatorii de noduri îl pot realiza prin aplicații sau plug-in-uri de browser, care sunt în mare parte pasive și nu impun costuri de calcul, cerințe hardware sau cunoștințe tehnice Foarte reduse necesită tehnologie avansată precum ZK-EVM.
Acești „mici actori” au și un obiectiv comun: să împiedice majoritatea de 51% a operatorilor de noduri să efectueze cenzura tranzacțiilor. Primul și al doilea împiedică, de asemenea, majoritatea să participe la reducerea finalității. Al treilea este mai direct preocupat de cenzură, dar este mai susceptibil la alegerile operatorilor majoritari de noduri.
Aceste idei sunt scrise din perspectiva unei soluții de staking dublu implementate în protocol, dar pot fi implementate și ca o caracteristică a staking pool-urilor. Iată câteva idei specifice de implementare:
Din perspectiva protocolului, fiecare verificator poate seta două chei de gaj: o cheie de gaj continuă P și o adresă Ethereum legată care poate fi apelată și poate scoate o cheie de gaj rapidă Q. Urmărirea informațiilor de semnătură a nodului pentru selecția furcii este reprezentată de P, iar informațiile semnate sunt reprezentate de Q. Dacă rezultatele stocării PQ sunt inconsecvente, finalizarea oricărui bloc nu va fi acceptată, iar pool-ul de lichidități va fi responsabil pentru selectarea aleatorie. reprezentanți.
Protocolul poate rămâne în mare parte neschimbat, dar cheia publică a validatorului pentru acea perioadă va fi setată la P+Q. Rețineți că, pentru reduceri, două mesaje reducebile pot avea taste Q diferite, dar vor avea aceeași cheie P trebuie să se ocupe de acest caz;
Cheile Q pot fi folosite doar în protocol pentru a semna și verifica listele de includere în blocuri. În acest caz, Q poate fi un contract inteligent mai degrabă decât o singură cheie, astfel încât grupul de miză îl poate folosi pentru a implementa o logică de vot mai complexă, acceptând o listă incluzivă de la un furnizor selectat aleatoriu sau suficient Indică faptul că lista care o conține este indisponibilă pentru voturi .
în concluzie
Dacă este implementată corect, reglarea fină a designului de dovadă a mizei poate rezolva două probleme dintr-o singură lovitură:
Oferă celor care nu au resursele sau capacitatea de a face Proof of Stake independent astăzi o oportunitate de a participa la Proof of Stake, păstrând astfel mai multă putere în mâinile lor: inclusiv (i) puterea de a alege ce noduri să susțină și (ii) Participați activ la consens într-un mod care este mai ușor, dar totuși semnificativ decât operarea unui nod complet de verificare a mizei. Nu toți participanții vor alege una sau ambele dintre aceste opțiuni, dar orice participant care alege una sau ambele dintre aceste opțiuni va experimenta o îmbunătățire semnificativă față de status quo-ul.
Reduceți numărul de semnături pe care stratul de consens Ethereum trebuie să le proceseze în fiecare slot, chiar și în regim de finalitate cu un singur slot, la un număr mai mic, cum ar fi aproximativ 10.000. Acest lucru va ajuta, de asemenea, la descentralizare, făcând mai ușor pentru toată lumea să ruleze noduri de validare.
Pentru aceste soluții, soluțiile la problemă pot fi găsite la diferite niveluri de abstractizare: permisiuni acordate utilizatorilor în cadrul protocoalelor de dovadă a mizei, selectarea utilizatorilor între protocoalele de verificare a mizei și stabilire în cadrul protocoalelor. Această alegere ar trebui luată în considerare cu atenție și de multe ori este mai bine să alegeți o configurație minimă viabilă pentru a minimiza complexitatea protocolului și amploarea modificărilor aduse economiei protocolului, realizând în același timp obiectivele dorite.
