Od kilku miesięcy zespół zajmujący się konsensusem bezstanowym koncentruje się na konkretnym pytaniu: w świecie, w którym bezstanowość / wygaśnięcie stanu jest rzeczywistością, gdzie można znaleźć potrzebny stan?
To trudne pytanie samo w sobie, ale jest jeszcze gorzej: w świecie z centralizowanymi budowniczymi i FOCIL, co się dzieje, gdy budowniczy porzuca część stanu, a następnie transakcja FOCIL wywołuje dostęp do tego porzuconego stanu?
Chcemy, aby Ethereum się skalowało, a to oznacza, że stan, który nie jest potrzebny, jest przenoszony poza bazę danych klienta, aby zapewnić ciągłą wydajność. Mechanicznie stwarza to ryzyko, że klientowi brakuje danych, które powinien przechowywać zgodnie z FOCIL.
Skalowalność jest w sprzeczności z odpornością na cenzurę: potrzebny jest mechanizm, aby złagodzić FOCIL w celu odrzucenia transakcji uzyskującej dostęp do wygasłego stanu. Ale nie możemy pozwolić, aby to było wymówką do cenzurowania transakcji.
Propozycja, wynikająca z dyskusji z @soispoke, polega na tym, że jeśli budowniczy może wykazać, że transakcja FOCIL dotyka stanu, który jest "wystarczająco stary", a jeśli nie przekazano żadnego świadka z transakcją, to można odrzucić tę transakcję. To do portfela należy dostarczenie świadka.
Czy to nie przenosi tego samego problemu do portfela? Nie, ponieważ: 1. portfel może pobierać "opłatę za wskrzeszenie" za wysłanie transakcji, więc ma motywację, aby utrzymać wygasły stan. 2. Wskrzeszenie nie jest już na krytycznej ścieżce produkcji bloków.
Racjonalność tego podejścia polega na tym, że jeśli użytkownik nie dotykał swojego konta przez ostatnie 6 lat, to z pewnością może poczekać jeszcze kilka minut, aby odzyskać swoje konto. Jeśli użytkownik nie może czekać, powinien wydawać trochę gazu co kilka miesięcy, aby utrzymać konto w stanie "aktywnym".
To eliminuje potrzebę szybkiej reinkarnacji. Jak możemy udowodnić, że fragment stanu jest przestarzały? Dodając licznik epok do tego stanu. Według szacunków opartych na @ngweihan_eth, w najgorszym przypadku dodalibyśmy 1 GB danych i moglibyśmy usunąć 80% stanu!
Czy to rozwiązuje wszystkie problemy? Nie, portfele również mogą być cenzurowane, a dane są mniej redundantne, więc mogą zostać utracone. Ale to oznacza, że FOCIL nie może być wykorzystany do zapobiegania wygasaniu państwa. To również w pewnym stopniu rozwiązuje problem UX związany z wygasaniem stanu / brakiem stanu.
Jest znacznie więcej portfeli niż twórców, a oni zarabiają więcej. Dlatego są trudniejsi do cenzurowania. A jeśli portfele nie chcą odgrywać tej roli, istnieje przestrzeń na utworzenie sieci państwowych, które to zapewnią. To jednak bardziej hipotetyczne.
Zauważ, że chociaż wymaga to dwóch zmian protokołu, sama wygasłość stanu nie musi być w protokole.
3,47K