-
Notifications
You must be signed in to change notification settings - Fork 69
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
cgp 0143 - Biconomy Account abstraction proposal (#460)
- Loading branch information
1 parent
516f9a0
commit 75b601b
Showing
2 changed files
with
207 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,195 @@ | ||
--- | ||
cgp: 143 | ||
title: Enable Account Abstraction (ERC 4337) On Celo’s upcoming L2 leveraging Biconomy’s AA infrastructure | ||
date-created: 2024-08-01 | ||
author: Himanshu Garg | ||
status: DRAFT | ||
discussions-to: https://forum.celo.org/t/final-proposal-to-enable-account-abstraction-erc-4337-on-celo-s-upcoming-l2-leveraging-biconomy-s-aa-infrastructure/8266/9 | ||
governance-proposal-id: | ||
date-executed: | ||
--- | ||
|
||
## Overview | ||
|
||
This proposal aims to accelerate the growth and long-term adoption of the Celo ecosystem by strategically allocating CELO from the Community Fund toward the deployment of Biconomy’s Account Abstraction infrastructure on Celo’s upcoming L2, to enable builders to create web2-like UX for their dApps. | ||
|
||
In this proposal, we’re asking for 200,000 CELO tokens to cover the integration costs of deploying our whole Account Abstraction stack (including Bundlers, Paymasters, and Smart Accounts) on the chain, and the support & maintenance of the infrastructure in the future. | ||
|
||
### Status | ||
|
||
- DRAFT | ||
|
||
## Background | ||
In alignment with Celo’s mission to bring prosperity to all, Biconomy is helping builders create seamless UX for their dApps so everyone can easily leverage the power of web3. | ||
|
||
As pioneers of Account Abstraction (ERC-4337), we accelerate the mass adoption of Web3 by simplifying the user experience. Our decentralized UX stack equips developers with powerful tools to eliminate complexities, onboard users, and scale their dApps. | ||
|
||
Since establishing the company in 2019, we have partnered with over 400 dApps for our Relayer SDK and API. Our partners include industry leaders such as JPMorgan, 100 Thieves, Dolce & Gabbana, and Mercedes Benz. We also collaborate with top-tier DeFi and NFT platforms like DYDX, Perpetual Finance, Curve Finance, Aavegotchi, Decentraland, Sandbox, Animoca Brands, and Zed Run. With our infrastructure, we handle more than 100,000 daily transactions and have successfully relayed over 36 million transactions. Our comprehensive and adaptable SDK and APIs serve a diverse clientele, now reaching over 3.5 million individuals. | ||
|
||
Our latest infrastructure, the Biconomy Smart Accounts, Bundler APIs, and Paymaster APIs, revolutionize user onboarding by leveraging EIP-4337 and Smart Contract Wallets. This infrastructure allows developers to create a fully personalized transaction journey for their users, from wallet creation using social logins to batching multiple transactions into a single transaction. The result is an unparalleled user experience that is seamless and efficient, leveraged by industry leaders such as Trust wallet, Zeal wallet, JP Morgan and hundreds more. We provide services for blockchains such as Ethereum, Polygon, BNB Chain, Base, Avalanche, Optimism, and Arbitrum. Currently, we hold the majority market share across all major EVM chains. We support 25+ chains and 200+ tokens. | ||
|
||
Docs: https://docs.biconomy.io/ | ||
Website: https://www.biconomy.io/ | ||
Twitter: https://x.com/biconomy/ | ||
|
||
## Proposal Description | ||
We are asking for 200,000 CELO to deploy our whole infrastructure on Celo’s upcoming L2 and unlock features (listed below) for builders and users. We will work closely with the Celo Foundation to deploy this infrastructure and support builder onboarding. | ||
|
||
### Project Goals and Aspirations | ||
The Biconomy SDK simplifies blockchain development for dApp developers, providing an array of features that offer a seamless Web2-like experience to end-users. Once enabled within the chain, developers can build a wide range of use cases, from token transfers to smart contract interactions. The SDK is secure and reliable, ensuring dApps are safe from attacks and hacks. It is an essential tool for developers looking to build superior dApps on the blockchain. | ||
|
||
**1. Custom Signature Schemes & Biometric Passkeys** - Biometric logins, BLS signature aggregation, and quantum-resistant digital signatures such as Schnorr can be supported with Biconomy. Users can enjoy a more secure and robust digital signature scheme that is simpler and less susceptible to attack vectors. | ||
|
||
**2. Gas-less transactions** - Improve user onboarding and engagement with a gasless flow. With Biconomy, users can enjoy a gasless flow, making transaction execution faster and more straightforward. | ||
|
||
**3. Transactions and gas payments in non-native tokens** - Allow users to pay for transactions and gas any ERC20 token (200+ tokens across 25+ chains and counting). This feature makes it easier for users to have a seamless transaction experience without having to go through the hassle of exchanging their tokens into native tokens. | ||
|
||
**4. Transaction Batching** - Group common transactions to offer gas-light execution and one-click experiences. With Biconomy, common transactions can be batched to offer a gas-light execution that saves users gas fees, thereby making the transaction process more efficient. | ||
|
||
**5. MultiChain Signatures** - This features allows for dispatching multiple userOps to different EVM chains and execute the same transactions on all chains in parallel, with a single user signature. | ||
|
||
**6. Session Keys** - You can create a login session for your user, within which the user can use the dApp without repeatedly signing in. This feature makes it more convenient for users to use dApps without having to sign in repeatedly. | ||
|
||
**7. Automations** - Users can set up recurring payments, Dollar Cost Averaging, or even CEX-like features such as automating purchase/sell based on on-chain triggers like price. | ||
|
||
**8. Limits, Allowlists, and Access Control** - You can apply custom transaction execution limits and whitelist/blacklist addresses at the contract level. With Biconomy, users can enjoy more flexibility and control over their transactions, allowing them to customize their transaction execution limits and whitelist or blacklist addresses at the contract level. | ||
|
||
## Budget and Milestones | ||
We will approach chain support with an on-chain and an off-chain tech stack. These are mutually exclusive and can be used separately or together to provide the best experience for developers. Our stack is ERC4337 compliant, it’s compatible with all ERC4337 compliant providers’ infra and Smart Accounts and we do not have any vendor lock-in for builders. | ||
|
||
### Milestones | ||
Here’s the estimated timeline for the integration, you can find below the detailed explanation of each item. | ||
|
||
![Biconomy_planning_2Jul](https://global.discourse-cdn.com/business7/uploads/celo/original/2X/4/43ba9feb8a4a2f9cf203341bb7dc1f27b64826b7.jpeg) | ||
|
||
**1. Independent On-chain Stack:** | ||
The on-chain stack comprises all critical contracts necessary for EIP 4337. Once deployed, any developer or project can utilize these contracts to offer services related to 4337. The EntryPoint acts as a universal entry point for all ERC-4337-compliant smart contract wallets. Module extends the functionality of these smart accounts, and Paymasters sponsor transactions for users, enabling various use cases. | ||
|
||
**a. EntryPoint Contract (Core Singleton Contract)** | ||
|
||
The EntryPoint contract is a pivotal global singleton contract that acts as the universal entry point for all ERC-4337-compliant smart contract wallets. This essential component standardizes interactions between wallets and the Ethereum network and streamlines and secures transaction handling. By systematically managing multiple user operations through the EntryPoint contract’s handleOps() function, which features verification and execution loops, each operation is executed with utmost security and efficiency. | ||
|
||
Timelines for deployment and integration: Week 2-5 | ||
Costing for deployment and future maintenance: None | ||
|
||
**b. Smart Contracts of Module & Extensions** | ||
|
||
Smart Contract Wallet Modules under the EIP-4337 standard are pivotal in bolstering the functionality and scalability of the blockchain ecosystem. These modules are instrumental in handling the UserOperation signatures, granting users an enhanced level of control and security over their transactions. Specifically, they provide a modular approach to wallet design, enabling customization based on user preferences. This adaptability ensures that the wallet can evolve alongside the ever-changing dynamics of the blockchain industry, further promoting seamless user interaction and safeguarding assets. You can check out our modules here. | ||
|
||
Timelines for deployment and integration: Week 2-5 | ||
KPI : Total transactions processed via the Smart Contract Wallet Module, signifying the module’s efficiency in streamlining the transaction process as per EIP-4337. | ||
|
||
**c. Paymaster Smart Contracts** | ||
|
||
Paymasters play a pivotal role in sponsoring transactions for users, opening the door to various use cases, such as fee subsidies, ERC-20 token payments, off-chain payment methods, and on-chain credit services. By fostering a more inclusive ecosystem and enabling frictionless transactions for users, Paymasters drive innovation and adoption across the platform. | ||
|
||
Timelines for deployment and integration: Week 2-5 | ||
KPI: Number of sponsored transactions processed by Paymaster contracts | ||
|
||
**d. Smart Contract Wallet Standard & Factory** | ||
|
||
The Smart Contract Wallet Standard establishes a comprehensive, unified framework for smart contract wallets, ensuring seamless interoperability and smooth integration within the broader ecosystem. Paired with the Wallet Factory, a contract that streamlines wallet creation by deploying standardized wallet instances, developers benefit from cost-efficient and simplified wallet deployment, significantly lowering barriers to entry. | ||
|
||
Timelines for deployment and integration: Week 2-5 | ||
KPI: Number of wallets created using the factory. | ||
|
||
**2. Independent Off-chain Stack** | ||
We are developing an off-chain stack that includes bundlers and off-chain memepool creation. This will be offered as a service, so that other dapps can use this bundler and the entire off-chain stack even if they make their own Smart Wallets or Paymaster contracts. | ||
|
||
The off-chain stack provides bundlers to optimize transaction processing and reduce network congestion, alternative mempool and node connectivity for efficient off-chain transaction processing, and developer tools such as a dashboard and documentation to facilitate integration. | ||
|
||
**a. Bundler API (with full backend)** | ||
|
||
Bundlers are essential off-chain nodes designed to optimize the Ethereum network. They constantly monitor the UserOperation mempool, intelligently grouping multiple UserOperations together. This bundling process enhances transaction processing efficiency, prioritizes fee distribution, and significantly reduces network congestion, ultimately leading to a smoother, more reliable ecosystem. | ||
|
||
Timelines for deployment and integration: Week 4-7 | ||
KPI: Number of active bundlers and UserOperations processed by them at scale in a given timeframe | ||
|
||
**b. Aggregated Paymaster API (with full backend)** | ||
|
||
This API streamlines transactions, facilitating easy transitions between Sponsorship and ERC20 modes. Through our solution, users can opt for gasless transactions or utilize an array of supported ERC20 tokens for gas payments, underscoring the adaptability and user-centric design of the system. You can check out list of supported tokens here. | ||
|
||
Timelines for deployment and integration: Week 4-7 | ||
|
||
KPI: Number of sponsored transactions processed by Paymaster API and Number of tokens supported for ERC20 gas by Paymaster API | ||
|
||
**c. Developer Tools: Comprehensive Dashboard, SDK, Documentation, and Code Samples** | ||
|
||
This component is focused on providing an all-in-one solution for developers by creating extensive documentation, practical code samples, and a feature-rich developer dashboard. The dashboard offers a unified view of user operations, paymasters, and bundlers, enabling developers to manage and monitor all aspects of their EIP-4337 integration seamlessly. By empowering developers with a single, intuitive interface and invaluable resources, we aim to drive innovation and adoption of the EIP-4337 infrastructure across the ecosystem. | ||
|
||
Timelines for support: Week 4-7 | ||
KPI: The number of successful integrations | ||
|
||
Biconomy infrastructure revolutionizes user onboarding by leveraging EIP-4337 and Smart Contract Wallets. The infrastructure simplifies blockchain development for dApp developers, providing an array of features that offer a seamless Web2-like experience to end-users. With Biconomy, developers can build a wide range of use cases, from token transfers to smart contract interactions. | ||
|
||
### Reporting | ||
Once the proposal is approved and we can start working on the integration, we’ll provide regular updates on the Celo Governance Forum to the community after each Milestone. | ||
|
||
**Milestone 1** - Integration is scheduled | ||
**Milestone 2** - Independent On-chain Stack is deployed | ||
**Milestone 3** - Independent Off-chain Stack is deployed | ||
**Milestone 4** - Final testing and bug fixes have been completed, integration is live | ||
|
||
### Support Requirement | ||
We require the following resources to facilitate our integration with Celo and maintain the infrastructure on the chain: | ||
|
||
**Fees** - The necessary funds for this integration are 200,000 CELO. This covers integration and maintenance costs and can help kickstart the adoption of Smart Accounts on Celo’s upcoming L2. | ||
|
||
**Terms** - The fees will cover the integration costs and maintenance fees of our infra on Celo’s upcoming L2 for the next 2 years after the approval of this proposal. | ||
|
||
**Disbursement** - Upon accepting this proposal, an upfront amount of 200,000 CELO will be provided to kickstart the development process, and make our AA stack live on Celo. | ||
|
||
**Allocation of Funds** - The whole fund will be directed towards the development, deployment, and maintenance of our infrastructure on Celo. | ||
|
||
|
||
### Addressing Governance Call Feedback | ||
**Biconomy benefits** | ||
The most affordable AA solution for builders and users | ||
Compared to other providers, Biconomy does not charge a monthly subscription fee and our stack is available for builders, making it easy to get started with Account Abstraction even for projects without funding. Secondly, we do not charge any premiums on our Sponsorship Paymaster or the Bundler, which can reach up to 30% in additional fees with other providers. | ||
|
||
**No vendor lock-in** | ||
Compared to other providers who might not ask for grants to deploy on Celo, Biconomy’s stack is fully ERC4337 compliant and modular*, allowing developers to easily switch parts of the AA stack to other providers (ie: Safe Smart Accounts with Biconomy Bundlers and Paymasters) if they prefer to with a few lines of code. | ||
*We’re also actively contributing to the new ERC7579 standard. | ||
|
||
**The most powerful AA infrastructure** | ||
We’re auto-scaling Bundlers to meet any demand, guaranteeing 99,99% uptime to ensure all transactions are processed within the shortest possible time. Biconomy supports the largest number of networks (30+) and tokens (200+) and continues to expand cross-chain, making it the default choice for multi-chain projects such as Trust Wallet. | ||
|
||
**Supporting AA adoption on Celo** | ||
We commit to supporting the Celo team and builders with marketing, workshops, educational content, and potentially hackathons to help AA adoption across the chain. Our world-class devrel team and integration specialists are available to help builders make the best out of our stack. | ||
|
||
## Proposed Changes | ||
### Transactions | ||
Unique Transaction of ```2 Hundred Thousand (200,000)``` Celo tokens approval to Multisign ```0x151F6b3D9E894b7E619327EDea5D1113539c4dB3``` | ||
- Destination: ```0x471EcE3750Da237f93B8E339c536989b8978a438``` | ||
- Data: ```increaseAllowance``` & ```0x151F6b3D9E894b7E619327EDea5D1113539c4dB3``` | ||
- Value: ```200000000000000000000000 Celo``` | ||
|
||
## Verification | ||
Before approving/voting: Fetch the on-chain proposal and verify that the multisig address and approval amount match the approval call submitted to chain: | ||
|
||
celocli governance:show --proposalID TBD --node https://forno.celo.org | ||
|
||
Verify the on-chain proposal that | ||
|
||
- The Destination address of the Approval is the GoldToken Proxy `0x471EcE3750Da237f93B8E339c536989b8978a438` | ||
- The approved Spender is the Multisign `0x151F6b3D9E894b7E619327EDea5D1113539c4dB3` | ||
- The ammount of Approval is `200K Celo` expresed in WEI `200000000000000000000000 or 2e23` | ||
|
||
|
||
## Risks | ||
Unknown technical specs of CEL2 make implementation harder and integration will take longer than expected. | ||
|
||
## Structure & Multi-Sig: | ||
- Multisignature(multisig) account wallet for financial operations: | ||
0x151F6b3D9E894b7E619327EDea5D1113539c4dB3 | ||
|
||
| Role | Name | Celo Wallet | | ||
| --- | :---: |:---: | | ||
| Co-founder & CTO | Sachin Tomar | 0x129443cA2a9Dec2020808a2868b38dDA457eaCC7 | | ||
| Co-founder & COO | Aniket Jindal | 0x2DfC6dDd5230f391f0cb8f35095f32dD1DC3A14c | | ||
| Co-founder & CEO | Ahmed Al-Balaghi | 0x274FB5777c24DaD3c7dF80987B9fac04931AD885 | | ||
| Head Of Finance | Arshita Khetan | 0x672386C9bCf0089516c5e6B9205Ed7512a8d1c63 | | ||
|
||
## Useful Links | ||
|
||
1. [cLabs proposal](https://forum.celo.org/t/final-proposal-to-enable-account-abstraction-erc-4337-on-celo-s-upcoming-l2-leveraging-biconomy-s-aa-infrastructure/8266) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
[ | ||
{ | ||
"contract": "GoldToken", | ||
"address": "0x471EcE3750Da237f93B8E339c536989b8978a438", | ||
"function": "increaseAllowance", | ||
"args": [ | ||
"0x151F6b3D9E894b7E619327EDea5D1113539c4dB3", | ||
"200000000000000000000000" | ||
], | ||
"value": "0" | ||
} | ||
] |