Nomos Monthly Report - August 2023
Network Privacy and Mixnet
Research
- Conducted in-depth research on Nym mixnet architecture to design prototype architecture.
- Discussed mixnet topology management and reached a preliminary agreement on architecture.
- Analyzed end-to-end latency in Mixnet PoC, identifying potential optimization areas.
Development
- Implemented a prototype for Sphinx packet building, mixing packets at the first hop of gossipsub with 3 mixnodes.
- Added support for libp2p in tests and nomos node.
- Developed base implementation of Mixnet PoC and continued improvements.
- Implemented mixnode core module and mixnet-client library.
- Added features like Sphinx packet delay support, auto port for integration tests, and graceful shutdown for mixnode elements.
- Began shifting from channels to streams in mixnet message handling.
Documentation
- Created Mixnet Architecture document: Mixnet Architecture
- Prepared Mixnet Measurements documentation: Mixnet Measurements
Private Proof of Stake (PPoS)
Research
- Worked on PPoS design, addressing potential metadata leakage due to staking and rewarding.
- Focused on potential bribery attacks and privacy reasoning.
- Updated draft addressing comments related to shielded and transparent transaction types.
- Defined an opportunistic voting problem.
- Continued analysis on zCash transaction’s construction.
- Discussed token-engineering and staking in private settings.
Development
- Progress on this project was slower compared to others and requires more attention going forward.
Data Availability Sampling (DAS)
Research
- Analyzed data decimation in the data availability problem.
- Conducted DA benchmarks and analysis for data commitments and encoding.
- Explored and discarded the idea of node sharding.
- Studied RS+KZG in the context of DA architecture.
- Analyzed node decay in relation to data availability.
- Discovered limitations in RS and KZG implementation, particularly with library scalability and finite field challenges.
Development
- Created basic wrappers and APIs for Reed-Solomon encoding and KZG commitments.
- Implemented RS and KZG libraries with simplistic APIs.
- Conducted benchmarks for KZG implementation and simulation runs for different configurations.
- Developed KZG Base Layer initial approach.
Documentation
- Improved upper bound analysis on data availability probability: Overleaf Document
- Documented RS & KZG benchmarking results: Notion Document
Testing, CI, and Simulation App
Development
- Made various fixes and improvements to the simulation application.
- Shared simulation app and instructions.
- Updated and merged CI improvements.
- Implemented parallel node init for improved simulation run times.
- Developed branch overlay for simulating 100K+ nodes.
- Updated sequential builds for nomos node features in CI.
- Created a new repository for simulations configurations and test results.
- Implemented graceful shutdown of simulations.
- Added support for CSV format output of simulation data.
Challenges and Next Steps
- The Private PoS project is progressing slower than others and requires more attention.
- Addressing limitations discovered in RS and KZG implementations, particularly scalability issues.
- Continuing to optimize the Mixnet implementation based on PoC results.
- Further development and refinement of the simulation app for more comprehensive testing.
Resources and Links
- Nomos Node Repository: https://github.com/logos-co/nomos-node
- Nomos Simulations Repository: https://github.com/logos-co/nomos-simulations
- Mixnet Architecture Document: https://www.notion.so/Mixnet-Architecture-613f53cf11a245098c50af6b191d31d2
- Data Availability Analysis: https://www.overleaf.com/read/gzqvbbmfnxyp
The Nomos team has made significant progress across multiple areas in August, with notable advancements in Mixnet implementation, Data Availability Sampling research, and simulation capabilities. The Private PoS project requires additional focus in the coming months to keep pace with other developments.