paint-brush
Charting The Ethereum Akhaonto Abstraction Mmapa wa Tsela I: EIP-3074, EIP-5806, le EIP-7702ka@2077research
Histori e mpsha

Charting The Ethereum Akhaonto Abstraction Mmapa wa Tsela I: EIP-3074, EIP-5806, le EIP-7702

ka 2077 Research30m2025/01/05
Read on Terminal Reader

Nako e telele kudu; Go bala

Account abstraction ke kaonafatšo ya bohlokwa go Ethereum UX gomme e holofetša go notlolla onboarding ya boima yeo e letetšwego kudu ya badiriši godimo ga blockchains. Sehlogo se (karolo ya I ya lelokelelo la dikarolo tše tharo ka ga mmapa wa tsela wa go tšea akhaonto ya Ethereum) se hlahloba ditšhišinyo tše tharo tšeo di hlamilwego go tliša go tšea akhaonto go Ethereum: EIP-3074, EIP-5806, le EIP-7702.
featured image - Charting The Ethereum Akhaonto Abstraction Mmapa wa Tsela I: EIP-3074, EIP-5806, le EIP-7702
2077 Research HackerNoon profile picture

Ka ge re lemogile diphetogo tše bohlokwa tšeo di tsebagaditšwego go Ethereum ka kaonafatšo ya Deneb, re thomile go lebelela pele go seo hardfork ye e latelago, Pectra, e tlago go tsebagatša. Go thuša go bopa dipoledišano tše di tlago, re nyaka go hlaloša sebopego sa bjale sa go tšea akhaonto yeo e dikologilego Ethereum le tshepedišo ya yona ya tswalano ya diphedi le tikologo ya tšona ya go kgoboketša go kgona go dira mmapa wa tsela ye e kwagalago ya go ya pele.


Pego ye e fa kakaretšo ya mohlala wa akhaonto ya bjale ya Ethereum, kudukudu ditlamorago tša tšona go nepagalo ya kgwebišano, seo gabotse go tšea akhaonto go se akaretšago, le tlhako ya go bea mabaka ka yona. Ka morago re tla tsepamiša kgopolo go mokgwa wa EOA programmability ka go hlahloba EIPs 5086, 3074, le 7702, gomme ra phetha ka kamoo se ka moka se ka bago se ama bokamoso bja go dira kgwebišano go Ethereum.


Le ge go na le kgakanego ye ntši go dikologa gore go tšea akhaonto ke eng goba ga se, go foreima ga rena go ralala le lelokelelo le ke gore mokgwa ofe goba ofe wo o dumelelago akhaonto go hlaloša leswa karolo efe goba efe ya melawana ya yona ya go nepagala ke mokgwa wa go tšea akhaonto. Go feta moo, re fana ka sehlopha sa mekgwa ye, ka ge bontši bja yona e swana ka mo go sa kwagalego e bile e kopana.

Kakaretšo ya akhaonto abstraction ka Ethereum

Go tšea akhaonto go nyaka go kaonafatša maitemogelo a mosediriši le a bahlami go ralala le tshepedišo ka moka ya tswalano ya diphedi le tikologo ya tšona ya Ethereum. Gotee le go dira gore maitemogelo a ketane a fihlelelege kudu le go thabiša go badiriši, e bile e matlafatša bahlami go kgona go dira dilo tše maatla kudu go Ethereum le go hlankela badiriši ka ditsela tše di nago le mohola le go feta.


Go hlopha ga rena ga mekgwa ya go tšea akhaonto ke ka tsela ye e latelago:


1. EOA kaonafatšo / programmability : Se se akaretša diphetogo tša maemo a protocol tšeo di kgontšhago di-EOA (Diakhaonto tše di Ruilweng ka Ntle) go hlaloša leswa karolo ya phethagatšo ya logiki ya melawana ya tšona ya go nepagala. Bjalo ka ge go tsebja gabotse ka gare ga setšhaba sa tlhabollo, di-EOA ke diakhaonto tšeo ka tlwaelo di amanago le badiriši ba mafelelo. Ka fao ditharollo tšeo di welago ka gare ga mokgwa wo di tla matlafatša diakhaonto tša badiriši ba mafelelo ka taolo ye ntši ya gore ke mohuta ofe wa ditiro tšeo di ka di dumelelago, ge di bapetšwa le ka fao se se ka laolwago ka gona lehono.


2. Phetošo/khudugo ya EOA : Mokgwa wo o akaretša ditšhišinyo tšeo di nyakago phetošo ye e feletšego ya di-EOA go di-CA (diakhaonto tša konteraka). Kgopolo ya bohlokwa ya mokgwa wo ke gore diakhaonto tša konteraka di šetše di fa bontši bja mehola yeo e fiwago ke diakhaonto tše bohlale, ka fao ga se gwa swanela go ba le lebaka la go raraganya dilo gape; yo mongwe le yo mongwe o swanetše go no šomiša akhaonto ya konteraka bjalo ka akhaonto ya gagwe ya mathomo (ka dikhwama tša konteraka tše bohlale).


Mokgwa wo o na le mekgwa yeo e dumelelago EOA go fetogela go CA, ntle le go swanelwa ke go šuthiša dithoto tša yona, go swana le EIP 7377 le EIP 5003 (ge e lebelelwa gotee le EIP 3074).


3. Diakhaonto tše bohlale : Sehlopha se sa ditšhišinyo se akaretša meralo yeo e kgontšhago bobedi di-EOA le di-CA go itshwara bjalo ka “diakhaonto tše bohlale” ka go di dumelela go hlaloša leswa ka mo go feletšego melawana ya tšona ya go nepagala.


Ditšhišinyo tše di fapafapanego di dirilwe peleng tša tlholo ya diakhaonto tše bohlale le go tswalelwa ga go tšea diakhaonto maemong a protocol; EIP-86 le EIP-2938 ke tše dingwe tša tšeo di tsopotšwego kudu. Le ge go le bjalo, go bile le go kgorometša morago kudu ka lebaka la go raragana mo go lemogwago mo go tsebagaditšwego ke tlhamo ye le kgopolo ya bontši bjo bo itšego bja gore Ethereum ga se ya lokela go raragana mo go bjalo.


Ka morago ga tsošološo ya Vitalik ya hlogotaba ka morago ga The Merge, ERC-4337 e ile ya šišinywa bjalo ka phetolelo ya go kgetha go tsena ya tekanyetšo ya akhaonto ye bohlale, yeo e swanago le mananeokgoparara a PBS (Karoganyo ya Moagi-Moagi) bakeng sa MEV (Boleng bjo bo Kgolo bjo bo Nntšhwago). Ka go realo, badiriši bao ba nyakago go fihlelela mehola ya diakhaonto tše bohlale ba be ba ka no šomiša phaephe ya ERC-4337 go hlaloša leswa melawana ya go nepagala ya akhaonto ya bona le ya ditirišano ka dibopegong tšeo di bolelwago bjalo ka UserOperation (goba UserOps ka boripana).


ERC 4337 e tliša mehola ya diakhaonto tše bohlale go Ethereum ya bjale ntle le go enshrining efe goba efe ya go raragana, ka go šoma bjalo ka mokgwa wo mongwe wa ka ntle ga protocol go diakhaonto tše bohlale tše di ngwadišitšwego. Le ge go le bjalo, se ga se bolele gore mananeokgoparara a lokile ka seemo sa ona sa bjale ka ge go raragana ga ona ka noši e sa le ntlha ye kgolo ya go palelwa.


Go rarolla go raragana mo, RIP 7560 e ile ya ngwalwa bjalo ka phetolelo ye e ngwadilwego ya mananeokgoparara a ERC 4337 go ralala le Ethereum le di-L2 tša yona, gore e abe bohwa bja dikema tša go ganetša sybil tša netweke go e na le go swanelwa ke go hlaloša sutu ye mpsha ya melawana (bjalo ka ge ERC 4337 e dira ka ERC 7562 ).


Pegong ye, re tla tsepelela go hlahloba go rulaganywa ga EOA, go sekaseka di-EIP tše di fapafapanego tšeo di hlalošago ditharollo go bapa le mothaladi wo le go ahlaahla mehola le mafokodi a tšona. Karolong ya 2 le 3 ya lelokelelo le, re tla akaretša dihlopha tše pedi tše di šetšego tša mokgwa wa go tšea akhaonto tšeo di hlahlobjago ka gare ga Ethereum.

A primer ka Ethereum diakhaonto le ditransekshene

Gore re kgone go nyaka seo se ka abstracted, re hloka seswantšho (ka tsela ye nngwe) ye e tletšego ya tlhamo ya akhaonto ya bjale. Karolo ye e tla šoma kudu bjalo ka poeletšo ya mehuta ya gore ke diakhaonto dife go Ethereum ge e le gabotse, le gore ditirišano tša tšona di tiišetšwa le go phethagatšwa bjang.


Diakhaonto tša Ethereum ke ditheo tšeo di nago le tekatekano ya ether (ETH) le bokgoni bja go romela ditirišano go blockchain ya Ethereum. Di emetšwe bjalo ka “aterese” ya hexadecimal ya ditlhaka tše 42, yeo e šomago bjalo ka tšhupetšo ya moswananoši ya ditšhelete tšeo di swerego le ditirišano tša akhaonto.


