Błędy w EIP-1559 Ethereum i zerowe opłaty za gaz

10 495

Sergio Damian Lerner twierdzi, że EIP-1559 jest niestabilny, a skoordynowana współpraca między górnikami może doprowadzić do wzrostu ich przychodów nawet o 400%.

Jak zapewne wiesz, EIP-1559 dodał do sieci Ethereum mechanizm ustalania bazowej ceny gazu, która zmienia się dynamicznie w zależności od obciążenia sieci, mierzonego gazem zużywanym przez bloki. Ta podstawowa cena gazu jest nazywana przez EIP opłatą bazową (podstawową). Okazuje się, że górnicy mogą dość łatwo zmarginalizować wpływ EIP-1559 zwiększając przychód netto o 400%, dopóki do sieci nie dołączy więcej górników, a trudność bloku nie zostanie dostosowana w górę.

Lerner argumentuje, że na współpracy z górnikami skorzystać mogą również „normalni” użytkownicy. W swoim artykule Flaws in Ethereum’s EIP-1559 pokazał, w jaki sposób prosty smart kontrakt w Ethereum może koordynować usuwanie opłaty podstawowej (z korzyścią dla wszystkich górników). Przedstawił też częściowe rozwiązanie problemu motywacyjnego EIP-1559, polegające na zmniejszeniu ilości spalanych opłat.

Tytułem wstępu

Już na samym wstępie Lerner podkreślił, jak bardzo mylące jest pojęcie „opłaty” bazowej. Jako, że rzeczywista wysokość opłaty obliczana jest przez pomnożenie ceny przez ilość zużytego gazu, w swoim opracowaniu używa zamiast tego określenia „ceny” bazowej gazu. Dzięki EIP-1559, transakcje mają nowe pole i są serializowane przy użyciu nowego formatu. Zamiast wyznaczania pojedynczej, unikalnej ceny gazu, opłata jest określana jako maksymalna cena gazu do zapłaty oraz napiwek dla górnika (tzw. „opłata priorytetowa”), który określa kwotę, która zostanie zapłacona górnikowi powyżej ceny bazowej gazu. Jako, że napiwek ten musi być dodatni, cena gazu do zapłaty zawsze będzie wyższa lub równa cenie bazowej gazu. Podczas przetwarzania transakcji, całkowita opłata (cena pomnożona przez zużyty gaz) jest dzielona na dwie części: kwota bazowa jest spalana, a kwota napiwku jest wypłacana górnikowi, który wydobył blok.

W czym rzecz?

Kiedy większość protokołów blockchain musi spalić natywne monety, jest to zazwyczaj równoznaczne z ukaraniem pewnej strony za niewłaściwe zachowanie. Jeśli nagroda zostanie przyznana grupie, która zgłosi niewłaściwe zachowanie, wówczas niewłaściwa strona może się wypowiedzieć, aby uniknąć potępienia przez innych. W tych protokołach, bez względu na to, kto donosi, sekwencja działań podejmowanych przez strony zawsze prowadzi do spalenia monet. Jednak w przypadku EIP-1559 te same działania, które doprowadziły do ​​spalenia monet, mogą prowadzić do ich odzyskania pod warunkiem, że nastąpią w innej kolejności lub czasie. Podobnie jak MEV, monety stanowią dochód, który można podzielić, jeśli tylko wszystkie zaangażowane strony będą współpracować.

Oto lista krótkoterminowych zachęt dla uczestników protokołu:

  • Górnicy chcą pobierać więcej opłat od użytkowników,
  • Aktywni użytkownicy chcą płacić mniejsze opłaty, zmniejszając napiwek lub bazową cenę gazu,
  • Pasywni użytkownicy chcą, aby bazowa cena gazu była wysoka, aby więcej monet było spalanych, a wartość monety wzrastała.

