Preskúmajte, ako multidimenzionálny EIP-1559 optimalizuje efektívnosť plynu Ethereum oddelením nákladov na zdroje, zvýšením škálovateľnosti a zlepšením využitia siete.
Multidimenzionálny EIP-1559 sa objavil ako výskumná téma po tom, čo ho predstavil Vitalik Buterin v príspevku EthResearch v januári 2022. Aj keď sa mu nedostalo takej pozornosti ako iným výskumným témam, ako sú súhrny, MEV alebo riešenia dostupnosti údajov, je to aktívna študijná oblasť.
Výskumné práce, ktoré nedávno zverejnili Guillermo Angeris a Theo Diamandis, skúmajú teoretické základy a robustnosť viacrozmerných trhov s poplatkami a navrhujú, ako by sa mali budovať.
V skutočnosti sa už dnes používajú viacrozmerné trhy s poplatkami. Prijatím EIP-4844 v marci 2024 Ethereum predstavilo plyn typu blob, čím vytvorilo samostatný trh s poplatkami pre transakcie typu blob. To znamenalo posun od jednorozmerného modelu plynu k dvojrozmernému trhu poplatkov.
Stále však existuje potreba zvýšiť počet dimenzií zdrojov, aby sa optimalizovalo využitie zdrojov transakcií. Rozširovanie trhov s viacrozmernými poplatkami je riešením škálovateľnosti na zlepšenie schopnosti Etherea efektívnejšie spravovať rôzne zdroje.
Tento článok skúma dôležitosť a mechaniku multidimenzionálnych trhov s poplatkami za plyn a vysvetľuje, ako zlepšujú škálovateľnosť Etherea a alokáciu zdrojov.
Poďme sa najprv ponoriť do toho, čo presne je multidimenzionálne oceňovanie plynu.
Viacdimenzionálne oceňovanie plynu je riešením na škálovanie L1, ako je napríklad zvýšenie limitu plynu nedávno implementovaného na Ethereum. Hoci priamo nezvyšuje celkovú transakčnú kapacitu Etherea, maximalizuje využitie zdrojov v rámci existujúcich limitov. To umožňuje decentralizovanejším aplikáciám (DApps) a používateľom vykonávať transakcie na základnej vrstve Etherea bez zbytočného preťaženia.
Ethereum v súčasnosti spája všetky náklady na zdroje, ako je výpočet, úložisko a šírka pásma, do jednej plynovej jednotky. Viacrozmerné stanovovanie cien plynu namiesto toho oddeľuje tieto zdroje, optimalizuje ich alokáciu pri zachovaní bezpečnosti a decentralizácie Etherea.
Aby sme pochopili, prečo je to prospešné, uvažujme o analógii v reálnom svete.
Predstavte si fitness klub s rôznymi zariadeniami, ako sú bežecké pásy na kardio cvičenie, stojany na drepy na posilňovanie a činky na všeobecné použitie. Členovia majú rôzne preferencie: niektorí používajú výhradne bežecké pásy, iní sa zameriavajú na stojany na drepy a niektorí ich striedajú.
V systéme, kde si telocvičňa účtuje paušálne vstupné na základe celkového počtu členov, vzniká neefektívnosť. V dňoch, keď sú bežecké pásy preplnené, ale stojany na drepy sú nedostatočne využívané, paušálny poplatok stúpa pre každého, čo núti posilňovačov platiť za preťaženie, ktoré nespôsobili. Podobne, keď sú stojany na drepy veľmi žiadané, ale bežecké pásy sú prázdne, užívatelia kardio znášajú zbytočné náklady. Táto jednorozmerná cena spája kapacitu telocvične s jej najviac preťaženým zdrojom, čo spôsobuje nedostatočné využitie iných zariadení. Toto možno považovať za jednorozmerný cenový model.
Teraz si predstavte, že telocvičňa zavádza viacrozmerný cenový model. Namiesto paušálneho poplatku si účtuje zvlášť za bežecké pásy a stojany na drepy. Používatelia kardiakov a posilňovačov už nie sú navzájom ovplyvňovaní a posilňovňa môže optimalizovať svoju kapacitu tým, že tieto zdroje spravuje nezávisle. S vyváženejším využitím môže telocvičňa pojať viac používateľov bez zvýšenia celkového preťaženia.
Tento prístup demonštruje podstatu multidimenzionálneho oceňovania: rozdelenie zdrojov na samostatné trhy s cieľom zlepšiť spravodlivosť a efektívnosť. Prílišná granularita, ako napríklad samostatné stanovovanie cien pre každý kus zariadenia, však môže spôsobiť zbytočnú zložitosť a sťažiť používanie systému. Preto majú v praxi fitness kluby väčšinou pevnú cenu vstupného a trvajú na jednorozmernom cenovom modeli.
Rovnakým spôsobom, akým môžu samostatné poplatky za bežecké pásy a stojany na drepy znížiť preťaženie, môže Ethereum využívať samostatné trhy pre zdroje, ako sú výpočty a využitie dát.
Pred EIP-4844 Ethereum používalo jednorozmerný cenový model plynu, kde boli všetky transakčné zdroje vrátane výpočtu, úložiska a šírky pásma spojené do jednej metriky: plynu. Tento model vo svojej podstate vedie k neefektívnosti, podobne ako analógia fitness klubu:
Kľúčovým príkladom tejto neefektívnosti je spôsob, akým sa zhromažďujú predtým uložené transakčné údaje. Pred EIP-4844 súhrny zverejňovali svoje transakčné údaje do dátového poľa hovorov Etherea a platili poplatky za plyn na základe cien za hovory. Po prijatí EIP-4844 v marci 2024 však súhrny teraz používajú samostatnú jednotku nazývanú blob gas, ktorá im umožňuje ukladať údaje do vyhradených štruktúr nazývaných bloby.
Hoci EIP-4844 zaviedol druhú dimenziu plynu (blob gas) pre súhrnné údaje, jej rozsah zostáva obmedzený: Blob gas sa vzťahuje len na transakcie typu blob. Ostatné komponenty transakcií – vrátane vykonania EVM, údajov o hovoroch a ukladania, sú stále oceňované v rámci jedného modelu plynu.
Ethereum transakcie stále spotrebúvajú viacero nezávislých zdrojov, no všetky sú ocenené v plyne, čo vedie k neefektívnym najhorším scenárom.
Predpokladajme napríklad, že jedna transakcia spotrebuje celý limit plynu (v súčasnosti 36 miliónov) pri vykonávaní EVM. Aj keby uzly Ethereum mohli bezpečne spracovať väčšie veľkosti údajov, transakcia nemôže šíriť ďalšie údaje, pretože plyn sa považuje za jediné obmedzenie a nie za viaceré nezávislé limity.
Tento problém je ešte evidentnejší pri pohľade na rozdelenie veľkosti blokov Etherea. Od júla 2024 do decembra 2024 bola priemerná veľkosť bloku ~ 73 KB, pričom väčšina blokov mala výrazne menej ako 100 KB. V bloku #21419230 však maximálna veľkosť bloku dosiahla 1,48 MB, čo je 20-krát viac ako priemer.
Viacdimenzionálne stanovovanie cien plynu rieši tento problém tým, že s každým zdrojom zaobchádza nezávisle: výpočet, skladovanie a šírka pásma majú samostatné ceny a limity. Toto oddelenie zabraňuje úzkym miestam, kde jeden zdroj dominuje v nákladoch na plyn, a optimalizuje kapacitu bez zvyšovania bezpečnostných rizík.
Články Vitalika Buterina navrhujú niekoľko kľúčových typov zdrojov na oddelenie. Poďme preskúmať tieto kandidátske zdroje a prečo by ich oddelenie mohlo zlepšiť škálovateľnosť Etherea.
Pri navrhovaní viacrozmerného trhu s poplatkami je nezávislosť od zdrojov jedným z najdôležitejších faktorov. Ak sa dva vysoko vzájomne závislé zdroje umiestnia na samostatné trhy s poplatkami, môže to viesť k neefektívnosti, nesprávnemu stanovovaniu cien a zbytočnej zložitosti. Napríklad, ak sú výpočty (cykly CPU) a využitie pamäte (RAM) oceňované oddelene, ale jedno závisí od druhého, používatelia môžu hrať systém presunutím nákladov medzi sebou, čo vedie k neoptimálnym cenám.
Pred zaradením zdrojov Etherea do samostatných trhov s plynom teda musíme najprv identifikovať, ktoré zdroje sú dostatočne nezávislé na to, aby boli oceňované samostatne bez toho, aby došlo k narušeniu ekonomiky siete.
Vo svojom jadre je uzol Ethereum počítač, ktorý spravuje viacero zdrojov paralelne. Tradičné hardvérové prostriedky sú rozdelené do samostatných komponentov, ktoré možno nezávisle optimalizovať:
Kľúčovým princípom je tu paralelizovateľnosť: Ak systém dokáže nezávisle spracovať tieto zdroje, je zmysluplné ich oddeliť pre cenotvorbu. Ak to použijeme na Ethereum, mali by sme sa zamerať na klasifikáciu zdrojov Etherea spôsobom, ktorý umožní uzlom Ethereum fungovať čo najefektívnejšie bez zbytočných závislostí.
Na rozdiel od počítačov, operácie Ethereum nezapadajú presne do jednej kategórie. Mnohé operácie spotrebúvajú viacero zdrojov súčasne, čo sťažuje ich dokonalé oddelenie. napr.
Tieto vzájomné závislosti spôsobujú, že rozdelenie každého jednotlivého zdroja do jeho vlastného cenového trhu je nepraktické. Namiesto toho by sme sa mali zamerať na najvýznamnejšie prekážky, ktoré priamo ovplyvňujú škálovateľnosť Etherea.
Zatiaľ čo operácie Ethereum zahŕňajú viaceré zdroje, v súčasnosti diskutovanými kandidátmi na multidimenzionálne ceny sú:
Výpočet (EVM Execution) – Jednoduché operácie ako ADD a MULTIPLY sú čisto CPU úlohy.
Storage I/O (SSTORE/SLOAD) – Trvalé čítanie a zápis, ktoré ovplyvňujú stav Etherea.
Údaje o volaní transakcie – Primárne využíva šírku pásma, ale prispieva aj k ukladaniu.
Witness Data – Ovplyvňuje šírku pásma a úložný I/O, najmä pre klientov bez stavu.
Zosúladením týchto kategórií s tým, ako počítačové systémy spravujú zdroje, môžeme urobiť štruktúru poplatkov Ethereum intuitívnejšou a efektívnejšou.
Aj keď by sme teoreticky mohli zdroje Etherea rozdeliť do ešte podrobnejších kategórií, zvýšilo by to zložitosť bez primeraných výhod. Namiesto toho by sme sa mali zamerať na kľúčové úzke miesta, ktoré dnes obmedzujú výkon Etherea.
Napríklad veľkosť dát volania transakcie priamo určuje maximálnu veľkosť bloku, čo z neho robí rozhodujúcu prekážku pre konsenzuálnu vrstvu Etherea. Okrem toho musí byť riadený rast úložiska, aby sa predišlo tomu, že prevádzka úplných uzlov bude príliš drahá, pričom sa zachová decentralizácia.
Namiesto zavádzania príliš veľkého množstva dimenzií je teda praktické zamerať sa na niekoľko kľúčových zdrojov, ktoré dominujú efektívnosti Etherea.
Po identifikovaní týchto primárnych zdrojov môžeme preskúmať dva odlišné spôsoby realizácie multidimenzionálneho oceňovania: samostatné trhy s poplatkami alebo upravenú jednu jednotku plynu.
Jedným z prístupov k implementácii viacrozmerného oceňovania plynu je vytvorenie nezávislých trhov s poplatkami pre každý zdroj, čím sa zabezpečí efektívnejšie prideľovanie. Táto metóda už bola čiastočne implementovaná prostredníctvom EIP-4844, ktorá zaviedla blob gas ako samostatnú jednotku na ukladanie dát.
Tento koncept môže byť rozšírený na ďalšie zdroje, ako je rast štátu alebo veľkosť svedkov, čo umožňuje Ethereu riadiť limity každého zdroja oddelene namiesto spájania všetkých nákladov do jednej metriky plynu.
Aby sme tento prístup formalizovali, definujme bi ako základný poplatok za zdroj i, gi ako spotrebu zdroja i v transakcii a ki ako limit pre zdroj i v rámci jedného bloku.
Celkový transakčný poplatok by sa vypočítal ako ibi*gi a blok musí spĺňať obmedzenie all txbi ki, for all i for all resources i. Rovnako ako súčasný model EIP-1559, aj bi sa dynamicky upravuje na základe predchádzajúceho použitia bloku. Ethereum by mohlo prijať exponenciálne cenové modely (ako sa používajú pre blob gas) alebo iný mechanizmus aktualizácie poplatkov na reguláciu spotreby zdrojov.
Samostatný model trhu s poplatkami ponúka kľúčové výhody. Poskytuje presnú kontrolu nad každým zdrojom tým, že umožňuje nezávislé obmedzenie, čo pomáha vyhnúť sa neefektívnym odhadom najhorších prípadov podľa súčasného modelu plynu. Zabraňuje tiež zbytočnému preťaženiu a zabezpečuje, že vysoký dopyt po jednom zdroji neúmerne nezvyšuje poplatky za nesúvisiace operácie. Tento prístup navyše optimalizuje využitie siete tým, že umožňuje priame obmedzenia faktorov, ako je šírenie údajov, ako je obmedzenie na 1 MB alebo rast štátu, namiesto spoliehania sa na nepriame úpravy cien plynu na reguláciu spotreby zdrojov.
Zatiaľ čo samostatné trhy s poplatkami ponúkajú lepšie prideľovanie zdrojov, príliš podrobné rozdeľovanie zdrojov predstavuje značnú zložitosť. Vytvorenie nezávislých trhov pre každý typ zdroja by si vyžadovalo veľké úpravy protokolu, čo by potenciálne destabilizovalo základnú vrstvu Etherea. DApps a peňaženky by tiež čelili ďalším výzvam, pretože by museli sledovať viaceré trhy s poplatkami a predpovedať kolísanie základných poplatkov pre každý zdroj, čo by sťažilo nákladovo efektívne a včasné začlenenie transakcií.
Ďalší problém nastáva, keď jeden zdroj zažije nepredvídateľný nárast cien. Aj keď peňaženka optimalizuje poplatky pre všetky ostatné zdroje, náhly nárast len na jednom trhu poplatkov by mohol zabrániť zahrnutiu transakcie do bloku, čo by pre používateľov viedlo k neistote a neefektívnosti.
Validátori čelia podobným výzvam, pretože ich cieľom je maximalizovať zárobky a zároveň zostať v rámci obmedzení jednotlivých zdrojov. S rastúcim počtom nezávislých trhov so zdrojmi sa táto situácia stáva zložitým optimalizačným problémom, ktorý sa podobá viacrozmernému problému s batohom, kde sa výber najziskovejších transakcií stáva čoraz ťažším.
Niektorí tvrdia, že táto zložitosť nemusí byť hlavným problémom, pretože zisky z maximálnej extrahovateľnej hodnoty (MEV) významne prispievajú k ziskom overovateľov, vďaka čomu sú prioritné poplatky pri ich rozhodovaní menej kritické. Celková realizovateľnosť implementácie úplne samostatných trhov s poplatkami pre každý zdroj však zostáva otvorenou výskumnou otázkou, ktorá si vyžaduje ďalšie skúmanie kompromisov medzi efektívnosťou, použiteľnosťou a stabilitou siete.
Jednoduchšou alternatívou k úplnému oddeleniu trhov s poplatkami je ponechať plyn ako primárnu jednotku a zároveň upraviť spôsob výpočtu poplatkov. Namiesto zavádzania nových jednotiek pre každý zdroj je celkový transakčný poplatok určený zdrojom, ktorý spotrebuje najviac plynu.
Definujme cenu plynu pre zdroj i ako ci a množstvo použitého zdroja ako gi. Transakčný poplatok je potom určený:
(c1*g1, c2*g2, c3*g3,...)
Namiesto sčítania spotreby plynu naprieč zdrojmi sa transakcia účtuje len na základe najdrahšieho zdroja, ktorý spotrebuje.
Zvážte napríklad transakciu, ktorá spotrebuje 50 000 plynu na vykonanie EVM a 200 000 plynu na údaje o hovoroch. V rámci tohto modelu je transakčný poplatok 200 000 plynu, pretože údaje o hovoroch sú dominantným zdrojom a náklady na realizáciu sa efektívne ignorujú.
Hoci táto metóda zjednodušuje tvorbu cien, prináša potenciálne problémy:
Napriek týmto obavám je hlavnou výhodou tohto prístupu jeho jednoduchosť. Ponechaním plynu ako univerzálnej cenovej jednotky sa Ethereum vyhýba zložitosti správy viacerých zdrojových jednotiek, pričom stále rozlišuje medzi rôznymi typmi využívania zdrojov.
EIP-7623 , ktorý bude implementovaný v aktualizácii Pectra , sleduje podobný, ale mierne upravený prístup. Zavádza mechanizmus duálneho oceňovania pre transakcie náročné na dáta hovorov, čím zaisťuje, že transakcie s neúmerne vysokým využitím dát hovorov budú platiť vyššie poplatky. Aj keď nejde o úplný viacrozmerný cenový model plynu, predstavuje krok smerom k lepšej diferenciácii zdrojov bez prepracovania štruktúry plynu Ethereum.
EIP-7623 zavádza vyššie poplatky za transakcie dostupnosti dát (DA), najmä ak využitie dát pri hovoroch výrazne prevyšuje spotrebu realizačného plynu. Tento mechanizmus zaisťuje, že transakcie, ktoré spotrebúvajú nadmerné množstvo údajov o hovoroch, budú platiť vyššie poplatky, čím sa zabráni zbytočnému ukladaniu údajov bez potreby nových cenových jednotiek.
Zjednodušená verzia výpočtu plynu EIP-7623 je nasledovná:
total_gas_used max(4tokens_in_calldata + evm_gas_used, 10*tokens_in_calldata)
Čo ďalej zjednodušuje:
total_gas_used 4tokens_in_calldata + max(evm_gas_used, 6*tokens_in_calldata)
Tento vzorec určuje celkovú spotrebu plynu tak, že sa zoberie maximum medzi realizačným plynom a plynom calldata. Ak transakcia primárne využíva údaje o hovoroch, budú sa jej účtovať vyššie poplatky za údaje o hovoroch namiesto toho, aby bola dotovaná nižšími nákladmi na realizáciu. To odrádza od nadmerného ukladania údajov a zároveň zabezpečuje, že transakcie náročné na výpočty nebudú nespravodlivo penalizované.
EIP-7623 je zjednodušená verzia viacrozmerného oceňovania plynu, pretože zavádza implicitné rozlíšenie medzi realizačným plynom a volacím dátovým plynom, čím podporuje vyváženejšie prideľovanie sieťových zdrojov.
Hoci sa viacrozmerné stanovovanie cien plynu často považuje za ekonomické alebo UI/UX vylepšenie, ide o zásadné zlepšenie škálovateľnosti, ktoré umožňuje optimalizované prideľovanie zdrojov. Jeho implementácia však čelí značným výzvam, predovšetkým kvôli potrebným podstatným úpravám protokolovej vrstvy a ťažkostiam s úplným oddelením typov zdrojov. V dôsledku toho je nepravdepodobné, že by sa v blízkej dobe prijali vyššie ceny plynu.
Napriek týmto výzvam ponúka multidimenzionálne stanovovanie cien plynu podstatné výhody, vrátane lepšieho využitia zdrojov, zvýšenej bezpečnosti siete a udržateľnej prevádzky uzlov. Umožnenie efektívnejšieho využívania výpočtovej a úložnej kapacity Etherea predstavuje pre Ethereum schodnú cestu k škálovaniu pri zachovaní decentralizácie a bezpečnosti.
Pôvodne bola publikovaná verzia tohto článku