ERC-4337
Az ERC-4337 szabványról, amely az Ethereum világának 2023 márciusi üdvöskéje
Az ERC-4337 szabvány célja, hogy lehetővé tegye a tranzakciók és szerződések létrehozását egy kripto tárcán belül. Mindezt anélkül, hogy külső aláírásokra lenne szükség. A korábbi ERC szabványok, mint például az 🔗ERC-20 vagy 🔗ERC-721, nem támogatják ezt a funkcionalitást (Felhasználói Fiók absztrakció), mert elsősorban tokenek kezelésére és nem a tranzakciók önálló kezelésére lettek tervezve.
Az ERC-4337 bevezeti a „smart accounts” koncepcióját, amely lehetővé teszi a komplex tranzakciók és logikák közvetlen végrehajtását a tárcán belül. Vágjunk is bele a témába 👇
A kezdetek kezdetéről
Az ERC-4337 egy relatív új Ethereum szabvány, amely az úgynevezett Felhasználói Fiók absztrakciót valósítja meg. Régóta várt cél volt ez már a platform számára. Ahogy az lenni szokott, ez egy Ethereum Fejlesztési Javaslat (EIP) volt ami EIP-4337 néven futott még 2021-ben.
✅ Végül jóváhagyták, így később hivatalos ERC szabvánnyá válhatott, bevezették az 🔗 Ethereum főhálózatán (Mainnet).
A szabvány koncepciómagja
Valójában az ERC-4337 okosszerződés-képességeket csempész a DeFi tárcákba, megkönnyítve az olyan fejlett funkciók megvalósítását,
- mint például a többfaktoros hitelesítés
- vagy az automatikus fizetések.
Az ERC-4337 szabvány tehát azért készült, hogy megoldja a meglévő Ethereum alapú kriptotárcák korlátait. Egyesíti a külsőleg kezelt kriptotárcák és az okosszerződés-fiókok funkcióit, így egyszerűsíti tulajdonképpen a kriptotárca beállítását és a privát kulcsok kezelését.
A cél mindenképpen az volt, hogy felhasználóbarát kriptotárcákat biztosítson, amelyek nagyobb biztonságot és könnyű használatot nyújtanak❗
Azáltal, hogy egyesíti az okosszerződés alapú felhasználói fiókokat és a DeFi tárcákat, az ERC-4337 lehetővé teszi különböző kriptotárca funkciók bevezetését anélkül, hogy külön fiókokra vagy központosított rendszerekre lenne szükség. A DeFi tárcák integrációját anélkül oldja meg, hogy közvetlenül felfedné a DeFi tárca tulajdonosának személyazonosságát. Az egyesítés során a tulajdonos anonimitása megmarad.
Hogyan működik ez az ERC-4337❓
Az általam már említett EIP-4337 előtt a fejlesztői közösség egy másik javaslatot is tett, amely szintén a Felhasználói Fiók absztrakció funkcióját célozta meg, ha jól emlékszem ez az ajánlás EIP-2938 számon futott. Az EIP-2938 hasonló volt a napjainkra hivatalos szabvánnyá formálódott ERC-4337-hez,
de konszenzusréteg-változtatásokat igényelt❗
Az ERC-4337 ezt megkerüli. Úgy, hogy bevezet egy magasabb rétegű, UserOperation (Felhasználói Művelet) nevű pszeudo-tranzakciós objektumot, amely hasonlóságot mutat a rollupokkal, mivel mindkettő különböző verzióit tartalmazza a csomagolás fogalmának. Az ERC-4337 szabványnak köszönhetően különböző felhasználók UserOperation objektumokat küldenek egy külön (alternatív) mempoolba.
✅ Az ERC-4337 szabvány témájában öt fő összetevő van, amit érdemes vizsgálni:
- UserOperation (Felhasználói Művelet) [UserOp],
- Bundler (Csomagoló Operátor),
- EntryPoint (Globális Belépési Pont),
- Aggregator (Aggregátor)
- és a Paymaster (Fizetőmester) [opcionális].
Felhasználói Műveletek (UserOperation)
A Felhasználói Művelet rögzíti a felhasználó szándékát és műveleteit, beleértve a küldőt, a terhet és a gázhoz kapcsolódó információkat.
Teher alatt a payload-ot értettem, ami az adatcsomagot vagy tartalmat jelenti, amit a tranzakció során továbbítanak.
Mivel úgy tervezték, hogy elkerüljék a konszenzus megváltoztatását, az Ethereum csapata egy teljesen új struktúrát hozott létre, amely rögzíti a felhasználó nevében küldendő tranzakció összes szükséges elemét. Az esetleges félreértések elkerülése érdekében kifejezetten nem nevezték „tranzakciónak”.
A hagyományos tranzakció kezdeményezése helyett az okosszerződéses tárcák most már létrehozhatnak úgynevezett UserOperations (userOp) álpénzügyi tranzakciós objektumokat, amelyek a felhasználó kívánt tranzakciós szándékát képviselik. Az álpénzügyi tranzakciós objektum alatt olyan virtuális tranzakciós elemet értek, amely a felhasználó szándékát tükrözi, de nem hagyományos módon valósul meg.
A Felhasználói Művelet (UserOperation) nem fér hozzá olyan információkhoz, amelyek a szimuláció és a végrehajtás között változhatnak, mint például az aktuális blokk idő, hash, szám, stb. Ez biztosítja, hogy érvényes maradjon és képes legyen fizetni a végrehajtásért a láncon. Egy Felhasználói Művelet csak a küldő címéhez kapcsolódó adatokhoz férhet hozzá.
Tranzakció esetén: A UserOperation tartalmazza a küldőt, a címzettet, a hívási adatokat, a maximális gázdíjat, a prioritási díjat, az aláírást és a nonce-t.
A hagyományos tranzakciótól eltérően: A nonce és signature mezők használatát nem a protokoll határozza meg, hanem az egyes fiókmegvalósítások.
A Csomagoló Operátorok (bundlers) szerepe
A „bundlerek” amit blogom fejléképében Csomagoló Operátorok kifejezéssel láttam el, ezeket az objektumokat egy tranzakcióba csomagolják, amely bekerül egy blokkba. Ezek a Csomagoló Operátorok fizetik a gázdíjat a csomagolt tranzakciókért, és díjakat kapnak az egyes UserOperation (Felhasználói Művelet) végrehajtásokért. A Csomagoló Operátorok hasonlóan működnek, mint egy validátor, és a díj-prioritási logika alapján választják ki, mely objektumokat vegyék bele.
Globális Belépési Pont (EntryPoint)
Új funkciók, például a validateUserOp, kerülnek bevezetésre, hogy a kriptotárca egyszerre lehessen okosszerződés is. Egy új szerződés, az EntryPoint (Globális Belépési Pont), szintén bevezetésre kerül, hogy biztonsági kapuként szolgáljon ezeknek az új funkcióknak a végrehajtásához.
Fizetőmesterek – Paymasters
A Fizetőmester egy opcionális szereplő, ami más felhasználók tranzakcióit szponzorálhatja.
Miért❓
Lehetővé tehet számos érdekes új funkciót az Ethereum tranzakciók során, például:
- Az alkalmazásfejlesztők számára átvállalhatóvá tehetik a felhasználók díjait, például bevezetési/promóciós időszak keretében.
- A felhasználók könnyedén fizethetik a tranzakciós díjakat ERC-20 tokenekkel vagy láncon kívüli (off-chain) fizetési módokkal, mint például bankkártya.
Az ERC-4337 szabvány szerinti folyamatban nem kötelező a Fizetőmester használata. Ha egy UserOperation (Felhasználói Művelet) úgy dönt, hogy Fizetőmestert használ, általában ennek két típusa kínálkozik ;
Ellenőrző Fizetőmester: ezek gázabstrakciókat biztosítanak egy láncon kívüli folyamathoz kapcsolódva. Például lehetővé teszik a felhasználóknak, hogy hitelkártyával vagy előfizetési szolgáltatással fizessék a tranzakciós díjakat anélkül, hogy lemondanának arról, hogy a saját tárcájuk felett, ők maradnak az urak (persze megjegyzem MasterCard és VISA ügye a barátod, bármikor, bármihez használod fizetésre rögtön azonosított is vagy) pontosan ezért jó, hogy a Fizetőmester az opcionális.
Letéti Fizetőmester: ezek gázabstrakciókat biztosítanak egy láncon belüli ERC-20 tokenhez kapcsolódva.
A visszaélések elkerülése érdekében a rendszer vagy csökkenti a sebességet, vagy ideiglenesen kitiltja azt a Fizetőmestert, amely jelentős mennyiségű érvénytelen Felhasználói Műveletet nyújt be. Az ilyen entitásoktól származó „szibill támadások” ellen védekezve a globális entitásoknak letétet kell elhelyezniük a rendszerben, ami költségessé teszi a szolgáltatásmegtagadási (DoS) támadást.
Aggregátor
Az „Aggregátorok” speciális szereplők, amelyek egy segítő okosszerződést használnak arra, hogy több UserOperation – Felhasználói Művelethez kötődő aláírást összegyűjtsenek, és egyetlen aláírássá alakítsák azokat, azaz összesítenek.
A Csomagoló Operátorok (bundlers) általi összecsomagolt Felhasználói Műveleteket (UserOperations) egy Aggregátor egy lépésben érvényesíti, ahelyett, hogy minden aláírást külön-külön ellenőrizne. Úgy van tervezve, hogy javítsa a tranzakciófeldolgozás hatékonyságát és költségét, igen jelentősen.
Az eddig elmondottak alapján, az ERC-4337 összességében ezeket a célokat tűzte ki
Felhasználói Fiók absztrakció: Lehetővé teszi a felhasználóknak, hogy egyetlen fiókot (kriptotárcát) használhassanak, amely okosszerződések és EOA funkcióival rendelkezik.
Decentralizáció: Lehetővé teszi bármely úgynevezett Csomagoló Operátornak, hogy részt vegyen a folyamatban.
Konszenzus változások elkerülése: Gyorsabb elfogadást tesz lehetővé, mivel az Ethereum konszenzus rétege a skálázhatóság-orientált fejlesztésekre összpontosít.
Innovatív felhasználási esetek engedélyezése: Ezek közé tartozhat az aláírások összesítése, napi tranzakciós limit beállítása, vészhelyzeti fiók befagyasztása, fehérlistázás és adatvédelmet biztosító alkalmazások.
Idő és gáz megtakarítása: Mivel a csomagolók egy tranzakcióba csomagolhatják a Felhasználói Műveletekhez tartozó objektumokat, időt és gázköltséget takaríthatnak meg.
🤔 Mit jelent mindez egy végfelhasználó aspektusából❓
Az egykori tervek szerint, úgy vélték az ERC-4337 véget vethet a kriptotárca felhasználói nehézségeinek, és ezzel növelheti a globális elfogadottság jelenségét.
✅ Íme néhány kiemelt lehetőség, amit az ERC-4337 lehetővé tehet:
Kriptotárca beállítása: Nem szükséges a seed kifejezések (12/24 helyreállító kifejezés – privát kulcs) leírása. A beállítás gyors és egyszerű lehet néhány kattintással.
Stresszmentes fiók-helyreállítás (tárca): A felhasználóknak már nem kell aggódniuk a seed kifejezések elvesztése miatt, mivel a többfaktoros hitelesítés és a fiók-helyreállítás most már lehetséges.
Az ERC-4337 bevezeti a már említett Felhasználói Fiók absztrakció mellett, a „Social Recovery” funkciót is, s ezek így együtt, lehetővé teszik a tárca visszaszerzését anélkül, hogy a felhasználónak szüksége lenne a seed kifejezésre. Ez a mechanizmus lehetővé teszi, hogy a felhasználó előre meghatározott megbízható személyeket vagy eszközöket jelöljön ki, akik segíthetnek a tárca visszaállításában.
Az ERC-4337 „Social Recovery” funkciója nem osztja meg a privát kulcsot más megbízható személyekkel (például családtagod) vagy eszközökkel. Ehelyett a kijelölt „guardian”-ok (akik lehetnek emberek vagy eszközök) egy helyreállítási folyamat során segíthetnek visszaszerezni a hozzáférést a tárcához. A „guardian”-ok jóváhagyásával új kulcs generálható, amely hozzáférést biztosít a tárcához. Természetesen ezek a „guardian”-ok új kulcsot nem tudnak generálni csak akkor, ha ezt a folyamatot maga a felhasználó indítja meg.
✅További kiemelt lehetőségek:
Felhasználóbarát kriptotárca funkciók: A felhasználók számos testreszabott szolgáltatást élvezhetnek, mint például az automatikus fizetés, az előzetes tranzakciójóváhagyás és az összekapcsolt tranzakciók. A lehetőségek határtalanok.
Jobb biztonság: A tárcák potenciálisan biztonságosabbak lehetnek, mivel csökken az emberi hibák lehetősége — többé nem kell a privát kulcsot megjegyezni a matrac alatt rejtegetni! Az ERC-4337 elméletileg simább és barátságosabb felhasználói élményt nyújthat, így eltávolítva egy jelentős akadályt a tömeges elfogadás elől.
Befolyásolni semmiképpen sem szeretnélek Téged, de azért tudatni kívánom veled, hogy úgy látszik én konzervatív vagyok, mert továbbra is inkább felelősségteljesen gondoskodok a privát kulcsomról. A másik pedig, hiába volt már rég a 2023. március, amíg valami beér a köztudatba és ténylegesen egy technológia kiforrottá is válik, – nyílt forráskódú fejlesztéseknél erre az esély mindig megvan – azért az rengeteg idő.
ℹ️ Valamint rámutatnék arra, különösen a „Social Recovery” funkció vonatkozásában, hogy szakmailag támpontot sem lehet ebből még kinyerni, hiszen az ERC-4337 fejlesztéseivel és verziókövetéseivel kapcsolatos, hivatalos 🔗 GitHUB forrásban sem lelhető fel ezzel kapcsolatban semmi. Csak az látszik, hogy aktívan tevékenykednek.
Rugalmasság a gázdíj fizetések szempontjából: Az ERC-4337 által működtetett tárcák mostantól bármilyen ERC-20 tokennel és egyéb szabványt követő tokenekkel is fizethetnek gázdíjakat. A fejlesztők olyan tárcákat építhetnek, amelyek lehetővé teszik a gázdíjak bármilyen tokennel és akár fiat pénzzel történő fizetését is.
Vajon a jövőben kik élnek majd az ERC-4337 szabvány lehetőségeivel❓
Hát például a KCC (KuCoin Community Chain – KCC 2.0) tervei között szerepelt, hogy a Felhasználói Fiók absztrakciót használni fogja, hogy növelje a rugalmasságot és a funkcionalitást a blokklánc műveleteiben.
Ígéretük szerint a KCC 2.0 kifejezetten támogatni fogja az ERC-4337 szabványt követő tárcákat.
Jelenleg, az egy esztendővel ezelőtt frissített dokumentációs anyaguk szerint, még javában a KCC 1.0 -ban tevékenykednek FORRÁS. Node, ahogy szokták mondani, a jó dolgok lassan látnak napvilágot. 😉
Zárógondolataim
A kriptotárcák terminológiái – mint például a seed kifejezések, privát kulcsok és nyilvános kulcsok – ijesztőek lehetnek az új felhasználók számára. A kriptotárcák használata még mindig kihívást jelent néhány ember számára. Sokan egyetértenek abban, hogy az átlagfelhasználó kriptofelületének a lehető legegyszerűbbnek kell lennie az elterjedés felgyorsítása érdekében.
Magam részéről az említett „sokakkal” egyáltalán nem értek egyet❗
Aminek a nézetét osztom:
Azzal egyetértek, hogy az elterjedéshez valóban, sajnos az egyszerű megoldás a szükséges.
Az egyszerűség nézete távol áll tőlem:
Azonban, azzal már egyáltalán nem értek egyet, hogy az egyszerűség a biztonság zálogja lenne. Az egyszerű megoldásoknak mindig ára van. Komolyan mondom, ha az ember mint tényező, nem úgy lenne összerakva a Teremtő által, hogy mindig meg kell neki mondani, mit és hogy csináljon, hanem saját felelősségteljes lépései lennének, akkor a nemzetállamokra, de az általam idézőjelben jelölni szokott „nemzetállamokra”, meg végképp sosem lett volna szükség.
Az egyszerűség, mindig redukálja a gondolkodás képességét. Értem én, üzleti szempontból nyilván, mindig hülye-biztos metodikára van szükség. De miről szól az Üzleti Élet❓ Arról, hogy ne gondolkodj, s csukott szemmel elfogadd a blanketta szerződéseket (például ÁSZF) 😂
Az ERC-4337 megteremti a technikai alapot az igazán kreatív kriptotárcák támogatásához. Amit a fejlesztők erre alapozva létrehozhatnak, megváltoztathatja a kripto technológia és a felhasználók közötti fő kapcsolódási pontot. Az ERC-4337 felhasználói élményre és a kripto iparágra gyakorolt hatását, mindenképpen érdemes figyelemmel kísérni a következő években.
👋 Köszönöm szépen, hogy ismét engem választottál, s velem tartottál a pénzügyi innovációban. Ne aggódj, jövök még 😊