Lerner podkreśla, że na obniżce bazowej ceny gazu skorzystałyby wszystkie aktywne strony sieci. Główny problem polega na tym, że wspólne działanie aktywnych użytkowników i górników w celu obniżenia ceny bazowej gazu jest trudne do zrealizowania. Oto przeszkody:

  • obydwie grupy są anonimowe i zmieniają się dynamiczne,
  • liczba aktywnych użytkowników jest bardzo wysoka,
  • taki rodzaj koordynacji wymagałby z początku pewnego wysiłku czasowego lub finansowego,
  • pozostali użytkownicy mogliby wykorzystać sytuację i dokonywać transakcji po niższych opłatach, podnosząc bazową cenę gazu, nie uczestnicząc jednocześnie we wspólnym wysiłku.

Podczas gdy EIP-1559 nie zezwala na koordynację, może nie przewidywać ogromnych bodźców, które istnieją obecnie po to, aby obniżyć bazową cenę gazu. Napiwki dla górników stanowią dziś mniej niż 6% bazowej ceny gazu. Innymi słowy – obniżając opłatę podstawową górnicy mogliby zarobić 16 razy więcej na opłatach transakcyjnych. Jak wyjaśnia w swojej książce Eric Voskuil, ​​opłata transakcyjna jest kosztem oporu względem cenzury, a Ethereum płaci za to obecnie zdecydowanie za mało. Oznacza to, że wszystkie transakcje można, przynajmniej teoretycznie, bardzo łatwo stłumić. Tłumienie transakcji powoduje szybkie obniżenie bazowej ceny gazu do zera, co zwiększa przychody górnika po uprzednim dostosowaniu portfeli do takiej zmiany.

Jeśli bazowa cena gazu zostanie obniżona do zera, zarówno użytkownicy, jak i górnicy mogą podzielić swoje oszczędności 50/50 na przyszłe transakcje. Użytkownicy dokonaliby transakcji z 50% zniżką, ale górnicy otrzymaliby 8X więcej przychodów z opłat transakcyjnych! Ponieważ wniesione opłaty transakcyjne (spalone + niespalone) zrównałyby się z dotacją blokową, doprowadziłoby to do 50% wzrostu zapłaconych nagród blokowych.

Ponieważ przychody netto górników stanowią niewielki procent wynagrodzenia z tytułu energii elektrycznej i innych kosztów operacyjnych, ten nowy strumień przychodów może stanowić 300% wzrost przychodów netto, nawet przy podziale 50% nowych przychodów z użytkownikami. Jest to oczywiście bardzo niestabilna sytuacja. Gdyby tylko blockchain Ethereum pozwolił skoordynować te dwie grupy, lub gdyby transakcje mogły być cenzurowane, oznaczałoby to koniec EIP-1559.

Jeśli bazowa cena gazu zostałaby magicznie i natychmiastowo obniżona do zera przez doskonały system koordynacji, wówczas więcej użytkowników próbowałoby przeprowadzić transakcję, spychając opłaty transakcyjne z powrotem do tych samych poziomów jak wcześniej. Lerner zwraca uwagę, że jeśli system koordynacji między górnikami zdołałby się utrzymać, podstawowa cena gazu mogłaby na zawsze pozostać na poziomie zerowym. Górnicy mieliby stały dochód netto, który byłby o 400% wyższy niż wcześniej.

W jaki sposób obniżyć opłaty za gaz w sieci Ethereum?

Badacz pokazuje, że istnieje kilka sposobów (niektóre tanie) koordynowania obniżki ceny bazowej gazu. Chociaż niektóre z tych mechanizmów koordynacji mogą być niedoskonałe i na początku mogą zawieść mówi się, że z czasem wykorzystane może zostać o wiele więcej „dziur”. Ludzie poprawią system koordynacji, aby osiągnąć cel. Samo istnienie tak wielu sposobów osiągnięcia koordynacji pokazuje obecny stan niestabilności sieci Ethereum w ramach EIP-1559.

