Idea
Lots of crypto apps with high barrier
To use an app that interacts on chain, one must have a set of public key / private key known as the ‘account’, or at least know how to make one
For instance, to stake on any pools in the Ethereum chain, one must have an Ethereum account - whether from Metamask or any wallet provider of some sort
Even worse, to stake on multiple pools in different chains, one must have multiple accounts mapped to each chains.
This leads to complicated management of hex values (private keys), which can even be lost at some point
The whole ‘entry barrier’ difficulty heavily hinders blockchain industry from it’s mass adoption
Why mass adoption is important? Mass adoption leads to more users, more nodes to verify blocks on chain, and finally a complete decentralized system - primitive goal and purpose of any blockchain service
Any solution..?
Blockchain - even to those who are new - must be EASY and COMPELLING
Just like Fruit ninja and Flappy bird on any App Store They download They play They happy No complication of any sort
Blockchain services should support this level of ‘easyness’ for proper mass adoption, and best of all - it is possible
This is possible through well known eip-4437 Account Abstraction (possible eip-7702 in the next upgrade?)
AA allows abstraction for the gas payment by delegating gas payment to another party, and the complexity of having to manage assets as a part of EOA
The result? Cool that one can interact with a SINGLE chain now, without having to deal with complexities involving creation and managing accounts, and gas fees
But… that’s all. Some Ethereum chain users may want to interact with Avalanche chain, or maybe zkSync. But they can’t. Why? the users need to initialize smart accounts on the respective chains and fund it (or the paymaster) to start interacting ACROSS chain. If it’s this complex, what’s the point of whole Account Abstraction at the first place?
Hence many started researching for AA multichain solutions, but none that were efficient, decentralized, and reduced complexity
There needed AA support by the chain itself, which is not the case of Ethereum, or additional party that handles multiple AA accounts and provides mapping of those
This was just too much, and we needed a better solution - maybe a bridge that allows to create AA accounts from native chain, interact with destination chain’s protocols such as DeFi staking
The answer was CCIP
CCIP allowing message calls ⇒ allowed the creation of smart accounts from a specific chain
Basically a user now can create smart accounts for any chains preferred and maps the created account to the native chain’s smart account by whitelisting the native chain caller address
This will be much more clarified with the code itself
Our product
We wanted to prove and show how CCIP will effect the Blockchain industry providing multichain AA solution that will eventually lead to mass adoption
From a simple erc-4337 AA product, that enables abstraction only for a single chain, we have developed a multi-chain DeFi staking application through the use of CCIP
Our three goals
- Compelling UI
- Passkey login (easiest login IMO)
- Abstraction of multi-chain integration (as if all the calls are based on one chain)
Conclusion
Chainlink is the future in standardizing elements of blockchain, allowing unification and integration of different approaches
CCIP - is one part of the standards - AA standard (Which is shown through this product)
When Chainlink is the internet of contracts, this product is an example that is built on top of the chainlink standards, to show how much potential Chainlink holds as global standards
Logical Connection between accounts across chains
Base Smart Account (CA) in Chain A
→ CCIP message calls to create a new Smart Account in Chain B
→ (Chain B) whitelists the address of base Smart Account
All of the functions that are implemented in the Smart Account of Chain B are internal,
And can only be called through _ccipReceive
And we whitelist the Base Smart Account address only
This ensures that only the Base Smart Account will be accessing the Smart Account in Chain B
Hence we could say they are logically connected, and is controlled from a single account in a single chain thanks to CCIP
By doing this, any newbie new to blockchain, can stake on any preferred chains, without having to deal with any hex numbers (keys and sort)
Built With
- hardhat
- nextjs
- solidity
- typescript
- webauthn
Log in or sign up for Devpost to join the conversation.