Aterese e šoma bjalo ka senotlolo ka gare ga blockchain ya mmušo trie. Di-node tša matlakala a trie ye ke dibopego tša datha ya akhaonto tšeo di ka bolago ka mašemo a mane:

  1. nonce : Sebadi sa mothalo seo se šomišwago go laetša palo ya ditirišano tša ka ntle tšeo di thomilwego ke akhaonto. Gape e bohlokwa kudu go thibeleng ditlhaselo tša go bapala gape.
  2. balance : Palo ya wei-denominated ya ether (ETH) yeo e ruilweng ke akhaonto.
  3. codeHash : Hash ya khoutu ya EVM-executable yeo e lego ka gare ga akhaonto. The EVM (Ethereum Virtual Machine) ke Ethereum o bespoke phethagatšo tikologo e ikarabelago ka go swara diphetogo tša mmušo tše di raraganego go feta ditirišano tše bonolo tša “go romela”. Diteng tša khoutu ya akhaonto di rulagantšwe ka mo go sa fetogego go phethagatša dibopego tše itšego tša phetogo ya mmušo go blockchain ya Ethereum, ka EVM.
  4. storageHash : Hash ya modu wa polokelo ya akhaonto, e šomišwa go emela dikagare tša polokelo ya akhaonto bjalo ka hash ya 256-bit ya noutu ya modu wa merkle patricia trie. Ka bonolo, ke hash ya data-phetogo ya data amanang le akhaonto ya khoutu dikahare.


Diteng tša mafelo a a mane di šomišwa go hlaloša mohuta wa akhaonto, gomme mafelelong di tšwela pele go hlaloša bogolo bja mešomo ya yona. Ka go realo, mehuta ye mebedi ya diakhaonto tša Ethereum ke:

  1. Diakhaonto tšeo di ruilweng ka ntle (EOAs) —tšeo di thomilwego bjalo ka para ya dinotlelo tša cryptographic:
  • Senotlolo sa poraefete seo e lego semelo sa 64-hex seo se ka šitišwago le seo se hlatselwago ka go se kgethe, le molekane wa sona wa tlaleletšo;
  • Senotlelo sa setšhaba seo se tšwago go senotlelo sa poraebete ka go šomiša ECDSA (Elliptic Curve Digital Signature Algorithm).


Di-EOA di na le mašemo a codeHash le storageHash a se nago selo gomme di ka laolwa fela ke mang le mang yo a nago le dinotlelo tša poraebete. Diaterese tša bona di ka hwetšwa go tšwa go senotlelo sa setšhaba seo se swanetšego ka go bea pele ga “0x” go ditlhaka tše masomepedi tša mafelelo tša hash ya keccak-256 ya senotlelo sa setšhaba sa akhaonto.


2. Diakhaonto tša konteraka (CA) tšeo di ka hlolwago fela ke EOA yeo e bego e le gona pele. Di initialized ka lebaka la EOA deploying phethagatšo khoutu dikahare ka EVM. Diteng tše tša khoutu (tšeo di bolokilwego bjalo ka codeHash) di ngwadilwe ka go EVM, gomme di na le maikarabelo a go laola akhaonto ka go hlaloša tlhaologanyo ya yona le ditirišano.


Dikgwebišano go tšwa akhaontong ya konteraka di theilwe godimo ga go goga ka mo go feletšego di theilwe godimo ga tlhaologanyo ya khoutu ya bona yeo e tsentšwego tirišong. Ka ge diakhaonto tše di ka laolwa fela ke diteng tša tšona tša khoutu, ga di nyake senotlelo sa poraebete gomme di na le senotlelo sa setšhaba fela. Ka go realo, moemedi ofe goba ofe yo a nago le bokgoni bja go mpshafatša/go fetoša diteng tša khoutu ya akhaonto ya konteraka o be a tla kgona go fihlelela tekatekano ya yona. Aterese ya akhaonto ya konteraka e tšwa go aterese ya mmopi wa yona le nonce ya yona go fihla ntlheng ya go tsenywa tirišong ga konteraka.

Dikgwebišano

Re sa tšwa go hlaloša diakhaonto bjalo ka ditheo tšeo di nago le bokgoni bja go romela ditirišano go ralala le Ethereum. Ka fao re ka kwešiša gore morero wa mathomo wa akhaonto ke go romela le go amogela ditirišano, mola blockchain e šoma bjalo ka ledger yeo e rekotago histori ya ditirišano gammogo le go hlaloša ka moo ditirišano di fetošago mašemo a akhaonto go ya ka melawana yeo e hlalošitšwego ka go tlhalošo ya protocol ya blockchain.

Ka gona “dikgwebišano” tše ke dife?


Dikgwebišano ke ditiro tšeo di rometšwego go tšwa akhaontong, tšeo di hlolago phetogo ya “boemo” bja netweke. Ke ditaelo tše di saennwego ka cryptographically go tšwa go diakhaonto, tšeo di feleletšago ka mpshafatšo ya mmušo ya netweke ka bophara ge e phethagatšwa.

Go hloka tumelelo go tla le ditshenyagalelo tša ditšhušumetšo tše di kgopamego, go šomana le tše, ditlhahlo tše thata (goba melawana ya go nepagala) di swanetše go hlalošwa bakeng sa ditirišano tikologong ye bjalo. Ka gare ga seemo se, ditirišano di swanetše go latela melawana ye e itšego ya go nepagala gore di tšewe e le ye e šomago le go phethagatšwa. Bontši bja melawana ye ya go nepagala e phethagatšwa ka dithibelo tšeo di beilwego akhaontong yeo e romelago kgwebišano, gomme di fapana go ya ka gore ke mohuta ofe wa akhaonto.

Diakhaonto le go nepagala ga kgwebišano

Go Ethereum, di-EOA di lokišitšwe bakeng sa go šomišega ka ge di lebane le mosediriši wa mafelelo. Ba na le bokgoni bja go romela ditirišano ka mokgwa wo o itšego le go šoma ka mo go phethagetšego ka go ikemela. Di ka hlolwa gape ka mo nageng, mokgwa wo o tlwaelegilego kudu ke tšhomišo ya baabi ba sepache ba go swana le MetaMask, Rainbow, Rabby bj.bj.


Ka lehlakoreng le lengwe, diakhaonto tša konteraka di ka romela fela ditirišano tšeo di dumeletšwego ke tlhaologanyo ya tšona, go arabela gobitšwa ”. Gape, di ka hlolwa fela ke EOA yeo e nago le tekatekano ye e lekanego go lefa polokelo ya yona ya mmušo.


Tlhaloso ya maemo a godimo kudu e tla ba gore di-EOA di ka swara tekatekano fela, mola di-CA di ka swara bobedi tekatekano le tlhaologanyo yeo e laelago gore tekatekano ye e ka šomišwa bjang. Dithoto tše di hlolwa ke ditekanyetšo tša logiki tše di latelago tšeo di hlalošago melawana yeo ditirišano tša akhaonto di swanetšego go e kgomarela:

  1. Logic ya netefatšo - E šomišwa go hlaloša ka moo akhaonto e hlatselago boitšhupo bja yona go netiweke mola e fetoša tekatekano ya yona le/goba logiki.
  2. Logic ya tumelelo - E šomišwa go hlaloša pholisi ya phihlelelo ya akhaonto, ke gore, ke mang yo a kgonago go fihlelela le go dira diphetogo go tekatekano ya akhaonto le/goba logiki.
  3. Nonce logic - yeo e hlalošago tatelano yeo ditirišano go tšwa akhaontong di swanetšego go phethagatšwa ka yona.
  4. Logic ya tefo ya khase - E šomišwa go hlaloša mokgatlo wo o ikarabelago ka go lefa tefo ya khase ya kgwebišano.
  5. Logic ya phethagatšo - E šomišwa go hlaloša gore ke dibopego dife tša ditirišano tšeo akhaonto e ka di romelago, goba gore kgwebišano e swanetše go phethagatšwa bjang.


Ditekanyetšo tše di hlamilwe go ba tše thata bakeng sa di-EOA ka tsela yeo:

  • Netefatšo le tumelelo di fiwa ke senotlelo sa poraebete seo se theilwego go ECDSA, ke gore, modiriši yo a nyakago go romela kgwebišano go tšwa go EOA ya gagwe o swanetše go šomiša senotlelo sa gagwe sa poraebete go fihlelela akhaonto gomme ka go realo a hlatsele gore o na le tokelo ya go phethagatša diphetogo dife goba dife go tekatekano ya yona .
  • Logic ya nonce e phethagatša sekema sa sebaledi sa tatelano, seo se dumelelago kgwebišano e tee fela ka nonce ya moswananoši go phethagatšwa ka tatelano ka akhaonto.
  • Logic ya tefelo ya khase e laetša gore tefo ya gase ya ditirišano e swanetše go lefelwa ke moromiši/akhaonto ya mathomo.
  • Logic ya phethagatšo e laetša gore di-EOA di ka romela fela diforomo tše di latelago tša kgwebišano:
  1. Diphetišetšo tša ka mehla magareng ga di-EOA tše pedi.
  2. Go tsenywa tirišong ga konteraka.
  3. dipitšo tša konteraka tšeo di nepišago tlhaologanyo ya akhaonto ya konteraka yeo e tsentšwego tirišong.


Ka kakaretšo kudu, tlhaologanyo ya phethagatšo ya di-EOA e di pitlaganya go kgwebišano e tee ka mosaeno o šomago.

