Kwa nini akaunti za kawaida za Ethereum zinaonyesha mipaka yake
Mada hii inaendeleza mjadala kuhusu kuhifadhi na kurejesha seed phrase. Akaunti inayodhibitiwa na mtumiaji, au EOA, kwa kawaida hutegemea private key. Saini hiyo hiyo huidhinisha miamala, huku protokoli ikiweka muundo wa uthibitishaji.
Urahisi huo huleta mfumo ulio wazi, lakini hufanya urejeshaji kuwa mgumu. Key iliyopotea haiwezi kubadilishwa. Mtumiaji mpya pia lazima awe na token ya asili ili kulipia gas, hata kama anapokea asset nyingine.
Smart account huweka mantiki ya uthibitishaji ndani ya mkataba. Inaweza kuhitaji saini mbili kwa kiasi kinachozidi kiwango fulani, kukubali passkey, kuweka kikomo cha session au kuruhusu urejeshaji baada ya muda uliowekwa.
Uratibu wa programu hauondoi keys. Hurahisisha kupanga jukumu lao na kubadilishwa kwake kulingana na kanuni zinazoweza kuthibitishwa. Usalama sasa hutegemea mkataba na usanidi wake.
ERC-4337 inavyofanya kazi
ERC-4337 inaeleza account abstraction bila kubadilisha safu ya consensus. Mtumiaji huunda UserOperation inayofanana na transaction, ikiwa na anwani lengwa, data, mipaka ya gas, nonce na saini.
Operesheni hiyo huingia kwenye mempool tofauti. Bundlers hukusanya UserOperations kadhaa kisha huita mkataba wa EntryPoint ndani ya transaction ya Ethereum. EntryPoint hukagua akaunti, hukusanya ada na kutekeleza vitendo halali.
Paymaster anaweza kugharamia gas kulingana na kanuni zake. Hivyo, application inaweza kufadhili operesheni ya kwanza au kukubali malipo kwa token. Urahisi huu huleta utegemezi: paymaster anaweza kukataa, kukosa amana au kutumia sera yenye vikwazo.
Bundler hahifadhi fedha za akaunti. Anawajibika kusambaza operesheni na kulipia kwanza gas ya transaction iliyounganishwa, kisha kurejesha kiasi hicho kulingana na utaratibu uliowekwa. Hitilafu inaweza kuchelewesha utekelezaji bila kuhatarisha assets moja kwa moja.
Kazi zinazowezekana
Urejeshaji wa kijamii huruhusu walinzi kuthibitisha mabadiliko ya key baada ya muda fulani. Walinzi wanaweza kuwa vifaa, watu wa karibu au taasisi. Usanidi mzuri huzuia mtu mmoja pekee kurejesha akaunti.
Mipaka ya matumizi huweka kiwango cha juu cha kila siku au kuzuia anwani fulani za kwenda. Session key inaweza kuruhusu mchezo kutekeleza vitendo maalum kwa muda uliobainishwa bila kuomba saini kamili kwa kila kubofya.
Batching huunganisha vitendo kadhaa: approval, swap na deposit vinaweza kufanyika ndani ya operesheni moja ya kimantiki. Kipengele hiki hupunguza hatua, lakini mtumiaji bado anapaswa kuelewa athari ya jumla.
Kulipia gas kwa token au kupitia sponsor hurahisisha mwanzo kwa mtumiaji mpya. Haimaanishi kuwa transaction ni ya bure: kuna mtu anayelipa, na gharama inaweza kuonekana kama spread, ada au masharti ya kibiashara.
Smart account, multisig na wallet ya custodial
Multisig huhitaji uthibitishaji kadhaa kulingana na kanuni fulani. Smart account inaweza kujumuisha kazi hiyo pamoja na nyingine nyingi. Kwa hiyo, makundi haya yanaweza kuingiliana.
Wallet ya custodial huhifadhi keys kwa niaba ya mtumiaji na inaweza kurejesha ufikiaji kulingana na utaratibu wake wa ndani. Smart account isiyo ya custodial huacha kanuni zilizo on-chain na watia saini chini ya udhibiti wa mtumiaji, hata kama interface au huduma inasaidia matumizi yake.
Baadhi ya suluhisho huhifadhi server key, huduma ya urejeshaji au paymaster wa lazima. Bado zinaweza kuratibiwa, lakini huongeza utegemezi wa uendeshaji. Chunguza muundo halisi badala ya kuamini lebo ya « non-custodial ».
Chaguo bora hutegemea kiasi, mara ya matumizi, timu na uwezo wa kudumisha backups. Akaunti changamano sana inaweza kuwa ngumu zaidi kurejesha kuliko wallet rahisi.
Hatari mpya za usalama
Bug katika mantiki ya uthibitishaji inaweza kuruhusu operesheni isiyotiwa saini au kuzuia akaunti. Modules zinazoongezwa baada ya deployment wakati mwingine huwa na ruhusa kubwa. Audit yake lazima ichunguze pia mwingiliano na msingi wa mfumo.
Uwezo wa kufanya upgrade huleta swali jingine: ni nani anayeweza kubadilisha implementation? Admin key iliyoathiriwa inaweza kubadilisha code. Timelock na multisig hupunguza hatari hii bila kuiondoa.
Bundlers hukabili masharti ya kuzuia spam na huiga operesheni kabla ya kuzitekeleza. UserOperation iliyo halali kwa mtumiaji inaweza kukataliwa na miundombinu fulani. Uwezo wa kubadilisha bundler huongeza ustahimilivu.
Paymaster anaweza kuzuia operesheni au kuweka mipaka. Ikiwa akaunti haina ETH na inategemea huduma hii kabisa, hitilafu inaweza kuzuia hatua ya dharura.
Urejeshaji wa kijamii: ni muhimu, lakini unahitaji maandalizi
Chagua walinzi huru ambao hawatumii kifaa, barua pepe au operator yuleyule. Walinzi watatu wanaodhibitiwa na akaunti moja ya cloud hawaundi vizuizi vitatu.
Weka kiwango kinachostahimili kuathirika kwa sehemu bila kufanya urejeshaji usiwezekane. Wawili kati ya watatu wakati mwingine hufaa kwa mtu binafsi; taasisi inaweza kuhitaji sera iliyopangwa zaidi.
Ongeza muda wa kusubiri na uwezekano wa kughairi. Hivyo, mwenye akaunti anaweza kugundua urejeshaji wa ulaghai. Tahadhari zinapaswa kutumwa kupitia njia kadhaa.
Jaribu mchakato huo kwa akaunti yenye kiasi kidogo. Utaratibu ambao haujawahi kurudiwa unaweza kushindwa siku ambayo key kuu inapotea. Andika hatua za kufuata bila kuhifadhi siri zote mahali pamoja.
Passkeys na uthibitishaji wa kisasa
Passkey hutumia jozi ya cryptographic inayohusishwa na domain au application. Inastahimili phishing kuliko password au code ya SMS. Hata hivyo, kuiunganisha na smart account kunahitaji uthibitishaji unaoendana na blockchain.
Usawazishaji wa cloud hurahisisha kubadilisha kifaa, lakini huhamisha sehemu ya hatari kwenye akaunti ya Apple, Google au password manager. Passkey inayohusishwa na kifaa kimoja pekee inahitaji backup tofauti.
Hakikisha kama wallet inaruhusu ku-export, kuongeza authenticator ya pili na kurejesha akaunti bila kutegemea kampuni yake. Utegemezi wa mfumo wa kampuni moja unaweza kuwa tatizo ikiwa huduma itafungwa.
Kwa kiasi kikubwa, unganisha passkey, hardware key na kanuni ya multisig badala ya kutarajia kipengele kimoja kifanye kazi katika kila hali.
Gas iliyofadhiliwa na malipo kwa token
Paymaster huidhinisha UserOperation kabla ya kufadhili gas yake. Anaweza kuhitaji saini ya huduma, usajili, token maalum au kitendo kilichoidhinishwa. Mkataba wake lazima uwe na amana ya kutosha kwenye EntryPoint.
Application inaweza kutoa transactions chache ili kurahisisha usajili. Pia inaweza kubadilisha token ya mtumiaji ili kugharamia ada. Linganisha gharama iliyofichika na bei ya kawaida ya gas ya Ethereum.
Sponsor hapaswi kupewa ruhusa isiyo na kikomo bila sababu. Soma permissions na tumia mbinu ya kuchunguza smart contract bila kuandika code.
Hitilafu ya paymaster haipaswi kufanya fedha zisiweze kufikiwa. Hakikisha kama transaction ya kawaida inayolipiwa kwa ETH au paymaster mwingine inaweza kuchukua nafasi yake.
Sessions, delegations na mipaka ya matumizi
Session key huruhusu seti ndogo ya vitendo kwa kipindi fulani. Mchezo unaweza kuruhusu miamala ya ndani bila kutoa uwezo wa kuhamisha fedha kwenda anwani yoyote. Application ya kitaalamu inaweza kumruhusu mfanyakazi kushughulikia contracts fulani pekee na kiasi cha kila siku kilichowekwa.
Wigo huo unapaswa kuwa wazi kabla ya kusaini: anwani zinazoenda, functions, tokens, kikomo na tarehe ya kuisha. Delegation isiyoeleweka inaweza kuwa sawa na kukabidhi main key. Interfaces zinapaswa kuonyesha sessions zinazotumika na kuruhusu kuzifuta bila kutegemea mtoa huduma aliyezitengeneza.
Nonce na kanuni za kuzuia replay huzuia matumizi ya tena ya ruhusa ambayo tayari imetumika. Saini pia zinapaswa kuhusishwa na blockchain na EntryPoint, kama ERC-4337 inavyoeleza. Bila muktadha huu, operesheni inaweza kuleta athari isiyotarajiwa kwenye mazingira mengine.
Baada ya jaribio, futa session na uthibitishe tukio hilo kwenye explorer. Nidhamu hii hupunguza muda ambao kifaa cha ziada au application ya mchezo iko kwenye hatari.
Jinsi ya kutathmini wallet inayotumia account abstraction
Tambua mkataba wa akaunti, toleo lake na utaratibu wake wa upgrade. Soma audits, bug bounties na matukio yaliyowahi kutokea. Audit haiwezi kuchukua nafasi ya uchambuzi wa permissions.
Orodhesha watia saini, walinzi, modules, bundlers na paymasters. Uliza kitakachotokea ikiwa kila mmoja atatoweka. Je, akaunti inaweza kubadilisha mtoa huduma kupitia interface nyingine?
Kagua urejeshaji na muda wa kusubiri. Ahadi kama « hakuna hatari ya kupoteza » mara nyingi huficha mhusika wa tatu anayeweza kurejesha ufikiaji. Elewa masharti kamili.
Hakikisha inaendana na applications unazotumia. Baadhi ya protokoli huzishughulikia smart accounts, signatures au messages za off-chain kwa njia tofauti. Jaribu kabla ya kuhamisha kiasi kikubwa.
Kuhama bila kuhatarisha fedha zako zote
Anza kwa kuunda smart account kupitia nyaraka rasmi. Ongeza mbinu za urejeshaji na ujaribu transaction ndogo. Thibitisha kuwa unaweza kutumia interface ya pili au kuita mkataba moja kwa moja.
Kisha hamisha kiasi kidogo. Jaribu swap, approval, withdrawal na urejeshaji wa kuigiza. Fuatilia ada na muda wa bundler.
Usifute wallet ya zamani kabla ya kuthibitisha backups. Uhamishaji wa hatua kwa hatua hupunguza athari ya bug ya usanidi. Kwa taasisi, sera hiyo ipitishwe na wasimamizi kadhaa.
Account abstraction huifanya wallet kuwa karibu na akaunti inayoweza kuratibiwa, inayofaa matumizi ya kisasa. Inaweza kupunguza makosa ya onboarding, kuboresha urejeshaji na kugawa mamlaka. Kwa upande mwingine, huongeza contracts, modules na huduma. Usanidi bora hauongezi vipengele bila kikomo: huchagua vinavyojibu hatari maalum na hubaki kutumika hata mtoa huduma mkuu anapopata hitilafu.