Please describe your proposed solution.
The solution we're developing builds upon the results of our Fund 9 Blocktrust Identity Wallet project (<https://projectcatalyst.io/funds/9/f9-dapps-products-and-integrations/blocktrust-identity-wallet-prism>), which we plan to complete by October 2023. At that stage, we'll have an Alpha version with the most essential features, which can be showcased. We encourage you to visit our website (<https://blocktrust.dev>) and watch the videos to understand better the progress we've made thus far.
The Wallet operates on the principles of self-sovereign identity (SSI) and utilizes Atala PRISM technology. Self-sovereign identity lets you have multiple digital identities (personas), composed of a decentralized identifier (DID) and a collection of verifiable claims, or Verifiable Credentials, about you.
These Verifiable Credentials (VCs) are generated by entities called Issuers. The VCs contain information about you (you're the Subject), and you hold them (making you the Holder). You can then present these verifiable claims to another entity called a Verifier.
Our Wallet not only receives these VCs from Issuers but also supports the roles of a Holder and a Verifier. It essentially lets you collect, store, and present your verifiable credentials.
The VCs are of type W3C JSON-JWT, and additional types will be added in the future. The communication protocols between agents (e.g. issuer-to-holder, holder-to-verifier) are based on Hyperledger Aries, and make use of a DIDComm v2 Mediator service, which the user can specify, one of those being Blocktrust's.
Additionally, our Wallet also uses DIDComm and a Mediator to implement secure, end-to-end encrypted chat messaging between you and another Wallet user or with any other compliant identity agent.
This Wallet is designed as a browser extension for desktop computers, with Chromium-based browsers. In response to our experiences and input from users, Blocktrust is enhancing the Wallet by adding new features, improving the user interface, and refining the underlying architecture.
Key points about our technical implementation include the use of .Net C#, Blazor, and the fact that it's set up as a browser extension with a Manifest v3 package (providing more safety than is offered by many password managers still based on v2).
Additionally, a significant portion of the code that will be developed in this Fund 10 proposal will be reused. A portion of shared code from the browser wallet will also form a common foundation for the Blocktrust mobile wallet apps for Android and iOS. Details about those mobile are provided in the separate Fund 10 proposals.
The primary architectural components are depicted below:
How does your proposed solution address the challenge and what benefits will this bring to the Cardano ecosystem?
Using decentralized identity wallets and agents such as Blocktrust's, developers of decentralized applications (dApps) or centralized solutions interfacing with the Cardano ecosystem will be better equipped to fulfill their goals. These often involve establishing trust between different parties and ensuring regulatory compliance. Without the availability of Blocktrust's wallet, developers could face increased risks. They may find their progress impeded or become overly reliant on another provider's identity wallet solution, limiting their flexibility.
How do you intend to measure the success of your project?
We plan to gather user feedback through a specific Discord channel dedicated to this purpose. Additionally, we'll keep track of the number of times our product is downloaded from the Chrome Web Store after it's released for beta testing and when it's made generally available. These download numbers will give us tangible data about our product's reach. We're also currently investigating potential ways to generate revenue from the product in the future.
Please describe your plans to share the outputs and results of your project?
Blocktrust will keep the Cardano community informed about our progress by providing updates as we achieve each of our milestones, typically on a monthly basis. We'll be communicating through Catalyst progress reports, our dedicated Discord channel, and videos showcasing the latest features of our product.
Occasionally, we may interact with the community in real-time during the Catalyst After Town Hall sessions. These sessions will give us an opportunity to show our progress and collect immediate feedback.
When it comes to actual product releases, such as the beta version and the v1 release, we will make them available for download on the Chrome Web Store.
We intend to evolve the wallet for many years to come based on users' feedback, our current strategy for our product suite, and our traction toward executing a successful business model.