In my first specialization project as a Master of Science in Engineering student in Switzerland, I aimed to explore the current state of Blockchain technology, focusing on Account Abstraction and Cross-Chain Communication. Collaborating with the Institute of Information Systems and Networking (ISIN) at SUPSI, I developed the Sapphire Wallet, a decentralized wallet that enables users to interact seamlessly with multiple blockchains without needing technical expertise.
Through my research, I found that the Sapphire Wallet significantly improves user experience and interface compared to traditional Ethereum Virtual Machine (EVM) networks. It also offers innovative account recoverability through trusted third parties, or Guardians. However, I encountered challenges such as slow transaction speeds and high deployment costs, which currently hinder global adoption.
This project highlights the potential of Account Abstraction and underscores the need for protocol updates. I also suggest keeping an eye on new blockchain systems like ICP, which integrate Account Abstraction and advanced Cross-Chain Communication, as they may shape the future of Blockchain technology.
- Multi-Chain Account Abstraction: Allows users to manage assets across multiple blockchains seamlessly.
- Guardian System: Provides a security feature for wallet recovery through trusted third parties.
- Wallet Creation: Simplified process for creating new wallets within the ecosystem.
- Wallet Recovery: User-friendly recovery process for regaining access to lost or compromised wallets.
- Multi-Chain Bridge: Facilitates interaction and asset transfer between different blockchains.
- Improved User Experience: Based on enhancements from the Argent Wallet, focusing on user-friendly design.
- EVM Compatibility: Developed on the current version of the Ethereum Virtual Machine (EVM).
I prepared three video demos:
Run setup file:
./setup.sh
Go to those folders and follow the setup procedure:
- blockchain
- backend
- mobileapp (expo sdk 51 in branch
upgrade/expo51
) - bridge
It is possible to run the whole project with docker.
- Fill the
.env
files of each project with the correct information. - Run the following command:
docker-compose up
- Run the mobile app with the following command:
cd mobileapp && yarn start
The setup script will just copy the .env.example
files to .env
files. You need to fill the .env
files with the correct information, mostly the private keys and the RPC URLs.
All the contracts are already deployed on testnets, more information can be found in the blockchain folder. At the moment of deployment, the .env
are filled with the addresses.
The documentation can be found in the doc folder.
I would like to thank my two supervisors and to the entire ISIN Blockchain Team