Prozkoumejte, jak multidimenzionální EIP-1559 optimalizuje účinnost plynu Ethereum oddělením nákladů na zdroje, zvýšením škálovatelnosti a zlepšením využití sítě.
Multidimenzionální EIP-1559 se objevil jako výzkumné téma poté, co byl představen Vitalikem Buterinem v příspěvku EthResearch v lednu 2022. I když se mu nedostalo takové pozornosti jako jiným výzkumným tématům, jako jsou souhrny, MEV nebo řešení dostupnosti dat, je to aktivní studijní oblast.
Výzkumné práce, které nedávno zveřejnili Guillermo Angeris a Theo Diamandis, zkoumají teoretické základy a robustnost vícerozměrných trhů s poplatky a navrhují, jak by měly být vybudovány.
Ve skutečnosti se již dnes používají vícerozměrné trhy s poplatky. S přijetím EIP-4844 v březnu 2024 Ethereum představilo blob gas, čímž vytvořilo samostatný trh s poplatky pro blob transakce. To znamenalo posun od jednorozměrného modelu plynu k dvourozměrnému trhu s poplatky.
Stále však existuje potřeba zvýšit počet dimenzí prostředků pro optimalizaci využití prostředků transakce. Rozšiřování vícerozměrných trhů s poplatky je řešením škálovatelnosti, které zlepšuje schopnost Etherea efektivněji spravovat různé zdroje.
Tento článek zkoumá důležitost a mechaniku vícerozměrných trhů s poplatky za plyn a vysvětluje, jak zvyšují škálovatelnost Etherea a alokaci zdrojů.
Pojďme se nejprve ponořit do toho, co přesně je multidimenzionální oceňování plynu.
Vícedimenzionální zpoplatnění plynu je řešení pro škálování L1, jako je zvýšení limitu plynu nedávno implementovaného na Ethereum. Přestože přímo nezvyšuje celkovou transakční kapacitu Etherea, maximalizuje využití zdrojů v rámci stávajících limitů. To umožňuje více decentralizovaným aplikacím (DApps) a uživatelům provádět transakce na základní vrstvě Etherea bez zbytečného přetížení.
Ethereum v současné době spojuje všechny náklady na zdroje, jako je výpočet, úložiště a šířka pásma, do jediné plynové jednotky. Vícedimenzionální ceny plynu místo toho tyto zdroje oddělují a optimalizují jejich alokaci při zachování bezpečnosti a decentralizace Etherea.
Abychom pochopili, proč je to výhodné, uvažujme analogii v reálném světě.
Představte si fitness klub s různými zařízeními, jako jsou běžecké pásy pro kardio, stojany na dřepy pro posilování a činky pro všeobecné použití. Členové mají různé preference: někteří používají výhradně běžecké pásy, jiní se zaměřují na stojany na dřepy a někteří střídají oba.
V systému, kdy si tělocvična účtuje paušální vstupné podle celkového počtu členů, dochází k neefektivitě. Ve dnech, kdy jsou běžecké pásy přeplněné, ale stojany na dřepy jsou málo využívány, paušální poplatek stoupá pro každého a nutí posilovače platit za přetížení, které nezpůsobili. Podobně, když jsou stojany na dřepy velmi žádané, ale běžecké pásy jsou prázdné, nesou uživatelé kardia zbytečné náklady. Tato jednorozměrná cena spojuje kapacitu tělocvičny s jejími nejvíce přetíženými zdroji, což vede k nedostatečnému využití ostatních zařízení. To lze považovat za jednorozměrný cenový model.
Nyní si představte, že tělocvična zavádí multidimenzionální cenový model. Místo paušálního poplatku si účtuje zvlášť za běžecké pásy a stojany na dřepy. Uživatelé kardio cvičení a posilovači již nejsou vzájemně ovlivňováni používáním ostatních a posilovna může optimalizovat svou kapacitu tím, že bude tyto zdroje spravovat nezávisle. S vyváženějším využitím může tělocvična pojmout více uživatelů bez zvýšení celkového přetížení.
Tento přístup demonstruje podstatu multidimenzionálního oceňování: rozdělování zdrojů na samostatné trhy s cílem zlepšit spravedlnost a efektivitu. Přílišná granularita, jako je samostatné stanovení cen pro každý kus zařízení, však může představovat zbytečnou složitost a ztížit používání systému. To je důvod, proč v praxi mají fitness kluby většinou pevnou cenu vstupného a trvají na jednorozměrném cenovém modelu.
Stejným způsobem, jakým mohou samostatné poplatky za běžecké pásy a stojany na dřepy snížit přetížení, může Ethereum využívat samostatné trhy pro zdroje, jako jsou výpočty a využití dat.
Před EIP-4844 Ethereum používalo jednorozměrný cenový model plynu, kde byly všechny transakční zdroje, včetně výpočtu, úložiště a šířky pásma, spojeny do jediné metriky: plynu. Tento model ze své podstaty vede k neefektivitě, podobně jako analogie fitness klubu:
Klíčovým příkladem této neefektivnosti je způsob, jakým se shromažďují dříve uložená transakční data. Před EIP-4844 zasílali souhrnná data o svých transakcích do pole dat volání Ethereum a platili poplatky za plyn na základě cen za data volání. Po přijetí EIP-4844 v březnu 2024 však souhrny nyní používají samostatnou jednotku nazývanou blob gas, která jim umožňuje ukládat data do vyhrazených struktur nazývaných blob.
Ačkoli EIP-4844 zavedl pro souhrnná data druhou dimenzi plynu (blob gas), rozsah zůstává omezený: Blob gas se vztahuje pouze na transakce typu blob. Ostatní transakční komponenty – včetně provádění EVM, dat hovorů a úložiště, jsou stále oceňovány v rámci jednoho modelu plynu.
Ethereum transakce stále spotřebovávají několik nezávislých zdrojů, ale všechny jsou oceňovány plynem, což vede k neefektivním nejhorším scénářům.
Předpokládejme například, že jedna transakce spotřebuje celý limit plynu (aktuálně 36 milionů) při provádění EVM. I kdyby uzly Ethereum mohly bezpečně zpracovat větší objemy dat, transakce nemůže šířit další data, protože plyn je považován za jediné omezení, nikoli za více nezávislých limitů.
Tento problém je ještě zřetelnější, když se podíváme na rozložení velikosti bloků Etherea. Od července 2024 do prosince 2024 byla průměrná velikost bloku ~ 73 kB, přičemž většina bloků je výrazně pod 100 kB. V bloku #21419230 však maximální velikost bloku dosáhla 1,48 MB, což je 20krát více, než je průměr.
Vícedimenzionální zpoplatnění plynu řeší tento problém tím, že s každým zdrojem zachází nezávisle: výpočet, úložiště a šířka pásma mají samostatné ceny a limity. Toto oddělení zabraňuje úzkým místům, kde jeden zdroj dominuje nákladům na plyn, a optimalizuje kapacitu bez zvýšení bezpečnostních rizik.
Články Vitalika Buterina navrhují několik klíčových typů zdrojů pro oddělení. Pojďme prozkoumat tyto kandidátské zdroje a proč by jejich oddělení mohlo zlepšit škálovatelnost Etherea.
Při navrhování vícerozměrného trhu poplatků je nezávislost na zdrojích jedním z nejdůležitějších faktorů. Pokud jsou dva vysoce vzájemně závislé zdroje umístěny do samostatných trhů poplatků, může to vést k neefektivitě, nesprávnému stanovování cen a zbytečné složitosti. Pokud jsou například výpočet (cykly CPU) a využití paměti (RAM) oceňovány odděleně, ale jedno závisí na druhém, uživatelé mohou systém hrát tak, že si mezi sebou budou přesouvat náklady, což vede k neoptimálním cenám.
Než tedy zařadíme zdroje Etherea do samostatných trhů s plynem, musíme nejprve určit, které zdroje jsou dostatečně nezávislé, aby mohly být oceněny samostatně, aniž by došlo k narušení ekonomiky sítě.
Ve svém jádru je uzel Ethereum počítač, který spravuje více zdrojů paralelně. Tradiční hardwarové prostředky jsou kategorizovány do samostatných komponent, které lze optimalizovat nezávisle:
Klíčovým principem je zde paralelizovatelnost: Pokud systém může nezávisle zpracovávat tyto zdroje, je smysluplné je oddělit pro stanovení ceny. Aplikujeme-li to na Ethereum, měli bychom se zaměřit na klasifikaci zdrojů Etherea způsobem, který umožní uzlům Etherea fungovat co nejefektivněji bez zbytečných závislostí.
Na rozdíl od počítačů operace Ethereum nezapadají přesně do jedné kategorie. Mnoho operací spotřebovává více zdrojů současně, takže je obtížné je dokonale oddělit. Například,
Tyto vzájemné závislosti dělají oddělení každého jednotlivého zdroje do jeho vlastního cenového trhu nepraktické. Místo toho bychom se měli zaměřit na nejvýznamnější úzká hrdla přímo ovlivňující škálovatelnost Etherea.
Zatímco operace Ethereum zahrnují více zdrojů, kandidáty na multidimenzionální ceny, o kterých se v současnosti diskutuje, jsou:
Výpočet (EVM Execution) – Jednoduché operace jako ADD a MULTIPLY jsou čistě CPU úlohy.
Storage I/O (SSTORE/SLOAD) – Trvalé čtení a zápisy, které ovlivňují stav Etherea.
Transaction Calldata – Primárně využívá šířku pásma, ale také přispívá k ukládání.
Witness Data – Ovlivňuje I/O šířku pásma a úložiště, zejména pro klienty bez stavu.
Sladěním těchto kategorií s tím, jak počítačové systémy spravují zdroje, můžeme učinit strukturu poplatků Ethereum intuitivnější a efektivnější.
I když bychom teoreticky mohli zdroje Etherea rozdělit do ještě podrobnějších kategorií, zvýšilo by to složitost bez úměrných výhod. Místo toho bychom se měli zaměřit na klíčová úzká místa, která dnes omezují výkon Etherea.
Například velikost transakčních dat volání přímo určuje maximální velikost bloku, což z ní dělá zásadní překážku pro konsenzuální vrstvu Etherea. Kromě toho musí být řízen růst úložiště, aby se zabránilo tomu, že by provoz plných uzlů byl příliš nákladný, při zachování decentralizace.
Spíše než zavádění příliš mnoha dimenzí je tedy praktické zaměřit se na několik klíčových zdrojů, které dominují efektivitě Etherea.
S těmito primárními zdroji můžeme prozkoumat dva odlišné způsoby realizace vícerozměrných cen: samostatné trhy s poplatky nebo upravenou jedinou jednotku plynu.
Jedním z přístupů k implementaci vícerozměrných cen plynu je vytvoření nezávislých trhů s poplatky pro každý zdroj, což zajistí efektivnější alokaci. Tato metoda již byla částečně implementována prostřednictvím EIP-4844, která zavedla blob gas jako samostatnou jednotku pro ukládání souhrnných dat.
Tento koncept lze rozšířit na další zdroje, jako je růst státu nebo velikost svědků, což umožňuje společnosti Ethereum řídit limity každého zdroje odděleně namísto sdružování všech nákladů do jedné metriky plynu.
Abychom tento přístup formalizovali, definujme bi jako základní poplatek za zdroj i, gi jako spotřebu zdroje i v transakci a ki jako limit pro zdroj i v rámci jednoho bloku.
Celkový transakční poplatek by byl vypočítán jako ibi*gi a blok musí splňovat omezení all txbi ki, for all i for all resources i. Stejně jako aktuální model EIP-1559 je i bi dynamicky upravováno na základě předchozího použití bloku. Ethereum by mohlo přijmout exponenciální cenové modely (jak se používají pro blob gas) nebo jiný mechanismus aktualizace poplatků k regulaci spotřeby zdrojů.
Model odděleného trhu poplatků nabízí klíčové výhody. Poskytuje přesnou kontrolu nad každým zdrojem tím, že umožňuje nezávislé omezení, což pomáhá vyhnout se neefektivním odhadům nejhorších případů podle aktuálního modelu plynu. Zabraňuje také zbytečnému přetížení a zajišťuje, že vysoká poptávka po jednom zdroji neúměrně nezvyšuje poplatky za nesouvisející operace. Tento přístup navíc optimalizuje využití sítě tím, že umožňuje přímé limity na faktory, jako je šíření dat, jako je omezení na 1 MB nebo státní růst, spíše než se spoléhat na nepřímé úpravy cen plynu při regulaci spotřeby zdrojů.
Zatímco samostatné trhy s poplatky nabízejí lepší alokaci zdrojů, příliš podrobné rozdělování zdrojů představuje značnou složitost. Vytvoření nezávislých trhů pro každý typ zdroje by vyžadovalo velké úpravy protokolu, což by potenciálně destabilizovalo základní vrstvu Etherea. DApps a peněženky by také čelily dalším výzvám, protože by musely sledovat více trhů s poplatky a předvídat kolísání základních poplatků pro každý zdroj, což by znesnadnilo nákladově efektivní a včasné začlenění transakcí.
Další problém nastává, když jeden zdroj zažije nepředvídatelný cenový nárůst. I když peněženka optimalizuje poplatky pro všechny ostatní zdroje, náhlý nárůst pouze na jednom trhu poplatků by mohl zabránit tomu, aby byla transakce zahrnuta do bloku, což by vedlo k nejistotě a neefektivitě pro uživatele.
Validátoři čelí podobným výzvám, protože jejich cílem je maximalizovat výdělky a přitom zůstat v rámci omezení jednotlivých zdrojů. Jak se zvyšuje počet nezávislých trhů se zdroji, stává se tato situace složitým optimalizačním problémem, který připomíná multidimenzionální problém s batohem, kde je výběr nejziskovějších transakcí stále obtížnější.
Někteří tvrdí, že tato složitost nemusí být hlavním problémem, protože zisky z maximální extrahovatelné hodnoty (MEV) významně přispívají k ziskům validátorů, takže prioritní poplatky jsou při jejich rozhodování méně kritické. Celková proveditelnost implementace zcela samostatných trhů s poplatky pro každý zdroj však zůstává otevřenou výzkumnou otázkou, která vyžaduje další prozkoumání kompromisů mezi efektivitou, použitelností a stabilitou sítě.
Jednodušší alternativou k úplnému oddělení trhů s poplatky je ponechat plyn jako primární jednotku a zároveň upravit způsob výpočtu poplatků. Namísto zavádění nových jednotek pro každý zdroj je celkový transakční poplatek určen zdrojem, který spotřebovává nejvíce plynu.
Definujme cenu plynu pro zdroj i jako ci a množství použitého zdroje jako gi. Transakční poplatek je pak určen:
(c1*g1, c2*g2, c3*g3,...)
Namísto součtu spotřeby plynu napříč zdroji je transakce účtována pouze na základě nejdražšího zdroje, který spotřebovává.
Zvažte například transakci, která spotřebuje 50 000 plynu na provedení EVM a 200 000 plynu na data volání. Podle tohoto modelu je transakční poplatek 200 000, protože data volání jsou dominantním zdrojem a náklady na provedení jsou efektivně ignorovány.
I když tato metoda zjednodušuje tvorbu cen, přináší potenciální problémy:
Navzdory těmto obavám je hlavní výhodou tohoto přístupu jeho jednoduchost. Ponecháním plynu jako univerzální cenové jednotky se Ethereum vyhýbá složitosti správy více jednotek zdrojů a přitom stále rozlišuje mezi různými typy využití zdrojů.
EIP-7623 , který bude implementován v upgradu Pectra , se řídí podobným, ale mírně upraveným přístupem. Zavádí mechanismus duálních cen pro transakce s vysokým objemem dat volání, což zajišťuje, že transakce s neúměrně vysokým využitím dat volání budou platit vyšší poplatky. I když se nejedná o plně multidimenzionální cenový model plynu, představuje krok k lepší diferenciaci zdrojů bez přepracování struktury plynu Ethereum.
EIP-7623 zavádí vyšší poplatky za transakce dostupnosti dat (DA), zvláště když využití dat hovorů výrazně převyšuje využití realizačního plynu. Tento mechanismus zajišťuje, že transakce spotřebovávající nadměrné množství dat hovorů platí vyšší poplatky, což odrazuje od zbytečného ukládání dat bez nutnosti nových cenových jednotek.
Zjednodušená verze výpočtu plynu EIP-7623 je následující:
total_gas_used max(4tokens_in_calldata + evm_gas_used, 10*tokens_in_calldata)
Což dále zjednodušuje:
total_gas_used 4tokens_in_calldata + max(evm_gas_used, 6*tokens_in_calldata)
Tento vzorec určuje celkovou spotřebu plynu tím, že vezme maximum mezi prováděcím plynem a plynem calldata. Pokud transakce primárně využívá data volání, budou za ni účtovány vyšší poplatky, než aby byla dotována nižšími náklady na realizaci. To odrazuje od nadměrného ukládání dat a zároveň zajišťuje, že transakce náročné na výpočet nejsou nespravedlivě penalizovány.
EIP-7623 je zjednodušená verze multidimenzionálního oceňování plynu, protože zavádí implicitní rozlišení mezi realizačním plynem a call data gas, čímž podporuje vyváženější alokaci síťových zdrojů.
Ačkoli je vícerozměrné zpoplatnění plynu často vnímáno jako ekonomické vylepšení nebo vylepšení uživatelského rozhraní/UX, jde o zásadní vylepšení škálovatelnosti, které umožňuje optimalizovanou alokaci zdrojů. Jeho implementace však čelí značným problémům, především kvůli nutným podstatným úpravám protokolové vrstvy a obtížnosti úplného oddělení typů zdrojů. V důsledku toho je nepravděpodobné, že by v brzké době byly přijaty vyšší ceny plynu.
Navzdory těmto výzvám nabízí multidimenzionální cenotvorba plynu podstatné výhody, včetně lepšího využití zdrojů, zvýšené bezpečnosti sítě a udržitelného provozu uzlů. Umožnění efektivnějšího využití výpočetní a úložné kapacity Etherea představuje pro Ethereum schůdnou cestu k škálování při zachování decentralizace a bezpečnosti.
Původně byla publikována verze tohoto článku