Ethereum sandorių architektūros pertvarka dėl mastelio

Vitaliko Buterino pasiūlymas perkurti Ethereum sandorių modelį skirstant juos į priklausomybes ir veiksmus, leidžia lygiagretinti patikras, mažinti perteklinius patikrinimus ir palengvinti postkvantinę autorizaciją bei mažesnius mokesčius.

Ethereum sandorių architektūros pertvarka dėl mastelio

8 Minutės

Sekti „Google“

Nauja sandorių architektūra Ethereum

Rugsėjo 6 d. Vitalikas Buterinas pristatė ilgalaikę viziją, kaip Ethereum galėtų pertvarkyti savo sandorių modelį, kad pagerintų lygiagretų apdorojimą, sumažintų perteklinę patikrą ir atvertų naujus kelius paskyros abstrakcijai bei postkvantiniam pasirengimui. Pasiūlymas koncentruojasi į sandorių padalijimą į dvi atskiras dalis – veiksmus ir priklausomybes – kad tinklai, klientai ir mempool'ai galėtų nepriklausomai ir efektyviau patikrinti tai, kas svarbu.

Veiksmai vs. priklausomybės: pagrindinė idėja

Buterinas pertvarkymą apibrėžia remdamasis dviem papildančiais koncepcijos. "Veiksmai" yra būsena keičiantys veiksmai: ETH arba ERC-20 žetonų pervedimai, kontraktų kvietimai, keičiantys saugyklą, ir kiti efektai, atnaujinantys blokų grandinės būseną. "Priklausomybės" yra sąlygos, kurios turi būti teisingos prieš saugų tų veiksmų vykdymą: parašai, Merkle arba būsenos įrodymai, nulinių įrodymų (zero-knowledge) galiojimo patikros ir kiti autorizacijos ar preliminarūs reikalavimai.

Dabartiniu metu Ethereum sandoriai sujungia autorizaciją, mokesčio apmokėjimą ir vykdymą į vieną srautą. Mazgai patikrina parašą, įsitikina, kad mokestis gali būti sumokėtas, ir tada vykdo sandorį. Tačiau daugelis tų patikrinimų – ypač grynai kriptografiniai – nepriklauso nuo galutinės būsenos ir gali būti patikrinti nepriklausomai arba iš anksto. Aiškiai atskyrus dvi sudedamąsias dalis, Ethereum galėtų lygiagrečiai vykdyti patikras, suspausti pasikartojantį darbą ir suteikti pigesnius kelius nuspėjamiems veiksmams.

Praktiniai pavyzdžiai

  • Parašų patikra: kriptografinis parašas paprastai nepriklauso nuo kitų sandorių poveikio ir gali būti patikrintas izoliuotai.
  • Būsenos įrodymai: Merkle įrodymai arba kiti nuo būsenos nepriklausomi galiojimo patikrinimai gali būti patikrinti kartą ir pakartotinai panaudoti.
  • Nuo būsenos priklausomi patikrinimai: sąlygos, susietos su paskyros balansu arba saugyklos vieta, vis tiek turi atsižvelgti į užsakymą ir galimus konfliktus.

EIP-8141: Rėmelių sandoriai ir programuojama struktūra

Konkreti pažanga link šios vizijos yra EIP-8141, pagrindinė darbo versija, apibrėžianti naują sandorio formatą, vadinamą Rėmelio sandoriu. Vietoje vieno monolitiško voko, Rėmelio sandoris yra rėmelių seka. Kiekvienas rėmelis gali atlikti tam tikrą vaidmenį: patikrinti autorizaciją, paskelbti, kas moka mokesčius, arba vykdyti vartotojo operaciją. Ši modulinė struktūra dera su veiksmų/priklausomybių padalijimu ir suteikia lankstesnę paskyros abstrakciją.

Pagrindinės EIP-8141 siūlomos savybės:

  • Programuojamos patikros ir mokesčių taisyklės: paskyros kodas gali apibrėžti, kaip įrodoma autorizacija ir kaip apmokamas gasas, leidžiant rėmėjų apmokėjimus arba mokėjimus ERC-20 žetonais.
  • Palaikymas paskyros abstrakcijai: išorinio valdymo sąskaitos (EOA) galėtų įgyti turtingesnius autorizacijos modelius be būtinybės diegti identiškus kontraktus visuose tinkluose.
  • Suderinamumas tarp EVM grandinių: Rėmelio sandoriai suteikia minimalų, perkeliamą formatą, kurį skirtingos grandinės gali priimti taikydamos savo priekompilus ar patikros logiką.

Kaip rėmeliai atitinka priklausomybes ir veiksmus

Patikros rėmeliai tvarko grynas priklausomybes – parašus ir statinius įrodymus – tuo tarpu vykdymo rėmeliai atlieka būseną keičiantį veiksmą. Sandoris taip pat gali turėti žymes, žyminčias kiekvieną kvietimą kaip gryną priklausomybę, nuo būsenos priklausomą patikrą arba veiksmą. Sandoris vis dar neša kilmę, nonce ir kitą standartinę metaduomenų informaciją, bet vidinė organizacija leidžia mempool'ams ir validatoriams diferencijuotą tvarkymą.

Kodėl tai svarbu masteliui ir mokesčiams

Atidalijus priklausomybes nuo veiksmų atsiveria keletas praktinių privalumų Ethereum masteliui ir sandorių sąnaudų efektyvumui:

  • Lygiagreti patikra: nepriklausomi patikrinimai gali būti paskirstyti tarp CPU arba mašinų, kad keli validavimai vyktų vienu metu.
  • Sumažinta dubliacija: grynos priklausomybės gali nebebūti privalomai kartojamos kiekvienam validatorui vykdymo metu.
  • Mokesčių diferencijavimas: nuspėjami, statiniu būdu analizuojami sandoriai gali būti pigesni, nes reikalauja mažiau darbo vykdymo metu; dinamiški, nenuspėjami kontraktų kvietimai vis tiek palaikomi, bet gali turėti didesnį gasą, atspindintį jų resursų sąnaudas.

Buterinas įvertina – tai labiau informuotas vertinimas nei griežtas tinklo matavimas – kad daugiau nei 90 % Ethereum veiklos apimties galėtų tilpti paprastesniuose, mažiau dinamiškuose formatuose. Jei tai pasitvirtintų, tinklas galėtų įgyti efektyvumo, siūlydamas pigesnius formatus dažniausiai pasitaikančiam atvejui, neapribodamas sudėtingų išmaniųjų kontraktų.

Rekursiniai STARK įrodymai: patikros suspaudimas

Be EIP-8141, Buterinas aptarė rekursinių STARK įrodymų (Scalable Transparent Arguments of Knowledge) naudojimą, kad suagreguotų ir suspaustų priklausomybių patikras. Šiame modelyje grynos priklausomybės, patikrintos mempool'e – tokios kaip parašai ir galiojimo įrodymai – agreguojamos į vieną rekursinį įrodymą. Validatoriai tada patikrina rekursinį STARK vietoj kiekvieno originalaus patikrinimo vykdymo, taip potencialiai sutaupydami CPU ciklų ir mažindami ant grandinės patikros duomenų kiekį.

Ką keičia STARK'ai ir kas lieka sudėtinga

STARK'ai leidžia vienai šaliai įrodyti, kad skaičiavimas buvo atliktas teisingai; rekursiniai STARK'ai gali įrodyti, kad rinkinys įrodymų yra visi galiojantys. Taikant tai sandorių priklausomybėms, mempool'as sukuria agreguotą įrodymą, kad visos priklausomybių patikros praėjo. Validatoriai patvirtintų vieną kompaktišką įrodymą prieš vykdydami veiksmus.

Vis dėlto tai kelia tyrimų ir inžinerijos klausimų, kuriuos reikia išspręsti prieš diegiant pagrindiniame tinkle:

  • Įrodymų kūrimo kaštai ir delsimas: rekursinių įrodymų generavimas šiuo metu yra skaičiavimo intensyvus ir gali reikalauti specializuotų priemonių bei koordinacijos.
  • Mempool'o koordinacija ir paskatos: kas kuria agreguotus įrodymus ir kaip jie yra skleidžiami bei atlygina už tai?
  • Duomenų prieinamumas ir saugumas: užtikrinti, kad agreguoti įrodymai yra teisingi, nekencūruojami ir atsparūs neteisingoms agregacijos bandymams.

Nors šis požiūris taip pat galėtų sumažinti ant grandinės patikros užklausų kiekį, tokie sumažinimai nėra įtraukti į dabartinį EIP-8141 specifikacijos paketą ir reikalautų papildomų pasiūlymų bei konsenso.

Postkvantinis pasirengimas ir parašų raida

Vienas praktinis modulinės sandorių konstrukcijos motyvų yra pasirengimas postkvantinei kriptografijai. Kvantams atsparūs parašai linkę būti didesni ir brangiau tikrinami nei dabartiniai ECDSA parašai. EIP-8141 lanksti autorizacijos tvarka leistų paskyroms priimti alternatyvius parašų schemų sprendimus be tinklo lygmens parašų standarto keitimo. Kartu su rekursinių įrodymų agregacija, tinklai galėtų kompensuoti patikros kaštus suspausdami daug sunkesnių patikrų rezultatų į glaustus įrodymus.

