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.