PPoS / Consensus / DA

Research

Development

  • PR #764 (Node): DA - Finished and merged replication changes.
  • Kickoff executor binary: We plan to add missing pieces of the architecture for the testnet. The first step is having a running executor. PR #766 (Node) - created the binary crate. PR #768 (Node) - implemented (composed) executor network behaviors and added Swarm. PR #795 (Node) (WIP) - started network service implementation.

Mixnet

Research

  • In order to measure the latency and bandwidth of the Mix protocol, we prepared and ran a new experiment by introducing more realistic parameters simulating the behavior of the block leader (20s block time) and cover traffic, which is much lower than in previous experiments (performed to find the primary queuing mechanism) but still provides reasonable quality mixing. The report can be found here. Summary: We can meet the latency requirement (defined by the Nomos consensus protocol) if we limit the size of the Mix network to fewer than 100 nodes. However, the bandwidth consumption is under 80Kbps when the payload size is 320 bytes (i.e., block selection), but it exceeds 500Kbps when the payload size is 3200 bytes (= 100 tx refs * 32 bytes). This shows the difficulty of scaling to a large Mix network. We also need to clearly define the bandwidth requirement by specifying the payload size and related mechanisms.
  • Focused on improving documentation. Wrote the following documents, which went through a review (though some sections still require revision): Introduction, Tier 1, Tier 2 (part 1), Tier 2 (part 2). These documents describe the design of the first iteration of the mixnet. The missing documents will add new features on top, such as (Tier 3) cover traffic and (Tier 4) incentivization mechanics.
  • Began estimating the minimal amount of bandwidth required.
  • Analysis of latency in the Nomos mix network: Considered the latency of broadcast in networks of size N with a topology of a random regular graph with connectivity ccc. For large N, a finite neighborhood of any node is a tree with branching factor c−1. Numerical analysis of broadcast latency in networks with topologies of random regular graphs and Cayley trees of various sizes suggests that the latter can be used to construct an upper bound for the former. We showed that broadcast latency on a tree can be computed recursively with numerical complexity O(N), which is better than O(Nlog⁡N) when Dijkstra’s algorithm is used. The recursion on a tree was used to derive a recursive equation for the probability distribution of broadcast latency on trees with branching ratio c−1, i.e., the probability distribution of broadcast latency for a finite neighborhood of large regular graphs with connectivity c. This work is summarized here.

Development

  • No updates this week.

Coordination Layer

Research

  • We’ve decided to postpone research on the Stwo wrapper for now, and we explained the reasons in this document. In summary: the optimizations in Stwo, which reduce proof size, complicate Merkle proof verification, requiring additional computations by the verifier, which conflicts with the goal of a simpler verification process. Additionally, significant rewriting of the prover is needed for compatibility, and emulating field operations from M31 to BLS could negatively affect performance. The time and effort required for implementation, parameter tuning, and handling Circle STARK verification are much greater than expected. Given these challenges, along with the fact that Risc0 already provides a working wrapper with fewer complications, the anticipated benefits of continuing this work no longer justify the effort.
  • Took notes on the ZkVM vs ZK Circuit discussion, shared here for future reference and added them to this document.

Development

  • No updates this week.

Zone and Apps

Research

  • Started research on zones, exploring key questions and drafting initial thoughts.

Development

  • No updates this week.

Testnet and Tooling

Development

  • PR #797 (Node) - KZG-RS global params configuration for the testnet: updated configuration syncing between nodes and added Risc0 dependencies. After review, this can be deployed on testnet.nomos.tech.
  • PR #767 and PR #770 (Node) - CI: Jenkins nightly jobs update - Risc0 setup for Jenkins nightlies. Added dissemination test alongside consensus. Docker build job for GitHub PR check to track missing dependencies.

Miscellaneous

  • Created a blog content plan until the end of the year.