The mixnet and the DA network have fundamentally different needs. This document briefly elaborates on this topic
Main solutions
- PoL-based: use a sliding window of PoL from consensus. These PoL would be augmented with a flag for participation and an external IP (if the flag is true). This IP would be leaked but it could be an external IP that is different from the network IP.
- PoV-based: build a PoV based on onchain data, that is then distributed (probably) offchain. The main problem of the PoV is that it leaks the “greater than X stake” statement.
PoV for DA
The DA network needs nodes that commit to being online. They need to provide an external IP so that any node (light clients included) can connect from it. But we don't want to maintain as much privacy as possible. This can be done by the DA node publishing an external IP that is proxied in some form, so it is decoupled from the node IP. However, on connection, we need to verify somehow that the node is authenticated (ie the one who claims to be). In short, DA needs:
- Sybil resistance
- Node stability
Solution
- PoL
- For this it seems that PoL approach could work, but there are some important caveats of the time window having to become too large.
- In DA, we want to maximize the number of nodes that participate, and this is at odds with PoL being probabilistic. Some nodes that want to participate might be out of the window, while others inside the window might have exited.
- PoV
- In this case, we still need to leak the external IP, and we need to register the nodes on-chain somehow so they can be agreed upon by the network.
- Open question: what would be the mechanism to agree on the onchain list?
PoV for the Mixnet
In the case of the Mixnet, long-term stability is not as important. The most important property is sybil resistance.
Solution
In either case, the verification can be done in a p2p basis and restricted to the nodes that are being connected to: on connection, the node will verify the PoV provided by the peer.