Ka lehlakoreng le lengwe, di-CA di na le go fetofetoga mo gogolo go dikologa ditekanyetšo tše:

  • Netefatšo ga e nyakege, ka ge ditirišano tša bona e le tša ditlamorago/go goga ka tlhago.
  • Tumelelo ya di-CA e ka tšea dibopego tše pedi:
  1. Bokgoni bja go “ bitša ” khoutu ya dikagare tša CAs (goba go phethagatša konteraka ya yona ye bohlale), yeo e ithekgilego ka go kwagala ga konteraka ye bohlale ya akhaonto le dilo tšeo di sa fetogego.
  2. Bokgoni bja go dira diphetogo go khoutu ya diteng ya CAs, yeo kudu e ithekgilego ka gore khoutu ya diteng e ka kaonafatšwa goba aowa.

Maemong a mantši a go šoma, tlhaologanyo yeo e šomišitšwego tabeng ye ke sekema sa ditshaeno tše ntši seo se laetšago gore M ya N ya ditšhaeno tše di šomago (moo M < N) e nyakegago go tšwa go diakhaonto tše itšego (ka tlwaelo di-EOA) e le gore go be le phetogo ya tlhaologanyo ya CA gore e be ye e šomago.

  • Taelo ya bona ya kgwebišano e lokologile nonce-thehiloeng. CA ka boyona e kgona go romela ditirišano tše ntši go baletši ba bantši ba go fapafapana ka mo go kgonegago, le ge go le bjalo mogala yo mongwe le yo mongwe o lekanyeditšwe go ya ka bokgoni bja gagwe.
  • Tefo ya khase ka tlwaelo e swarwa ke mogala wa go kwagala ga CA.
  • Logic ya phethagatšo ya di-CA e fapafapane kudu go kgontšha dikaonafatšo tša UX go swana le ditirišano tša megala ye mentši le ditirišano tša athomo.


Ge re hlahloba dikarolo tše, re lemoga gore mohuta o mongwe le o mongwe wa akhaonto o hlametšwe go ba le tradeoff magareng ga go ikemela le go rulaganywa.

Di-EOA di na le boipušo ka botlalo eupša di na le go rulaganywa mo go lekanyeditšwego; ba ka dumelela le go romela ditirišano neng le neng ge ba nyaka, eupša ditirišano tše di swanetše go latela sebopego se se thata gore di tšewe e le tše di šomago. Diakhaonto tša konteraka di na le programmability ka botlalo (e lekanyeditšwego fela ke tlhamo ya EVM) eupša go ikemela mo go lekanyeditšwego: ditirišano tša bona ga di swanela go latela sebopego sefe goba sefe se se thata, eupša di ka romelwa fela ka lebaka la go kwagala ga tšona go bitšwa pele.


Karolong ye e latelago, bjale re tla ithuta ditlamorago tša dikgetho tše tša tlhamo, e le gore re kwešiše ka botlalo tšhišinyo ya EIP ye nngwe le ye nngwe yeo e ahlaahlilwego go ralala le lelokelelo le.

Bothata bja akhaonto ya Ethereum

Bjale ka ge re na le tsebo ye e kopana ka tsela ye nngwe ya mešomo ya diakhaonto tše di fapanego, re ka kgona go hlaola gabonolo dintlha tša bona tša go rekiša gammogo le ditaba tšeo di di tšweletšago go bobedi maitemogelo a mosediriši le a motšweletši go Ethereum. Bjalo ka ge re boletše peleng, di-EOA di hlamilwe bjalo ka diakhaonto tša maemo a pele tšeo di nepišago badiriši ba mafelelo. Ditirišo di hlametšwe go dirišana le tšona gabonolo, go nyakile go se na go raragana go tšona, gomme go ba gona ga go na ditshenyagalelo tša go hlama e tee. Le ge go le bjalo, go ba bonolo ga yona go tla le tahlegelo ye kgolo ya selo se sefsa ka ge di hlamilwe go ba tšeo di ikemišeditšego ka go tia.


Tše dingwe tša dilo tšeo di tshwenyago tšeo di ba dikologilego ke:

  1. Go hlaselega gabonolo ga ditlhaselo tša quantum – Sekema sa mosaeno sa ECDSA seo se šomišwago ke para ya bona ya senotlelo ga se sa lwantšha quantum, gomme ka lenaneo la nako leo le nago le kholofelo la mengwaga ye 5 go ya go ye 10 bakeng sa ditshepedišo tša quantum tša intasteri tšeo di fihlelelwago, se se bea tšhošetšo ye kgolo go Ethereum le dikgopelo tša yona tšeo di ithekgilego kudu ka sekema sa ECDSA sa bohlatse bja cryptographic le tšhireletšo.
  2. Go hloka polelo – Sebopego se se thata sa melawana ya go nepagala ya EOAs se fediša bokgoni bja badiriši bja go hlagiša ditirišano tša bona ka boripana ka dikarolo tša go swana le atomicity ya kgwebišano le go hlopha, le kabo ya kgwebišano.
  3. Go itšhireletša – Motho yo mongwe le yo mongwe o bile le karolo ya gagwe ye e lekanego ya dinako tša “ke feletšwe ke khase” gare ga kgwebišano. Se se hlolwa ke tlhokego ya gore di-EOA di rarolle khase bakeng sa ditirišano tša tšona ka botšona, e lego seo e bego e ka se be go botšiša kudu ge e ba ether (ETH) e be e se yona feela tšhelete ya khase yeo e amogelegago. Le ge ye e le taba ya kakaretšo ka metšhene ya mmušo yeo e theilwego akhaontong (gaešita le yeo e theilwego go UTXO), Ethereum ka mehla e be e ikemišeditše go ba ye e fapanego.


Ga se bohle bao ba nyakago (goba ba bego ba tla kgona) ka mehla ba swara ETH (ke ra gore lebelela kgato yeo ya theko), ka gona ditharollo tše di šomago e be e tla ba go dumelela ditšhelete tše dintši tša khase (tše thata kudu, e thuba dilo tše dintši kudu tšeo di sa fetogego bjalo ka ge go hlalositšwe ka go “Tšhelete ” karolo mo ), goba go dumelela ditefelo tša khase go rarollwa ke akhaonto ye nngwe yeo e sego setlogo sa kgwebišano.


Ka lehlakoreng le lengwe la sepektheramo sa akhaonto, di-CA di nepiša bahlami le motheo wa mosediriši wa setegeniki kudu. Di šoma bjalo ka dikoloi tša dikonteraka tše bohlale (ke gore re tšea dikonteraka tše bohlale e le diteng tša tšona tša go kwagala goba khoutu) gomme ka fao di ka phethagatša dibopego tša kgwebišano ya padi bjalo ka ge di kgontšhitšwe ke EVM.


Le ge go le bjalo, bakeng sa dikarolo tše ka moka ke dipego tša maemo a bobedi tšeo di tagafaditšwego ka ge di se na boipušo. Tše dingwe tša mafokodi a tšona ke tše di latelago:

  1. Palomoka ya go hloka boipušo – di-CA di ka se thome kgwebišano, di ka romela fela ditirišano go arabela go bitšwa ka mokgwa wo o itšego kudu.
  2. Go hlaselega gabonolo ga phošo ya batho ka go tlhaologanyo ya bona – Go hloka go thatafala gantši go lebiša go tlhalošo ye e fošagetšego ya dilo tše di sa fetogego le tlhaologanyo ye mengwe ye bjalo, yeo e lebišitšego go dibilione tša diranta ka ditahlegelo ka lebaka la go šomiša dikonteraka tše bohlale le go thuba. Le ge go le bjalo, ye e nyakile go ba hlogotaba ye e fapanego ka botlalo yeo e lego ka ntle ga sebaka sa rena mo.


Ka ge re sekaseketše dikgetho tša tlhamo tšeo di lebišitšego go ditaba tšeo di hlalošitšwego karolwaneng ye, bjale re ka tšwela pele go sekaseka ditharollo tše di šišintšwego.

Mothaladi wa nako wa go tšea akhaonto

Gore re kgone go nyaka seo se ka abstracted, re hloka seswantšho (ka tsela ye nngwe) ye e tletšego ya tlhamo ya akhaonto ya bjale. Karolo ye e tla šoma kudu bjalo ka poeletšo ya mehuta ya gore ke diakhaonto dife go Ethereum ge e le gabotse, le gore ditirišano tša tšona di tiišetšwa le go phethagatšwa bjang.


Kgopolo ya go abstraction akhaonto (ka diakhaonto bohlale bonyane) e be e dutše e le karolo ya bohlokwa ya mmapa wa tsela wa Ethereum. Lore ke gore go raragana mo go dikologilego go tsenywa tirišong ga yona go be go tšhošetša go diegiša gape go tsebagatšwa ga Ethereum, gomme ka fao e ile ya phumolwa bakeng sa tlhamo ya bjale ka diakhaonto tše di fapanego tšeo di fago mešomo ye e fapanego. E ile ya diega gape ke go tsepelela ga Ethereum go The Merge, gomme bjale e tšwelela gape bjalo ka karolo ye kgolo ya tlhabollo ye kgolo ye e latelago ya netweke– Pectra. Le ge go le bjalo, go raragana ga yona go sa tšewa bjalo ka bothata bjo bogolo bjo bo thibelago go tsenywa ga yona, kudukudu ka ge Ethereum e pivoted go mmapa wa tsela wo o lebanego le rollup.


Ga bjale dinyakwa di na le mahlakore a mabedi:

  1. Maemo a akhaonto a swanetše go ba a go hlagiša kudu, eupša ntle le tahlegelo ya go ikemela. Maemo a mafsa ao a tiišago karogano magareng ga maemo a EOA le CA.
  2. Maemo a maswa a swanetše go thiba sekgoba magareng ga di-EOA le di-CA, mola a dula a sepelelana ka botlalo go ralala le Ethereum le ditshepedišo tša yona tša tswalano ya diphedi le tikologo ya tšona tša L2.


