Izpētiet, kā daudzdimensiju EIP-1559 optimizē Ethereum gāzes efektivitāti, nodalot resursu izmaksas, uzlabojot mērogojamību un uzlabojot tīkla izmantošanu.
Daudzdimensionālā EIP-1559 kļuva par pētniecības tēmu pēc tam, kad 2022. gada janvārī EthResearch ziņā to iepazīstināja Vitaliks Buterins. Lai gan tai nav pievērsta tik liela uzmanība kā citām pētniecības tēmām, piemēram, apkopojumiem, MEV vai datu pieejamības risinājumiem, tā ir aktīva izpētes joma.
Guillermo Angeris un Theo Diamandis nesen publicētajos pētnieciskajos rakstos tiek pētīti daudzdimensionālo maksu tirgu teorētiskie pamati un stabilitāte, kā arī ierosināts, kā tie būtu jāveido.
Faktiski daudzdimensionāli maksas tirgi tiek izmantoti jau šodien. Līdz ar EIP-4844 pieņemšanu 2024. gada martā Ethereum ieviesa blob gāzi, izveidojot atsevišķu maksas tirgu blob darījumiem. Tas iezīmēja pāreju no viendimensijas gāzes modeļa uz divdimensiju maksas tirgu.
Tomēr joprojām ir jāpalielina resursu dimensiju skaits, lai optimizētu darījumu resursu izmantošanu. Daudzdimensiju maksas tirgu paplašināšana ir mērogojamības risinājums, lai uzlabotu Ethereum spēju efektīvāk pārvaldīt dažādus resursus.
Šajā rakstā ir apskatīta daudzdimensiju gāzes maksas tirgu nozīme un mehānika, paskaidrojot, kā tie uzlabo Ethereum mērogojamību un resursu piešķiršanu.
Vispirms iedziļināsimies tajā, kas īsti ir daudzdimensiju gāzes cenu noteikšana.
Daudzdimensiju gāzes cenu noteikšana ir L1 mērogošanas risinājums, piemēram, nesen Ethereum ieviestā gāzes limita palielināšana . Lai gan tas tieši nepalielina Ethereum kopējo darījumu jaudu, tas maksimāli palielina resursu izmantošanu esošajās robežās. Tas ļauj vairāk decentralizētām lietojumprogrammām (DApps) un lietotājiem veikt darījumus Ethereum pamata slānī bez nevajadzīgas pārslodzes.
Pašlaik Ethereum visas resursu izmaksas, piemēram, aprēķinu, uzglabāšanas un joslas platuma izmaksas, apvieno vienā gāzes blokā. Tā vietā daudzdimensiju gāzes cenu noteikšana atdala šos resursus, optimizējot to piešķiršanu, vienlaikus saglabājot Ethereum drošību un decentralizāciju.
Lai saprastu, kāpēc tas ir izdevīgi, aplūkosim reālās pasaules analoģiju.
Iedomājieties fitnesa klubu ar dažādām iekārtām, piemēram, skrejceliņiem kardio treniņiem, pietupieniem svariem un hanteles vispārējai lietošanai. Dalībniekiem ir dažādas preferences: daži izmanto tikai skrejceliņus, citi koncentrējas uz pietupieniem, un daži maina abus.
Sistēmā, kurā sporta zāle iekasē vienotu ieejas maksu, pamatojoties uz kopējo dalībnieku skaitu, rodas neefektivitāte. Dienās, kad skrejceliņi ir pārpildīti, bet pietupieni netiek izmantoti, fiksētā maksa visiem pieaug, liekot svara trenažieriem maksāt par sastrēgumiem, ko viņi nav radījuši. Tāpat, kad pietupieni ir ļoti pieprasīti, bet skrejceliņi ir tukši, kardio treniņu lietotāji sedz nevajadzīgas izmaksas. Šī viendimensionālā cenu noteikšana saista sporta zāles jaudu ar tās pārslogotākajiem resursiem, radot citu telpu nepietiekamu izmantošanu. To var uzskatīt par vienas dimensijas cenu noteikšanas modeli.
Tagad iedomājieties, ka sporta zāle ievieš daudzdimensiju cenu noteikšanas modeli. Vienotas maksas vietā tā iekasē atsevišķu maksu par skrejceliņiem un pietupieniem. Kardio lietotājus un svara trenažierus vairs neietekmē viens otra lietojums, un trenažieru zāle var optimizēt savu jaudu, pārvaldot šos resursus neatkarīgi. Ar līdzsvarotāku izmantošanu sporta zāle var uzņemt vairāk lietotāju, nepalielinot kopējo sastrēgumu.
Šī pieeja parāda daudzdimensiju cenu noteikšanas būtību: resursu sadalīšanu atsevišķos tirgos, lai uzlabotu godīgumu un efektivitāti. Tomēr pārāk liela precizitāte, piemēram, atsevišķa cenu noteikšana katrai iekārtai, var radīt nevajadzīgu sarežģītību un apgrūtināt sistēmas lietošanu. Tāpēc praksē fitnesa klubos pārsvarā ir fiksēta ieejas maksa un tie uzstāj uz viendimensionālu cenu modeli.
Tādā pašā veidā, kā atsevišķas maksas par skrejceliņiem un pietupieniem var samazināt sastrēgumus, Ethereum var izmantot atsevišķus resursu tirgus, piemēram, aprēķinu un datu lietojumu.
Pirms EIP-4844 Ethereum izmantoja viendimensijas gāzes cenu noteikšanas modeli, kurā visi darījumu resursi, tostarp aprēķini, krātuve un joslas platums, tika apvienoti vienā metrikā: gāzē. Šis modelis pēc būtības rada neefektivitāti, līdzīgi kā fitnesa kluba analoģijā:
Galvenais šīs neefektivitātes piemērs ir iepriekš saglabāto darījumu datu apkopošana. Pirms EIP-4844 apkopojumi ievietoja savus darījumu datus Ethereum zvanu datu laukā un maksāja gāzes maksu, pamatojoties uz zvanu datu cenām. Tomēr līdz ar EIP-4844 pieņemšanu 2024. gada martā apkopojumos tagad tiek izmantota atsevišķa vienība, ko sauc par blob gas, kas ļauj glabāt datus īpašās struktūrās, ko sauc par lāsēm.
Lai gan EIP-4844 ieviesa otru gāzes dimensiju (blob gas) apkopojuma datiem, tās darbības joma joprojām ir ierobežota: Blob gas attiecas tikai uz blob darījumiem. Citu darījumu komponentu, tostarp EVM izpildes, zvanu datu un uzglabāšanas, cena joprojām tiek noteikta saskaņā ar vienu gāzes modeli.
Ethereum darījumi joprojām patērē vairākus neatkarīgus resursus, taču par visiem ir jāmaksā gāze, kas noved pie neefektīviem sliktākajiem scenārijiem.
Piemēram, pieņemsim, ka viens darījums patērē visu gāzes limitu (pašlaik 36 M) EVM izpildē. Pat ja Ethereum mezgli varētu droši apstrādāt lielākus datu izmērus, darījums nevar izplatīt papildu datus, jo gāze tiek uzskatīta par vienu ierobežojumu, nevis vairākiem neatkarīgiem ierobežojumiem.
Šī problēma kļūst vēl skaidrāka, aplūkojot Ethereum bloka lieluma sadalījumu. No 2024. gada jūlija līdz 2024. gada decembrim vidējais bloka lielums ir bijis ~73 KB, un lielākā daļa bloku ir krietni zem 100 KB. Tomēr blokā #21419230 maksimālais bloka lielums sasniedza 1,48 MB, kas ir 20 reizes lielāks par vidējo.
Daudzdimensiju gāzes cenu noteikšana risina šo problēmu, apstrādājot katru resursu atsevišķi: aprēķiniem, krātuvei un joslas platumam tiek noteikta atsevišķa cena un ierobežojumi. Šī atdalīšana novērš vājās vietas, kur viens resurss dominē gāzes izmaksās, un optimizē jaudu, nepalielinot drošības riskus.
Vitalik Buterin raksti piedāvā vairākus galvenos resursu veidus atdalīšanai. Izpētīsim šos kandidātu resursus un to, kāpēc to atdalīšana varētu uzlabot Ethereum mērogojamību.
Veidojot daudzdimensionālu maksu tirgu, resursu neatkarība ir viens no vissvarīgākajiem faktoriem. Ja divi ļoti savstarpēji atkarīgi resursi tiek ievietoti atsevišķos maksas tirgos, tas var izraisīt neefektivitāti, nepareizu cenu noteikšanu un nevajadzīgu sarežģītību. Piemēram, ja aprēķinu (CPU cikli) un atmiņas lietojuma (RAM) cena tiek noteikta atsevišķi, taču viens ir atkarīgs no otra, lietotāji var izspēlēt sistēmu, novirzot izmaksas savā starpā, tādējādi radot neoptimālu cenu.
Tādējādi, pirms klasificēt Ethereum resursus atsevišķos gāzes tirgos, mums vispirms ir jānosaka, kuri resursi ir pietiekami neatkarīgi, lai par tiem noteiktu cenu atsevišķi, neizkropļojot tīkla ekonomiku.
Ethereum mezgls būtībā ir dators, kas vienlaikus pārvalda vairākus resursus. Tradicionālie aparatūras resursi ir iedalīti atsevišķos komponentos, kurus var optimizēt neatkarīgi:
Galvenais princips šeit ir paralēlizējamība: ja sistēma var patstāvīgi apstrādāt šos resursus, ir lietderīgi tos atdalīt cenu noteikšanai. Piemērojot to Ethereum, mums jācenšas klasificēt Ethereum resursus tā, lai Ethereum mezgli varētu darboties pēc iespējas efektīvāk bez nevajadzīgām atkarībām.
Atšķirībā no datoriem, Ethereum darbības neietilpst vienā kategorijā. Daudzas darbības vienlaikus patērē vairākus resursus, tāpēc ir grūti tos perfekti nodalīt. Piemēram,
Šīs savstarpējās atkarības padara nepraktisku katra atsevišķa resursa nodalīšanu savā cenu noteikšanas tirgū. Tā vietā mums vajadzētu koncentrēties uz nozīmīgākajiem vājajiem punktiem, kas tieši ietekmē Ethereum mērogojamību.
Lai gan Ethereum operācijas ietver vairākus resursus, pašlaik apspriestie daudzdimensiju cenu noteikšanas kandidāti ir:
Aprēķins (EVM izpilde) — vienkāršas darbības, piemēram, ADD un MULTIPLY, ir tīri CPU uzdevumi.
Krātuves I/O (SSTORE/SLOAD) — pastāvīga lasīšana un rakstīšana, kas ietekmē Ethereum stāvokļa uzpūšanos.
Darījuma zvanu dati — galvenokārt izmanto joslas platumu, bet arī veicina krātuvi.
Liecinieku dati — ietekmē joslas platumu un krātuves I/O, īpaši klientiem bez pilsonības.
Saskaņojot šīs kategorijas ar to, kā datorsistēmas pārvalda resursus, mēs varam padarīt Ethereum maksas struktūru intuitīvāku un efektīvāku.
Lai gan teorētiski mēs varētu iedalīt Ethereum resursus vēl sīkākās kategorijās, tas palielinātu sarežģītību bez samērīgiem ieguvumiem. Tā vietā mums vajadzētu koncentrēties uz galvenajiem vājajiem punktiem, kas šodien ierobežo Ethereum veiktspēju.
Piemēram, darījuma zvanu datu lielums tieši nosaka maksimālo bloka lielumu, padarot to par būtisku sašaurinājumu Ethereum vienprātības slānim. Turklāt ir jākontrolē krātuves pieaugums, lai novērstu to, ka pilno mezglu darbība kļūst pārāk dārga, saglabājot decentralizāciju.
Tādējādi, tā vietā, lai ieviestu pārāk daudz dimensiju, ir praktiski koncentrēties uz dažiem galvenajiem resursiem, kas dominē Ethereum efektivitātē.
Izmantojot šos primāros resursus, mēs varam izpētīt divus atšķirīgus veidus, kā realizēt daudzdimensiju cenu noteikšanu: atsevišķus maksas tirgus vai modificētu vienu gāzes bloku.
Viena pieeja daudzdimensionālas gāzes cenu noteikšanas ieviešanai ir neatkarīgu maksas tirgu izveide katram resursam, nodrošinot efektīvāku sadali. Šī metode jau ir daļēji ieviesta, izmantojot EIP-4844, kas ieviesa blob gāzi kā atsevišķu vienību apkopojuma datu glabāšanai.
Šo koncepciju var attiecināt arī uz citiem resursiem, piemēram, štata pieaugumu vai liecinieka lielumu, ļaujot Ethereum pārvaldīt katra resursa ierobežojumus atsevišķi, nevis apvienot visas izmaksas saskaņā ar vienu gāzes rādītāju.
Lai formalizētu šo pieeju, definēsim bi kā resursa i bāzes maksu, gi kā resursa i patēriņu darījumā un ki kā resursa i ierobežojumu vienā blokā.
Kopējā darījuma maksa tiktu aprēķināta kā ibi*gi, un blokam ir jāatbilst ierobežojumam visi txbi ki, visiem i visiem resursiem i. Tāpat kā pašreizējais EIP-1559 modelis, bi tiek dinamiski pielāgots, pamatojoties uz iepriekšējo bloka lietojumu. Ethereum varētu pieņemt eksponenciālos cenu noteikšanas modeļus (kā izmantots blob gāzei) vai citu maksas atjaunināšanas mehānismu, lai regulētu resursu patēriņu.
Atsevišķs maksas tirgus modelis piedāvā galvenās priekšrocības. Tas nodrošina precīzu kontroli pār katru resursu, atļaujot neatkarīgu ierobežojumu noteikšanu, kas palīdz izvairīties no neefektīvām sliktākā gadījuma aplēsēm pašreizējā gāzes modelī. Tas arī novērš nevajadzīgu sastrēgumu veidošanos, nodrošinot, ka lielais pieprasījums pēc viena resursa nesamērīgi nepalielina maksu par nesaistītām darbībām. Turklāt šī pieeja optimizē tīkla lietojumu, nodrošinot tiešus ierobežojumus tādiem faktoriem kā datu izplatība, piemēram, ierobežojot to līdz 1 MB vai valsts pieaugumam, nevis paļaujoties uz netiešām gāzes cenu korekcijām, lai regulētu resursu patēriņu.
Lai gan atsevišķi maksas tirgi piedāvā uzlabotu resursu sadali, pārāk detalizēta resursu sadalīšana rada ievērojamu sarežģītību. Lai izveidotu neatkarīgus tirgus jebkura veida resursiem, būtu nepieciešamas lielas protokola izmaiņas, kas varētu destabilizēt Ethereum bāzes slāni. DApps un maki arī saskartos ar papildu izaicinājumiem, jo tiem būtu jāseko līdzi vairākiem maksas tirgiem un jāparedz bāzes maksas svārstības katram resursam, padarot izmaksu ziņā efektīvu un savlaicīgu darījumu iekļaušanu grūtāku.
Cita problēma rodas, ja kāds resurss piedzīvo neparedzamu cenu pieaugumu. Pat ja maciņš optimizē maksas par visiem pārējiem resursiem, pēkšņs pieaugums tikai vienā maksu tirgū var novērst darījuma iekļaušanu blokā, radot nenoteiktību un neefektivitāti lietotājiem.
Validatori saskaras ar līdzīgām problēmām, jo viņu mērķis ir maksimāli palielināt ieņēmumus, vienlaikus ievērojot katra resursu limita ierobežojumus. Palielinoties neatkarīgo resursu tirgu skaitam, šī situācija kļūst par sarežģītu optimizācijas problēmu, kas atgādina daudzdimensionālu mugursomas problēmu, kurā ienesīgāko darījumu izvēle kļūst arvien grūtāka.
Daži apgalvo, ka šī sarežģītība var nebūt nopietna problēma, jo maksimālās ekstrahējamās vērtības (MEV) ieņēmumi ievērojami veicina vērtētāja peļņu, padarot prioritārās maksas mazāk svarīgas lēmumu pieņemšanā. Tomēr vispārējā iespēja ieviest pilnīgi atsevišķus maksas tirgus katram resursam joprojām ir atklāts izpētes jautājums, kas prasa papildu izpēti par kompromisiem starp efektivitāti, lietojamību un tīkla stabilitāti.
Vienkāršāka alternatīva maksas tirgu pilnīgai nodalīšanai ir saglabāt gāzi kā primāro vienību, vienlaikus pielāgojot maksu aprēķināšanas veidu. Tā vietā, lai katram resursam ieviestu jaunas vienības, kopējo darījumu maksu nosaka resurss, kas patērē visvairāk gāzes.
Definēsim gāzes izmaksas resursam i kā ci un izmantotā resursa daudzumu kā gi. Pēc tam darījumu maksu nosaka:
(c1*g1, c2*g2, c3*g3,...)
Tā vietā, lai summētu gāzes patēriņu pa resursiem, maksa par darījumu tiek iekasēta, pamatojoties tikai uz visdārgāko resursu, ko tas patērē.
Piemēram, apsveriet darījumu, kas patērē 50 000 gāzes EVM izpildei un 200 000 gāzes zvanu datiem. Saskaņā ar šo modeli darījuma maksa ir 200 000 gāzes, jo zvanu dati ir dominējošais resurss, un izpildes izmaksas tiek faktiski ignorētas.
Lai gan šī metode vienkāršo cenu noteikšanu, tā rada iespējamās problēmas:
Neskatoties uz šīm bažām, šīs pieejas galvenā priekšrocība ir tās vienkāršība. Saglabājot gāzi kā universālo cenu noteikšanas vienību, Ethereum novērš vairāku resursu vienību pārvaldības sarežģītību, vienlaikus nošķirot dažādus resursu izmantošanas veidus.
EIP-7623 , kas tiks ieviests Pectra jauninājumā , tiek izmantota līdzīga, bet nedaudz pārveidota pieeja. Tas ievieš dubultu cenu noteikšanas mehānismu darījumiem, kuros ir daudz zvanu, nodrošinot, ka darījumi ar nesamērīgi lielu zvanu datu lietojumu maksā augstākas maksas. Lai gan tas nav pilnīgs daudzdimensiju gāzes cenu noteikšanas modelis, tas ir solis ceļā uz labāku resursu diferenciāciju, nepārveidojot Ethereum gāzes struktūru.
EIP-7623 ievieš augstākas maksas par datu pieejamības (DA) darījumiem, īpaši, ja zvanu datu lietojums ievērojami pārsniedz izpildes gāzes patēriņu. Šis mehānisms nodrošina, ka par darījumiem, kuros tiek patērēts pārmērīgs zvanu datu apjoms, ir jāmaksā lielāka maksa, tādējādi novēršot nevajadzīgu datu glabāšanu, neprasot jaunas cenu noteikšanas vienības.
EIP-7623 gāzes aprēķina vienkāršotā versija ir šāda:
kopējais_izmantoto gāzes_maks.(4tokens_in_calldata + evm_gas_used, 10*tokens_in_calldata)
Kas vēl vairāk vienkāršo:
total_gas_used 4tokens_in_calldata + max (evm_gas_used, 6*tokens_in_calldata)
Šī formula nosaka kopējo gāzes patēriņu, ņemot maksimumu starp izpildes gāzi un zvanu datu gāzi. Ja darījumā galvenokārt tiek izmantoti zvanu dati, par zvanu datiem tiks piemērota lielāka maksa, nevis tiek subsidēta ar zemākām izpildes izmaksām. Tas attur no pārmērīgas datu glabāšanas, vienlaikus nodrošinot, ka darījumi, kas prasa lielus aprēķinus, netiek negodīgi sodīti.
EIP-7623 ir daudzdimensiju gāzes cenu noteikšanas vienkāršota versija, jo tā ievieš netiešu atšķirību starp izpildes gāzi un izsaukuma datu gāzi, veicinot līdzsvarotāku tīkla resursu sadali.
Lai gan daudzdimensiju gāzes cenu noteikšana bieži tiek uzskatīta par ekonomisku vai UI/UX uzlabojumu, tas ir būtisks mērogojamības uzlabojums, kas ļauj optimizēt resursu piešķiršanu. Tomēr tā ieviešana saskaras ar ievērojamām problēmām, galvenokārt tāpēc, ka ir nepieciešamas būtiskas protokola slāņa modifikācijas, un grūtības pilnībā nodalīt resursu veidus. Rezultātā lielākas dimensijas gāzes cenu noteikšana tuvākajā laikā, visticamāk, netiks pieņemta.
Neraugoties uz šīm problēmām, daudzdimensionāla gāzes cenu noteikšana piedāvā būtiskas priekšrocības, tostarp uzlabotu resursu izmantošanu, uzlabotu tīkla drošību un ilgtspējīgu mezglu darbību. Iespējojot Ethereum skaitļošanas un uzglabāšanas jaudas efektīvāku izmantošanu, Ethereum var palielināt apjomu, vienlaikus saglabājot decentralizāciju un drošību.
Sākotnēji tika publicēta šī raksta versija