not approved
The Universal Mediator - Streamlining SSI Agents for Mass Adoption by RootsID
Current Project Status
Unfunded
Amount
Received
₳0
Amount
Requested
₳476,000
Percentage
Received
0.00%
Solution

We aim to productionalize and maintain a universal DIDComm v2 mediator, reducing friction for developers in deploying identity solutions.

Problem

The lack of a reliable, scalable, and transport-agnostic DIDComm v2 mediator for developers in the SSI space.

rootsid

Impact / Alignment
Feasibility
Value for money

RootsID

3 members

The Universal Mediator - Streamlining SSI Agents for Mass Adoption by RootsID

Please describe your proposed solution.

What is DIDComm?

DIDComm v2 is a specification for sending messages between two parties using decentralized identifiers (DIDs). DIDs are unique identifiers that can be used to represent people, organizations, or things. They are decentralized because they are not controlled by any single entity. This makes them ideal for use in applications where privacy and security are important.

DIDComm v2 messages are encrypted and signed, which helps to ensure that they are not tampered with during transmission. They can also be routed through a variety of different networks, which makes them more resilient to censorship.

In simple terms, DIDComm v2 is a way for two people or things to communicate with each other securely and privately, even if they don't know each other's identities.

Here are some examples of how DIDComm v2 could be used:

  • A doctor could send a patient's medical records to a hospital using DIDComm v2.
  • A company could send a contract to a customer using DIDComm v2.
  • A government agency could send a notification to a citizen using DIDComm v2.

Here are some of the benefits of using DIDComm v2:

  • Security and privacy: DIDComm v2 messages are encrypted and signed, which helps to ensure that they are not tampered with during transmission. This makes them ideal for use in applications where privacy and security are important.
  • Resilience: DIDComm v2 messages can be routed through a variety of different networks, which makes them more resilient to censorship. This means that they can still be delivered even if one network is down.
  • Interoperability: DIDComm v2 is based on open standards, which makes it interoperable with other decentralized identity protocols. This means that it can be used to communicate with a wide range of different devices and applications.

What is a DIDComm Mediator?

A DIDComm mediator is a service that helps to route messages between two parties when they do not have a direct connection. This can be useful in a number of situations, such as when:

  • The two parties are using different networks.
  • The two parties are using mobile devices.

The mediator acts as a trusted third party that relays messages between the two parties. The mediator does not read the contents of the messages, but it does need to know the public keys of both parties in order to route the messages correctly.

There are a number of benefits to using a DIDComm mediator, including:

  • Security: The mediator can help to ensure that messages are not tampered with during transmission.
  • Privacy: The mediator does not read the contents of the messages, so the privacy of the parties is protected.
  • Reliability: The mediator can help to ensure that messages are delivered even if one network is down.

If you are planning to use DIDComm to communicate with other parties, then you may want to consider using a DIDComm mediator. This will help to ensure that your messages are delivered securely and reliably.

Here are some examples of when you might need a DIDComm mediator:

  • You are trying to send a message to someone who is behind a firewall.
  • You are trying to send a message to someone who is using a different network than you.
  • You do not know the public key of the person you are trying to send a message to.

Our Solution

In Fund9 we have build a development mediator and now we intend to make it more robust and usable by the community.

How does your proposed solution address the challenge and what benefits will this bring to the Cardano ecosystem?

Our solution addresses the challenge by providing a reliable, easy-to-use mediator for developers, reducing the friction in creating and deploying identity solutions. This will speed up the development and adoption of SSI projects in the Cardano ecosystem, leading to more innovative solutions and increased value for all stakeholders by making it easy for SSI application to use Cardano as part of their infrastructure.

How do you intend to measure the success of your project?

The success of our project will be measured by several key metrics: the number of developers and projects using our mediator, the volume of transactions processed by the mediator, the reliability and uptime of the mediator, and feedback from the developer community. We will also track our progress towards supporting additional transport protocols and scaling to handle larger volumes of agents via Github. Here are some metrics that we plan to monitor regarding a DIDComm mediator:

  • Message delivery rate: This metric measures the percentage of messages that are successfully delivered to their intended recipients.
  • Message latency: This metric measures the average amount of time it takes for a message to be delivered.
  • Message errors: This metric measures the number of messages that are rejected or not delivered due to errors.
  • Mediator uptime: This metric measures the percentage of time that the mediator is up and running.
  • Mediator load: This metric measures the amount of traffic that the mediator is handling.
  • Number of messages processed: This metric measures the total number of messages that the mediator has processed.
  • Number of unique senders: This metric measures the number of unique senders that have used the mediator.
  • Number of unique recipients: This metric measures the number of unique recipients that have received messages through the mediator.
  • Average message size: This metric measures the average size of the messages that are being processed by the mediator.

These metrics can help us gain a better understanding of how our DIDComm mediator is being used and to identify any trends that may be emerging.

Please describe your plans to share the outputs and results of your project?

We plan to share the outputs and results of our project through various channels. This includes publishing our code and documentation on GitHub, sharing updates and insights on our website and social media platforms, and presenting our findings at relevant conferences and events. We also plan to engage with the developer community through community calls at Hyperledger and DIF and solicit feedback to continuously improve our mediator. We plan to have a dashboard that allows anyone to see the usage of the mediator in an public way. We also plan to have sample demo application that shows popular ssi sdks leveraging our didcomm mediator.

What is your capability to deliver your project with high levels of trust and accountability?

This project will be delivered by:

Rodolfo Miranda is a co-founder of RootsID and contributor on several of our projects, including RootsWallet.