Intuitively kgopolo ye e kgatha tema ye kgolo ka seemo sa ketane abstraction le tirišano. Le ge go le bjalo, bogolo bja rena go ralala le pego ye bo lekanyeditšwe go maitapišo a sethekniki ao a tšerwego go fihlelela go tšea akhaonto ka boyona.


Account abstraction e ikemišeditše go kopanya dikarolo tše kaone tša EOAs le CAs go ba maemo a mafsa a akhaonto– diakhaonto tše bohlale , tšeo di dumelelago karoganyo ka botlalo goba ka karolo ya melawana ya go nepagala ya akhaonto efe goba efe go ba logiki ya netefatšo le ya phethagatšo; gore diakhaonto di kgone go hlaloša melawana ya tšona ya go nepagala –bjalo ka ge e dumeletšwe ke EVM– go swana le diakhaonto tša konteraka, mola di dula di ikemetše ka botlalo go swana le diakhaonto tšeo di ruilweng ka ntle.


Gantši go na le kgakanego go dikologa diphapano magareng ga diakhaonto tše bohlale le dikhwama tša konteraka tše bohlale ka fao a re hlalošeng ka go lebanya gore diphapano tše ke dife ka fase:

  • Diakhaonto tše bohlale ke diakhaonto tša Ethereum tšeo di hlamilwego ka kgopolo go fana ka dikarolo tše di lekanago tša go rulaganywa le go ikemela. Kgopolo ke gore bobedi di-EOA le di-CA di ka fetoga diakhaonto tše bohlale feela ka go diriša mokgwa o itšego (mohlala, ERC 4337) wo o ba dumelelago go tšeela legato melao ya bona ya go nepagala yeo e beilwego ke netweke ka melao ya go nepagala yeo e rulagantšwego, ka moo ba bonago go swanetše.
  • Smart konteraka dikhwama ka lehlakoreng le leng, ke feela dikhwama bafani ba hore sebeletsa e le segokanyimmediamentsi sa sebolokigolo ho diakhaonto konteraka (yep, sepache ha se akhaonto).


Go tsenywa ga dikhwama tša dikonteraka tše bohlale go nolofaditše go amogelwa ga di-CA ke mmaraka wo o nabilego, go dumelela badiriši ba ka fase ga setegeniki go šomiša dikarolo tšeo di di fago. Le ge go le bjalo, ba sa lebane le mereo yeo e amanago le di-CA.

Go boela morago poledišanong; re be re ahlaahlile peleng ka ditekanyetšo tšeo di šomišwago go hlaloša melawana ya go nepagala ya ditirišano tša diakhaonto:

  • Netefatšo
  • Tumelelo
  • Nonce tlhaologanyo
  • Gase tefo logic
  • Go kwagala ga phethagatšo

Ditekanyetšo tša ditekanyetšo tše nne tša mathomo di ka bolelwa ka kakaretšo bjalo ka logic ya netefatšo ya akhaonto , tšeo e lego ditšheke tšeo di diregago pele ga ge phethagatšo ya kgwebišano e thoma. Paramethara ya mafelelo e hlaloša ka moo phethagatšo ya kgwebišano e swanetšego go tšwela pele ka gona.


Matseno, re file kakaretšo ya maemo a godimo ya sebopego sa bjale sa AA ka mokgwa wa go hlopha mehuta ya meralo ye e fapanego ye e šišintšwego. Bjale re tla tsepamiša kgopolo go sehlopha sa mathomo sa ditharollo go bothata bja akhaonto ya Ethereum- EOA programmability.

Di-EOA tšeo di ka rulaganywago

Boipiletšo bjo bogolo bja Ethereum ke tshepedišo ya yona ya tswalano ya diphedi le tikologo ya tšona ya DeFi ye nnyane eupša e phelago yeo e nago le dikgopelo tše di fapafapanego tše di arotšwego tšeo e lego di-sink tša yona tša mathomo tša go sepela ga tšhelete. Bontši bja di-DApp tše di lokišitšwe go hlankela di-EOA, ka go rialo go thata go di dirišana le diakhaonto tša konteraka, gomme mafelelong diakhaonto tše bohlale. Le ge dikhwama tša konteraka tše bohlale di thuša diakhaonto tša konteraka tabeng ye, di tla le mellwane ya tšona le UX ye e fapanego ka mo go feletšego.


Tharollo ya nakwana yeo e hlahlobjago mola bobedi DApps le baabi ba sepache ba tlwaela maemo a akhaonto ye bohlale, ke go fa dikaonafatšo tša nakwana go di-EOA tšeo di ba kgontšhago go fenya bontši bja dithibelo tša bona tšeo di beilwego, e ka ba go netefatša ga tšona goba tlhaologanyo ya phethagatšo. Ka tlase, re ya godimo ga ditlhalošo tša di-EIP tše tharo tše kgolo tšeo di fago ditsela tše di ka tšewago kgato go EOA programmability; go tloga go EIP 5806 yeo e sa tsebjego kudu , go ya go EIP 3074 yeo e nago le maikemišetšo a magolo gomme ka morago mafelelong go ya go EIP 7702 yeo e fentšego .

Programmability ka EIP-5806

Tšhišinyo ye e nyaka go tliša mošomo wo montši go maemo a EOA ka go e dumelela go dira megala ya baemedi go logiki ya akhaonto ya konteraka (konteraka ya yona ye bohlale). Se ka mo go atlegilego se dira gore konteraka ye bohlale e phethagatšwe ka gare ga seemo sa EOA ya mogala, ke gore, EOA e dula e laola tlhaologanyo ya yona ya netefatšo, mola tlhaologanyo ya yona ya phethagatšo e swarwa ke tlhaologanyo ya akhaonto ya konteraka ye e swanetšego.


Pele re tšwela pele, a re tšeeng leeto go theoga tseleng ya go gopola ya tlhagelelo ya Ethereum go ya EIP-7 . EIP-7 e šišinya tlholo ya opcode ya 0xf4/DELEGATECALL , yeo e šomišwago go romela megala ya molaetša ka akhaontong ya mathomo yeo e nago le tlhaologanyo ya akhaonto ya bobedi, mola e hlokomela dikelo tša mafelo a [moromiši] le [boleng] a akhaonto ya mathomo. Ka mantšu a mangwe, akhaonto ya mathomo e “ja bohwa” (goba e adima ge o rata) tlhaologanyo ya akhaonto ya bobedi ka nako ye nngwe bjalo ka ge e laeditšwe mo pitšong ya molaetša, gore tlhaologanyo ya ya morago e phethagatšwe ka gare ga seemo sa ya pele.


Opcode ye e ile ya dumelela bahlami ba dapp go arola tlhaologanyo ya bona ya tirišo ka dikonteraka tše ntši tše bohlale mola ba boloka go ithekga ka ba bangwe, e le gore ba kgone go skirt gabonolo go dikologa mapheko a bogolo bja khoutu le mapheko a khase. EIP-5806 e hwetša tšhomišo ye mpsha ya opcode ya DELEGATECALL ka ntle ga go dumelela diakhaonto tša konteraka go ithekga ka tše dingwe. Ka go lebanya, EIP-5806 e šomiša EIP-7 bjalo ka tlhohleletšo ya go šišinya katološo ya mošomo wa pitšo ya moemedi go di-EOA gape; ke gore, a re dumeleleng di-EOA le tšona go ithekga ka diakhaonto tša konteraka, ka gobane ke ka lebaka la eng go se bjalo.


EIP-5806 e akareditšwe

EIP-5806 ditlhaloso

EIP 5806 e tsebagatša mohuta wo mofsa wa kgwebišano wo o obamelago EIP-2718 wo o phuthetšwego ka tsela ye e latelago:

 rlp([chainID, nonce, max_priority_fee_per_gas, max_fee_per_gas, gas_limit, destination, data, access_list, signature_y_parity, signature_r, signature_s]).

Dikgwebišano tše di hlamilwe gore tšhemo ya [go] – yeo e emelago aterese ya moamogedi – e ka amogela fela diaterese bjalo ka ditseno tša dibaete tše 20, go šitiša moromiši go šomiša opcode CREATE .

Tlhohleletšo yeo e lego ka morago ga karolo ye nngwe le ye nngwe ya sekema sa RLP ke ye e latelago:

  • chainID : Sešupo sa ketane ya bjale seo se dumelelanago le EIP-115 se padded go fihla go di-byte tše 32. Boleng bjo bo fana ka tšhireletšo ya tlhaselo ya go bapala gape, gore ditirišano ketaneng ya mathomo di se ke tša tšweletšwa ka tsela ye e sa rego selo go diketane tše dingwe tša EVM tšeo di nago le histori ye e swanago le tšhireletšo ya ekonomi ye nnyane.
  • nonce : Sešupo sa moswananoši sa kgwebišano ye nngwe le ye nngwe yeo gape e fago tšhireletšo ya tlhaselo ya go bapala gape.
  • max_priority_fee_per_gas le max_fee_per_gas : Ditekanyetšo tša tefo ya khase yeo kgwebišano ya EIP-5806 e swanetšego go e lefa bakeng sa go otara le go akaretšwa ka go latelelana.
  • gas_limit : Palo e kahodimodimo palo ea khase e le 'ngoe 5806-mofuta kgwebisano ka ja.
  • destination : Moamohedi wa kgwebišano
  • ya data : The phethagatšo khoutu dikahare
  • access_list : Baemedi bao ba dumeletšwego ka mabaka go phethagatša ditirišano tša EIP-5806.
  • mosaeno_y_parity, mosaeno_r, le mosaeno_s : boleng tse tharo hore hammoho emela e secp256k1 mosaeno ka molaetsa - keccak256 (TX_TYPE || rlp ([chainID, nonce, max_priority_fee_per_gas, max_fee_per_gas, gas_limit, destination, data, access_list])).