To, czego wyraźnie brakuje w badaniach przedstawionych w artykule Lernera, to analiza kodu zarządzania opłatami w portfelach Ethereum. Oczekuje się, że portfele prawidłowo poradzą sobie z obniżeniem bazowej ceny gazu i powrócą do arbitralnego zwiększania napiwku, aby potwierdzić transakcję, tak jak robiły to poprzednie portfele EIP-1559. Portfele mogą jednak wprowadzać mechanizmy kontroli, które uniemożliwiłyby ponowne działanie starego rynku opłat. W celu sprawdzenia, czy portfele kompatybilne z EIP-1559 mają zakodowane ograniczenia zapobiegające płaceniu wysokich napiwków w porównaniu z podstawową ceną gazu, wymagana byłaby dogłębna analiza większości kodu źródłowego istniejących portfeli.

Koordynacja przez górników bez „klasycznego” ataku 51%

Załóżmy, że większość górników (powiedzmy 60%, jeśli chodzi o hash rate), jest otwarta na współpracę w celu obniżenia bazowej ceny gazu. Nazwijmy ich skoordynowaną większością (CM – Coordinated Majority). CM ma możliwość arbitralnego zwiększania lub zmniejszania limitu gazu w ramach bloku i to właśnie na niej oprzeć można pierwszą metodę koordynacji.

EIP-1559 porównuje istnienie grupy CM do ataku 51%. Ale tak nie jest! Klasyczny atak 51% polega na odrzuceniu bloków mniejszości górników, aby zwiększyć zyski większości. W CM większość górników zapewnia świadczenia mniejszości. Z perspektywy górników jest to przeciwieństwo ataku. To darowizna! Z racjonalnego punktu widzenia, wszyscy górnicy są (zakulisowo) zachęcani do współpracy z CM, nawet jeśli z takich czy innych powodów nie przystępują do CM.

Prowadzi to do pierwszej metody obejścia mechanizmu kontroli cen bazowych gazu. Obecnie limit gazu w ramach bloku wynosi 30 mln. Jeśli 60% górników tworzy bloki konsumując 15 mln gazu, podczas gdy inni wypełniają je do do poziomów 120 mln, oznacza to przerób 57 mln gazu na blok. Jeśli CM zdecyduje się podnieść limit gazu blokowego 4-krotnie do 120 mln, podczas gdy CM sztucznie ograniczy gaz zużywany przez własne bloki do 15M, zwycięzcami okażą się wszyscy górnicy.

Aby pokazać, dlaczego ta strategia jest korzystna dla wszystkich górników, Lerner podaje konkretny przykład. Jeśli mniejszość w pełni zużyje cały gaz dostępny w blokach, każdy blok inny niż CM zwiększy bazową cenę gazu o 12,5% (maksymalny wzrost dozwolony przez protokół). Każdy z bloków CM, których celem jest 15 mln gazu, powoduje spadek ceny bazowej gazu o 10,9%. Ponieważ CM wydobywa 60% bloków, rezultatem byłaby ciągła obniżka netto ceny bazowej gazu. Aby obniżyć cenę bazową gazu o 90%, potrzeba 190 bloków.

Atak wymaga fazy przygotowawczej, w której CM podnosi limit gazu do 120M, co zajmuje 1422 bloki (~6 godzin). W tak krótkim czasie społeczność nie będzie miała możliwości skoordynowania reakcji, nie mówiąc już o hard forku. Nie wiadomo jednak, co by się stało w tym okresie gwałtownej ekspansji dostaw gazu. Jeżeli w fazie przygotowania popyt nie będzie odpowiadał podaży, bazowa cena gazu może spaść. Możliwe, że przy samym zwiększeniu podaży bazowa cena gazu spadłaby do zera przy jednoczesnym spadku napiwków górniczych, co skutkowałoby obniżką netto w kontekście ich „wynagrodzeń”. CM mogłaby postrzegać to jako inwestycję dla przyszłych zwrotów. Lerner podkreśla, że przy dzisiejszych cenach ETH, „inwestycja” może sięgać poziomu 800 tys. USD (przychód 6 godzin).

Koordynacja przez górników i atak 51%

