SubAccounts: White Paper
Abstract
SubAccounts is an innovative project aimed at simplifying the staking process in the Polkadot network using Ethereum wallets. By leveraging secure encryption techniques and a user-friendly interface, SubAccounts enables users to create and manage Polkadot staking accounts (SubAccounts) while using only their Ethereum credentials. The solution ensures that private information remains secure by storing encrypted data on the blockchain, making it accessible only to the rightful owner. The platform aims to expand its capabilities by offering similar functionality across multiple networks and simplifying complex staking mechanisms for broader user adoption.
Problem Statement
Staking in the Polkadot ecosystem, particularly using its Nominated Proof-of-Stake (NPoS) consensus model, can be intimidating and complex for users who lack technical expertise. Additionally, managing multiple wallets across different networks adds further friction for users who are invested in both Ethereum and Polkadot ecosystems. There is a growing need for a seamless solution that combines simplicity, security, and cross-chain compatibility, allowing users to stake assets in Polkadot using their existing Ethereum credentials.
Vision
SubAccounts aims to bridge the gap between Ethereum and Polkadot ecosystems by offering a secure and easy-to-use staking solution. By allowing users to create encrypted Polkadot SubAccounts linked to their Ethereum wallets, the platform eliminates the need for users to manage multiple wallets. Our mission is to demystify the staking process in Polkadot and make it accessible to all users, regardless of their technical expertise.
Key Features
- Ethereum Wallet Integration: SubAccounts allows users to stake in the Polkadot network using only their Ethereum wallet. This eliminates the need to set up separate wallets or manage private keys specific to Polkadot.
- SubAccount Encryption and Security: The SubAccount is created in the user’s web interface and remains securely within that environment until encrypted. The encryption process involves several layers:
- The wallet data is formatted into JSON.
- This JSON is encrypted using a password chosen by the user.
- The resulting encrypted string is further encrypted using the encryption algorithm (ex.: AES algorithm) and second password chosen by the user or using cloud encryption (ex.: Google Auth).
- Finally, the encrypted string is encrypted with the user’s Ethereum public key, ensuring that only the user can decrypt it using their Ethereum private key.
- Blockchain Storage: The final encrypted data is stored in a smart contract on the blockchain, ensuring immutability and transparency. While anyone can access this data, it is effectively unreadable without the correct decryption credentials, which include passwords, social decryption and access to the user’s Ethereum private key.
- Cross-Network Compatibility: Although the primary focus is on Polkadot staking, the encryption methodology is flexible enough to support other blockchain networks. Future updates will expand the platform’s capability to create and manage SubAccounts for other networks, providing a unified staking experience across multiple ecosystems.
- User-Friendly Interface: The platform offers a streamlined interface that abstracts away the complexities of Polkadot’s NPoS staking mechanism. Through the integration with services like ChainFlip, users can deposit assets and withdraw rewards with just a few clicks.
Technical Architecture
Encryption Flow [current]
- Wallet Creation: The Polkadot wallet is created within the user’s web interface.
- Data Serialization: The wallet data is serialized into JSON format.
- Password Encryption: The JSON data is encrypted using a password chosen by the user.
- AES Encryption: The password-encrypted data is further encrypted using the AES algorithm and second password chosen by the user.
- Public Key Encryption: The AES-encrypted string is encrypted with the public key derived from the user’s Ethereum account.
- Storage on Blockchain: The final encrypted string is stored in a smart contract on the blockchain, making it accessible yet secure.
Decryption Flow
To restore the SubAccount, the user needs:
- The Ethereum private key
- The first password used for JSON encryption
- The second password used for AES encryption
The decryption process is performed entirely on the client side, ensuring that sensitive information is never exposed to third parties.
Use Cases
- Seamless Polkadot Staking for Ethereum Users: Ethereum users can participate in Polkadot staking without needing to learn the intricacies of Polkadot’s wallet management or staking processes.
- Cross-Chain Staking Management: SubAccounts will eventually support staking operations across multiple networks, providing a single interface for users to manage all their staking activities.
- Data Security and Recovery: Users have peace of mind knowing that their SubAccount data is encrypted and recoverable using a combination of their Ethereum credentials and chosen passwords.
Roadmap
- Adding Bridge Support (ChainFlip) in the Interface: Integrating ChainFlip into the interface to facilitate cross-chain swaps and asset management, making liquidity management for staking and transfers more user-friendly.
- Deploying the Smart Contract to Ethereum Mainnet: This will provide users with more options to leverage familiar tools in their preferred network.
- Integrating with Staking Providers for Easier Validator Selection: Implementing integrations with staking providers for automated selection and optimization of validators. This will not only improve the user experience but also unlock potential monetization opportunities for the project through partnerships and fees.
- Adding More Interaction Methods with the Polkadot Blockchain (e.g., Voting): Expanding the platform’s functionality to include governance tools, allowing users to participate in Polkadot network voting and decision-making directly through the platform.
- Cross-Chain Integration with ChainFlip to Deploy Contracts in Any Network: Enabling the deployment of contract instances across different networks with cross-chain transaction support via ChainFlip, allowing the platform to scale into a multi-network ecosystem.
- Developing a Browser Extension for Easier Account Access: Creating a convenient browser extension to streamline access to user accounts and staking operations, reducing the reliance on the web interface for day-to-day activities.
- Adding Support for Staking in Networks Beyond Polkadot (Solana, Cosmos): Expanding staking capabilities to include other networks such as Solana and Cosmos, making the platform a versatile tool for staking across multiple ecosystems.
Conclusion
SubAccounts addresses a critical need for simplified staking solutions in the Polkadot network, targeting Ethereum users who seek secure and seamless cross-chain experiences. By combining robust encryption techniques, decentralized storage, and a user-friendly interface, SubAccounts aims to make staking accessible to a broader audience while maintaining top-tier security. The platform’s future roadmap includes expansion to multiple networks and advanced staking functionalities, solidifying SubAccounts as a leading solution in cross-chain staking management.