De câteva luni, echipa de consens pentru apatrizi s-a concentrat pe o întrebare specifică: într-o lume în care lipsa de stat / expirarea statului este o realitate, unde găsești cineva starea de care are nevoie?
Este o întrebare dificilă în sine, dar devine și mai rea: într-o lume cu constructori centralizați și FOCIL, ce se întâmplă când un constructor renunță la o parte din stare, iar apoi o tranzacție FOCIL declanșează accesul la acea stare pierdută?
Vrem ca Ethereum să scaleze, iar asta înseamnă că starea care nu este necesară este mutată în afara bazei de date a clientului pentru a asigura performanța continuă. Din punct de vedere mecanic, acest lucru creează riscul ca un client să aibă lipsă de date pe care ar trebui să le păstreze conform FOCIL.
Așadar, scalabilitatea este în contradicție cu rezistența la cenzură: este necesar un mecanism pentru a relaxa FOCIL pentru a respinge un tx care accesează starea expirată. Dar nu putem permite ca asta să fie o scuză pentru a cenzura tranzacțiile.
Propunerea, venind dintr-o discuție cu @soispoke, este că dacă constructorul poate demonstra că un transfer FOCIL atinge statul care este "suficient de vechi", iar dacă niciun martor nu a fost trecut cu transferul, atunci este în regulă să respingi acel transfer. Este responsabilitatea portofelului să ofere martorul.
Nu este mutarea aceleiași probleme către portofel? Nu este, pentru că: 1. Portofelul poate percepe o "taxă de înviere" pentru a trimite tranzacția, deci este stimulativ să păstreze starea expirată. 2. Învierea nu mai este pe calea critică a producției de blocuri.
Raționamentul aici este că, dacă un utilizator nu și-a atins contul în ultimii 6 ani, poate cu siguranță să mai aștepte câteva minute să-și recupereze contul. Dacă utilizatorul nu poate aștepta, ar trebui să cheltuiască benzină la fiecare câteva luni pentru a menține contul "fierbinte".
Astfel, asta elimină nevoia unei învieri rapide. Cum dovedim că o bucată de stat este expirată? Adăugând un contor de epocă la acea stare. Conform estimărilor bazate pe @ngweihan_eth, am adăuga cel mult 1GB de date și am putea șterge 80% din stat!
Rezolvă asta toate problemele? Nu, portofelele pot fi cenzurate, iar datele sunt mai puțin redundante, deci pot fi pierdute. Dar asta înseamnă că FOCIL nu poate fi folosit pentru a preveni expirarea statului. De asemenea, abordează într-o oarecare măsură problema UX cauzată de expirarea statului / lipsa de stat.
Există mult mai multe portofele decât constructori, iar ei câștigă mai mulți bani. Deci sunt mai greu de cenzurat. Iar dacă portofelele nu vor să joace acest rol, există loc pentru ca rețelele de stat să se formeze și să ofere acest lucru. Totuși, acesta este mai degrabă un subiect ipotetic.
Rețineți că, deși acest lucru necesită două modificări de protocol, expirarea stării în sine nu trebuie neapărat să fie în protocol.
3,56K