Jeśli przyjmiemy, że limit bloków został podniesiony do 120 mln gazu, ale CM zaczyna oddzielać bloki od górników spoza CM, którzy zużywają więcej niż 15 mln gazu („atak 51%”), wówczas wystarczą 24 bloki, aby obniżyć bazową cenę gazu do 10% pierwotnej wartości. Aby uniknąć wchodzenia w otwartą wojnę z innymi górnikami, CM zapewniłaby z góry jednowierszową łatkę kodu (lub nawet może to być zmiana konfiguracji) dla wszystkich górników tak, aby górnicy sztucznie ograniczyli swoje bloki do 15 mln gazu.

W rezultacie – w ciągu 6 godzin – limit gazu blokowego mógłby zostać podniesiony do 120 mln, sieć ograniczona do 15 mln bloków gazowych, a wszyscy górnicy zdobyliby więcej niż 2 dodatkowe ETH w każdym bloku, podwajając swoje dochody.

Koordynacja przez stronę trzecią

EIP-1559 ma na celu wypełnienie wszystkich bloków w około 50%, z wyjątkiem okresów dużego zapotrzebowania. Jedną z właściwości EIP-1559 jest to, że jeśli wszystkie nieparzyste bloki są puste, a wszystkie parzyste są wypełnione w 100% przy 30 mln gazu (osiągając tę ​​samą średnią docelową przepustowość), wówczas cena gazu bazowego stale spada. Po zaledwie 300 naprzemiennych pustych i pełnych blokach (~1,25 godziny) bazowa cena gazu osiąga 10% swojej pierwotnej wartości. Pamiętaj, że nie jest konieczne, aby 100% górników decydowało się na tworzenie pustych, nieparzystych bloków. Jeśli tylko 30% górników tworzy puste nieparzyste bloki, po 300 blokach bazowa cena gazu spada o 50%, a po 1000 bloków (~4 godziny) ponownie o 90%. W tym przypadku większość górników nie jest wymagana.

Autor podkreśla, że jeśli wszyscy górnicy wypełnią bloki w mniej niż 47%, bazowa cena gazu również spadnie i osiągnie 10% po 316 blokach, przy jednoczesnym, nieznacznym spadku przepustowości (o 1,5%).

Próg opłacalności, który rekompensuje górnikom wszelkie chwilowe straty związane z wydobyciem pustych bloków, pojawia się znacznie szybciej niż w 1,25 godziny. Przy zaledwie 40% zaangażowaniu górników i tylko w 15 minut (60 bloków), bazową cenę gazu można obniżyć o 20%, co wystarczy, aby zrekompensować im wszelkie straty spowodowane pustymi blokami. W tym momencie rozpoczęłaby się spirala spadkowa bazowej ceny gazu.

W tym momencie – w celu osiągnięcia progu rentowności – go gry dołączyłaby strona trzecia. Skoordynowana grupa, którą Lerner dla przykładu nazywa „Charles” musiałaby być gotowa zainwestować pieniądze, aby nagrodzić górników, którzy tworzą puste, nieparzyste bloki przez 15 minut, zwracając każdemu z nich potencjalną stratę podczas tworzenia pustych bloków plus 10% premii. Zakładając jeden blok na 15 sekund, maksymalny koszt dla Charlesa odpowiadałby zwrotowi napiwków, które można było zapłacić w 60 blokach (30 napiwków dla tych, którzy wydobyli puste bloki), pomnożonych przez 1,1, aby zapewnić premię. Przy tych wyliczeniach założoni, że cena ETH wynosi 3200 USD za monetę, każdy blok zawiera 2,12 ETH płaconego przez użytkowników w opłatach, a z tych opłat spalane są 2 ETH (statystyki opłat i cen pobierane są z tego serwisu, opłata nieznacznie obniżona, aby uprościć liczby).