Le ge go paka ditirišano tša EIP-5806 ka dienfelopong tša EIP-2718 go di dumelela go ba tšeo di sepelelanago kudu morago, di-EOA ga di lekane le diakhaonto tša konteraka. Ka fao dithibelo tše itšego di swanetše go hlalošwa ka tsela yeo EOA e šomišago megala ya baemedi go thibela go robega mo go sa fetogego.

Dithibelo tše di lebišitšwe go di-opcode tše di latelago:

  • SSTORE/0x55 : Opcode ye e dumelela akhaonto go boloka boleng polokelong. E thibetšwe ka ditirišanong tša EIP-5806 go thibela di-EOA go beakanya/go fihlelela polokelo ka go šomiša megala ya baemedi, ka go realo e thibela ditaba tšeo di ka bago gona tšeo di ka tšwelelago nakong ye e tlago ka lebaka la go huduga ga akhaonto.
  • CREATE/0xF0 , CREATE2/0xF5 , le SELFDESTRUCT/0xFF : Di-opcode tše ka mo go nabilego di dumelela mogala go hlama akhaonto e mpsha. Phihlelelo go tše di thibetšwe go thibela phetogo ya nonce ya EOA ka gare ga foreime ya phethagatšo ye e fapanego (tlholo/tshenyo ya konteraka tabeng ye) ge e dira kgwebišano ya EIP-5806, e le gore e thibele go se šome ga tebelelo ya gore ditirišano di rwala di-nonces tše di latelanago.

Kgonagalo ya dikgopelo ya EIP-5806

The tirišo ya mathomo ya EIP-5806 ke phethagatšo abstraction bakeng sa EOAs. Go dumelela di-EOA go dirišana ka go se tshepe le dikonteraka tše bohlale go feta megala ye bonolo go tlhaologanyo ya tšona go di fa dikarolo tša go swana le:

  • Phethahatso ya maemo a ditransekshene
  • Kgwebišano batching
  • Dikgwebišano tša megala ye mentši (mohlala, dumelela le go bitša) .

Ditshwayotshwayo tša EIP-5806

Diphetogo tšeo di šišintšwego ke EIP-5806, mola di kgontšha dikarolo tše di nyakegago, ga se tša padi kudu; go ba gona ga yona go theilwe kudu godimo ga EIP-7 yeo e šetšego e šoma. Se se e dumelela go tlola mapheko a mantši ao a ka bago gona a go amogelwa.


E nngwe ya dipelaelo tše kgolo tšeo di boletšwego mehleng ya yona ya mathomo e be e le kotsi yeo e ka bago gona ya go dumelela di-EOA go fihlelela polokelo le go e fetoša, go swana le ge di-CA di dira gabjale. Se se roba e ngata ya netweke-enshrined invariants mabapi le kamoo EOAs lokela ho sebetsana, 'me kahoo se ile sa sebetsana le ka ho tsebahatsa dithibelo boletsoeng karollo e fetileng.


Kgalemo ya bobedi (yeo e lego tšhoša ya magale a mabedi) ke go ba bonolo ga EIP-5806; go na le maikutlo a mangwe a gore meputso ka lebaka la go amogela EIP-5806 e ka no se swanelwe ke ditshenyagalelo, ka ge e kgontšha fela abstraction ya phethagatšo e sego tše dingwe tše ntši. Thibelo ye nngwe le ye nngwe ya go nepagala e dula e hlalošitšwe ka netweke bakeng sa di-EOA tšeo di kgethago go EIP-5806, go fapana le di-EIP tše dingwe tše di swanago ka tsela ye nngwe tšeo re di ahlaahlago dikarolwaneng tše di latelago.

Programmability ka EIP-3074

EIP-3074 e šišinya go dumelela di-EOA go abela bontši bja tlhaologanyo ya tšona ya netefatšo go diakhaonto tše di kgethegilego tša konteraka, tšeo di bolelwago bjalo ka bakgopedi, ka go bea godimo ga tlhaologanyo ya tumelelo ya ba morago godimo ga ya bona bakeng sa dibopego tše itšego tša ditirišano. E fihlelela se ka go saena pholisi ya bona ya phihlelelo go konteraka ya mokgopedi, yeo ka morago e bago le maikarabelo a go hlaloša pholisi ya phihlelelo ya EOA.


EIP ye e šišinya tlaleletšo ya di-opcode tše pedi tše mpsha go EVM:

  • [AUTH] yeo e beago akhaonto [ye e dumeletšwego] yeo e fetogago ka seemo gore e šome legatong la akhaonto ya bobedi [ya bolaodi], yeo e theilwego godimo ga mosaeno wa ECDSA wa morago.
  • [AUTHCALL] yeo e romelago/phethagatša dipitšo tša akhaonto ya [bolaodi] go tšwa go/bjalo ka akhaonto [ye e dumeletšwego].


Di-opcode tše tše pedi di dumelela EOA go abela taolo go CA yeo e hlomilwego pele, gomme ka go realo, e šoma bjalo ka e tee ka yona, ntle le go swanelwa ke go tsenya konteraka le go ikhwetša e le ditshenyagalelo le dilo tša ka ntle tšeo di sepedišanago le seo.

EIP-3074 ditlhaloso

EIP-3074 e dumelela ditirišano go šomiša sebopego sa go saena [MAGIC] go thibela dithulano le difomete tše dingwe tša go saena kgwebišano. Akhaonto ye e šomago yeo ditaelo tša [AUTHCALL] di fetišetšwago go yona e hlalošwa bjalo ka tšhemo ye e fetogago ya seemo yeo e bitšwago [a dumeletšwego], yeo e phegelelago fela ka kgwebišano e tee gomme e swanetše go hlalošwa leswa bakeng sa [AUTHCALL] ye nngwe le ye nngwe ye mpsha .


Pele re rarolla go raragana ga opcode e nngwe le e nngwe, tše ke ditheo tšeo di akaretšwago kgwebišanong ya EIP-3074:

  • [molaodi] : Akhaonto ya mathomo ya go saena (EOA) yeo e abelago phihlelelo/taolo go akhaonto ya bobedi, yeo ka tlwaelo e lego akhaonto ya konteraka.
  • [authorized] : Akhaonto yeo ditaelo tša [AUTHCALL] di swanetšego go fetišetšwa go yona gore di phethagatšwe. Ka mantšu a mangwe, ke pego yeo go yona go phethagatšwago tlhaologanyo ya [AUTHCALL] , legatong la [molaodi], go šomišwa dithibelo tšeo di hlalošitšwego ke [mokgopedi].
  • [invoker] : Konteraka ya ka fasana yeo e bego e reretšwe go laola ditirišano magareng ga akhaonto [ye e dumeletšwego] le tlhaologanyo ya [AUTHCALL] , kudukudu maemong ao tlhaologanyo ya mathomo ya khoutu ya konteraka ya ya morago e lego go thekga khase.


Dikonteraka tša go bitša di amogela melaetša ya [AUTH] yeo e nago le boleng bja [COMMIT] go tšwa go [molaodi]; boleng bjo bo hlaloša dithibelo tšeo akhaonto e nyakago go di bea go phethagatšo ya [authorized] ya ditaelo tša [AUTHCALL] . Ka go realo, bakgopedi ba na le maikarabelo a go netefatša gore [ contract_code ] yeo e hlalošitšwego ka akhaontong [ye e dumeletšwego] ga se ya kotsi gomme e na le bokgoni bja go kgotsofatša dilo tše di sa fetogego tšeo di beilwego ke akhaonto ya mathomo ya go saena ka boleng bja [COMMIT].


Opcode ya [AUTH] e na le ditshenyegelo tše tharo tša elemente ya mokgobo; goba go feta bonolo - e hlalošwa ke ditseno tše tharo tšeo di bala dipholo tša e tee. Ditseno tše ke:

  1. taolo : yeo e lego aterese ya EOA yeo e tšweletšago mosaeno
  2. offset
  3. botelele

