Atala PRISM, which is Cardano’s identity solution, depends on the PRISM Node, a proprietary software run by IOG. Not being open-source, as most of IOGs code, hinders further adaption and growth.
Provide the community with a open-source implementation of a PRISM Node, to reduce centralization and the dependence on IOG.
This is the total amount allocated to Open source PRISM Node.
Ed Eykholt
No dependencies.
Project will be fully open source. The compiling of the source may depend on external components that are available only in binary form.
Identity on Cardano
Atala PRISM, a digital identity project by IOG, opened its doors to the first set of PRISM Pioneers about 1.5 years ago. DID PRISM, the DID method developed by the Atala team, is anchored on the Cardano Blockchain - that mean that the DIDs are encoded and saved on-chain. Though the specification has only undergone minor changes over the years, it has only recently been made public (https://github.com/input-output-hk/prism-did-method-spec/blob/main/w3c-spec/PRISM-method.md), officially enabling the community to create their own node implementation.
Open-Source PRISM Node
The blocktrust team, actively participating in the PRISM community for over a year and a half, consistently builds projects on Atala PRISM, such as the blocktrust identity wallet, the analytics platform, the credential builder, a DIDComm Mediator and more. Last year, we developed a prototype of a PRISM Node based on our research and deductions from what we gathered from the on-chain metadata. Since the Atala team had not officially published the DID PRISM method specification at the time, we limited our Node prototype to reading from the blockchain, avoiding writing to the chain so as not to create a conflict of interest with the Atala team. The outcome is the blocktrust analytics platform, currently the only way to track PRISM operations on the chain.
Now, the Atala team has chosen to publish the specification while keeping their implementation closed-source (for allowing future revenue streams), paving the way for an open-source PRISM Node implementation based on the latest specifications. Finally having an open-source community driven PRISM Node would obviously be a massive step for the ecosystem.
Capabilities
To achieve this goal, we will leverage our previous experience with the prototype, revise it, and add the ability to not only read but also publish DIDs to the blockchain. To see our current implementation in action, visit Blocktrust Analytics (https://analytics.blocktrust.dev/), a platform to explore all PRISM transactions on the blockchain and see the live updates of all PRISM related transactions.
Our Node will have the following features and be fully compatible with the current specification:
However, a PRISM Node does not function independently; it requires access to a database with all past and new incoming PRISM operations. In our prototype, we used the Cardano-node and dbsync. For this proposal's rewrite, we'll additionally offer the ability to use TxPiper.io Oura, as well as Blockfrost for streams of new incoming blocks.
In the future (not included in this proposal to keep the scope manageable), we may also consider implementing the Universal DID Resolver and Universal DID Registrar definitions, further promoting the adoption of the PRISM DID specification beyond the Cardano ecosystem.
The DID PRISM method specification by the Atala team stands as a well-thought-out blueprint for DID methods, notably when compared to some others registered with the W3C. Given the uncertainty surrounding Atala PRISM's business model (as they must generate revenue) and the project's future direction, having a single, closed-source node implementation controlled by IOG may seem like a reasonable business decision. However, it does not align with the best interests of the Cardano or SSI community in general.
Furthermore, introducing an additional node would incite competition, stimulate development, and encourage more community members to use, integrate, and be involved in the digital identity ecosystem. This could potentially open an additional revenue stream for StakePool operators, allowing them to utilize their existing infrastructure to run a lightweight PRISM Node on their servers.
It would be reasonable to expect that, after a few months, multiple independent PRISM Nodes (3-5) will be set up. The specific numbers are difficult to estimate as they largely depend on the general adoption of the PRISM identity solution.
The Node will be freely available for community use: We'll be providing the node in an open and accessible format that allows any member of the community to download and run it independently. This offers the chance for more widespread usage and the technology. The adoption of the Node and the creation of additional service-offerings can be measured, either in the interaction with the GitHub repository as well as on chain, as different nodes leave their own fingerprint (through the staking-address) on the chain when writing transactions.
Opportunity for extension and innovation: Other developers and technology enthusiasts are welcome to take our Node, enhance it, and integrate additional protocols on top of it. This opens a myriad of possibilities for future use-cases and extensions. The accessibility and openness of our node allows for ongoing growth and innovation, paving the way for fresh ideas and solutions that we may not have envisioned yet.
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 (https://discord.gg/6UXrUY2HUk), 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. We already did that several times in the past.
When it comes to releases, updates can of course found on our GitHub (https://github.com/bsandmann) as well on a dedicated website for this proposal under https://blocktrust.dev and our blog.
Blocktrust has been an active participant in the Cardano ecosystem since early 2022, developing SSI solutions using Atala PRISM from the start. Over the last year and a half, we have been building projects and libraries based on PRISM. Many of these are open-source and all of them provide value. Some notable ones include:
Several of these projects, such as the wallet and the analytics platform, have been funded via Catalyst and are either nearing completion or awaiting the close-out report. Other projects have been completed due to ongoing interest in the ecosystem.
Looking at our reports or our blog, you'll see we're constantly sharing videos, posts, new projects, and code. We plan not only to continue doing that, but even to scale up our effort by hiring at least one additional developer.
The validation of our approach will be gauged through feedback from the community and other projects hosting their own node and offering services on top of that.
Milestone 1: Analyze learnings from prototype, architecture of new node, project setup (1 month)
Planned Finishes: 2023-11-01
Acceptance Criteria: Progress report, defined roadmap, providing links to the repository and project website
Cost: 51,000 ada
Milestone 2-5: Development (4 months)
Planned Finishes: 2023-034-01
Acceptance Criteria: Progress report, different coding milestones according to the roadmap. At the end of milestone 5 a video with a technical walkthrough and a hosted demo-node.
Cost: 204,000 ada
Milestone 7: Development, integration testing, and UI finalization (1 month)
Planned Finishes: 2023-04-01
Acceptance Criteria: Progress report, Report on the integration testing on all existing DIDs
Cost: 51,000 ada
Milestone 8: Finalization and documentation (1 month)
Planned Finishes: 2023-05-01
Acceptance Criteria: Progress report, Bug fixing and documentation
Cost: 51,000 ada
Milestone 1: Analyze learnings from prototype, architecture of new node, project setup (1 month)
Milestone 2: Transaction ingestion (1 month)
Milestone 3: Transaction Parsing (1 month)
Milestone 4: Endpoint and DID Resolver (1 month)
Milestone 5: Adding write capabilities (1 month)
Milestone 6: Initial syncing and test run (1 month)
Milestone 7: Development, integration testing, and UI finalization (1 month)
Milestone 8: Finalization and documentation (1 month)
Developer cost breakdown: 50 hr/week with 70 USD = 14,000 USD per month = 112,000 USD
Hosting costs for Milestone 1 to 8 while developing: with 300 USD per month = 2,400 USD
Total: 114,400 USD = 410,000 ADA (~0.28 USD/ADA exchage rate)
Project team: (architecture, design, software development, testing, DevOps, community, project management, documentation):
The total workload is estimated at about 50 hrs/week. Divided among three developers, this leaves plenty of room to also push forward other Blocktrust projects, community work, marketing, and the ongoing technical support and maintenance of our digital identity infrastructure.
Developing a reliable PRISM Node is a relatively complex process. Given our extensive experience in this domain and having already coded an initial version of the Node, it is likely that no one else could accomplish this task more efficiently. We don't need to spend time testing and understanding the specifications and the on-chain transactions; we can directly start with the development process.
The same applies to running a Node. The complexities involved in updating, adapting to underlying Cardano-node and dbSync changes, as well as adjusting to specification changes for the PRISM DID itself, are all challenges we're familiar with. We have proven our ability to manage these hurdles for over a year now.
Björn Sandmann
10+ years of full-stack development with the .net Stack. Focused on identity and privacy solutions. PRISM Pioneer, Atala ASTRO, Plutus Pioneer, already funded proposals. Implemented all technical core functionality of products like the blocktrust analytics platform, the blocktrust mediator and the blocktrust identity wallet. Founder of blocktrust.
LinkedIn: https://www.linkedin.com/in/codedata/
Github: https://github.com/bsandmann
Ed Eykholt
20+ years of software product and engineering team leadership. C# developer. Focused on blockchain and identity projects and products since 2015. Atala ASTRO. Working on PRISM related project with blocktrust over a year.
LinkedIn: https://www.linkedin.com/in/edeykholt/
Github: https://github.com/edeykholt
New Team Member
Blocktrust might hire or contract with an experienced full-stack C# developer to augment Ed and Björn's contributions. The project can still be successful without this additional person.