Enabling a million businesses powered by web3 infrastructure
Introduction
Account Abstraction is one of the most talked about subjects recently in the Ethereum community. The web3 community wants to onboard 1 Billion real people into the ecosystem and believes Account Abstraction can be the important piece of the puzzle for the improved UX for onboarding people and using dapps easily to pass the Grandma test for crypto. Within the web3 community, a lot of work has already started with Account Abstraction and Smart Wallets, and dapps are starting to implement the ERC-4337 Account Abstraction standard as per a recent report.
In this post, we will learn how Account Abstraction impacts Web3 infrastructure like storage, computing, identity, and access management. But first, let’s start with the basics:
What is Account Abstraction?
Ethereum has two types of accounts – Externally Owner Accounts (EOAs) and contract accounts. EOAs are controlled by private keys, which leads to a user having full access to the account and initiating transactions on the blockchain if they have access to a private key or no access at all if they lose the private key (full or nothing situation). On the other hand, contract accounts are associated with code and are controlled by the code written in smart contracts. Contract accounts don’t have a private key and can be programmed easily. Account Abstraction is a feature upgrade to Ethereum that combines the abilities of both these accounts to have accounts that can initiate a transaction and can be programmed easily without the need for a private key.
The previous implementations of Account Abstraction, like EIP-2771, EIP-2938, and EIP-3074, required a hard fork of Ethereum and seem off the table for now. The game changed when EIP-4337 came onto the scene, which is a proposal that is meant to achieve Account Abstraction at the application level of Ethereum, hence, requiring no hard fork with bringing us super close to the dream implementation of Account Abstraction.
Account abstraction enables various use cases like –
- Gas less transactions
- Seamless Multichain operations
- Key rotation and revocation
- Spending tiers and limits
- Automatic payments, etc.
In short, Account Abstraction massively scales the UX of Ethereum Blockchain, bringing us closer to the ideal web2 world.
What’s wrong with Web3 Infrastructure UX !
When we talk about web3 infrastructure, I am referring to web3 storage, computing, databases, RPC, etc. Now let’s talk about some problems around it. The current web3 infrastructure is also in its own paradox of decentralization, with the core blockchains being decentralized but their access is made through centralized services. Be it centralized RPCs to access the Ethereum blockchain or centralized pinning services to access storage systems like IPFS. Even with a web3 developer user base, these services are fearful of offering a web3 wallet login as an option. However, there are very few like us at Lighthouse.Storage that offers both web3 and web2 auth login options.
Now let’s discuss the top 3 Problems with the current web3 infrastructure UX:
1. All-or-nothing access to web3 infrastructure
The problem with web3 login, from our experience, has been it leads to all-or-nothing access to the infrastructure because it runs on EOA as of today. So if you end up using Lighthouse via your metamask to login and store on IPFS and Filecoin, you either have full access to your data or none in case you lose your wallet account. Similarly, we have seen use-cases like token-gating become popular, which enable users to access the data if they satisfy an on-chain condition like owning an NFT, token, etc., as we implemented at Lighthouse Kavach and other products like LIT Protocol does too. But again, with EOA being the center of these products, in case a user owning an NFT loses their wallet account, they will end up kicking themselves out of the access to the token-gated content they received while owning the NFT or giving full access to the public if the private key is exposed. This is hardly seen in the web2 world, where on losing your Netflix password, you can just easily verify your email again and regain access to your Netflix account with a paid subscription.
2. Identity and Access Managment are tough
Another key issue as I have noticed, is enabling Identity and Access Management (IAM) for multiple users with different tiered permissions on web3 infrastructure. Imagine if you want to give different access tiers to these infrastructure products like storage to your team; how will you do that? Let’s say I want to have admin access to all my storage data and give read access to one of our developers and read + write access to another developer; it will be near to impossible to do this trustlessly. But services like AWS and GCP today do it easily with their IAM policies.
More specifically, in this example below, various access levels to AWS DynamoDB on multiple databases can be easily set up.
While something like Filecoin that now has smart contract ability with FVM (Filecoin Virtual Machine) if it implements Account Abstraction via ERC-4377 can do this easily by allowing a set of users to access data at the admin level, while others at the read+write level and a third person as read access only with various Filecoin Contract Accounts rather than using Filecoin EOAs as of today. This enables a new era for interesting use cases like Data DAOs with multiple access tiers and also setting proper IAM policy for various team members in an Enterprise environment, solving the issue of security and compliance in any big business in a Fortune 500 list that wouldn’t touch decentralized infrastructure like storage, compute in a web2 business setting which is full of high regulatory compliance and constant auditing and security.
3. Paying transaction Fees to access web3 infrastructure
Another important issue with accessing the current web3 infrastructure is relying on centralized services to pay for your web3 infrastructure services; else it leads to a bad UX. Imagine paying a transaction fee for every file uploaded to Filecoin; that will be a nightmare when you are uploading 10,000s of files. So usually, a service like Lighthouse aggregates users’ files and pushes them to Filecoin in one go. But very soon, I foresee that account abstraction should also enable you to upload a large number of files easily individually, where an external smart contract wallet can pay for all your transaction fees and the user easily uploads and downloads data from web3 infrastructure services with web2 UX along with full decentralization and control rather than relying on a centralized backend service to do it for you.
Closing Thoughts
While most folks in the web3 industry are optimistic about the future of onboarding a billion people to crypto via Account Abstraction, I am optimistic about the future of onboarding a million businesses powered on the web3 infrastructure with UX on par with web2 service without compromising ownership and control of your data and Account Abstraction will be an important step forward to enable for that.
If you are interested to learn more and share your ideas, feel free to drop me an email at nandit@lighthouse.storage or text me at telegram – @nanditmehra
Don’t forget to Subscribe to my newsletter here for future updates