P2P Privacy

Research

  • Completed the simulation: Queuing Mechanism: Ordering Experiments. All core experiments (5 and 6 of the session 1 & 3) have been completed. All results and evaluations have been documented. The results have been discussed within the Mixnet working group, and the PermutedCoinFlippingQueue has been chosen as the first algorithm to be used for the Rust implementation, considering its good balance between latency and mixing quality. The research part has been also preparing further researches to improve it and find better approaches. The code of simulations was pushed to the nomos-simulations repository with detailed manuals.
  • Proposed a collection of protocols for the pay-per-mix design (we are trying to reward mixing and noise generation). Most of them are based on an assumption of indirect payments and probabilistic rewarding (for active network participants) which is the most respectful approach for upholding user privacy. The protocol complexity rises significantly if we change the assumption to more direct rewarding.
  • The Mixnet Workgroup has went through the experiment results and decided to go with Permuted Coin Flipping queueing mechanism which gives a good combination of latency and mixing properties.
  • Defined another type of experiment to look more closely on a scenario where there is even less noise. We are also growing the network a bit so we might also observe the impact of the size of the network in the latency.
  • Analysis of latency in the Nomos mix network: considered the latency of a broadcast in the finite connectivity regime where a network of size N has a topology of random regular graph with connectivity c. Assumed that a message delay is governed by Geometric distribution with parameter q, i.e. a message is removed from out-queue with probability q, and a constant delay in communication links. The average latency of broadcast computed numerically is consistent with the expression 2\log(N)(c-1)/(q c(c-2)) for small q. For larger values of q, and small connectivity c, the average latency of broadcast is consistent with 2\log(N)(c-1)/(\alpha\log(1+q) c(c-2)) for some \alpha\approx 1. However, for the large c the latter holds only for small q. The summary of this point can be found here.

Development

  • Started implementing the new Mixnet protocol in Rust: Discussed internally to determine the approach how to implement the mixnet protocol by following the libp2p way, as done for DA. We are aiming to have the first working version of the base mixnet protocol this week. It will contain only base components (GTR, Queuing, …) that have minimal implementations and can be extended.

Data Availability

Research

  • No updates this week.

Development

  • No updates this week.

PPoS/Consensus

Research

  • Started studying Deep Selfish Proposing in Longest-Chain Proof-of-Stake Protocols paper. - The paper suggests (i) to disburse block rewards as tx when blocks are proposed, instead of in a later stage (e.g., at the end of the epoch) based on the block ratio, because this prevents attackers from getting more rewards than they should; (ii) the fork choice rule can be “extend the first block the validator heard about”. Notes can be found here.

Development

  • PR #721 and PR #736 (Node) - completed the integration of PoL into the node. We now have a simple implementation on the node that would need to be improved for the final testnet. Next, we are looking into other possible options like accumulators, verkle trees, etc.

Coordination Layer

Research

  • Updated the branch for PoE implementation for risc0. We get a proof in less than 2M cycles for 2048 coefficients over BLS scalar field.
  • PR #40 (PoCs) - added PoE implementation in Circom to compare with risc0.
  • Added a document explaining PoE improvements in risc0, why we propose to use dedicated PoE not included in the STF of a zone and the results for Circom.
  • Created a private repo for the modified Stwo Wrapper. It can now support Poseidon over BLS scalar field and serialize the produce proof in a json file.
  • The ethSTARK paper was reviewed to understand the details of the Stwo prover.

Development

  • No updates this week.

Testnet + Insights

Development

  • No updates this week.

User Tools

Research

  • (WIP) Explorer design is in progress.

Development

  • No updates this week.

Miscellaneous

  • Started writing NomosDA explainer series - content headers/skeletons for the NomosDA explainer series docs can be found here.