You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In order to move toward a decentralized Mithril network that would allow multiple aggregators to operate simultaneously.
A P2P network layer could power this new capability and provide a way to exchange signatures between signers and aggregators without relying on a central entity.
The goal is to create a Proof of Concept for a basic P2P network that would allow multiple aggregator to retrieve the individual signatures posted by signers. A nice to have feature is the ability to deploy a P2P network and at the same time keep the existing centralized implementation: this would allow in the long run to smoothly deploy the P2P network along the existing network.
A good candidate to do so is the Mithril relay that we could re-implement:
Mithril relay is a "proxy" to the historic aggregator.
Mithril relay is also able to replicate individual signatures sent by the signer to a P2P network (each relay is a peer in the network).
Along the Mithril relay, the Mithril aggregator has an adapter that is able to retrieve the signatures from the P2P network and make them available to its Certificate producer.
Here is a draft schema for the architecture of such a P2P Mithril network:
Note: It is worth mentioning that more work will be needed to work in fully a decentralized setup:
Capability for an aggregator of peer-discovering other aggregators in the network.
Capability for an aggregator of retrieving from another aggregator a valid certificate chain.
Capability for a signer to compute message to sign without communicating with an aggregator.
Capability for a signer to register its verification keys in a decentralized manner (with consensus).
A good P2P candidate library that we intend to evaluate is libp2p:
It has a Rust implementation that is mature and stable
It provides support for interesting P2P features: PubSubguide | library
We want to experiment with P2P and create a PoC to decentralize the signature registration of the signers and make it available to subscribers on a P2P network. In that context, an aggregator subscribed to the signatures can create certificates by relying only on the P2P signatures broadcast. The selected architecture should be versatile enough to not modify the existing signer and aggregator nodes.
Why
In order to move toward a decentralized Mithril network that would allow multiple aggregators to operate simultaneously.
A P2P network layer could power this new capability and provide a way to exchange signatures between signers and aggregators without relying on a central entity.
The goal is to create a Proof of Concept for a basic P2P network that would allow multiple aggregator to retrieve the individual signatures posted by signers. A nice to have feature is the ability to deploy a P2P network and at the same time keep the existing centralized implementation: this would allow in the long run to smoothly deploy the P2P network along the existing network.
A good candidate to do so is the Mithril relay that we could re-implement:
Along the Mithril relay, the Mithril aggregator has an adapter that is able to retrieve the signatures from the P2P network and make them available to its Certificate producer.
Here is a draft schema for the architecture of such a P2P Mithril network:
![Mithril P2P Network](https://private-user-images.githubusercontent.com/5566665/275564957-a783a0a5-8459-45c2-ab68-94ea864f0d67.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1MzY1NzYsIm5iZiI6MTczOTUzNjI3NiwicGF0aCI6Ii81NTY2NjY1LzI3NTU2NDk1Ny1hNzgzYTBhNS04NDU5LTQ1YzItYWI2OC05NGVhODY0ZjBkNjcuanBnP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIxNCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMTRUMTIzMTE2WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NjY5NTEzZDhiMWY2Y2VkNDExZTRjNzYwYjViMzI5OWJlYTQ5MmQxYWU3OGY3Mjg5YTY0Yjg0NGI5YjVhNzliYyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ._gei6M6QxU3r-wHxtM4z4LAGUunsKrSI8dxY33Vge6c)
Note: It is worth mentioning that more work will be needed to work in fully a decentralized setup:
A good P2P candidate library that we intend to evaluate is libp2p:
What
We want to experiment with P2P and create a PoC to decentralize the signature registration of the signers and make it available to subscribers on a P2P network. In that context, an aggregator subscribed to the signatures can create certificates by relying only on the P2P signatures broadcast. The selected architecture should be versatile enough to not modify the existing signer and aggregator nodes.
How
libp2p
#1326)Later
The text was updated successfully, but these errors were encountered: