Η αφαίρεση λογαριασμών στο Ethereum έχει δύο καθιερωμένες διευθύνσεις που αξίζει να απομνημονεύσετε. Το EntryPoint v0.6 βρίσκεται στη διεύθυνση 0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789. Το EntryPoint v0.7, που αναπτύχθηκε στις αρχές του 2024, βρίσκεται στη διεύθυνση 0x0000000071727De22E5E9d8BAf0edAc6f37da032. Κάθε συναλλαγή ERC-4337 στο mainnet, στο Arbitrum, στο Optimism, στο Base, στο Polygon και στις περισσότερες άλλες αλυσίδες EVM δρομολογείται μέσω ενός από αυτά τα δύο singleton συμβόλαια. Αν κατανοείτε τι κάνουν αυτά τα συμβόλαια και τους πέντε ακόμη ρόλους γύρω τους, κατανοείτε το ERC-4337.
Αυτό είναι το δεύτερο μέρος της σειράς μας για τους έξυπνους λογαριασμούς. Στο πρώτο μέρος εξηγήσαμε γιατί οι EOA δεν είναι καλή προεπιλογή. Εδώ θα δούμε τι συμβαίνει στο παρασκήνιο: τους έξι ρόλους, τη δομή UserOperation, τι ακριβώς συμβαίνει όταν ανταλλάσσετε ένα token από έξυπνο λογαριασμό, τις αλλαγές από την έκδοση v0.6 στην v0.7, τους paymaster, τα δημόσια alt-mempool σε σύγκριση με τους ιδιωτικούς bundler και το πρόσθετο κόστος που μπορείτε να περιμένετε.
Οι έξι ρόλοι σε ένα διάγραμμα
Το ERC-4337 χωρίζει όσα κάνει ένας EOA σε ένα βήμα σε έξι συνεργαζόμενους ρόλους. Κανένας τους δεν απαιτούσε hard fork του Ethereum — ολόκληρο το σύστημα αποτελείται από συμβόλαια και υποδομή εκτός αλυσίδας.
- Αποστολέας (ο έξυπνος λογαριασμός): Ένα συμβατικό πορτοφόλι που διατηρεί τα περιουσιακά σας στοιχεία και υλοποιεί το
validateUserOp. Από την οπτική κάθε DApp με την οποία αλληλεπιδρά, είναι τοmsg.sender. Παραδείγματα: Safe, Kernel, Biconomy Nexus, Coinbase Smart Wallet, Light Account της Alchemy. - UserOperation: Μια δομή ψευδοσυναλλαγής (όχι πραγματική συναλλαγή Ethereum) που περιγράφει τι θέλει να κάνει ο αποστολέας. Οι χρήστες υπογράφουν UserOps, όχι συναλλαγές.
- Bundler: Ένας κόμβος εκτός αλυσίδας που συλλέγει UserOps από ένα mempool, τα προσομοιώνει, τα συγκεντρώνει σε μία κλήση
handleOpsκαι πληρώνει το gas του L1. Οι bundler κερδίζουν τη διαφορά ανάμεσα στην αποζημίωση που λαμβάνουν από τον αποστολέα (ή τον paymaster) και στο ποσό που πληρώνουν στον validator. - EntryPoint: Το έμπιστο singleton συμβόλαιο που επεξεργάζεται το bundle, καλεί το
validateUserOpκάθε αποστολέα, εκτελεί τα δεδομένα της κλήσης και διαχειρίζεται τις επιστροφές χρημάτων και τις αναστροφές. Σε κάθε αλυσίδα υπάρχει ακριβώς ένα EntryPoint ανά έκδοση. - Paymaster (προαιρετικός): Ένα συμβόλαιο που συμφωνεί να πληρώνει το gas για λογαριασμό ενός αποστολέα, είτε με χορηγία (χωρίς χρέωση για τον χρήστη) είτε με αντάλλαγμα ένα ERC-20 όπως το USDC.
- Aggregator (προαιρετικό): Ένα συμβόλαιο που επικυρώνει πολλά UserOps με έναν έλεγχο υπογραφής — χρήσιμο για σχήματα BLS ή αποδείξεις zk. Σήμερα χρησιμοποιείται σπάνια σε παραγωγικό περιβάλλον.
Έχετε κατά νου αυτούς τους έξι ρόλους. Το υπόλοιπο άρθρο αφορά μόνο την επικοινωνία μεταξύ τους.
Η δομή UserOperation
Μια UserOperation είναι ένα σύνολο πεδίων φιλικό προς το JSON-RPC, το οποίο, αφού υπογραφεί, εκφράζει την πρόθεση χωρίς να την καταχωρίζει ακόμη στο L1. Η διάταξη της v0.7 έχει 11 λογικά πεδία:
sender— η διεύθυνση του έξυπνου λογαριασμού.nonce— μια τιμή 256 bit, όπου τα ανώτερα 192 bit αποτελούν ένα κλειδί (παράλληλη λωρίδα nonce) και τα κατώτερα 64 bit είναι μια ακολουθία. Έτσι το ERC-4337 υποστηρίζει παράλληλα nonce, σε αντίθεση με τους EOA, όπου όλες οι συναλλαγές εκτελούνται σειριακά.factoryκαιfactoryData— για την πρώτη ανάπτυξη μέσω CREATE2· μετά την ανάπτυξη είναι null.callData— η κλήση που πρέπει να κάνει ο έξυπνος λογαριασμός μετά την επικύρωση.callGasLimit,verificationGasLimit,preVerificationGas— τρία ξεχωριστά όρια gas.maxFeePerGas,maxPriorityFeePerGas— έχουν την ίδια σημασιολογία EIP-1559 με μια συνηθισμένη συναλλαγή.- Το
paymasterAndData(v0.6) χωρίστηκε σταpaymaster,paymasterVerificationGasLimit,paymasterPostOpGasLimit,paymasterData(v0.7). signature— αδιαφανή bytes που ερμηνεύει ο έξυπνος λογαριασμός με βάση το δικό τουvalidateUserOp.
Το πορτοφόλι επιλέγει το σχήμα υπογραφής. Η ECDSA πάνω στην secp256k1 είναι συνηθισμένη επιλογή, αλλά η επαλήθευση P-256/passkey, οι υπογραφές πολλαπλών υπογραφόντων, τα όρια κοινωνικής ανάκτησης και οι υπογράφοντες με κλειδιά συνεδρίας λειτουργούν όλα μέσω της ίδιας διεπαφής. Αυτή η ευελιξία είναι όλη η ουσία.
Από την αρχή ως το τέλος: τι συμβαίνει όταν ένας έξυπνος λογαριασμός ανταλλάσσει USDC με ETH
Ακολουθήστε μια πραγματική ανταλλαγή για να δείτε τους ρόλους να ενεργοποιούνται με τη σειρά.
- Ο χρήστης πατά «Ανταλλαγή» στο περιβάλλον του πορτοφολιού. Το πορτοφόλι δημιουργεί μια UserOperation:
sender = 0xUserSafe,callData = swapUSDCforETH(amount)με προορισμό το Uniswap. - Εκτίμηση gas. Το πορτοφόλι καλεί το
eth_estimateUserOperationGasσε ένα bundler RPC. Ο bundler προσομοιώνει την πράξη μέσω του EntryPoint και επιστρέφει τα τρία όρια gas. - Ο χρήστης υπογράφει. Το πορτοφόλι κατακερματίζει την UserOperation μαζί με τη διεύθυνση του EntryPoint και το chain ID, ζητά από τον χρήστη να την υπογράψει (με passkey, hardware key ή άλλο τρόπο) και επισυνάπτει την υπογραφή.
- Υποβολή. Η υπογεγραμμένη UserOperation αποστέλλεται μέσω του
eth_sendUserOperationσε έναν ή περισσότερους bundler. Μπαίνει στο alt-mempool — ένα ξεχωριστό δίκτυο P2P από το κανονικό mempool συναλλαγών του Ethereum. - Προσομοίωση από τον bundler. Ο bundler προσομοιώνει ξανά την πράξη με το
eth_callέναντι τουsimulateValidation. Ελέγχει τους κανόνες πρόσβασης αποθήκευσης του ERC-7562: κατά την επικύρωση, μια UserOperation μπορεί να έχει πρόσβαση μόνο στη δική της αποθήκευση· διαφορετικά, ο bundler κινδυνεύει να δεχτεί επίθεση εξάντλησης πόρων. - Συγκέντρωση. Ο bundler συνδυάζει αυτή την UserOperation με έως και ~10 άλλες σε μία κλήση
handleOps([...userOps], beneficiary)προς το EntryPoint. - Εκτέλεση στην αλυσίδα. Το EntryPoint επεξεργάζεται τις πράξεις μία προς μία: για καθεμία, καλεί το
validateUserOpστον αποστολέα, αφαιρεί το ποσό της προκαταβολής και έπειτα εκτελεί τοcallData. Η ανταλλαγή στο Uniswap εκτελείται από τον έξυπνο λογαριασμό. - Επιστροφή χρημάτων. Το EntryPoint επιστρέφει στον αποστολέα (ή στον paymaster) το gas που δεν χρησιμοποιήθηκε και πληρώνει τη διεύθυνση δικαιούχου του bundler.
Αν αποτύχει το βήμα 5, ο bundler απορρίπτει την πράξη και ο χρήστης βλέπει έναν κωδικό σφάλματος AAxx. Οι συνηθέστεροι είναι οι AA21 (δεν καταβλήθηκε η προκαταβολή), AA23 (σφάλμα υπογραφής), AA25 (μη έγκυρο nonce), AA33 (έγινε αναστροφή από τον paymaster) και AA40 (υπέρβαση του ορίου gas επαλήθευσης). Απομνημονεύστε αυτόν τον πίνακα — θα τους συναντήσετε.
EntryPoint v0.6 έναντι v0.7
Η v0.6 κυκλοφόρησε τον Μάρτιο του 2023 στη διεύθυνση 0x5FF1…2789. Λειτουργούσε, αλλά είχε τρία επίμονα προβλήματα: ένα ενιαίο blob paymasterAndData που συγχώνευε τρεις διαστάσεις gas, δύσχρηστη συσκευασία initCode και λογιστική gas που χρέωνε υπερβολικά τους αποστολείς. Η v0.7 διόρθωσε και τα τρία.
Αλλαγές της v0.7 που αξίζει να γνωρίζετε:
- Διεύθυνση:
0x0000000071727De22E5E9d8BAf0edAc6f37da032(προσέξτε τα μηδενικά στην αρχή — η διεύθυνση επιλέχθηκε μέσω vanity mining ώστε το gas των δεδομένων κλήσης να είναι φθηνότερο, καθώς κάθε byte μηδενικής τιμής κοστίζει 4 gas, έναντι 16 για κάθε byte μη μηδενικής τιμής). - Διαχωρισμός πεδίων paymaster: τα
paymaster,paymasterVerificationGasLimit,paymasterPostOpGasLimit,paymasterDataείναι πλέον ξεχωριστά πεδία. Έτσι η εκτίμηση είναι ευκολότερη και είναι πιο δύσκολο να παραλείψετε κάποιο όριο. - Διαχωρισμός factory: ίδια λογική — τα
factoryκαιfactoryDataείναι ξεχωριστά πεδία αντί για ένα συσκευασμένοinitCode. - Ποινή για αχρησιμοποίητο gas: οι αποστολείς χρεώνονται το 10% του αχρησιμοποίητου
callGasLimit/paymasterPostOpGasLimit, κάτι που αποθαρρύνει τις πράξεις με υπερβολικά υψηλές εκτιμήσεις. - Συμβατότητα με EIP-7702: η v0.7 πρόσθεσε την υποδομή που επιτρέπει σε έναν κανονικό EOA να εκχωρεί προσωρινά αρμοδιότητες σε μια υλοποίηση έξυπνου λογαριασμού. Αυτή αποτέλεσε τη βάση για τη διαδρομή αναβάθμισης EIP-7702 που κυκλοφόρησε στο Pectra.
Η v0.6 εξακολουθεί να λειτουργεί και να χρησιμοποιείται — πολλά πορτοφόλια δεν κυκλοφόρησαν συμβατή μονάδα v0.7 παρά μόνο αρκετά μέσα στο 2024. Οι περισσότερες αλυσίδες διατηρούν και τα δύο EntryPoint σε λειτουργία παράλληλα για χρόνια.
Paymaster: ποιος πληρώνει το gas
Ένας paymaster είναι ένα συμβόλαιο που διατηρεί stake σε ETH στο EntryPoint και συμφωνεί να καλύπτει το gas για UserOperation που συμμορφώνονται με την πολιτική του. Κυριαρχούν τρεις τύποι:
- Paymaster επαλήθευσης (με χορηγία). Το backend υπογράφει μια έγκριση εκτός αλυσίδας· ο paymaster επαληθεύει την υπογραφή στην αλυσίδα και πληρώνει. Χρησιμοποιείται από εφαρμογές που θέλουν να προσφέρουν έναρξη χρήσης χωρίς χρέωση gas — Coinbase Smart Wallet, Farcaster Frames και οι περισσότερες εκδόσεις NFT.
- Paymaster ERC-20. Ο χρήστης πληρώνει σε USDC, USDT ή DAI· ο paymaster ανταλλάσσει τα token με ETH στο backend (ή διατηρεί απόθεμα ETH). Οι Pimlico, Biconomy και Stackup διαθέτουν δημόσιους paymaster.
- Paymaster token με permit. Χρησιμοποιεί permit του EIP-2612, ώστε ο χρήστης να υπογράφει με μία υπογραφή τόσο την UserOperation όσο και μια έγκριση token.
Η validatePaymasterUserOp του paymaster εκτελείται κατά τη φάση επικύρωσης του EntryPoint. Αν γίνει αναστροφή, εμφανίζεται το AA33. Αν εξαντληθεί το stake του, το EntryPoint τού επιβάλλει ποινή και ο bundler επωμίζεται τη ζημία — γι' αυτό οι bundler διατηρούν λίστες αξιοπιστίας paymaster. Το ERC-7562 κωδικοποιεί αυτούς τους κανόνες αξιοπιστίας, ώστε το mempool του bundler να παραμένει ανθεκτικό στο spam. Οι ίδιες βασικές αρχές εξηγούν γιατί οι βέλτιστες πρακτικές εγκρίσεων DeFi και multisig εφαρμόζονται ομαλά στον κόσμο του 4337: ίδιες απειλές, νέο περιτύλιγμα.
Δημόσιο alt-mempool έναντι ιδιωτικού bundler
Υπάρχουν δύο τρόποι να καταχωρίσετε ένα UserOp στο blockchain.
Δημόσιο alt-mempool: Οι bundlers που συμμορφώνονται με το ERC-7562 διαδίδουν τα UserOp μέσω ενός δικτύου libp2p. Όποιος διαχειρίζεται κόμβο Pimlico, Stackup, Alchemy, Etherspot ή Voltaire μπορεί να παραλάβει το δικό σας. Αυτή η διαδικασία δεν απαιτεί άδεια και είναι ανθεκτική στη λογοκρισία, όμως εκτίθεστε στις ίδιες ανησυχίες για MEV όπως και με τις συνηθισμένες συναλλαγές Ethereum: οι searchers μπορούν να δουν το op σας πριν συμπεριληφθεί.
Ιδιωτικός bundler: Στέλνετε το eth_sendUserOperation απευθείας στο RPC ενός παρόχου. Ο πάροχος προσομοιώνει, ομαδοποιεί και υποβάλλει τη συναλλαγή ιδιωτικά (συχνά μέσω Flashbots). Η διαδικασία είναι ταχύτερη και προστατεύει από MEV, αλλά πρέπει να εμπιστευτείτε τον bundler ότι δεν θα λογοκρίνει τη συναλλαγή σας ούτε θα προηγηθεί αυτής. Το 2026, τα περισσότερα πορτοφόλια για καταναλωτές χρησιμοποιούν ιδιωτικούς bundlers από προεπιλογή.
Ο συμβιβασμός είναι ανάλογος με εκείνον ανάμεσα στο δημόσιο mempool και το Flashbots Protect για τις συνηθισμένες συναλλαγές. Αν δεν έχετε δει από την εποχή του L1 τον κύκλο ζωής μιας συναλλαγής, αυτή η εισαγωγή εξηγεί τι αλλάζει όταν αναλαμβάνει ο bundler.
Aggregators, υιοθέτηση και κόστος
Aggregators είναι συμβόλαια που επικυρώνουν παρτίδες με έναν έλεγχο υπογραφής. Η καθιερωμένη χρήση τους είναι το BLS: συγκεντρώνετε 50 UserOp υπογεγραμμένα με BLS, συνδυάζετε τις υπογραφές σε έναν έλεγχο pairing και εξοικονομείτε περίπου 95% στο gas των υπογραφών. Η υιοθέτηση ήταν αργή, επειδή είναι δύσκολο να δημιουργηθούν πορτοφόλια που υπογράφουν με BLS και η εξοικονόμηση gas αποδίδει μόνο σε μεγάλο όγκο. Στα μέσα του 2026, λιγότερο από το 1% των UserOp στο mainnet χρησιμοποιεί aggregators.
Στοιχεία υιοθέτησης (Q1 2026 από το bundlebear.com): περίπου 380 εκατομμύρια UserOp συνολικά σε όλα τα chain, με τα Base, Polygon και Arbitrum να αντιστοιχούν στην πλειονότητα. Το μερίδιο του mainnet είναι περίπου 6–8% — το μικρότερο σε όγκο, αλλά το μεγαλύτερο ως προς την αξία που μεταφέρεται. Τα Coinbase Smart Wallet, Farcaster και Argent κυριαρχούν στη χρήση από καταναλωτές.
Επιπλέον κόστος: ένα UserOp v0.7 κοστίζει περίπου 30,000–40,000 gas περισσότερο από την αντίστοιχη συναλλαγή EOA — αυτό καλύπτει τον βρόχο του EntryPoint, την επικύρωση και τη διαχείριση της παρτίδας. Στο mainnet με 20 gwei, αντιστοιχεί σε κλάσμα του δολαρίου ανά op. Η αρχική ανάπτυξη λογαριασμού μέσω του factoryData προσθέτει περίπου 250,000 gas. Στα L2, όπου το calldata αποτελεί το μεγαλύτερο μέρος του κόστους, η επιβάρυνση είναι μονοψήφιο ποσοστό. Τα UserOp με χορηγία μεταφέρουν αυτό το κόστος στο dApp· γι’ αυτό βλέπετε δωρεάν συναλλαγές σε εφαρμογές για καταναλωτές, αλλά όχι σε σοβαρές εφαρμογές DeFi. Η ευρύτερη εισαγωγή στις χρεώσεις συναλλαγών εξηγεί πώς κατανέμεται αυτό το επιπλέον κόστος σε διαφορετικές αγορές χρεώσεων.
Με λίγα λόγια: το ERC-4337 περιλαμβάνει έξι ρόλους (sender, UserOp, bundler, EntryPoint, paymaster, aggregator), ένα struct, δύο διευθύνσεις EntryPoint που πρέπει να απομνημονεύσετε και επιπλέον κόστος περίπου 30–40k gas, με αντάλλαγμα αυθαίρετα σχήματα υπογραφών, χορηγία gas, ομαδοποίηση και παράλληλα nonce. Το τρίτο μέρος αυτής της σειράς περνά στο EIP-7702 — την παράλληλη διαδρομή του Pectra, που επιτρέπει στο υπάρχον EOA σας να αξιοποιήσει τον ίδιο μηχανισμό χωρίς να αλλάξει διεύθυνση.