Zakładając, że Charles użył jako odniesienia średnich napiwków z ostatnich 15 minut, daje to budżet w wysokości 13 tys. USD. Przy zaledwie 40% zaangażowaniu, a jeśli rynek zareaguje na ograniczone dostawy gazu, podnosząc kwoty napiwków, to zaledwie 15 minut później wszyscy górnicy łącznie zarobiliby do 40 tys. USD więcej na opłatach, zapobiegając ich spaleniu! 40% uczestniczących w takiej akcji zarobiłoby 16 tys. USD więcej.

Charles mógłby przyjmować darowizny w sieci za tworzenie zachęt do kontynuowania schematu wydobycia. Ale to nie jest konieczne. Charles mógłby powiedzieć, że wypłaci premię tylko wtedy, gdy mniej niż 40% zaangażuje się w wydobywanie pustych, nieparzystych bloków. Oznacza to, że górnicy nigdy nie tracą pieniędzy: albo Charles im rekompensuje, albo otrzymują rekompensatę od użytkowników płacących wyższe napiwki. Ponieważ najbardziej prawdopodobnym rezultatem jest udział górników, Charles mógłby wykorzystać nagrodę ponownie w następnej rundzie wydobycia. Gdy górnicy zdaliby sobie sprawę, że mogą obniżyć bazową cenę gazu, wydobywaliby najprawdopodobniej tylko puste, nieparzyste bloki, nawet po odejściu Charlesa z protokołu. Ponownie, rozpoczęłaby się spirala spadkowa.

Koordynacja za pomocą smart kontraktu

Ten sam cel można osiągnąć dzięki mocy smart kontraktów: możemy zastąpić stronę zewnętrzną Charles otwartym i bezpiecznejszym smart kontraktem, który połączyłby górników. W odniesieniu do tego rozwiązania, Lerner używa określenia Gatherer. Górnicy kontaktowaliby się bezpośrednio z Gathererem bez konieczności zaufania względem jakiegokolwiek podmiotu zewnętrznego. Wymagane byłoby jedynie to, aby górnicy wiedzieli o kontrakcie, a każdy z nich mógł zainicjować reakcję łańcuchową, aby zwiększyć dochody górników.

Zbudowanie Gatherera jest możliwe w Ethereum za pomocą kodu BLOCKHASH, aby uzyskać skróty bloków w ciągu ostatnich 15 minut lub więcej. Gatherer musiałby zapewnić użytkownikom lub górnikom pewne zachęty do przesyłania pełnych informacji nagłówka bloku do kontraktu Gatherer, po czym dochodziłoby do sprawdzenia, czy te informacje są zgodne z bezpiecznie uzyskanymi hashami bloku. Dzięki nagłówkom bloków kontrakt mógłby dowiedzieć się wszystkiego o swoich przeszłych blokach i odkryć, którzy górnicy utworzyli puste nieparzyste bloki i odpowiednio zwrócić koszty. Wykrywanie pustych bloków jest proste. Gatherer mógłby z łatwością zdecydować się wypłacić nagrodę lub ponownie wykorzystać ją przez kolejne 15 minut, więc najbardziej prawdopodobnym rezultatem byłoby to, że Gatherer potrzebuje tylko początkowej inwestycji w wysokości 13 000 USD. Jeśli podniesienie napiwków zajęłoby więcej czasu ze względu na krótsze dostawy gazu, bounty i bounty time można by wydłużyć. To kwestia parametryzacji, a nie tego, czy ogóle jest to wykonalne.

Koordynacja przez mniejszość górników i prywatnych użytkowników

Jedną z pożądanych właściwości EIP-1559 jest to, że użytkownicy mogą lepiej oszacować wysokość opłaty i uniknąć przepłacania. Jednocześnie, cena bazowa gazu musi szybko dostosować się do wymiaru zatorów w sieci. Obecnie dość powszechne są sytuacje, kiedy cena bazowa gazu skacze w ciągu jednego dnia nawet o 100%.