Ditseno tše pedi tša mafelelo di šomišwa go hlaloša mohuta wa memori ye e fetošwago go tloga go 0 go ya go 97, moo:

  1. [memory(offset : offset+1)] – [yParity]
  2. [memory(offset+1 : offset+33] – [r]
  3. [memory(offset+33 : offset+65)] – [s]
  4. [memory(offset+65 : offset+97)] – [COMMIT]


Diphetogo [yParity], [r] le [s] ka kopanelo di hlathollwa bjalo ka mosaeno wa ECDSA, [maleatlana], godimo ga koba ya secp256k1 godimo ga molaetša:

[keccak256 (MAGIC || chainID || nonce || invoker address || COMMIT)]

kae:

  • [MAGIC] ke mosaeno wa ECDSA wo o hlolwago ke kopanyo ya diphetogo:
  • [chainID] yeo e lego sešupo sa ketane ya bjale seo se obamelago EIP 115 seo se šomišwago go fa tšhireletšo ya tlhaselo ya go bapala gape go diketane tša EVM tše dingwe tšeo di nago le histori ye e swanago le tšhireletšo ya ekonomi ye nnyane.
  • [nonce] yeo e lego aterese ya mosaeni wa kgwebišano 'nonce ya bjale, yeo e tletšego ka go le letshadi go fihla go di-byte tše 32.
  • [invokerAddress] yeo e lego aterese ya konteraka yeo e nago le tlhaologanyo ya phethagatšo ya [AUTH] 's.
  • [COMMIT] ke boleng bja 32-byte bjo bo šomišwago go laetša maemo a tlaleletšo a go nepagala ga kgwebišano ka go logiki ya pele ga tshepedišo ya invoker.


Ge e le gore mosaeno wo o dirilwego khomphutha o šoma gomme aterese ya mosaenadi e lekana le [molaodi], tšhemo ya [ye e dumeletšwego] e mpshafatšwa go boleng bjo bo filwego ke [molaodi]. Ge e le gore efe goba efe ya dinyakwa tše e sa kgotsofatšwe, tšhemo [ye e dumeletšwego] e dula e sa fetoge boemong bja yona bja peleng, goba bjalo ka boleng bjo bo sa bewago.


The khase ditjeo bakeng sa opcode ena e computed e le palo yohle ya:

  1. Tefo e tsitsitseng bakeng sa [ecrecover] precompile le e eketsehileng bakeng sa keccak256 hash le ba bang ba logic tlatsetso, boleng ka 3100 diyuniti

  2. Tefo ya katološo ya memori yeo e balwago ka go swana le opcode ya [RETURN], gomme e dirišwa ge memori e atološwa go feta tekanyo ye e laeditšwego ya kabo ya bjale (diyuniti tše 97) .

  3. Ditshenyagalelo tše di sa fetogego tša diyuniti tše 100 tšeo di dirilwego bakeng sa [molaodi] yo borutho le diyuniti tše 2600 bakeng sa e tonyago go thibela ditlhaselo ka baka la theko e fošagetšego ya di-opcode tšeo di fihlelelago mmušo.


    ( AUTH e phethagatšwa gore e se fetoše memori, gomme e tšea boleng bja [bolaodi] bjalo ka ngangišano gore e be mo go sa rego selo go netefatša boleng bja yona go tšwa go mosaeno wo o filwego.)


Opcode ya [AUTHCALL] e na le ditshenyegelo tše šupago tša elemente ya mokgobo tšeo di šomišwago go bala ditšweletšwa tša elemente ya mokgobo e tee.

E na le logic ye e swanago le ya opcode ya [CALL] , ke gore; e šomišwa go romela megala ya melaetša ka akhaontong le go hlohleletša tlhaologanyo ye e itšego ka dikonterakeng tša yona. Kgelogo e nnoši ka go tlhaologanyo ya bona ke gore [AUTHCALL] e hlametšwe go beakanya boleng bja [CALLER] pele e tšwela pele ka phethagatšo.


Ka go realo, [AUTHCALL] e šomišwa ke [molaodi] go hlohleletša boitshwaro bjo bo itšego bja seemo ka go [a dumeletšwego] ka ditlhahlobo tše di kwagalago tšeo di tšwelago pele ka tsela ye e latelago:

  1. Lekola boleng bja [a dumeletšwego]. Ge e sa bewa, phethagatšo e tšewa e sa šome gomme foreime e ntšhwa gateetee. Se se thuša go thibela ditefišo tše di sa lokago ka lebaka la go palelwa mo go sa kago gwa ba gona pele.
  2. Ditlhahlobo tša ditshenyagalelo tša khase tša boitshwaro bjo bo reretšwego bja [yo a dumeletšwego].
  3. Ditlhahlobo tša [khase] operand ya EIP-150 ya go obamela-boleng.
  4. E hlahloba go hwetšagala ga palomoka ya ditshenyagalelo tša khase –[boleng]– ka go tekatekano ya [molaodi].
  5. Phethagatšo e direga ka morago ga go gogwa ga [boleng] go tšwa go mašaledi a akhaonto ya [molaodi]. Ge e ba [boleng] bo feta tekatekano ya bona, polao ga e šome.


Ditshenyagalelo tša khase tša [AUTHCALL] di balwa bjalo ka palomoka ya:

  • Ditshenyagalelo tše di sa fetogego tša go bitša [warm_storage_read]
  • Ditshenyagalelo tša katološo ya memori [memory_expansion_fee] , yeo e balwago ka go swana le ditshenyagalelo tša khase bakeng sa opcode ya [CALL]
  • Ditshenyagalelo tše di fetogago [dynamic_gas]
  • The phethagatšo ditjeo ya subcall [subcall_gas]


Datha yeo e bušitšwego go tšwa go [AUTHCALL] e fihlelelwa ka:

  • [RETURNDATASIZE] – yeo e kgoromeletšago bogolo bja buffer ya datha ya go boela morago godimo ga mokgobo wa ditšweletšwa
  • [RETURNDATACOPY] – yeo e kopišago ya data go tšwa go buffer ya data ya go boela morago go memori.


Go e kopanya ka moka ka tše nnyane kudu tša tech-speak; Dikgwebišano tša Ethereum ka tlwaelo di laetša dikelo tše pedi:

  1. tx.origin – yeo e fago tumelelo ya kgwebišano.
  2. msg.sender – yeo go yona kgwebišano e diregago e le ka kgonthe.


Ka EOAs, bjalo ka ge go boletšwe peleng, tumelelo e kopantšwe ka thata le phethagatšo, ke gore ( tx.origin == msg.sender ). Se se bonolo se se sa fetogego se fa bontši bja ditaba tšeo re di hlalositšego ka go karolo ya ka fasana ya “Diakhaonto le go nepagala ga Kgwebišano” ya pego ye.


Melaetša ya [AUTH] go tšwa go [bolaodi] e e dumelela go lefela mošomo wa tx.origin go [o dumeletšwego], mola e dula e le msg.sender. E e dumelela gape go hlaloša dithibelo go tokelo ye ka go šomiša boleng bja [COMMIT]. [AUTHCALL] e gona e dumelela [yo a dumeletšwego] go fihlelela tlhaologanyo ya konteraka, e šomiša [mokgopedi] bjalo ka motsenagare go netefatša gore konteraka yeo e nyakago go e fihlelela ga e kotsi. Ke gore, go [AUTHCALL] yo mongwe le yo mongwe , [yo a dumeletšwego] ke go laetša [mokgopedi] yo a itšego bakeng sa [BOITLAMO] bja bona.

Ditirišo tšeo di ka bago gona tša EIP-3074

EIP 3074 e na le maikarabelo kudu a go dumelela di-EOA go abela tlhaologanyo ya tšona ya tumelelo go akhaonto ye e fapanego, le ge go le bjalo tlhamo ya yona ye e bulegilego e kgontšha tše ntši kudu maemong a fapanego. Logic ka moka ya netefatšo ya EOA e ka abstracted ka go diriša dithibelo/dilo tše mpsha tše di fapanego go invoker ka moo go nyakegago, tše dingwe tša meralo ye e kgonegago yeo e theilwego godimo ga logic ya bona ya nepišo e akaretša:

  • Nonce logic : EIP-3074 e dumelela EOAs nonce go dula e sa kgongwa ka morago ga go romela molaetša wa [AUTH] , go sa le bjalo nonce ya yona bakeng sa [AUTHCALL] e nngwe le e nngwe e ithekgile ka gore e dirišana le invoker efe. Ka tsela ye, e kgontšha nonce parallelism bakeng sa EOAs, gore ba kgone go romela ntle [AUTHCALL] s tše dintši tšeo di sa lekeletšego ka moo di ratago.
  • Gas tefo logic : Bjalo ka ge go laeditšwe ka go EIP, invokers ka rerelwa go dumelela khase thekgo. Ka ge go le bjalo, ditefelo tša khase tša [COMMIT] ya modiriši di be di ka gogwa go tšwa go setlogo sa kgwebišano, goba go tšwa akhaontong efe goba efe ya thekgo, e ka ba ya motho ka noši goba relay ye e theilwego godimo ga tirelo (ditirelo tša go thekga khase). Gape, phethagatšo ya go kwagala e intuitively abstracted; ka morago ga tšohle invoker (e lego CA) bjale o na le maikarabelo a go phethagatša dikgopelo tša kgwebišano legatong la EOA.

Ditshwayotshwayo tša EIP-3074

Invoker centralization

Ge ke tsopola yo mongwe wa bangwadi ba yona: “ Nka se letele gore dikhwama di pepentšha mošomo go saena godimo ga bakgopedi ba boithatelo ... ”. Mohlomongwe bothata bjo bogolo bjo bo beilwego ke maitapišo a 3074 ke gore boitlhamelo bjo bo lego ka godimo ga bjona bo tla ba le tshekamelo gabonolo kudu go diphallo tša kwano ye e dumeletšwego le ya mong; go swana le dipoeletšo tša bjale tša mebaraka ya Ethereum ya MEV (boleng bjo bo ka ntšhwago) le PBS (karoganyo ya mošišinyi-moagi).


Ka go ikemela, dikonteraka tša invoker di swanetše go hlahlobja kudu e le gore go thibelwe ditlhaselo tše mpe le go feta tšeo di kgonegago ga bjale. Se se tla sekamela ka mo go sa phemegego go tshepedišo ya tswalano ya diphedi le tikologo ya tšona moo e lego gore ke dikonteraka tše mmalwa fela tša baletši tšeo di hlamilwego ke dipalopalo tše di nago le khuetšo tšeo di tlago amogelwa bjalo ka go se fetoge go bahlami ba dikhwama. Ka go rialo, e bela go fihla go kgwebo magareng ga:

  • Go tšea tsela ye thata ye e arotšwego ya go hlahloba ka mehla le go thekga dikonteraka tša invoker ka kotsing ya tšhireletšo ya badiriši
  • Go amogela dikonteraka tša go bitša go tšwa methopong ye e hlomilwego le ye e nago le botumo bjo bobotse ka ditiisetšo tše kaone tša tšhireletšo ya modiriši le tlhokomelo ye nnyane ya polokego ya konteraka.


Sebopego se sengwe sa ntlha ye ke mošomo wa ditshenyagalelo wo o sepedišanago le go hlama, go hlahloba le go bapatša modiriši yo a šomago le yo a bolokegilego. Dihlopha tše nnyane di tla nyakile di feta ka mehla ke mekgatlo ye megolo –kudu ka pele ga papatšo– yeo e šetšego e na le botumo bjo bongwe bjo bo hlomilwego, le ge setšweletšwa sa bona se le kaone.

Ditaba tša go sepelelana pele

EIP-3074 e tsema medu sekema sa go saena sa ECDSA, ka ge se sa tšewa e le se se šomago kudu go feta sekema sa tumelelo seo se tsebagaditšwego ka mokgopedi. Le ge go na le dingangišano tša gore go ganetša quantum ga bjale ga se bothata bjo bo tiilego (le gore go na le tše mpe kudu tšeo di lego kotsing nakong e tlago yeo ECDSA e senyegago), maikemišetšo a Ethereum ao a sa bolelwago ka tsela e itšego ke go dula o le pele ga mathata a bjalo. Kgonagalo ya go gafa quantum- le censorship-kganetšo bakeng sa dikaonafatšo ka thoko ka UX e ka no se be tše kaone tša dikgetho nakong e tlago e sa fetšego pelo.


Ntlha e nngwe ka ngangišano ya go sepelelana pele ke gore mola mehola ya 3074 e be e sa dutše e hlahlobja, ERC-4337 (yeo e sa nyakego diphetogo tša protocol) bjale e na le mmaraka o mogolo, ka gona o swanetše go sepelelana le yona le wena gore o e efoge compartmentalization ya ditshepedišo tša tswalano ya diphedi le tikologo ya tšona. Le ka mmapa wa tsela wa go tšea akhaonto ya setlogo, di-opcode tša [AUTH] le [AUTHCALL] di be di tla feleletša di feletšwe ke nako ka go EVM, di tsebagatša sekoloto se segolo sa setegeniki go Ethereum e le gore di tliše palo ye nnyane ya kaonafatšo ya UX.

ECDSA sekema sa go se bušetšwe morago

Ka morago ga go romela molaetša [AUTH] le go abela taolo, EOA e letetšwe go efoga sekema sa tumelelo ya senotlelo sa poraebete sa tlwaelo, ka ge go romela kgwebišano ye “tlwaelegilego” go dira gore tumelelo yeo e e abetšego modiriši yo mongwe le yo mongwe e phumolwe. Ka go realo, sekema sa ECDSA se dula se phagametše ka go tia go feta sekema se sengwe le se sengwe sa tumelelo seo dikonteraka tše di amanago le sona di ka se kgontšhago, go ra gore tahlegelo ya dinotlelo tša praebete e tla feletša ka tahlegelo ya palomoka ya dithoto tša akhaonto.

Programmability ka EIP-7702

Tšhišinyo ye mathomong e be e beakantšwe bjalo ka phapano ye e itšego ye nnyane ya EIP 3074, gomme e be e bile e reretšwe go ba mpshafatšo go yona. E belegwe go rarolla go se šome gabotse mo go thwego ga EIP 3074, kudukudu matshwenyego go dikologa go se sepelelane ga yona le tshepedišo ya tswalano ya diphedi le tikologo ya tšona yeo e šetšego e atlegile 4337 le tšhišinyo ya go tšea akhaonto ya setlogo– RIP 7560.


Mokgwa wa yona ke tlaleletšo ya mohuta wo mofsa wa kgwebišano wo o sepelelanago le EIP 2718 – [SET_CODE_TX_TYPE] – yeo e dumelelago EOA go itshwara bjalo ka akhaonto ye bohlale ya ditirišano tše di laeditšwego. Moralo wo o kgontšha dikarolo tše di swanago le tša EIP 5806 le tše dingwe, mola o dula o sepelelana le mmapa wa tsela wa go tšea akhaonto ya setlogo le maitapišo ao a lego gona.

EIP-7702 ditlhaloso

EIP-7702 e dumelela EOA go “reka ka ntle” diteng tša khoutu ya konteraka ka kgwebišano yeo e obamelago [SET_CODE_TX_TYPE] 2718 ya sebopego:

 rlp([chain_id, nonce, max_priority_fee_per_gas, max_fee_per_gas, gas_limit, destination, value, data, access_list, authorization_list, signature_y_parity, signature_r, signature_s])


Mojaro wo o swana ka botlalo le wa EIP 5806, ntle le gore o tsebagatša “lenaneo la tumelelo”. Lenaneo le ke tatelano ye e laetšwego ya dikelo tša sebopego:

[[chain_id, address, nonce, y_parity, r, s], ...]

moo tuple ye nngwe le ye nngwe e hlalošago boleng bja [aterese]'.


Pele o tšwela pele, mekgatlo yeo e amegago go SET_CODE_TX_TYPE ke:

  • [molaodi] : e leng EOA / akhaonto ya mathomo ya go saena
  • [aterese] : yeo e lego aterese ya akhaonto yeo e nago le khoutu yeo e ka abelwago.


Ge [molaodi] a saena SET_CODE_TX_TYPE yeo e laetšago [aterese], moemedi wa kamedi o a hlolwa. Ye ke “lenaneo la tšhupetšo” leo le dirago gore dikgopelo ka moka tša go hwetša khoutu ka lebaka la ditiro tša [molaodi] ka motsotso ofe goba ofe di fetišetšwe go khoutu ye e hlokomelwago ya [aterese].

Bakeng sa e nngwe le e nngwe [chain_id, address, nonce, y_parity, r, s] tuple, phallo ya logic ya kgwebišano ya mohuta wa 7702 ke ka tsela ye e latelago:

  1. Netefatšo ya mosaeno wa [molaodi] go tšwa go hash ye e filwego ka go šomiša: authority = ecrecover(keccak(MAGIC || rlp([chain_id, address, nonce])), y_parity, r, s]
  2. Thibelo ya ditlhaselo tša go bapala gape ka sefapano-ketane le di-vector tše dingwe tša tlhaselo ka netefatšo ya ID ya ketane.
  3. Go lekola ge e ba [bolaodi] bo šetše bo na le diteng tša khoutu.
  4. Nonce hlahloba go netefatša gore nonce ya [bolaodi] e lekana le nonce yeo e akaretšwago ka gare ga tuple.
  5. Ge e le gore kgwebišano ke kgwebišano ya mathomo ya [molaodi] ya SET_CODE_TX_TYPE , e lefišwa tefo ya PER_EMPTY_ACCOUNT_COST . Tabeng ya gore tekatekano ya yona e ka tlase ga boleng bja tefo ye, tshepedišo e a tlogelwa.
  6. Tlhagišo ya kabo e direga, moo khoutu ya [bolaodi] e beakantšwego go tšhupetšo ya [aterese].
  7. Nonce ya mosaenadi –[bolaodi]– e oketšega ka e tee.
  8. [bolaodi] e tlaleletšwa go lenaneo- diaterese tšeo di fihlelelwago, tšeo (go nolofaditšwe go feta tekano) e lego sete ya diaterese tšeo di dirilwego ka tsela yeo e lego gore go bušetšwa morago ga bogolo bja kgwebišano go tšwa go tšona go dira gore di (aterese) di bušetšwe morago boemong bja tšona bja peleng , pele ga ge sebaka se se bušeditšwego morago se tsenywa. Se ke bjalo ka ge se hlalošitšwe go EIP-2929 go kgontšha go boloka dikelo tše di šomišwago gape le go thibela ditefišo tše di sa nyakegego.


Phew! Go e tlema ka moka morago; EIP ye e dumelela di-EOA go romela ditirišano tšeo di beago tšhupetšo go khoutu ya konteraka, e ba dumelela go phethagatša tlhaologanyo ye bjalo ka ya bona ditirišanong tše di latelago. Ka tsela ye e matla ka go tia go feta EIP 5806, ka gobane e dumelela di-EOA go ba le dikagare tša khoutu e le ka kgonthe nako e telele kamoo di nyakago ka gona (go fapana le EIP 5806 yeo e fo dumelelago di-EOA go romela megala ya baemedi).

Kgonagalo ya dikgopelo ya EIP-7702

Phethagatšo abstraction

Le ge go ka phegišwa gore ga e sa le abstraction ka ge EOA e tšea ka mafolofolo logic yeo e ratago go e phethagatša, e sa dutše e se “mong wa mathomo” wa logic yeo e boletšwego. Gape, ga e na le tlhaologanyo ka go lebanya , e no laetša tšhupetšo ya go kwagala (e le gore e fokotše go raragana ga dikhomphuthara). Ka fao re ya ka polao abstraction!

Go thekga gase ka tšhelete

Le ge require(msg.sender == tx.origin) invariant e robegile go dumelela go ithekga ka tšhelete, EIP e sa dutše e dumelela dikopanyo tša di-relayer tša kgwebišano tšeo di thekgwago ka tšhelete. Lega go le bjalo, temošo ke gore di- relayer tše bjalo di nyaka tshepedišo yeo e theilwego botumo goba di- stake e le gore di thibele ditlhaselo tša manyami.

Dipholisi tša phihlelelo ya mabaka

Di-EOA di ka šupa feela karolo e itšego ya khoutu ya akhaonto, e le gore ke feela tlhaologanyo ya karolo yeo yeo e ka phethagatšwago ka gare ga seemo sa tšona.

Se se kgontšha gape go ba gona ga dinotlelo tše nnyane tšeo di tšwelago pele go kgontšha “go fokotša tokelo”, gore di-dapp tše itšego di be le phihlelelo fela go tekatekano ya akhaonto ka fase ga maemo a itšego. Ka mohlala, o ka akanya tumelelo ya go diriša ditšhupetšo tša ERC-20 eupša e sego ETH, goba go diriša go fihla go 1% ya palomoka ya tekatekano ka letšatši, goba go dirišana feela le dikgopelo tše itšego.

Cross-ketane bohlale konteraka deployment

Ka lebaka la tlhago ya yona yeo e sego ya thibelo, kgwebišano ya EIP-7702 e be e ka dumelela mosediriši go fihlelela opcode ya CREATE2 le go e šomiša go tsenya bytecode go aterese ntle le ditekanyetšo tše dingwe tše di thibelago go swana le logiki ya mmaraka wa ditefelo (mohlala, EIP-1559 le EIP-4844 ). Se se dumelela aterese go bušetšwa le go šomišwa go ralala le metšhene ye mentši ya mmušo, ka bytecode ye e swanago, moo akhaonto ya yona ketaneng ye nngwe le ye nngwe e nago le maikarabelo a go hlaloša ditekanyetšo tše dingwe tša go fetoga ga seemo.

Ditshwayotshwayo tša EIP-7702

Go hloka go sepelelana ga morago

Le ge EIP-7702 e sa le morago bjale kudu, go šetše go bile le e ngata ya go dira diprototyping le go dira diteko tša go ithekga ga yona le go se loke mo go ka bago gona, eupša mohlala wa yona wa minimalistic o e tiišetša gore e na le go fetofetoga mo gogolo, gomme ka go realo e le mohola, maemong a fapanego. Le ge go le bjalo e thuba tsela ye ntši kudu ye e sa fetogego gomme ga e sepelelane ka morago gateetee. Tše dingwe tša dilo tše di kwagalago tša EIP-7702 di akaretša:

  1. Bogare bja kgwebišano EOA nonce phetogo: EIP-7702 ga e lekanyetše di-opcode dife goba dife ka maiteko a go netefatša go se fetoge. Se se ra gore EOA e ka phethagatša di-opcode tša go swana le CREATE , CREATE2 le SSTORE mola e phethagatša kgwebišano ya EIP-7702, e dumelela nonce ya yona go okeletšwa ka seemo se se fapanego.
  2. Go dumelela diakhaonto tšeo di nago le boleng bja codeHash bjo e sego bja lefela go ba bahlomi ba kgwebišano: EIP-3607 e ile ya phethagatšwa go fokotša dipoelo tšeo di ka bago gona tša “thulano ya aterese” magareng ga di-EOA le di-CA. Thulano ya aterese e direga ge boleng bja 160-bit bja aterese ya EOA bo lekana ka botlalo le bja aterese ya CA.


Bontši bja badiriši ga ba na tsebo ya dikagare tša kgonthe tša akhaonto (goba gaešita le phapano magareng ga akhaonto le aterese!), ka gona go dumelela go thulana ga diaterese go bolela gore EOA e ka itira akhaonto ya konteraka gomme ya goketša ditšhelete tša mosediriši ka nako e telele bit gore mafelelong e e utswe ka moka. EIP-3607 e rarollotše se ka go laetša gore diakhaonto tšeo di nago le khoutu ga se tša swanela go kgona go diriša tekatekano ya tšona e diriša tlhaologanyo ya tšona ya tumelelo. Le ge go le bjalo, EIP 7702 e roba se se sa fetogego e le gore e kgone go kgontšha di-EOA go dula di ikemetše gaešita le ka morago ga go hwetša go rulaganywa mo gongwe.

Go swana le EIP-3074

Go saena godimo ga aterese ya akhaonto go e na le dikagare tša yona tša khoutu ge e le gabotse go swana le sekema sa 3074 seo se nago le baletši. Ga e neelane ka ditiisetšo tše di tiilego go dikologa go se fetoge ga diteng tša khoutu ya sefapano-ketane, ka ge aterese e be e ka tšea diteng tša khoutu tše di fapanego diketane tše di fapanego. Se se ra gore aterese yeo diteng tša yona tša khoutu di nago le tlhaologanyo ye e swanago ketaneng ye nngwe e ka ba ya go ja goba ya kotsi ka go lebanya ketaneng ye nngwe, gomme se se ka lebiša go lahlegelweng ke ditšhelete tša modiriši.

Mafetšo

Di-EOA ka mokgwa wa tšona wa bjale lehono di lekanyeditšwe kudu ka ge di sa dumelele badiriši go diriša mohola wa dikarolo tša go programmability tšeo di fiwago ke EVM. Le ge go na le ditsela tše di fapafapanego tša go kaonafatša diakhaonto, bjalo ka ge re hlalošitše mathomong a pego ye, tharollo ye e kgethilwego e swanetše go hlokomela melawana ya go itlhokomela ka tsela ye e bolokegilego le ye e bolokegilego. Go feta fao dikaonafatšo tša EOA di ka ama kudu bobedi maitemogelo a modiriši le bahlami ba tirišo ka fao mantšu ka moka a bakgathatema a swanetše go elwa hloko.


Go dumelela di-EOA go phethagatša khoutu ka mokgwa ofe goba ofe go katološa kudu go šoma ga diakhaonto, eupša go hlalošwa mo mo gofsa go tla le dikotsi tše di nago le mohola le mahlakore a go foufela ao a ka bago gona. Go rarolla diphetogo tše go bohlokwa go tliša tlhabollo ka mehola ya UX yeo e sa phenkgišanwego go badiriši ba Ethereum.


Setšo sa Ethereum sa poledišano ye e bulegilego se e dira lefelo le legolo la go dira diteko bakeng sa dilo tše bjalo tše mpsha ka ge mo e nyakilego go ba se se bolelwago ke se sengwe le se sengwe sa tlhamo e nngwe le e nngwe se senywa ka mo go feletšego ke ditsebi tša taba. Go naganelwa mo mo go feletšego go swanetše go thuša go fokotša dikotsi tša go se šome gabotse go tšwa go manaba.


EIP-7702 ga bjale ke ngwana wa phoustara ya mekgwa yeo e nyakago go tliša go rulaganywa ga EVM go di-EOA, ka ge e swailwe bjalo ka legato la sekotwana sa EIP 3074 ka go kaonafatšo ya Pectra. E inherits moralo bulehileng oa 3074 o mochine ha haholo theola haholo tlhaselo bokagodimo / dikotsi. E boetse e kgontsha e ngata ho feta ka ho qoba 3074 o dithibelo ho dihlopha itseng tsa opcodes.


Le ge go sa na le diphetogo tše dingwe tšeo di dirwago ka tlhamo ya tšhišinyo, e šetše e kgobokeditše botho bjo bontši le thekgo go tšwa go bahlami, kudu ka ge e na le Vitalik yeo e e thekgago ka go lebanya. Ka gare ga setšhaba go na le ditleleimi tša gore mokgwa wo wa go tšea diakhaonto o ka ba o mokaone go feta diakhaonto tše bohlale. Tlhaloso ye e gatelela gore tsela ye e nyaka diphetogo tše nnyane ebile ga se ya raragana gakaakaa, le gore di-EOA di šetše di ngwadilwe.


Le ge go le bjalo, re swanetše go gopola kgato ya tšhireletšo ya ka moso ya go ganetša quantum maemong a mangwe le a mangwe a netweke ya Ethereum. Polokego ye ya quantum ga e kgonege ka motheo wa mohlala wa akhaonto ya bjale ka lebaka la tšhomišo ya dikema tša go saena tše di theilwego go ECDSA bakeng sa tumelelo ya EOA.


Ka go realo, go rulaganywa ga EOA go swanetše go bonwa bjalo ka kgato tseleng ya go ya diakhaontong tše bohlale e sego lefelo leo o yago go lona. E supercharges EOAs le kgontsha molemo mosebedisi- le developer indonesia-bophihlelo, ha a ntse a lula lumellana le qetellong akhaonto abstraction pakane ya diakhaonto bohlale.

Pegong ya rena ye e latelago, re tla be re itahlela ka gare ga dikema tša go huduga tša EOA go bona gore di tsena gabotse gakaakang mmapeng wa tsela wa go tšea akhaonto, dula o lebeletše!


Tlhokomedišo ya mongwadi: Phetolelo ya sehlogo se e gatišitšwe la mathomo mo .


L O A D I N G
. . . comments & more!

About Author

2077 Research HackerNoon profile picture
2077 Research@2077research
Blockchain research 🔬 Deep dives and analyses surrounding the latest within Ethereum and the wider crypto landscape

HANG TAGS YA GO FEGA

ARTICLE YE E HLAHILWE KA...