mirror of https://github.com/logos-co/roadmap.git
7.1 KiB
7.1 KiB
title | tags | date | lastmod | draft | description | |
---|---|---|---|---|---|---|
2024-07-01 Nomos weekly |
|
2024-07-01 | 2024-07-01 | false | Weekly update of Nomos |
P2P Privacy
Research
- Started writing the new mixnet executable specs. Completed: Global transmission rate, Peering degree limit, Noise per connection, Gossip-based Sphinx routing. Still to do: Time mixing.
- WIP: Updating mixnet simulation according to the new specs. The plan is to finish the first working version by the end of this week. It's taking more time than expected because of the attempt to have reusability between specs and simulation. Now the plan is clear.
- Gathered the outcome of our discussions and design decisions from the offsite and compiled a document that outlines the design of our mixnet gadget. WIP: work on the queuing mechanism for the mixnet gadget, taking into account what corrupted nodes can learn.
- With the assumption that the “Are continuous stop-and-go mixnets provably secure?” paper is state of the art, studied it in great depth to find out how anonymity guarantees are usually derived. For our case, the most useful definition from the aforementioned work is user unlinkability. However, it uses two senders and one receiver, but in our case, we have only one sender, i.e., the leader node, and one receiver node. The latter requires a new definition of sender unlinkability. The summary can be found here.
- Assuming that anonymity guarantees and statistical independence of nodes are related, considered an approach that studies various “correlation functions,” such as mutual information, Hamming distance, etc. This work will be carried on in this document.
- WIP: analysis of correlation functions.
Development
- No updates this week.
Data Availability
Research
- WIP: First iteration of the PoC can be found here. That PR already runs a libp2p inside a very basic DA node. It is important to mention that the very limited py-libp2p is not great software. The last official release is from 2020, and it had to be cloned from GitHub to make it work at all. Then, there was an issue with its internals: it's highly opinionated. Tried to reuse existing py code from
mixnet
by usingasyncio
but py-libp2p would refuse to work with it due to the lib's internal setup withtrio
. It is also important to mention that this is an exploration of the libraries; the team is yet to decide whether libp2p will be used at all.
Development
- Finishing FK20 Rust implementation.
- Included FK20 in DA encoder (PR).
- Added Rayon parallelization to DA encoder (PR).
- Implemented cache for Toeplitz part-1 and integrated it into the encoder (PR).
- Added benchmarks and missing parallelization features (PR).
- DA subnetwork assignment algorithm: Implemented re-hashing algorithm and initial experiments. Tried to implement and improve a few variations of the algorithm, but none of them were better than the original. Ran a few experiments (results and ideas will be shared later on).
- Wrapped up DA HTTP endpoints for KZGRS backend PR. Pushed changes related to DA HTTP endpoints. They are generic and should be reused with the updated KZGRS protocol and dispersal as a black box.
PPoS/Consensus
Research
- WIP: produce and analyze more simulation results using the relativization algorithm, as stated in the wealth concentration document.
- The protocols suggested by Ethereum for the proof of validator protocol have been reviewed. As stated in the article, the use of a Merkle tree could be slow for proof generation. Therefore, a zk-SNARK solution using a lookup table is considered to be more efficient. The related protocols are summarized step-by-step here. Additionally, the SemaCaulk design will also be examined. There is already Rust code available here, but it has not yet been audited. The related protocol will be examined in more detail and feedback will be provided.
Development
- No updates this week.
Coordination Layer
Research
- Integrated the Proof of Equivalence document and validated the design. It seems that we now have a protocol that meets the requirements.
- The StarkNet DA structure was reviewed again for Proof of Equivalence.
- WIP: continuing with the PoC, understanding whether Risc0 is a viable option (progress).
- Integration of Risc0 zone PoC into CL note and partial tx model: we have the zone POC hooked into the CL UTXO model, but proof times are not where we want them. We are currently at 8 minutes to generate a proof, almost all of that is coming from the Pedersen commitment to the note value. All the work is being done in this PR.
- WIP: Trying to bring the death constraint proof time down to something manageable.
- Evaluation of SP1's viability for CL: SP1's outer proof takes 13 minutes to prove. The numbers were confirmed with SP1 devs. This is too slow for us to use. SP1 devs suggested they may support swapping out plonky3 for groth16; If they do that, we should re-evaluate.
Development
- No updates this week.
Testnet + Insights
Development
- Testnet updates from the
testnet
branch now (deployments happen from thetestnet
branch) - Nomos PR, Infra PR. This is done to have more control over what runs in the testnet. - Enabling/Disabling tracing using feature flags or config at runtime - PR. Added the ability to build the node without tracing, or toggle tracing via config if built with this feature.
User Tools
Research
- No updates this week.
Development
- No updates this week.
Miscellaneous
- No updates this week.