roadmap/content/vac/updates/2024-03-04.md

159 lines
9.2 KiB
Markdown

---
title: "2024-03-04 Vac weekly"
tags:
- "vac-updates"
date: 2024-03-04
lastmod: 2024-03-04
draft: false
---
## Vac 2024/03/04
### vac:p2p:
- `nimlibp2p:vac:webrtc-transport`
- Sctp and Dtls client done: https://github.com/status-im/nim-webrtc/pull/5
- Adds a lot of comments some refactoring to improve (I hope) the readability https://github.com/status-im/nim-webrtc/pull/6
- Closing the streams/connections: starts to test and think about it to make it bulletproof
- `nimlibp2p:vac:maintenance`
- Investigating issues related to https://github.com/status-im/nim-libp2p/pull/1032
### vac:tke:
- `nomos:tdc-objectives`
- expanded the objectives & requirements part of the TDC (@Frederico)
- `codex:cdx`
- incorporated into Codex Litepaper all material about Codex on GitHub (@Frederico)
- reviewed the causal loop diagragam for Codex (@Frederico)
- reviewed the stock and flow diagram for Codex (@Frederico)
- `waku:rln-membership:`
- Prepare a summary of the RLN membership model including user journey mapping (@Martin)
- Review the pricing of Farcaster, etc. (@Martin)
- `waku:general-incentives`
- Follow up with general research into Waku strategy based on the IFT strategy call. (@Martin)
- `status:SNT-staking`
- Continue the review of the staking contract (@Martin)
- Understand the severity of precision loss (due to Solidity constraints) and resulting discrepancy between the contract logic and radCad simulations (@Martin)
- Assist the SC team in further checks and definition of testing scenarios (@Martin)
### vac:dst:
- `eng-10ktool:vac:bandwidth-test`
- Work on plotting module in the Kubernetes framework
- Modified main yaml to add plotting options
- Created plotter class to group there all functionalities
- Structured plotter to be able to group several experiments in same plot in an automatic manner
- Lots of calls with Wings to test the lab, launch simulations, discuss about problems and so on.
- Deployed iBGP for Calico
- Which got the IP addresses wrong at first, fixed by editing Node annotations
- Later removed BGP due to numerous issues with it
- Numerous, numerous Kubernetes tests and improvements
- Tried Cilium briefly
- Switched from Cilium to Calico
- Reinstalled entire cluster as Calico transition broke things (due to CNI switch without reinstall being a bad idea)
- Scale testing revealed that Linux has limits per node that prevent us from scaling beyond about ~1400 waku nodes per physical host when running on bare metal
- Created a new architecture for running tests
- Hybrid between bare metal and virtualised Kubernetes
- Rook-Ceph (Storage) and Prometheus-Thanos (Metrics) stacks run on bare metal, as does all management
- The rest runs in a KubeVirt based deployment system.
- We deploy what we're calling "opal fragments" (fractions of the Opal Kubernetes cluster) - Kubernetes workers dedicated solely to running nwaku deployments.
- Can deploy 5000 nodes in < 8 minutes, with stable mesh forming around 25 minutes into deployment
- Experimented with various opal fragment deployments - 56x nodes seems to be the most stable configuration
- Much higher than this (especially with poor allocation of cores) causes instability in the CNI (Calico)
- Which causes monitoring issues as nodes drop out of Prometheus monitoring
- And can mess with the mesh
- Instability is lower with lower # of connections
- Debugging CoreDNS issues - believe we've found a bug in CoreDNS and its interactions with HeadlessServices, returning NXDOMAIN even for valid hostnames about 1 in 5.5 to 6 queries.
- Ran repeated simulations to get a stable simulation for testing.
- Built a new "accelerated bootstrap" mode for simulations
### vac:qa:
- `waku:test-automation-js-waku`
- Fix flaky [tests](https://github.com/waku-org/js-waku/pull/1869)(@Florin)
- Close [milestone](https://github.com/logos-co/roadmap/pull/39)(@Florin)
- `waku:test-automation-sharding`
- Improve static sharding and autosharding tests coverage for js-waku(@Florin)
- Issue reported:(@Florin)
- https://github.com/waku-org/js-waku/issues/1874
- `waku:interop-testing`
- Waku node health/reliability(@Roman)
- Issue updated:
- https://github.com/waku-org/go-waku/issues/1014)
- `waku:test-automation-go-waku`
- Improve unit test coverage for [peermanager](https://github.com/waku-org/go-waku/pull/1035)(@Roman)
- Issue updated:
- https://github.com/waku-org/go-waku/issues/1044
- `waku:test-automation-nwaku`
- Peer Exchange(@Alex)
- [Resultify fetchPeerExchangePeers](https://github.com/waku-org/nwaku/pull/2486)
- Discv5(@Alex)
- Implement tests and simplify and [reduce code](https://github.com/waku-org/nwaku/pull/2487)
- Peer & Communication Management(@Alex)
### vac:acz:
- `rlnp2p:waku:rln-relay-v2`
- improved testing for rln-v2 onchain mode: https://github.com/waku-org/nwaku/pull/2482
- improved testing for rln-v2 static/offchain mode: https://github.com/waku-org/nwaku/pull/2484 (pending review)
- `secure-channels:waku:ethereum-chat`
- Finish the presentation for the Logos Research Call.
- Improve the research paper.
- Considering replacing MLS with another protocol.
- Add an overview on anonymity and SIWE integration in [notion.](https://www.notion.so/Overview-of-the-ERC-5564-Stealth-Addresses-ca3c16fbd9344d32933bf09791180f17?pvs=4)
- Study on hierarchical deterministic wallets for anonymous login.
- Study the openmls [crate](https://crates.io/crates/openmls) for demo implementation.
- `zerokit:vac:maintenance`
- taken a look on this issue https://github.com/vacp2p/zerokit/issues/47
- `admin/misc`
- assist with waku research paper
- stealth commitment protocol over waku PoC: https://github.com/waku-org/nwaku/pull/24
### vac:sc::
- `status:community-contracts-token-import`
- finished PR erc20/erc721 deposit PR
- implemented withdraw function for tokens sent directly to the contract https://github.com/status-im/communities-contracts/pull/59
- `status:staking-contracts-v1`
- Reviewed and merged PRs
- Continue work on coverage
- Implemented additional deployment script for new `StakeManager`s
- https://github.com/logos-co/staking/pull/72
- Worked on fixing certora specs
- https://github.com/logos-co/staking/pull/73
- https://github.com/logos-co/staking/pull/74
- https://github.com/logos-co/staking/pull/75
- Fixed a bug that allows `StakeManager`s to reset another one's `Stakemanager`s epoch while it's in migration
- https://github.com/logos-co/staking/pull/76
- `status:community-contracts-maintenance`
- Release version 1.0.0 of communities contracts
- Changelog: https://github.com/status-im/communities-contracts/blob/main/CHANGELOG.md#100-2024-02-28
- `vac:maintainance/misc`
- Worked on Logos Research call presentation
### vac:rfc:
- `rfc-process-restructuring`
- worked rfc process - https://github.com/vacp2p/rfc-index/pull/8
- worked on pull request for rfc-index - https://github.com/vacp2p/rfc-index/pulls
### vac:dr:
- `valpriv:vac:val-priv-net`
- Refined and working on https://docs.google.com/document/d/15X4vJTK_Hr3g3K01XF77R3KCqLI8LIm3/edit
- `valpriv:vac:tor-push-poc`
- Successfully merged , built the torpush while rebasing from stable nimbus.
- `valpriv:vac:tor-push-paper`
- Improved and revised the draft. like citing tor related attacks with relevance for tor push while making many other minor points and clarification https://www.overleaf.com/project/6499e467346d9f56b2971caa
- Created a notion page on findings on large message handling: https://www.notion.so/Performance-Evaluation-of-Different-Pull-Requests-for-Large-Message-Handling-4d47672820114732b9f248f6bf18946e
- Merged [PR-1027](https://github.com/status-im/nim-libp2p/pull/1027), [PR-1028](https://github.com/status-im/nim-libp2p/pull/1028) and used TxTime sorting on SendPeerList. Additionally used semaphors to limit simultaneous transmissions. Improves results in some cases and shows large fluctuations in other messages
- Configured shadow simulation for variable latency and bandwidths. Trying to build some automated scripts (requires adding edges among all peers, and adding all nodes with variable latency/bandwidth). NetworkX package in python can help writing network in gml format
### vac:nes:
- `state-separation:vac:state-separation-doc`
- Researched and discussed about monitoring issues and how to adapt solutions to our proposal (Moudy + Marvin)
- Researched and discussed about nullifeir problems and how to solve them (Moudy + Ugur)
- Studied untraceability and unlinkability features of PDAGs to create our version of PDAGs (Ugur)
- Stared working on reward mechanisms for monitoring (Marvin)
- `proofsystems:vac:research-existing-proof-systems`
- Finished writing Reverie writeup (Rostyslav)
- `proofsystems:vac:benchmarks`
- Worked on refining the Benchmark paper and drafted a full version (Moudy)
- Went through the Benchmarks paper and discussed about modifications to make and general output (Moudy + Rostyslav)
- Modified Halo2 SHPLONK, Halo2 GWC and Plonky2 circuits (Rostyslav)
- Prepared a paragraph on Nova vs SuperNova difference and Nova vs Halo2 recursion (Rostyslav)