Not your keys, not your coins, right?
But how can your seed phrases be kept safe? How will we onboard the next billion users on-chain without this FUD of getting hacked?
I have designed a solution to allow self-custodian wallet owners keep their seed phrase safe, off internet, not in plain sight, but still accessible at will via a simple QR code scan.
This is the total amount allocated to One Crypto Pass.
The problem explained simply
You just opened a self sovereign crypto account, and you were told to keep your 15 words seed phrase safe (replace 15 by 12, 24 or any other value as appropriate to your context, it is the same concept/problem/solution behind it). Those 15 words are the entry point to your wallet, or to be more precise, they can generate the private key that signs any transaction out of your crypto account. Anyone who has those 15 words have access to your wallet and can spend all of its content.
a typical seedphrase and warning message
Therefore the industry does not have much of a solution for this, and comes up with ludicrous solutions like "you should print the 15 words on a metal sheet and bury it under your house (https://blog.lopp.net/metal-bitcoin-seed-storage-stress-test--part-ii-)". Are you serious?
The problem is general across the crypto world, and is one of the main FUD of onboarding users. What if someone steals my keys? Where should I hide it? should I trust myself to keep it safe?
If we can remove this risk, we remove one of the biggest barriers to entry when onboarding new users into the world of crypto and self-custody. Therefore... it is a BIG deal!
A good solution that nobody seems to have thought of
Let's step back. The problem shows us that the solution must include this:
I have designed a system that provides a solution to this problem. I have a working prototype (see attached video) which is already available as an app on the AppStore, although at this stage it lacks some characteristics to be adopted by the crypto community. In short, it is not open source, it requires a backend, requires a database, a login (user email), and appears as a commercial product. As a consequence of all this, end users may not trust that this product will do as it says (keep their seed phrase safe and off internet).
I propose to spent time and effort to transform what could be called a first good prototype into a robust open source product, delivered as an app on iOS and Android.
Ultimately, this app will deliver the following:
a QR code containing a seedphrase that nobody else can decode
Additional educational content
Since this app is likely to be a very good entry point for onboarding users on their self-custodian crypto journey, it is the right access point to deliver some very important educational short videos on best practices regarding security. We will provide a few educational animated videos which will be embedded into the app.
Additional Cardano extras
For keys of Cardano wallets, it could be interesting to give the ability of those Cardano users to see the balance of their wallet, so if they have say 4 Cardano accounts, not only they would have a safe storage of their 4 private keys, but also could see the consolidated balance of their 4 wallet. It's a small gimmick, but could be a nice addon for the Cardano community of users.
As mentioned earlier, the app would also contain a few tutorials (how to...) which would be made on Cardano examples (wallet, use case, logo, visuals) therefore pushing the Cardano brand and associated wallets brands with the app.
The challenge addressed is "Security and Privacy". The most important and dramatic security issue in crypto, is the one of being at risk of having someone access your seed phrase and therefore your private keys, and extract the content of your wallet.
At the start of their journey into Crypto, most users will feel unsecure and overwhelmed. Onboarding users on self-custodian wallets is the first most critical step. The blockchain that secures it best will receive the goodwill that comes along.
It is very much under-estimated (and under-stated) that one of the biggest challenge of the Crypto community as a whole is how to onboard the next billion users on-chain and with self-custodian wallets. One Crypto Pass is a step in the right direction to address this cross-chain common global challenge.
The solution provided is an app that will work across all major blockchains. Therefore there is a strong incentive for Cardano to be seen as the leading and most trustworthy blockchain among all. By showing that the Cardano community can deliver, on behalf of the whole crypto industry, a better solution for keeping users' seed phrases safe, educate them, and remove some FUD, it sends a strong signal about Cardano's and its developer community's ethics for doing good.
Although the app will work cross-chain, it is our intention to provide Cardano users with a few added functionality vs users of other chains, such as providing cumulated Cardano accounts balance at first glance of dashboard.
In addition, to increase the profile of Cardano vs all other blockchains, it is also our intention to make the app's onboarding tutorials (how to use...) and explainer videos (protect yourself from hacks, best practice to keep safe...) all based on Cardano (and specific user experiences with Cardano wallets), including brands and visuals.
Finally, since the app is mostly going to operate offline (no need for a backend or database), its scalability is not going to be an issue, and since most crypto seed phrases are derived from bitcoin BIP39 or similar standard, what will be delivered will already be at scale, with a positive impact across most chains.
In truth there are no great technological challenges anymore at this stage. I have already developed a "web2" version of the solution (as can be seen in the videos, and as can be downloaded from the AppStore). I now need to "refactor" this web2 solution to get rid of the backend and database, and rebuild it on a more modern framework (I used Cordova in the current release and I will likely build the new one with React Native). That will allow the delivery of the app for iOS and Android.
There will be no need for the user to register (no email, no id..), hence no need for backend / database in this new app. At the equivalent of first login, the user will be required to enter his/her own original seed phrase. That will generate a private key used for encoding all future seed phrases into QR codes. This original seed phrase will then be encoded in the app (localstorage or equivalent) and will not be accessible / hackable from outside the app. I plan the additional use of phone security system (fingerprint / face recognition) to access the app after first login. As noted by a community member, it may be that to deal with the case of rooted devices, the app should allow the user to either keep the original seed phrase securely in app storage (convenience) or ask it at each app usage (stronger security, but a lot less convenient).
The risk of a moving deadline will be mitigated by allowing more time than I would normally allocate for a full time job.
The only part which has not been prototyped at this stage is the integration of a Cardano library to scan through Cardano wallets balance and provide an additional feature for Cardano users. That is not critical to the app, and this is only a nice to have, which I intend to implement, but in case it takes longer to do so, this can be delayed a bit without impacting much the release of the main feature / main benefit.
Alternative commitments
Before providing the detailed plan, please note that I (Eric) got the privilege to receive two project funding in the past:
I am also submitting another project in Fund 9, which is the continuation of my Fund 7 project. It can be found here: https://cardano.ideascale.com/c/idea/420812. In the case of this project, I will require to hire a Python/Docker developer and a Plutus programmer, both of which are not my core strength. So if I have the privilege to get funded for this project (idea/420812), it will only take at most at around 20h per week. It means that I would be able to focus my coding time for around 32 hours per week for the two projects (the Fund 8 - idea/400022, and this current proposal).
Finally, timelines are set to accommodate all concurrent activities, so that projects are delivered as per their respective expectations (like I am delivering currently the Fund 7 project on time and on budget).
Detailed plan
(wd= working day of 8 hours)
[21 days] Setup phase
[20 days] Nice app onboarding + tutorials
[24 days] Most functional UI/app
[7 days] Cardano specials
[11 days] Simple entry website + doc/ marketing videos
[16 days] Delivery + test + risk mgt
Not included in cost (but will be delivered on a needs basis)
In terms of timing and milestones, the plan is to deliver according to following schedule:
As shown above, the project is planned to be delivered in full within 7 months from start. Again, this represents a workload of around 40% of "normal working time", or less than 20% of "overdrive work" (I do not work 40 hours a week, more like 80 hours a week...). This is very safe and manageable, in consideration of other commitments, and the low level of technological risk associated with this project.
As regards the milestones, it is expected that the source code will be available on a github repo from the start of the project, and auditability will be possible on this basis. A first alpha app, working as per minimal expectations, is likely to push it to the 3-4 months timeline. Therefore it is not likely that there will be a significant delivery that is a "workable product" during the first few months of the project plan. All first app deliveries will be made for iOS and be available on testflight. The Android target will be done last, by the end of the project.
sample screen of current app (will be re-looked with Cardano feel)
The detailed plan as per above is not strictly a 100% mapping of a timeline day by day, but it is still a relatively good representation of when efforts will take place, and which modules require completion before moving onto the next one(s). As previously mentioned, it is a safe plan (no aggressive deadlines).
A total budget of $57,200 over 99 days
As detailed above, I have included some ongoing maintenance, deliveries, webconf presentations for free. I also propose to support the cost for hosting (website) and annual cost of domain name, apple and android dev app subscriptions for at least 3 years. I only charge my time for coding and the time of others in the team for their part in delivering the solution (test, minimal marketing, tutorials).
The tutorials, visuals, and docs will be subcontracted to the same team who has delivered all those for Authenly (see for example youtube[dot]com/watch?v=85kHldpiThQ and youtube[dot]com/watch?v=7ESDEUCiYCs). See some of the work from this team here (cartoonite.com)
Website and app will mostly be delivered by Eric Duneau (https://www.linkedin.com/in/ericduneau/)
Test will initially be done by the Authenly team (actual team members may rotate by the time we get there, since for this purpose we use apprentices on 6 months rota). It is hoped that additional alpha testing will be provided by users in the Cardano community as per release plan.
Not planning to ask for more funding later on for this project. It will be fully delivered as an open source app, and there will be no need for more funding. I will maintain the app for "bug maintenance / code rot" for free for at least 3 years (as part of the funding received).
Success would be a massive adoption of this app in the crypto community at large, to help users secure their self custodian wallets seed phrase, and protect their private key.
I decided to submit this project after discussing with some peers in the Cardano community (in London/UK, meetup of 19 June organized by @upstream_ada) and listening to someone say that he was managing a community of 400 users but most were frightened to have a self-custodian wallet (again the same FUD). In this very specific instance, success would be seeing this community of 400 users adopt the OneCryptoPass app to protect themselves, and see each of them move towards a better financial independence by owning their key, therefore owning their coins!
Therefore, success is measured in the number of users who move to self-custodian wallets, as they become less afraid of loosing their funds since their key is now a lot more secure.
I also sincerely hope that the Cardano community will embrace this app as the default solution for protecting their seed phrases, and that tens of thousands will benefit from it within a few weeks of its launch. I will make myself available to promote it for this goal to happen.
New proposal.
SDG goals:
Goal 9. Build resilient infrastructure, promote inclusive and sustainable industrialization and foster innovation
SDG subgoals:
9.b Support domestic technology development, research and innovation in developing countries, including by ensuring a conducive policy environment for, inter alia, industrial diversification and value addition to commodities
Key Performance Indicator (KPI):
9.c.1 Proportion of population covered by a mobile network, by technology
#proposertoolsdg
I have been developing software for 25+ years, and have been involved in cyber and crypto projects for over 3 years now. I have already developed by myself a (web2) prototype showing that what I intend to deliver is feasible. I have the right team to build on this prototype.