mithril icon indicating copy to clipboard operation
mithril copied to clipboard

P2P Signer Registration PoC

Open jpraynaud opened this issue 1 year ago • 0 comments

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:

  • 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: Mithril P2P 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).

What

Following the completion of the first Poc for P2P signature registration #1300, we want to keep experimenting with P2P and leverage the current relay to create a PoC to decentralize the signer registration of the signers and make it available to subscribers on a P2P network. In that context, the aggregators and signers subscribed to the signer registrations can create certificates by relying only on the P2P signer registrations broadcast. The selected architecture should be versatile enough to not modify the existing signer and aggregator nodes. We also want to capitalize on this PoC to get a better understanding of the limits of a P2P signer registration not based on a consensus and what topology modifications of a Mithril network could eventually make such a mechanism suitable for production.

How

  • [ ] #1587
  • [ ] Identify weakness/limits of the non consensus based approach for signer registrations
  • [ ] Design new potential production ready networks architectures/topologies

jpraynaud avatar Jan 24 '24 13:01 jpraynaud