Ogromna zmienność opłat zachęca użytkowników do negocjowania z górnikami stałych stawek. Jak pokazuje Lerner, kopalnia, którą nazywa – znów dla przykładu – Mina, może zaoferować użytkownikom niższe ceny transakcyjne, a jednocześnie uzyskać ogromny wzrost przychodów, wydobywając puste bloki. EIP-1559 przedstawia ten problem i jednocześnie go lekceważy: górnik, który nie wydobywa pustych bloków, zrujnuje plany Miny. Symulacje Lernera pokazują, że tak nie jest.

Mina zakłada swój biznes, oferując użytkownikom („prywatnym klientom”) stałe stawki. Oferta jest ważna do czasu określonego przez numer blokowy, a klienci indywidualni godzą się na karę, jeśli spróbują podwoić daną transakcję przed terminem.

Mechanizm penalizacji realizowany jest przez smart kontrakt o przykałdowej nazwie Penelope. Klient prywatny deponuje zabezpieczenie w przybliżeniu równe kosztowi dwóch transakcji w Penelope. Kiedy klient wysyła do Miny prywatną transakcję T z liczbą jednorazową N, podpisuje również komunikat M, w którym stwierdza, że ​​powstrzyma się od tworzenia jakichkolwiek podwójnych wydatków T’ do terminu D. Komunikat do podpisania jest następujący: „Cena jednorazowa N będą zarezerwowane dla transakcji TxId(T), aż do bloku D”. W transakcji prywatnej T zostanie określona maksymalna opłata, która jest niższa (tj. 3%) niż aktualna cena bazowa gazu, a cena ta jest negocjowana między klientem prywatnym a Miną. Jeśli klient dwukrotnie wyda jednorazową N, wtedy Mina wyśle ​​dowody do Penelope i odbierze nagrodę. Należy pamiętać, że bardziej prawdopodobne jest, że prywatni klienci Miny to duże giełdy kryptowalut lub inni wielcy gracze dokonujący transakcji, ponieważ mogliby oni łatwiej dostosować swoje oprogramowanie, aby obniżyć koszty transakcji i uzyskać korzyści na dużą skalę.

Mina mogłaby teraz zbierać jak najwięcej innych prywatnych transakcji od innych klientów w ramach tego samego kontraktu. Zauważ, że jeśli Mina zebrałaby wystarczającą ilość zobowiązań (na przykład, może wypełnić cały blok), oznaczałoby to również, że usunęłaby z rynku konkretną ilość gazu, bloki byłyby mniej wypełnione, a bazowa cena gazu będzie spadłaby, zanim jeszcze Mina wydobyłaby kolejny, pusty blok.

Średni napiwek w Ethereum stanowi obecnie mniej niż 6% bazowej ceny gazu. Aby uprościć wyjaśnienie Lerner założył, że bazowa cena gazu to 100 monet, a średni napiwek to 6 monet. Transakcje prywatnego klienta Miny płacą jej maksymalnie 103 monety (~3% mniej niż 106), ale określają napiwek na poziomie 15,5 monet (znacznie więcej niż 6 monet). Mina nie może nadużywać tych prywatnych transakcji, ponieważ są one nieważne w blokach z bazową ceną gazu 100. Mina poczeka. Załóżmy, że wszystkie bloki są wypełnione do połowy, a bazowa cena gazu jest stabilna. Załóżmy, że limit gazu w bloku to 30 jednostek gazu. Nadszedł czas na wyjaśnienie, w jaki sposób Mina skorzystałaby z tych prywatnych kontraktów, wydobywając puste bloki.

Gdy Mina zbierze blok pełen transakcji, zaczyna wydobywać puste bloki. Za każdym razem, gdy wydobywa pusty blok, podstawowa cena gazu spada o 12,5% i wynosi 87,5 monet. Jeśli zdarzy się jej wydobyć blok tuż po wydobyciu pustego bloku, może wypełnić go w całości prywatnymi transakcjami i otrzymać 103–87,5=15,5 monet za każdą zużytą jednostkę gazu. Ponieważ w pełni wypełniła blok do 30M gazu, otrzymuje 15,530=465 monet. Za każdym razem, gdy wydobywa pusty blok, traci około 615=90 monet przychodu. Oznacza to, że tak długo, jak Mina może tworzyć dwa kolejne bloki (co 5 bloków), uzyskuje znaczny przychód.

Górnik dysponujący 45% hash rate ma większą szansę na wydobycie dwóch kolejnych bloków niż jeden co 5 bloków. Dlatego błędem jest zakładanie, że, aby czerpać korzyści z obniżenia bazowej ceny gazu, potrzebna jest większość górników.

Pierwotne założenie było takie, że po wydobyciu pustego bloku pozostali górnicy wypełniają swoje bloki, aby zużyć cały gaz (który nie został zużyty wcześniej). Taka sytuacja może jednak wcale nie mieć miejsca. Jeśli nie cały gaz zostałby zużyty, możliwe, że strategia Miny spowodowałaby ciągły spadek ceny bazowej gazu, przy stałym koszcie transakcji, z korzyścią dla wszystkich górników. W praktyce to, co by się faktycznie wydarzyło, zależałoby od tego, jak zaprogramowane byłyby portfele.

EIP-1559 a selfish mining

Górnik, który chce przedsprzedać przestrzeń blokową, ale nie chce, aby freeriderzy przychodzili po jego pustych blokach, może próbować samolubnie kopać, próbując stworzyć dwa prywatne bloki z rzędu i ogłosić je razem. Jeśli nie jest to możliwe, pierwszy blok zostanie zwolniony, aby później zostać włączonym jako uncle, tracąc co najmniej ⅛ dotacji blokowej. Obecnie, gdyby 80% opłaty przesunęło się z ceny bazowej gazu do napiwku, wówczas opłaty zapewniłyby wyższy dochód niż dotacja blokowa, co oznacza, że ​​egoistyczne, „samolubne” wydobycie mogłoby stać się racjonalną strategią dla górnika z dużym odsetkiem hash rate.

RSK

Ciężko jest odebrać górnikom przychody. RSK ma minimalną cenę gazu kontrolowaną przez górników (podobnie jak limit gazu blokowego), ale wszystkie opłaty są rozdzielane do wspólnej puli, która służy do opłacania wyrównanych opłat kolejnym górnikom za pomocą smart kontraktu o nazwie REMASC. Chociaż niektóre opłaty są spalane, zawsze jest to mniej niż 10%. Górnik, który wydobywa blok otrzymuje jednak tylko 10% wspólnej puli górnika w każdym bloku, dlatego może ulec pokusie, aby uzyskać pozostałe 90%. Aby czerpać zyski z opłat offchain, musiałby obniżyć minimalną cenę gazu, a to wymaga uzyskania zgody ze strony większości górników.

Główna różnica polega na tym, że w Ethereum z EIP-1559 normalne transakcje mogą być dostarczane prywatnie górnikom i wykorzystywane do wnoszenia niższych opłat transakcyjnych, podczas gdy w RSK transakcje te nie byłyby ważne, chyba że minimalna cena gazu zostałaby obniżona do zera. Dlatego też prywatne transakcje RSK nie mogłyby przynieść górnikowi mniej niż wynosi przeciętny poziom opłat. Nawet jeśli użytkownicy płaciliby górnikom bezpośrednio za pośrednictwem sieci kanałów płatności, większość górników musiałaby najpierw obniżyć minimalną cenę gazu. Sprawiłoby to, że ​​zabawa w systemie RSK stałaby się trudniejsza i wymagałaby zastosowania globalnej infrastruktury płatniczej offchain, która jeszcze nie istnieje.

Rozwiązania

Lerner nie podał jednego, idealnego rozwiązania problemów EIP-1559. Najprostszą poprawką byłoby zmniejszenie tempa zmiany bazowej ceny gazu z 12,5%/blok do około 3%/blok, aczkolwiek zmieniłoby to właściwości EIP-1599 w zakresie informowania użytkowników o przeciążeniu. Innym, częściowym rozwiązaniem, mogłoby stać się wprowadzenie twardego limitu w zakresie gazu/ blok do 30 mln (jest kilka EIP, które próbują to zrobić).

