Inspiration
The current Web2 is based on Apps, which are isolated and closed. As a result, few super Apps become giant platforms and suppress other innovative and thriving small business to maximize their self-interests for centralization and monopoly. With the barriers among Apps, users have to go through each App by themselves to find and get what they need, which is extremely inconvenient and inefficient. Therefore, to enable users to directly meet their demands, we need Web3 to make Apps fully interconnected, interoperable, and composable with each other without barriers and isolation. However, the threshold, complexity and difficulty of user interactions and operations in Web3 are still too high to make Web3 usable for the ordinary users. For instance, if users want to convert USDT stablecoin in Ethereum into ARB token on Arbitrum, they need to find a suitable cross-chain bridge, connect to their account, then transfer their USDT and gas fee from Ethereum to Arbitrum, and then find a suitable DEX to exchange USDT for ARB with gas fee. It's so challenging, complicated, and troublesome for most users to understand and finish these steps by themselves. They have no way to simply express "I want to convert USDT into ARB", and then directly get ARB without taking all those actions above by themselves. In order to do so, Web3 should support AI agent to intelligently analyze user demands and automatically run Apps to perform the corresponding operations in Apps for users, so users don't need to manually do so by themselves.
What it does
With demand abstraction, users can directly express and meet their demands without going through specific accounts, DApps, and blockchains. After users specify their demands via user interface, text, or speech as inputs in our wallet, our underlying AI agents will intelligently understand and analyze what users need, generate the best solution schemes to meet the demands of users and match the DApps and chains according to the solution scheme. After users check and approve the solution scheme, their AA account will automatically execute the solution scheme including running the corresponding DApps and operating multiple crypto assets to make transactions for users, and finally get what users want as execution results back to them. In this way, users can directly get what they need easily. Our demand abstraction solution is fully open and decentralized. Although we will make a wallet as a sample to demonstrate and validate our demand abstraction, the demand abstraction functionality is open to all wallets to call and use. The third-party agents in AI and bundlers in AA are fully permissionless and decentralized, opening to all nodes to run and compete. After getting the execution results from third-party agents and bundlers, users can self-verify their correctness via the smart contract of AA as validation like zero-knowledge proofs.
How we built it
Solidity, go, react, Chainlink ccip, chatGPT
Challenges we ran into
Technical challenges we met and overcame:
Web3 and Blockchain: Based on blockchain, Web3 can break the barriers and isolation of Web2 Apps for full interconnectivity, interoperatblity, and composablity among Web3 Apps. Web3 can also support automatic execution within Apps, so users don't need to manually operate each App by themselves.
AI Agent: AI can intelligently understand the inputs of users via interface, text or speech to precisely analyze and get the demand of users. To meet user demands, AI will find, compare, choose, and combine all different Apps to generate the best solution schemes including what operations should be performed on which Apps.
Account Abstraction: The decentralized bundlers enabled by account abstraction based on ERC-4337 can run their AI agent to generate the solution schemes for users. After getting users' authorization, they will execute the solution scheme to run and operate different Apps for users. Finally, they will get what users need back to users as the execution results. Different bunlders will compete with each other, so users can choose the best one to best meet their own demands.
Zero-knowledege Proofs: Users can easily and quickly verify the correctness and effectiveness of both solution schemes and execution results provided by the bundlers. Users can also protect the privacy of their demands from being known or leaked by bundlers when getting and analyzing the demand of users.
Accomplishments that we're proud of
We made a specific example to illustrate our demand abstraction via cross-chain transfer enabled by Chainlink CCIP. Users just need to specify amount and receipt of their transfer, and then our wallet will intelligently analyze whether the user demand of transfer needs to be cross-chain, generate the optimal cross-chain solution scheme if so, and automatically conduct cross-chain transfer for users. In this way, users can directly get and finish the best cross-chain scheme like Chainlink CCIP without performing any complicated and unfriendly cross-chain operations by themselves.
What we learned
We fully utilized Chainlink CCIP to lower the threshold, enhance the efficiency, and improve the user experience of cross-chain transfer.
What's next for Demand Abstraction AA Wallet with Intent-centric & AI Agent
We will continue development based on Chainlink if we win in this hackathon and get the support from Chainlink.
Log in or sign up for Devpost to join the conversation.