--- title: "2024-03-11 Vac weekly" tags: - "vac-updates" date: 2024-03-11 lastmod: 2024-03-11 draft: false --- ## Vac 2024/03/11 ### vac:p2p: - `nimlibp2p:vac:webrtc-transport` - Finish commenting and refactoring Sctp and DataChannel https://github.com/status-im/nim-webrtc/pull/6 (merged) - Try to implement CI and make it work on differents OS (it fails) https://github.com/status-im/nim-webrtc/pull/1 - Move usrsctp from nim-webrtc to its own repository: https://github.com/status-im/nim-usrsctp - Clean nim-webrtc for the review - UDP: https://github.com/status-im/nim-webrtc/pull/8 - Stun: https://github.com/status-im/nim-webrtc/pull/9 - DTLS: https://github.com/status-im/nim-webrtc/pull/10 - SCTP: https://github.com/status-im/nim-webrtc/pull/11 - DataChannel: https://github.com/status-im/nim-webrtc/pull/12 - `nimlibp2p:vac:gossipsub-stagger-send` - Reviewing and discussing https://github.com/status-im/nim-libp2p/pull/1051. It's related to prio queues in GossipSub. - `nimlibp2p:vac:maintenance` - Creating questions for interview. - Trying to run interop tests with chronos 3 - https://github.com/status-im/nim-libp2p/pull/1055 - various PR reviews - `nimlibp2p:vac:maintenance` - proto3 repeated uint32 handling - [Issue](https://github.com/status-im/nim-libp2p/issues/1035) - Double check jacek's answer: All good. - single topic in rpc message - [Issue](https://github.com/status-im/nim-libp2p/issues/1052) - Implement fix [PR](https://github.com/status-im/nim-libp2p/pull/1061) - graceful shutdown - [Issue](https://github.com/status-im/nim-libp2p/issues/1007) Investigated and requested more info ### vac:tke: - `waku:rln-membership:` - Prepare a summary of the RLN membership model including user journey mapping (need to discuss with Waku team further) (Martin) - Prepare and iterate on the token economy suggestions for Waku (Martin) - Follow-ups from the Tokenomics call (Martin) - `status:SNT-staking` - Continue to monitor development and give feedback for the staking contract (Martin) - Assist the SC team in further checks and definition of testing scenarios (Martin) - Follow-ups from the Status Chain IFT Strategy call (Martin) - `nomos:tdc-objectives` - finalized the objectives & requirements part of the TDC (inc. mixnet nodes below) (Frederico) - `nomos:mixnet-incentives` - understood the mixnet incentivization problem (Frederico) - read Nym reward sharing scheme for mixnets (a comparable) (Frederico) - analysed the differences between single vs. multi-staking approaches (Frederico) - `waku:general-incentives` - caught up with Martin's tokenomics proposal (Frederico) ### vac:dst: - `eng-10ktool:vac:bandwidth-test` - Main thing is to retrieve waku simulations Data and plot them - Prepare deliverable for Waku - Finish running several simulations with different sizes and message rates - Extract data - Prepare and clean plots - Discuss again with Wings what we should explain in the deliverable - Add tests to plotter module - Scrapping PR aproved by Alex: https://github.com/vacp2p/10ksim/pull/3 - Deliverable for Waku simulations - Discussions with some friends about how to scale further - Noted that there was at least *8* layers for every packet to pass through with current setup - Network restructuring - OVS + Mellanox OFED + asap2 attempts - Added Proxmox to Vaxis and Nia (converting them) - Added Mellanox OFED drivers - Updated firwmare - Moved to OpenvSwitch networking - Deployed Kubernetes onto the new machines - `:vac:lab` - Preparing for power upgrades - Added Vaxis, Nia, new 64 core nodes - Added new 25G switch ### vac:qa: - `waku:interop-testing` - Use fixed versions for [dependecies](https://github.com/waku-org/waku-interop-tests/pull/19)(@Florin) - [Adjustments and improvements](https://github.com/waku-org/waku-interop-tests/pull/20)(@Florin) - Tried to reproduce the disconnecting light clients issue and found a similar [issue](https://github.com/waku-org/nwaku/issues/2512)(@Florin) - `waku:test-automation-sharding` - Unit and interop [tests](https://github.com/waku-org/js-waku/pull/1883)(@Florin) - Discovered autosharding is hardcoded for [cluster ID 1](https://github.com/waku-org/nwaku/pull/2505)(@Florin) - Help js-waku devs to improve CI [error handling](https://github.com/waku-org/js-waku/issues/1884)(@Florin) - Raised [issue](https://github.com/waku-org/js-waku/issues/1899) for flaky CI test(@Florin) - `waku:test-automation-go-waku` - Improve unit test coverage for [peermanager](https://github.com/waku-org/go-waku/pull/1035)(@Roman) - Closed triggerDiscovery [issue](https://github.com/waku-org/go-waku/issues/1044)(@Roman) - Improve unit test coverage for [peer exchange](https://github.com/waku-org/go-waku/pull/1046)(@Roman) - `waku:test-automation-nwaku` - `KEYSTORE_PASSWORD` env variable is not effective - [resolved](https://github.com/waku-org/nwaku/issues/2374)(@Roman) - Trying to reproduce, fix and add new test case for [metadata protocol disconnecting light clients issue](https://github.com/waku-org/nwaku/issues/2491)(@Alex) - Solved some issues related to metadata connection between two nodes.(@Alex) ### vac:acz: - `rlnp2p:waku:rln-relay-enhancments` - Optimized the Nullifier Table usage to O(1) reads to detect double signaling: https://github.com/waku-org/nwaku/pull/2508 - Fixed execution error when trying to fetch metadata from a freshly created tree (nwaku side): https://github.com/waku-org/nwaku/pull/2516 - `rlnp2p:waku:rln-relay-v2` - Wrap up tests for rln-relay-v2: https://github.com/waku-org/nwaku/pull/2501 (pending review) - `zerokit:vac:maintenance` - Fix execution error when trying to fetch metadata from a freshly created tree (zerokit side): https://github.com/vacp2p/zerokit/pull/231 (rln-v1) & https://github.com/vacp2p/zerokit/pull/232 (rln-v2) - `secure-channels:waku:ethereum-chat` - Explore a proposal on decentralized CGKA by Weidner et al. as a replacement for the MLS protocol. - `secure-channels:waku:ethereum-chat` - Check the literature for related the papers [CoCoA](https://eprint.iacr.org/2022/251.pdf), [2](https://eprint.iacr.org/2023/1123.pdf), [3](https://eprint.iacr.org/2023/386.pdf), and [DCGKA](https://eprint.iacr.org/2020/1281.pdf) - Quickly check the literature to see if there are any improvements in MLS and its problems. - Started to focus on [DCGKA](https://eprint.iacr.org/2020/1281.pdf) by reading [Ramses' note](https://www.notion.so/Weidner-et-al-DCGKA-5a0b67a3ce674ae3a5220b560015cd2c?pvs=4) - `zerokit:vac:maintenance` - researched Rust for Android for issue #47 - `admin/misc` - Fixed compilation without the postgres feature in nwaku: https://github.com/waku-org/nwaku/pull/2500 - waku research paper ### vac:sc:: - `status:community-contracts-token-import` - finished withdrawal PR - added tests for erc20 withdrawal https://github.com/status-im/communities-contracts/pull/60 - started a POC for Vault migration to discuss about https://github.com/status-im/communities-contracts/issues/32 - `status:staking-contracts-v1` - Continue work on coverage - Fixed broken certora rule to get CI green again - https://github.com/logos-co/staking/pull/78 - Added invariant to ensure Vault accounting preserves ERC20 balances - https://github.com/logos-co/staking/pull/56 - Worked on pending Certora rule to get them pass on CI - https://github.com/logos-co/staking/pull/58 - https://github.com/logos-co/staking/pull/57 - https://github.com/logos-co/staking/pull/81 - `vac:maintainance/misc` - Analysis of SNT impact on ethereum state - Research on Market Makers of other wallets - Logos Research call preparation and presentation - Slides: https://docs.google.com/presentation/d/1pdW3JZxqh7t_Aqd-cfIi1_JP4_8gyCk5XDBeY3nsrrE/edit?usp=sharing - Video: https://drive.google.com/file/d/1NGZWkEAWMoeHMQXpIi2fStyzQYqbfSKG/view?pli=1 ### vac:rfc: - `rfc-process-restructuring` - added markdown-lint workflow to rfc-index- https://github.com/vacp2p/rfc-index/pull/24 - finished moving final open waku specs from vac/rfc - https://github.com/vacp2p/rfc/pulls - `misc` - worked on pr for 64/WAKU2-NETWORK - https://github.com/vacp2p/rfc-index/pull/5 ### vac:dr: - `valpriv:vac:val-priv-net` - Moved the content to notion https://www.notion.so/privacy-preserving-validator-network-e92ab3e563074a538bb0e13e5c9321e6 - `valpriv:vac:tor-push-poc` - Running holesky validators, getting over sync/deposit issue - `valpriv:vac:tor-push-paper` - Improved the draft https://www.overleaf.com/project/6499e467346d9f56b2971caa - `gsub-scaling:vac:gossipsub-simulation` - Completed topology generation scripts for shadow simulator. [PR4](https://github.com/vacp2p/dst-gossipsub-test-node/pull/4) now supports running simulations with variable latency, bandwidth, packet loss ratio, and also allows adjusting network/message size, fragmentation and publisher settings - Created a [notion page](https://www.notion.so/Message-Prioritization-Forwarding-in-Other-Libp2p-Implementations-15a23ab9c0034734865d369266228dca) on message forwarding/queuing in other libp2p implementations (go-libp2p): - Created a [vac forum post](https://forum.vac.dev/t/large-message-handling-idontwant-imreceiving/281) on large message handling - `admin/misc` - Reviewed Waku-RLN paper ### vac:nes: - `state-separation:vac:state-separation-doc` - Researched accumulators and how to combine them to Homomorphic encryption + prepared a document about it (Moudy) - Researched how to make salt approach dynamic and will prepare a document about it (Moudy) - Began reading portions of [Nexus VM](https://www.nexus.xyz/whitepaper.pdf) and [GKR-based VM](https://eprint.iacr.org/2024/387) (Marvin) - Read various papers concerning reward mechanisms for miners/observers. [1](https://www.econstor.eu/bitstream/10419/197887/1/1027810829.pdf), [2](https://www.nber.org/system/files/working_papers/w25407/w25407.pdf), [3](https://wiki.polkadot.network/docs/learn-staking), [4](https://arxiv.org/pdf/2312.14038.pdf), [5](https://electriccoin.co/blog/proof-of-stake.-research-overview-1/) (Marvin) - Almost completed report about SE/DE in PDAGs (Ugur) - Read accumulators about Zerocoin nullifier mechanism in this [paper](https://zerocoin.org/media/pdf/ZerocoinOakland.pdf) (Ugur) - `proofsystems:vac:research-existing-proof-systems` - took a look at [Nexus VM](https://github.com/nexus-xyz/nexus-zkvm) and [LatticeFold](https://eprint.iacr.org/2024/257.pdf) (Rostyslav) - `proofsystems:vac:benchmarks` - Worked on abstract, tables for paper (Moudy) - Worked on researching Nova vs. Supernova (Moudy) - Started Nova vs. Halo2 recursion vs. aggregation (Moudy) - Prepared explanation for Nova Bellman implementation (Rostyslav) - Conducted local benchmark testing (Rostyslav)