zerokn0wledge

Intents plus account abstraction: the next crypto UX leap

Quote2,148 words
ExplainerEthereumDeFiToolingERC-4337Account Abstraction

Argues crypto UX is like 1960s computing and that ERC-4337 smart accounts plus intents will fix it. Details the ERC-4337 flow (user operations, entry point, paymasters, bundlers) and the four-layer intent ecosystem.

Key claims
ERC-4337 enables gasless txs, one-click bundling and session keys
Intent ecosystem splits into expression, translation, vertical demand and composite coordination layers
Intents in smart wallets could be expressed in natural language
Are you ready for mass adoption anon? The quantum leap we need is closes than you think! 🚀 Crypto UX today is on the level of computers in the 1960s. Intents 🤝 Account Abstraction (AA) will change this! Enter the future of web3 UX 🔮 ✨ Today I will walk you through the biggest UX revolution crypto has ever seen. I will cover: ▶️ Crypto UX Today ▶️ Account Abstraction (ERC-4337) ▶️ Intents ▶️ Intents 🤝 AA ▶️ AI just joined the Chat 📱 Crypto UX Today The traditional way to interact with a dApp is by sending a transaction to the Ethereum Virtual Machine (EVM) using your wallet (EOA). However, this process has always been complicated. Users are responsible for managing everything, from the wallet to the nonce, and calculating and paying gas. This complexity is similar to the command line interfaces of old computers, where users had to type every detail on the command line. It was difficult to navigate and required significant knowledge to operate. The process involves creating and maintaining an EOA (externally owned account) wallet. Users need to understand what it is, save the seed phrases, and be comfortable with the absence of a recovery mechanism. Additionally, almost every interaction on a dApp requires a transaction, which leads to numerous unnecessary steps. These include approval transactions, signature pop-ups at each step, and multiple transactions to complete a single task. Thus, the key friction points in web3 UX is twofold: ▶️ Wallets / accounts ▶️ Transactions / interactions.‍ 🌟 Account Abstraction One significant step in addressing the UX limitations of Externally Owned Accounts (EOAs) has been the implementation of Account Abstraction on Ethereum. Account Abstraction has garnered attention recently, and rightfully so, as it brings significant UX improvements. It enables "programmability" through smart accounts and standardized implementation of relayers. The development of account abstraction was made possible by the introduction and maturation of ERC-4337. Proposed by Ansgar Dietrichs, ERC-4337 aims to enhance functionalities by upgrading the account structure itself. It introduces the concept of "user operation" for more flexible transactions without the need to worry about nonces or complex transaction fee issues. More specifically, ERC-4337 works as follows: 1️⃣ User Operations: As a user, you create a "User Operation," which encapsulates the intended transaction, like a smart contract function call. This operation includes not just the action, but also the max fee you're willing to pay, and a nonce to prevent replay attacks. 2️⃣ Entry Point Contract: Instead of sending this operation to the network directly, you send it to an "Entry Point Contract" on the Ethereum blockchain. This contract acts as a universal processor for these User Operations. 3️⃣ Validation: Upon receiving a User Operation, the Entry Point Contract performs validation. This involves signature verification and ensuring that the nonce is correct and that the operation hasn't been submitted before. 4️⃣ Gas and Payment Flexibility: Traditionally, transactions require gas to be paid in ETH by the sender. EIP-4337 allows for different payment methods, including third parties or "Paymasters" who agree to cover transaction fees for the users, often for their own business reasons. 5️⃣ Bundlers: These are nodes or services that bundle multiple User Operations and submit them to the Entry Point Contract. They're incentivized to do so because they receive the transaction fees, which can be paid by the user, a paymaster, or even out of the bundler's own pocket in anticipation of future rewards. 6️⃣ Execution: If the User Operation is valid, the Entry Point Contract then executes the associated transaction, which may involve interacting with other contracts or transferring ETH. 7️⃣ User Wallet Contracts: Users interact with the system through User Wallet Contracts, which are smart contracts with customizable logic for transaction execution rules, enhancing security and control over transactions. 8️⃣ Security Measures: To prevent misuse, the system includes rigorous security checks at every step, especially within the Entry Point Contract, to ensure the integrity of transactions. The account abstraction ecosystem is already maturing. On a high level, it can be roughly divided (in order of increasing user proximity), into: ▶️ Public chain layer ▶️ Private key management layer ▶️ AA Stack layer (Paymaster and Bundler) ▶️ Functionality layer (smart account) ▶️ Application layer (user interaction) Smart Accounts make it much easier for anyone to onboard. Newbies can create a wallet via email or fingerprints, eliminating the need to save long seed phrases. Additionally, there is the possibility of recovering your account. Most importantly, smart accounts enable programmability, allowing developers to customize all aspects of the user experience to meet specific needs. AA also enables the benefits of meta-transactions on steroids: ▶️ Users can enjoy gasless transactions and paying gas in any token ▶️ AA enables one-click UX where multiple transactions get bundled together into a single transaction for the user ▶️ AA also allows the dApp to remove redundant steps like approvals & tons of pop-up signatures with session keys The one-click intuitive user experience (UX) enabled by AA is akin to the evolution of graphical user interfaces (GUIs). Compared to command line interfaces, GUIs were intuitive. Instead of writing lines of code, you could accomplish tasks with just a few mouse clicks. Each click represented a specific action, with many underlying steps abstracted in the background. Importantly, GUIs, like account abstraction, made computers accessible to the general public and non-technical users. If you want to learn more about the benefits & promises of AA, check out my thread below! ⬇️ 🔗 twitter.com/expctchaos/status/1642889752839077888 🚀 Intents As GUIs evolved, interacting with apps became more natural (e.g. touch, gestures, voice, etc.). For example, instead of opening Spotify, typing the song name, and clicking on play, you can simply say 'Alexa! Play Calm Down'. All those steps are abstracted from you. This is what intents aim to achieve for web3 interactions. Users can simply state what they want, such as 'I want to earn yield on ETH. I have USDC'. Instead of manually performing all the steps - swapping USDC to ETH, finding the protocol with the best yield, approving, and supplying ETH liquidity - the process is automated. Enter the world of intents! 🤖✨ The primary objective of introducing intent-centric design is to relieve users from the burden of actively managing and monitoring underlying services while preserving their autonomy. This involves allowing users to specify only the starting and ending points of their requirements. By adopting this approach, the user's perspective shifts from being transaction-based to demand-based. Let's illustrate this with a simple example ⬇️ One of the most common on-chain operations can be expressed as follows: "I have 10 ETH and I want to lend it on Compound at a 2% annual yield." But is this expression truly reflective of your actual desire? Most likely, it is not. Your actual desire is probably: "I have 10 ETH and I want to use them to access the highest possible yield in a secure protocol on chain X or Y." The phrase "lend it on Compound at a 2% annual yield" represents a transaction intended to fulfill the need (intent). Therefore, intent-centric design aims to find the optimal path from expression to desired outcome. I have covered this in-depth in my introductory post yesterday! ⬇️ 🔗 twitter.com/zerokn0wledge_/status/1724441537453371804 On a high level, the entire intent-centric ecosystem can be segmented into four layers: ▶️ User Expression Interface Layer ▶️ Translation Layer (from Expression to Intent) ▶️ Vertical Demand Integration Layer ▶️ Composite Demand Coordination Layer 📱 The User Expression Interface Layer is designed to capture genuine user needs. 🔀 The Translation Layer translates genuine user needs into a language that facilitates unified communication between machines, developers, and even among developers. 🤝 The Vertical Demand Integration Layer assimilates specific category demands and matches them with the appropriate Solvers to address these demands. 🤖 The Composite Demand Coordination Layer decomposes complex demands into specific categories and coordinates various specific category solvers to respond based on a specific objective or logic. When all four layers reach a certain level of maturity, it results in the following user journey: ▶️ A user expresses their needs through any User Expression Entry point. ▶️ The Translation Layer interprets their needs as intents described in a universally coordinated machine language. ▶️ The Coordination Layer breaks down the intents and solvers from the Vertical Demand Integration Layer compete to efficiently and safely execute these intents. ▶️ Finally, the Coordination Layer integrates the outcomes of the user's specific intents into the outcome of a complex intent. To illustrate this, let's consider a practical example: A user of Coinbase learns about the launch of the Base Chain and wants to try a gaming application on Base. The user understands that they need to mint an NFT of the game to begin the process. Assuming the user has already played Web3 games in the Polygon ecosystem and holds Polygon's MATIC tokens, they would need to do the following to participate in the game: 1️⃣ Find a third-party cross-chain bridge to transfer their MATIC tokens to the Ethereum Mainnet. 2️⃣ Use a DEX to exchange MATIC for native ETH. 3️⃣ Utilize Base's bridge to transfer ETH tokens onto the Base chain. 4️⃣ Mint the NFT. 5️⃣ Start playing the game. However, even with the help of account abstraction-based batch transactions or gasless transactions, the entry barrier remains high. We understand the user's intention to mint an NFT on Base and start playing the game. The user knows exactly what they want to achieve, but the process is overly complex. If the intent-centric field matures, its solutions could simplify the structuring, decomposition, and execution of user intents. From an end-user perspective, users would interact with wallets or apps compatible with the intent-centric protocol or express their intentions in an LLM UI similar to ChatGPT. More on this shortly! The developer-integrated intent-centric framework would automatically structure the intent, and the intent bidders and solvers would handle the final decomposition and execution. For the user, the experience would be as simple as clicking a button or uttering a phrase. ‍ 🤝 Intents meet AA While intents and account abstraction (AA) are related, they play distinct roles in the ecosystem. Rather than being tightly bound, they have a complementary synergy. In the past, intents primarily addressed simpler needs. However, with technological advancements, we can now tackle more complex challenges that involve multiple conditions, multifaceted steps, and different execution environments. In such advanced scenarios, AI agents may even be involved. To better understand this concept, consider the following examples: ▶️ Telegram bots exemplify intent innovation. Although the backend still utilizes externally owned account (EOA) wallets, the user experience remains unaffected. ▶️ Imagine a situation where a user wants to buy $1,000 worth of Ethereum. In this case, the solver determines parameters such as chain selection, the decentralized exchange (DEX), and slippage tolerance. The resulting user operation then interacts with an EOA, multi-party computation, or AA wallet on the backend. ▶️ Projects like 1inch's DEX aggregator are pioneers in the realm of intentionality. Here, users simply state their input and slippage tolerance, leaving the contract to find the optimal operation. Similarly, Flashbots auction search, with its transaction order preference, showcases the intent of the searcher. As the digital world evolves, we can expect to see various forms of intent emerging. In contrast, AA focuses on backend operations, streamlining the execution of user commands and providing a seamless and efficient experience. In summary, intents provide an abstraction layer on top of the capabilities of account abstraction. Users can utilize smart accounts as their base wallets to access dApps and manage their assets. ERC4337 offers a standardized way to enable users to authorize third parties to execute order flows on their behalf. Consequently, there is a strong synergy between smart accounts and intents. 🤖 AI just joined the Chat The idea of "intent" introduces the concept of an intent-centric LLM architecture, where the architecture is centered around the user's intent. Currently, protocols and infrastructures related to intent-centric concepts are integrated into the interaction layer between users and crypto. By utilizing LLM, this setup aims to enhance the experience of on-chain interactions. LLM+Crypto presents a new approach to human-computer interaction that enables the direct translation of user intent into smart contract invocations. Users can express their intent in a similar manner to using Apple's Siri, and robots/AI agents/third-party resolvers assist in carrying out complex on-chain operations. In the future, intent-based Web3 interactions have the potential to significantly simplify user interactions on the blockchain. AI is becoming the new user interface. Nowadays, more and more Web3 projects are exploring the possibilities of intent-based architectures. These architectures, whether they are intent-based dApps or intent-based underlying architectures, unleash the potential of intent from different perspectives. That's a wrap for today! I hope you enjoyed this deep dive! 🫡 Make sure to follow me @zerokn0wledge_ and stay tuned for more insights into the world of intents and AA. 🤖✨
QUOTING @zerokn0wledge_
WTF are Intents and why you should care? Intents will change the game, anon! 🚀 Are you ready to capitalize on it or are you fading yet another narrative? 💸 Let me walk you through: 🤖 The concept of Intents ⚙️ The Tech behind it 🚀 Use Cases 🔮 Outlook 🔍 Conclusion ⚠️ WARNING:
First image of the post

3 more images on X

Open on X
zerokn0wledge avatar
Working together

Research, advisory and builds for deep-tech teams.