What are DIDs and credentials? Why do we need them?
We all have physical real world credentials already. Your paper passport and plastic card drivers license are good examples. They are physical documentation that you are a legal resident of the country you come from, and proof that you can drive a car. The problem though, is that these cannot be used as proof when you need them on the internet. They are only usable in the physical real world.
<u>Digital credentials are digital versions of these documents</u> in a form that can be used in the (non-physical) internet world.
The DID is your digital identity, to which you can receive these digital proofs and link to you as a digital person.
Why would you want to create a digital credential?
Perhaps you are the manager of a sports club? Perhaps you are a University professor and want to send digital proof to your graduate students for passing a course? You could then make use of DIDs to let your club members or students receive these digital proofs. The possibilities are endless.
What we propose, is to give you the power of creating, receiving and sending digital proofs yourself, without any need for development skills.
Atala PRISM is Cardano's platform for DID and credentials. The functionality is however only available for developers today. We want to make it available for everybody.
-----------
<u>To make sure Atala PRISM platform performs great and grab market-shares in the global DID ecosystem, we need tools that let the non-technical user start making use of DID functionality without being a developer</u>. Adoption and market-share is not achieved by developers, but the number of non-technical users using the technology on a daily basis. Currently, you will need to be a developer to create and issue DIDs and credentials. We propose to create a decentralised application (dapp) to enable regular users to create, issue and receive verifiable credentials to help spark mainstream adoption of DID. The tool will enable this with an intuitive graphical user interface (GUI) that will incorporate drag and drop and other window based functionality the modern user demands of their applications.
Main features of application
- Create new DID or import existing one
- Manage credentials
- Create, issue and revoke credentials
All of this with no need for developer knowledge, in an intuitive window based application.
The application can be run on Windows, Linux and Mac
<u>The main goal of this tool is to abstract away technological details and intricacies and instead let users focus on benefits and usage.</u> The tool will therefore be a general solution needed by many actors mentioned by the challenge statement.
Usability and adaptability of the PRISM platform compared to competing platforms is achieved because we deliver an easy to use tool that can be used without knowing about technical details. Easy to use tools like this, will unlock exponential growth and adoption and give non-technical users a playground for exploring DID and credentials. Being available to everyone will lift the creation of new use cases out of development labs and over to everyone else. This will be a catalyst for real-world implementations on Cardano and Atala PRISM.
Being so user friendly, this tool also will give large benefits to the Small Producer Problem and Last-Mile Problem, as this tool will make DID and credential maintenance achievable for non-technical personnel so they can participate in the global industrial supply chain market without becoming blockchain developers.
The final solution will be for Holders, Issuers and Verifiers. As can be seen in project roadmap, a mobile app for Holders and Verifiers is planned as well.
As a pioneer of the Atala PRISM pioneer first cohort, we have seen that the <u>process of issuing credentials to the blockchain is very time consuming</u> because of having to wait for a specified number of blocks to be produced by the blockchain before the operation is confirmed by Atala PRISM. Tools that do not take this into account will be unusable and will inhibit adoption. We will make sure the <u>user will be unaware of this waiting time</u> because of the functionality we put into the application. Users will instead get subtle notifications when an operation is confirmed. How the user is notified, is of course configurable to put the user in control.
Why desktop application? Why not web application or mobile app?
Both mobile and web applications have been considered and might come in the future for some of the functionality. The desktop application brings best of both alternatives while being the easiest to develop into a fully functional application. We therefore propose desktop application.
<u>Reasons for not doing web application now</u>: In short - decentralisation considerations. We don't want to create a centralised web solution when a clear and better decentralised alternative is available. Having personal data stored safely on your own computer instead of in a centralised web solution, means putting the ID owner in control of their digital identity files. Web applications also need to support the load from potentially thousands of concurrent users and must be available 24/7. Decentralised desktop application is available when you need it and you work with it alone. (Publish times will of course be determined by blockchain load and congestion, but this will only affect time before receiving notifications and confirmations)
<u>Reasons for not doing mobile app now</u>: small screen space and need for typing text might make some of the functions we want to create painful for users without keyboards. As can be seen on the proposed timeline, we are planning to create a mobile app for verification, but full management suite is best solved with a desktop application.
<u>Will installation be difficult?</u> Installation will be as easy as installing regular window applications. No development experience needed or knowledge to build executables from GitHub site. No need for running any other external programs like cardano-node. You can expect a simple "Next"…"Next"…"Finish" install experience.
<u>Risk: Uncertainty regarding when PRISM publication to mainnet</u>
Mitigation: The tool will be created to work with testnet and will be available for community testing once completed. The project will deliver a working tool either way. When PRISM goes mainnet, the tool will be made to work with mainnet as well.
<u>Risk: Change or removal of functionality in PRISM API</u>
Mitigation: The proposal is written with regards to current functionality of the PRISM API. The tool will be updated as new versions of the API are made available. Changes to the API might result in changed functionality of the tool