Tai padaro EIP-8141 patrauklia ilgalaike kryptimi išplėsti autorizacijos pasirinkimus - įskaitant potencialias postkvantines schemas - valdant patikros naštą.

Raktiniai nonce'ai: sekos butelio kaklelio šalinimas

Ethereum sekiniai nonce'ai neleidžia pakartoti sandorių ir garantuoja užsakytą vykdymą iš vienos paskyros, tačiau jie taip pat kuria pralaidumo butelio kaklelį. Jei laukiantis sandoris blokuoja prie nonce N, vėlesni sandoriai su N+1 ir N+2 stringa, net jei jie yra nepriklausomi.

Raktiniai nonce'ai įveda kelias nepriklausomas nonce domenas vienai paskyrai. Sandoriai priskiriami nonce raktui, todėl nesusiję darbo srautai gali vykti lygiagrečiai. Tai padeda išmaniosioms paskyroms, susietiems paketams ar privatumą akcentuojančioms programoms ir bet kuriai situacijai, kai kelios nepriklausomos operacijos kyla iš tos pačios paskyros tuo pačiu metu.

Padaliję nonce erdvę, raktiniai nonce'ai mažina vadinamojo eilės pradžios užblokavimo problemą ir pagerina sudėtingų piniginių bei decentralizuotų programų naudotojo patirtį, kurios pateikia lygiagrečias sandorių sekas.

Būsenos modeliai: UTXO idėjos ir hibridiniai požiūriai

Dalis diskusijos sieja Rėmelių sandorius ir raktinius nonce'us su alternatyviais būsenos modeliais. Bitcoino UTXO (unspent transaction output) modelis yra nuspėjamai analizuojamas, nes sandoriai aiškiai išvardija išlaidas. Ethereum paskyros modelis yra lankstesnis, bet sunkiau statiniu būdu analizuojamas.

Buterinas nepasiūlo visiškai pakeisti Ethereum paskyros modelio grynu UTXO sistemos modeliu. Vietoj to, jis aprašo spektrą, kuriame paprastos, deklaruotos operacijos gali naudotis UTXO tipo nuspėjamumu, tuo tarpu sudėtingi kontraktai išlaiko pilną paskyros lankstumą. Toks hibridinis požiūris gali suteikti daugiasluoksnį apdorojimą: itin nuspėjamos operacijos yra pigios ir lygiagrečiai apdorojamos; dinamiški kontraktų kvietimai lieka įmanomi, bet reikalauja daugiau išteklių ir todėl turi didesnius mokesčius.

Vystymo rūpesčiai ir įgyvendinimo iššūkiai

EIP-8141 ir platesnė priklausomybių/veiksmų architektūra vis dar yra darbo stadijoje. Pagrindiniai kūrėjai, klientų komandos ir piniginių tiekėjai iškėlė techninius klausimus, kuriuos reikia išspręsti prieš diegiant:

  • Paslaugos atsisakymo vektoriai: nauja mempool logika ir rėmelių apdorojimas turi vengti atvėrimo atakų paviršių, didinančių bekomisinių šlamštų arba išteklių išeikvojimo riziką.
  • Sandorių pakeitimas ir laukiantys limitai: taisyklės, kaip keisti laukiantį Rėmelio sandorį ir ribos vienai paskyrai laukiantiems rėmeliams, turi būti kruopščiai suprojektuotos, kad nebūtų nepageidaujamų regresijų naudotojo sąsajoje.
  • Priemonių sudėtingumas: piniginės, RPC, blokų kūrėjai ir indeksuotojai visi turi būti atnaujinti, kad teisingai generuotų, pasirašytų ir transliuotų Rėmelių sandorius.
  • Mempool semantika: pasiūlymai, pvz., laikyti tik vieną laukiantį Rėmelio sandorį nuo siuntėjo, kelia suderinamumo klausimų galingiems vartotojams, siunčiantiems kelis lygiagretus sandorius.

Šie rūpesčiai yra sveiki: jie atspindi integracijos darbų apimtį tarp klientų (Geth, Besu, Erigon, Nethermind), piniginės programinės įrangos, blokų kūrėjų ir MEV-sąmoningų įrankių.

FOCIL ir cenzūros atsparumo sinergijos

