Ethereum is leading the blockchain revolution, but despite how stunning the future of Ethereum and cryptocurrency may seem, mass adoption still remains a genuine concern.
If you are an experienced Web3 user, setting up and maintaining the security of your non-custodial wallets might be easy, but for new users, creating a non-custodial wallet is not an easy job. The process of generating and safely storing seed phrases remains quite complicated. Even worse, users won’t be able to access the crypto assets in their wallet if they forget or lose access to their seed phrase. Undoubtedly, onboarding billions of users under such circumstances is very challenging.
Ethereum account abstraction is the hot concept that developers at the Ethereum Foundation have proposed to improve the existing technology and lower the entry barriers for new users.
Since the very beginning of the project in 2017, Nervos has taken account abstraction into consideration, even going beyond account abstraction. Let’s go dive into it.
Account Abstraction
Data abstraction in computer science is the practice of hiding information. This increases the ability of a computer system to be used at a higher level with less knowledge of the processes going on underneath.
On the Ethereum network, there are currently two types of accounts. The first one is called the Externally Owned Account (EOA), or external account for short, which is controlled by a private key. Your personal Ethereum wallets created by MetaMask or other non-custodial wallet apps are all external accounts.
The other type of account is called the Contract Account (CA), a smart contract deployed to the network which is controlled by the logic of the smart contract code in the EVM. Contract accounts can perform all of the functions of an externally owned account, but they can’t initiate new transactions on their own, as they can only take action in response to a transaction received.
Ethereum account abstraction has the goal of eliminating the existence of two types of accounts by unifying them. The new single account type will pave the way for a series of improvements to wallet designs, as well as reduce complexity for end users. Some of the improvements account abstraction brings include:
- Paying for transaction fees in currencies other than ETH
- The ability for third parties to cover transaction fees
- Support for more efficient signature schemes (Schnorr, BLS) as well as quantum-safe ones (Lamport, Winternitz)
- Support for multisig transactions
- Support for social recovery
Nervos, Beyond Account Abstraction
The era of the so-called “altcoin” was ushered in shortly after the birth of Bitcoin. Thousands of cryptocurrencies were created to extend Bitcoin, but most of them failed and eventually vanished. Ethereum is one of the few survivors and also the most successful one. The key breakthrough of Ethereum is a general programming model (or smart contract model) consisting of the EVM and Account Model. It emancipates developers from the burden of building components such as consensus and p2p network and enables them to build any kind of application with high programming flexibility.
We learned from the progression from Bitcoin to Ethereum that new abstraction is the hallmark of evolution. We believe the next-generation blockchain must be more abstract and more foundational than its predecessor. Nervos is designed with this motivation, it is a maximally flexible verification layer to secure a decentralized economy.
Nervos CKB creates the Cell model by generalizing the UTXO model, retaining the consistency and simplicity of Bitcoin. The Cell model is abstract, no internal structure is enforced on the data stored in the cell, and its layout is completely left to developers.
The CKB transaction is abstract, users and developers are not limited to the default blake2b-secp256k1 authentication. Anyone can replace it with blake2b-secp256r1, keccak256-ed25519, or blake2b-sha3-schnorr.
CKB-VM is also abstract and has zero precompiles built into it. Even the default cryptographic primitives like the hash function blake2b and signing verification secp256k1 are just smart contracts running in the virtual machine. They run in the same environment as smart contracts created by application developers, with no special privileges.
With Nervos CKB’s flexible and extensible design, new cryptographic primitives can be added without the need for a hard fork, which is a powerful capability. For example, a developer could deploy the keccak256 hash algorithm of Ethereum in a CKB cell and implement a cryptographic library that supports the keccak256 hash algorithm on the CKB blockchain. The script on the CKB blockchain can then verify the Ethereum signature format. This is the secret why .bit, an open-sourced decentralized identity protocol (DID) built on the Nervos CKB blockchain, enables users to use their Ethereum wallets to manage accounts.
In short, Nervos is more abstract than any of its predecessors and grants developers greater freedoms and new abilities.
Looking Ahead
Ethereum aims to enhance user experience and lower the entry barriers for new users through account abstraction. Nervos has taken account abstraction into consideration from the very beginning and is designed to be more abstract in more aspects than any other smart contract platform.
Several projects in the ecosystem have successfully leveraged the abstraction of Nervos. To name a few, .bit enables users to use Ethereum, BSC, Tron, and Polygon wallets (more wallets are on the way) to manage accounts. Portal Wallet, a web-based CKB wallet developed by the Lay2 team, enables users to use their existing Ethereum addresses to receive and send CKB directly. UniPass, a decentralized identity (DID) initially built on Nervos CKB and now expanding to other EVM chains, supports on-chain account recovery through email.
More projects are coming. For example, the upcoming JoyID, a passwordless wallet based on the FIDO WebAuthn protocol and built on Nervos CKB, will support biometric authentication and social recovery, making it a truly easy-to-use wallet for non-crypto users and a better gateway for mass adoption.
To learn more about Nervos, visit https://www.nervos.org/ or follow @NervosNetwork on Twitter.