W związku z tym, że EIP-1559 obniżył koszt cenzury transakcji poniżej akceptowalnych zakresów, Lerner podejrzewa, że rozwiązania nie da się uratować bez zmniejszenia kwoty spalonej opłaty.

Słowem podsumowania

Chociaż intencje stojące za EIP-1559 są dobre – zwłaszcza względem pasywnych posiadaczy ETH – Lerner uważa, że wprowadzone w nim założenia są niestabilne. Kiedy wszyscy aktywni uczestnicy mogą skorzystać na koordynacji, a koszt jej wprowadzenia jest niski, wystarczy iskra, aby wywołać zmianę, która przywróci sytuację do czasu sprzed implementacji EIP-1559.

Kaskada wydarzeń może szybko doprowadzić do momentu, który przyniesie obopólne korzyści i wyeliminuje bazową cenę gazu. Źródłem problemu jest to, że bazową cenę gazu można zmienić za pomocą cenzury transakcji, a koszt cenzury stał się w Ethereum niezwykle niski. Jeśli średnia przepustowość jest utrzymywana na poziomie 15 mln/blok, wówczas pominięcie transakcji z nieparzystych bloków kosztuje tylko 77 tys. USD/godzinę przy bieżących cenach ETH.

Lerner pokazał, w jaki sposób możliwości koordynacji smart kontraktów Ethereum mogłyby zostać wykorzystane do ułatwienia eliminacji błędów EIP-1559. Fakt, że EIP-1559 przynosi korzyści nieaktywnym użytkownikom ze szkodą dla aktywnych użytkowników sprawia, że ​​jest niestabilny, ponieważ nieaktywni użytkownicy mogą nie zwracać uwagi na stan łańcucha bloków podczas rozpoczynania współpracy w celu usunięcia EIP-1559. Właśnie dlatego Lerner proponuje rozwiązanie polegające na spaleniu tylko określonego procentu opłaty podstawowej.

Wypada wyraźnie zaznaczyć, że opracowanie Lernera pokazuje luki w protokole Ethereum, aczkolwiek nie ma podstaw do tego, aby traktować ją jako lukę w zabezpieczeniach, która stanowiłaby jakiekolwiek zagrożenie dla aktywnych użytkowników.

***

Opracowano na podstawie Flaws in Ethereum’s EIP-1559; link

Przeczytaj również:

Garść interesujących kwestii, które Sergio Damian Lerner poruszał w odniesieniu do Bitcoina:

Od Redakcji

Niniejszy artykuł ani w całości ani w części nie stanowi „rekomendacji” w rozumieniu przepisów ustawy z dnia 29 lipca 2005 r. o obrocie instrumentami finansowymi czy Rozporządzenia Parlamentu Europejskiego i Rady (Ue) Nr 596/2014 z dnia 16 kwietnia 2014 r. w sprawie nadużyć na rynku (rozporządzenie w sprawie nadużyć na rynku) oraz uchylające dyrektywę 2003/6/WE Parlamentu Europejskiego i Rady i dyrektywy Komisji 2003/124/WE, 2003/125/WE i 2004/72/WE oraz Rozporządzenia Delegowane Komisji (Ue) 2017/565 z dnia 25 kwietnia 2016 r. uzupełniające dyrektywę Parlamentu Europejskiego i Rady 2014/65/UE w odniesieniu do wymogów organizacyjnych i warunków prowadzenia działalności przez firmy inwestycyjne oraz pojęć zdefiniowanych na potrzeby tej dyrektywy. Zawarte w serwisie treści nie spełniają wymogów stawianych rekomendacjom w rozumieniu w/w ustawy, m.in. nie zawierają konkretnej wyceny żadnego instrumentu finansowego, nie opierają się na żadnej metodzie wyceny, a także nie określają ryzyka inwestycyjnego.

Komentarze