Last updated 4 months ago
Simplify onboarding for users who find usernames and passwords more convenient than wallets.
This is the total amount allocated to Self-Custody with Usernames and Passwords.
A smart wallet, uniquely identifiable with a username, where users can manage their funds with a password.
No dependencies.
An on-chain prototype of the solution is already implemented and freely available:
https://github.com/keyan-m/cardano-account
Convenience has proven to be one of the main drivers for adoption. Currently, users who want to take custody of their funds using a blockchain, typically either sign up on a centralized exchange (CEX), or have to go through the process of setting up a wallet, which demands a secure way for storing their seed phrases.
The convenience and familiarity of using a CEX can make them the more attractive of the two routes. But this is a compromise for users as CEXes don't offer self-custody.
A smart wallet that provides a similar onboarding process to CEXes, can be a middle ground for compromising some security in return for convenience, while also ensuring true self-custody.
With this solution, users can setup a wallet by simply providing a username and password, and also benefit from all the infrastructures already in place (such as password managers), to take custody of their funds with a level of convenience comparable with CEXes.
In addition to simplified onboarding, this solution can also be used for services that want to provide wallets for their customers who pay in other currencies. Also, Cardano users who would like to have an additional form of storage for their funds which doesn't demand seed phrase management.
Since setting up a wallet requires some funds, a treasury provides script deployment costs for new wallets. In current vision for this protocol, Catalyst will be the main funding entity for this treasury. The staking rewards from these funds will belong to the platform in order to cover its operational costs, while the delegation rights can be distributed among a few registered entities (during a whitelisting period, potentially for a payment) to ensure the locked funds continue to provide security for Cardano.
To also add some incentive for funds getting back to treasury, all the staking rights of wallets created using treasury funds will belong to their contributors (i.e. those who fund the treasury). But wallets can choose to reimburse their contributors in return for staking rights.
With a more convenient onboarding experience, we can pave the way for more capital entering the ecosystem.
With a background in engineering, and after more than 3 years of activity on Cardano, I've implemented, reviewed, and maintained multiple contracts, protocols, and products.
Furthermore, a prototype of this solution's contract is already implemented and noticed by the community:
https://github.com/keyan-m/cardano-account
Prototype Refinement (2 months)
Currently on-chain contracts are mostly complete. However, there are no tests implemented yet. This will provide a higher level of confidence in correctness of contracts.
Milestone outputs:
Acceptance criteria:
Evidence of milestone completion:
Front-end Development (6 months)
After correctness, user experience and convenience are at the core of this product, and therefore worth dedicating a significant amount of time for its perfection.
Milestone outputs:
Acceptance criteria:
Evidence of milestone completion:
Auditing the Contracts (2 months)
Having the contracts audited by a reputable entity in the ecosystem to increase the confidence in their correctness.
Milestone outputs:
Acceptance criteria:
Evidence of milestone completion:
Mainnet Deployment (2 months)
With all the pieces in place, moving from testnet to mainnet won't require much time. However, some spam reduction solutions should be implemented in order to protect the funds.
An extended testnet period can also help increase the confidence in correctness of platform.
Milestone outputs:
Acceptance criteria:
Evidence of milestone completion:
Keyan Maskoot – Lead Developer
Experiences:
GitHub: keyan-m
Milestone 1: Prototype Refinement (2 months)
Requested Funds: 12,000 ADA
Milestone 2: Front-end Development (6 months)
Requested Funds: 36,000 ADA
Milestone 3: Auditing the Contracts (2 months)
Requested Funds: 50,000 ADA (estimated)
Final Milestone: Mainnet Deployment (2 months)
Requested Funds: 60,000 ADA
Auditing: Current market price for top-of-the-class auditing can range from $10,000 to $20,000. With ADA priced at $0.3, 50,000 ADA seems to be a good estimate.
Contract Deployment: To minimize transaction fees for users, we'll need to lock some funds in 2-3 UTxOs containing account scripts for each user, where 1-2 of these scripts will also require registration (which is likely to be alleviated with CIP-112). On top of that, the current design requires an additional ~3 ADA to be locked per username in 2 beacon UTxOs. Based on protocol parameters at this point in time, each user will require a total of estimated ~20 ADA. Initial support for ~1,000 users seems like a good start.
Operational Costs: Purchasing a domain, costs of hosting services, and any potential unforeseen costs. Unspent funds will be diverted for supporting more users.
Development Costs: I've specified the costs for a part time development position.