P2P Privacy

Research

  • Ordering Measurements: Performed experiments 5 and 6 of the ordering measurements (which are the heaviest). Experiment 6 took more time than expected due to randomness in some queue types. We had to lower one parameter (the number of messages generated) to finish the experiment in a reasonable time. Additionally, we implemented an optimization to reduce gossip traffic. As a result, both experiments 5 and 6 were completed by Thursday (2024-09-05).
  • Ordering Measurements: Since 2024-09-06, we have been analyzing the results of the latest experiments, focusing on the average number of data messages in queues, the average latency for messages (from sender to receiver), the ordering coefficients (to compare the mix effects), and the calculated outputs: exp5 and exp6. These are not yet nicely visualized reports but can be analyzed in detail by the Mixnet Workgroup. The ordering coefficient for experiment 5 is still being calculated.
  • We identified information leakage in the noisy lottery design, which we started addressing by generalizing the lottery to the l-hop case. Instead of a single hop, we added more hops to better mimic data traffic. This reduced the leakage, but it requires modifications to the payment mechanism for noise generation, which is in progress.
  • The discovery of this issue came while working on the payment mechanism for mixing, which is advancing but requires modifications to align with the noisy lottery. This is not fully documented but can be found here.
  • Analysis of latency in the Nomos mix network: We analyzed the latency of a broadcast in the finite connectivity regime of communication networks. In this regime, a node is connected to a finite number of other nodes in the network. We assumed a network of size NNN has a topology of a random regular graph with connectivity ccc. Message delay is governed by a Geometric distribution with parameter qqq, i.e., a message is removed from the out-queue with probability qqq, and a constant delay in communication links. For this model, the latency of broadcast (divided by log⁡(N)\log(N)log(N)) converges to some (non-random) value, depending on qqq and ccc, as NNN grows. Furthermore, for small qqq, the latency of broadcast is consistent with 2log⁡(N)(c−1)qc(c−2)\frac{2 \log(N)(c-1)}{q c(c-2)}qc(c−2)2log(N)(c−1)​ but deviates for larger qqq. From this, it follows that latency grows as log⁡(N)\log(N)log(N) with NNN in the finite connectivity regime. This work is summarized here.

Development

  • No updates this week.

Data Availability

Research

  • No updates this week.

Development

  • PR #715 (Node) - implemented DA network in the verifier libp2p adapter.
  • PR #722 (Node) - implemented trigger sampling from DA mempool.
  • PR #723 and PR #725 (Node) - implemented trigger sampling in Node.
  • PR #729 (Node) - first attempt at storage relay (closed due to incompatible types).
  • PR #730 (Node) - implemented incoming sampling request handling.
  • PR #731 (Node) - implemented adding column index in the sample requests.
  • PR #732 (Node) - implemented get_blob on sampling RocksDB adapter.
  • PR #733 (Node) - implemented minimal correct configuration for two nodes participating in DA network to receive BlobInfo into a mempool, start sampling, propose a block with BlobInfo, and eventually provide available blobs via the indexer API for the requested AppID and range.

PPoS/Consensus

Research

  • PR #114 (nomos-specs) - added the first PR for the PoL Python spec.
  • The existing PoE design was reviewed, and pseudocode was prepared.
  • First attempt branch for PoE spec (working but not acceptable in terms of cycles).
  • Extended the PoV specs, which need some discussion and review.
  • Started studying the selfish mining problem in PoW and PoS - notes.
  • Added a few more paragraphs in the Selfish Behavior section.

Development

  • PR #718 and PR #721 (Node) - integration of leadership proofs in the node. We have an issue mostly around long CI times, and we might cut some corners at some point to unblock things until we get more powerful runners.

Coordination Layer

Research

  • Updated zkVM benchmarks with a new VM (Lurk that is fast but leads to large proofs).
  • Prepared notes from the sources read about Verkle trees and MPC for future studies: Verkle Tree and MPC.

Development

  • No updates this week.

Testnet + Insights

Development

  • PR #726 and PR #727 (Node) - CI: Investigated Risc0 installation options. Apart from Metal not being available in GitHub runners, we also ran out of disk space. A self-hosted runner would be a solution - Infra Request.

User Tools

Research

  • No updates this week.

Development

  • No updates this week.

Miscellaneous

  • No updates this week.