His background includes a MS EE degree at Stanford University and more than 25 years of successful work experience in both large multinational companies and owned startup projects. His main activities involve architecting, developing, and implementing large scale software solutions for the Telecommunication Industry. Lately, he was engaged in blockchain technologies and became an enthusiast of Self Sovereign Identity. He’s an active contributor in the Aries, DIDComm, KERI and Anoncreds Working Groups.

He’s also involved in the Cardano Community, participating as a veteran Proposal Advisor, member of the LATAM Cardano Community, and the Cardano Community SSI Alliance.

LinkedIn

Lance Byrd is a co-founder of RootsID, a group of decentralized identity specialists building open source software for digital identity. Several of their projects have been funded by Catalyst. He is primarly focused on RootsWallet, the end-user identity wallet.

His background includes a BS in Computer Science (UMBC) and MS in Information Assurance (Capitol College) and more than 22 years of software development as a consultant. He has developed massive scale data analytics and visualizations, machine learning analysis pipelines, and worked with University researchers to bring their work to market. He has also built and taught technical certification courses for several different topics in data analysis, big data, and compliance.

He completed the first cohort of the Atala Prism Pioneer program and is now part of the Atala Prism Astros program.

Linkedin

Alex Andrei is an experienced open source developer who has a passion for architecting decentralized data solutions. With vast knowledge and expertise in data, Alex is able to create, secure, and scale systems that have the most demanding needs . He’s currently working on the open source identity wallet, RootsWallet. He’s actively participating on standards at Hyperledger, DIF and IETF.

Linkedin

Alex will be leading the project counting with Rodolfo and Lace as supporting developers of KERI technology. We are also including two extra developers currently working for RootsID that will help with the efforts of UI design and DecOps.

Since we are participating in 8 proposals, we carefully planned time allocation for each of us. We defined our individual commitment per week as if all of the proposals are funded including extra activities. Based on that, we defined the allocation per proposal for each of us needed to deliver the proposal in time.

What are the main goals for the project and how will you validate if your approach is feasible?

We have

Our main goals are to make our existing DIDCOMM v2 mediator more reliable and easier for developers to use, and run hundreds of thousands of agents. We will validate our approach through extensive testing and feedback from the community. We have held a DIDComm v2 Interopathon at the Internet Identity Conference where we got together different didcomm mediator and didcomm wallets to exchange messages with one another.

DIDComm v2

Please provide a detailed breakdown of your project’s milestones and each of the main tasks or activities to reach the milestone plus the expected timeline for the delivery.

Milestone 1: Add support for web sockets transport (1 month)

Tasks:

  • Design transport agnostic interfaces. (1 week)
  • Add web socket support in addition to http. (2 weeks)
  • Test web sockets with mobile clients. (2 weeks)

Milestone 2: Test hundreds of thousands of agents and deploy AWS agent (3 months)

Tasks:

  • Conduct performance testing (2 weeks)
  • Design Scale Infrastructure (2 weeks)
  • Infrastructure Development (4 weeks)
  • Deploy databases and storage recovery mechanism (2 weeks)
  • Deploy agent to AWS (1 week)

Milestone 3: Make mediator easy for developers to use (1 month)

Tasks:

  • Develop documentation and tutorials for several ssi agents. (2 weeks)
  • Advertise the mediator in community calls at different standards body like Hyperledger, DIF and TOIP. (2 weeks)

Milestone 4: Support mediator (5 months)

Tasks:

  • Gather feedback from developers in Github as issues or discussion
  • Support mediator changes

Please describe the deliverables, outputs and intended outcomes of each milestone.

Milestone 1: An open source DIDCOMM v2 mediator that is transport agnostic and easy to deploy with docker. This will be available via a endpoint and open source code.

Milestone 2: A scalable infrastructure capable of running hundreds of thousands of agents. A status page that allows anyone to check on the status and metrics of the public mediator. This will be available via an endpoit.

Milestone 3: Comprehensive documentation and tutorials for developers on how to use the mediator for different ssi agents. This will be available as an open source code.

Milestone 4: A reliable DIDCOMM v2 mediator that application developers can rely without having to pay for infrastructure costs or spend development time in integration hell. A list of closed github issues.

Please provide a detailed budget breakdown of the proposed work and resources.

Budget is mostly composed of development hours at a ratio of $100/hr (aprox ₳400/hr) , plus the hosting costs. Based on the activities defined above the requested breakdown budget is:

Milestone 1:

Development and testing (5 weeks x 40 hrs/week x ₳400/hr) = ₳80,000 ~ $20,000

Milestone 2:

Development and testing (12 weeks x 40 hrs/week x ₳400/hr) = ₳192,000 ~ $48,000

Milestone 3:

Documentation and Promotion (4 weeks x 40 hrs/week x ₳400/hr) = ₳64,000 ~ $13,500

Milestone 4:

Support and Maintenance (25 weeks x 20 hrs/week x ₳200/hr) = ₳100,000 ~ $25,000

Total cost:

Development, Testing : (17 weeks @ 40 hrs/week): ₳272,000

Documentation and Promotion (4 weeks @ 40 hrs/week): ₳64,000

Support and Maintenance (25 weeks at @20 hrs/week) : ₳100,000

AWS Infrastructure cost: ₳40,000

Who is in the project team and what are their roles?

Lance Byrd-Developer

Rodolfo Miranda-Developer

Alex Andrei-Developer

How does the cost of the project represent value for money for the Cardano ecosystem?

The cost of the project is a small investment compared to the potential benefits it will bring to the Cardano ecosystem. By making it easier for developers to create and deploy identity solutions, we can accelerate the adoption of SSI projects, leading to more innovation and increased value for all stakeholders.

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3m 24s
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4m 3s
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3m 48s
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2m 16s
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3m 14s
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3m 19s
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4m 59s
    Darlington Kofa
0:00
/
~0:00