Atskira FOCIL idėja siekia pagerinti cenzūros atsparumą, leidžiant transakcijų įtraukimo sąrašus. Kol EIP-8141 orientuojasi į sandorių struktūrą ir autorizaciją, FOCIL sprendžia, kurios transakcijos privalo būti įtrauktos blokų kūrėjų. Kūrėjai siūlė derinti Rėmelių sandorius su FOCIL, siekiant stipresnės natūralios paskyros abstrakcijos tuo pačiu gerinant įtraukties garantijas - nors toks derinys lieka spekuliatyvus ir nėra patvirtintos darbotvarkės dalis.

Pritaikymo kelias ir realus laiko planas

EIP-8141 turi pereiti kelis etapus, kol paveiks vartotojus: bendruomenės konsensusas tarp pagrindinių kūrėjų, klientų įgyvendinimai, testnet diegimai, piniginių palaikymas, integracija su blokų kūrėjais ir formalaus saugumo audito atlikimas. Ankstesnės diskusijos svarstė EIP-8141 kaip galimą tolimesnių atnaujinimų dalį, tačiau šiuo metu jis yra peržiūroje, o ne suplanuotas.

Svarbūs stebėtini etapai:

  • Formalus Core Dev palaikymas Rėmelių sandoriams kaip pageidautinai paskyros abstrakcijos priemonei.
  • Klientų susiliejimo ir stabilūs testnet įgyvendinimai su pilna mempool, RPC ir gas apskaitos elgsena.
  • Suderinamumo testavimas tarp EVM suderinamų tinklų ir viešųjų testnet'ų.
  • Piniginės ir kūrėjų įrankių palaikymas Rėmelių sandorių kūrimui, pasirašymui ir transliavimui.

Kol šie žingsniai nebus įgyvendinti, EIP-8141 ir rekursinių STARK mempool'ai lieka tyrimų pasiūlymais, o ne užtikrintais patobulinimais. Vis dėlto dizaino kryptis – priklausomybių ir veiksmų atskyrimas, raktiniai nonce'ai ir rekursinė agregacija – siūlo nuoseklią strategiją padidinti lygiagretumą ir sumažinti perteklinę patikrą Ethereum tinkle.

Ką tai reiškia vartotojams, kūrėjams ir validatoriams

Vartotojai galėtų matyti pigesnį ir greitesnį patvirtinimą nuspėjamiems pervedimams ir įprastiems kontraktų kvietimams, jei klientai ir blokų kūrėjai optimizuotų rėmelių stiliaus sandorius. Kūrėjams reikės pritaikyti išmaniųjų kontraktų įrankius ir pinigines, kad palaikytų naują rėmelių struktūrą ir, kur įmanoma, deklaruotų priklausomybes. Validatoriai ir blokų kūrėjai galėtų pasinaudoti sumažėjusiomis patikros sąnaudomis ir didesniu pralaidumu, jei mempool agregacija ir rekursinė patikra bus įdiegta saugiai.

Tuo pačiu metu specializuotos ir dinamiškos dApp vis tiek galės vykdyti sudėtingą logiką išlaikydamos esamą paskyros lankstumą. Tikslas nėra pakeisti Ethereum EVM išraiškingumą, o suteikti tinklui būdą nukreipti paprastas operacijas į pigesnį, labiau lygiagretų vamzdelį.

Išvada: pragmatiškas kelias masteliui ir lankstumui

Vitaliko Buterino sandorių pertvarka yra ambicingas, bet pragmatiškas bandymas suderinti Ethereum poreikį lankstiems išmaniesiems kontraktams su nuspėjamų, lygiagretinamų sandorių formatų privalumais. EIP-8141 Rėmelių sandoriai, raktiniai nonce'ai ir potencialus kelias į rekursinių STARK agregaciją sudaro įrankių sluoksnį, galintį reikšmingai sumažinti perteklinį darbą, remti postkvantinės autorizacijos pasirinkimus ir leisti diferencijuotą mokesčių struktūrą.

Tačiau lieka reikšmingų tyrimų, inžinerijos darbų ir tarpkomandinio derinimo. Bendruomenė turi subalansuoti našumo pranašumus su priemonių sudėtingumu ir saugumo rizika. Jei ekosistema sugebės išspręsti šiuos klausimus, Rėmelių sandoriai ir mempool lygmens agregacija gali tapti svarbiais Ethereum kitos kartos sandorių apdorojimo blokais.

Iki tol šias idėjas reikia vertinti kaip ateities tyrimus: perspektyvūs keliai, o ne neatidėliotini protokolo pakeitimai. Kiti patikimi žingsniai bus kūrėjų konsensusas, referentiniai klientų įgyvendinimai ir sėkmingi testavimai viešuosiuose vystymo tinkluose.

Palikti komentarą

Komentarai

Komentarų dar nėra. Būkite pirmas.