--- title: "2024-02-26 Vac weekly" tags: - "vac-updates" date: 2024-02-26 lastmod: 2024-02-26 draft: false --- ## Vac 2024/02/26 ### vac:p2p: - `nimlibp2p:vac:maintenance` - Yamux simulations https://github.com/status-im/nim-libp2p/pull/1029 - Debug the stairs showed with the metrics - It was due to a couple of error / bug: - On nwaku a ping connection opened wasn't closed - On yamux the timeout wasn't implemented - The implementation + testing of the implementation showed a sneaky bug (fixed) - `nimlibp2p:vac:webrtc-transport` - Merged the DataChannel giant PR https://github.com/status-im/nim-webrtc/pull/4 - Maintenance on nim-mbedtls https://github.com/status-im/nim-mbedtls/ - Debugging some issues with the interaction between the clients parts of dtls and sctp https://github.com/status-im/nim-webrtc/pull/5 - `nimlibp2p:vac:gossipsub-stagger-send` - Tested and found issues with PR and possibly more that already exist - https://github.com/status-im/nim-libp2p/pull/1015 (feat: message prioritization with immediate peer-published dispatch and queuing for other msgs) - Experimental PR - https://github.com/status-im/nimbus-eth2/pull/5911 - to test fixes for the above. It has been deployed to https://metrics.status.im/d/pgeNfj2Wz23/nimbus-fleet-testnets?orgId=1&from=now-6h&to=now&var-instance=erigon-10.ih-eu-mda1.nimbus.holesky&var-container=beacon-node-holesky-libp2p&refresh=5s - Check nimbus/libp2p discord channel for more info on the above. - `nimlibp2p:vac:maintenance` - Briefly investigate interop failing tests; Flaky: Added them to [flaky tests doc](https://www.notion.so/Flaky-Tests-0ca86939142949af8f23f8b06fb4e3c4) ### vac:tke: - `nomos:cryptarchia-wealth-concentration-estimated-stake` - finalizing the report about wealth concentration on Nomos (@Frederico) - caught up with Frederico's work on wealth concentration (@Martin) - `nomos:tdc-objectives` - continued reading the whitepaper and filling the TDC (@Frederico) - `codex:cdx` - appended the CDX token interactions with the feedback from the Codex team (@Frederico) - reviewed Codex team suggestions about data retrievability on other protocols (@Frederico) - `waku:rln-membership:` - caught up with Martin's work on RLN pricing (@Frederico) - prepare for and lead the discussion on RLN pricing, follow-ups (@Martin) - `status:SNT-staking` - helped Martin with questions about radCAD model (@Frederico) - reviewing Ricardo's new implementation of the staking contract (resolving the accounting issue) (@Martin) - explore concepts and architecture for the staking module (role of relayer, vault factory) (@Martin) - updated the radCad model to reflect latest thinking on MPs (@Martin) - `waku:general-incentives` - read papers suggested by Jarrad (@Martin) ### vac:dst: - `eng-10ktool:vac:bandwidth-test` - Set up cluster without K3s (with Wings's help) and test P2P PR 1045 - Keep working on Thanos metrics scrapping: PR: https://github.com/vacp2p/10ksim/pull/3 - Gathered detailed metrics for paper on Waku scaling - Ran 4 simulations - Various metrics tuning on Emerald k8s - Completely rebuilt the Kubernetes cluster (and about 80% of the lab) - New cluster is called Opal, the sequel to Emerald - Uses Cilium (on top of the Multus metaplugin) for much higher network performance - Entirely bare metal, currently 3 nodes (pending 4th node returning, happening by EOW) - Uses the new VLAN structure, clean credentials - Fixed an issue with Metrics still using Longhorn - Figured out how to use the backup and restore tool Velero - Added KubeVirt for virtual machine hosting and management inside Kubernetes - Will make it easier for us to provision machines for other teams - Backed by Rook-Ceph - Many tweaks to Kubernetes, Cilium, metrics, and more - see https://www.notion.so/Opal-Kubernetes-Cluster-Lab-Rebuild-4c8472546b0d47f5b05debacf9c7ac29 - Fixed multiple major networking issues with the lab (again) - Added the ability to multi-home k8s pods through Multus (ie: attach them to multiple networks) - Debugged and fixed a huge issue with TLS certificate issuance through Let's Encrypt - turned out to be Cloudflare's fault (Universal SSL basically broke my LE DNS-01 challenges, hard) - Scaled up Redis to 18 nodes (6 master, 12 replicas) for additional safety under heavy load ### vac:qa: - `waku:test-automation-js-waku` - Peer exchange [tests](https://github.com/waku-org/js-waku/pull/1859)(@Florin) - Issues reported: - https://github.com/waku-org/js-waku/issues/1858 - https://github.com/waku-org/js-waku/issues/1860 - Upgrade and test CI with [nwaku v0.25.0](https://github.com/waku-org/js-waku/pull/1861)(@Florin) - `waku:interop-testing` - Remove [deprecated flag](https://github.com/waku-org/waku-interop-tests/pull/18)(@Florin) - Fixed RLN_CREDENTIALS - Waku moved to use HTTP instead of WebSocket(@Roman) - Waku node health/reliability(@Roman) - Keep collecting info for issues: - https://github.com/waku-org/nwaku/issues/2369 - https://github.com/waku-org/docs.waku.org/issues/165 - `waku:test-automation-go-waku` - Improve unit test coverage for [peermanager](https://github.com/waku-org/go-waku/pull/1035)(@Roman) - Issues reported: - https://github.com/waku-org/go-waku/issues/1044 - `waku:test-automation-nwaku` - Finished Implementing Peer Exchange [tests](https://github.com/waku-org/nwaku/pull/2464)(@Alex) - Unittest Library - [Added Feature Request for nested suites](https://github.com/status-im/nim-unittest2/issues/41)(@Alex) - Fix imports and test related to [missing imports](https://github.com/waku-org/nwaku/pull/2467)(@Alex) - Brief look on Connection & Peer Management(@Alex) - Start working on Discv5 tests(@Alex) ### vac:acz: - `rlnp2p:waku:rln-relay-v2` - included a PoC for small trees < 255 leaves where the root can be included onchain trustlessly via a view call - https://github.com/vacp2p/rln-contract/pul - `admin/misc` - assisting waku research team with waku papers - `secure-channels:waku:ethereum-chat` - Completed a first version of the paper, including the detection a possible mitigation of lost messages. - Update the internal Notion page. - Prepare presentation for the Logos Research Call - Finished the research about integration of ERC-5564 and EIP-4361(SIWE). - Start to study about the anonymous chatting with stealth addresses. ### vac:sc:: - `status:community-contracts-token-import` - implemented Vault.depositERC20 - https://github.com/status-im/communities-contracts/pull/53 - `status:staking-contract-v1` - review - fix: StakeManager migration fixes and certora rules - [Refactor and fixes for StakeManager](https://github.com/logos-co/staking/pull/63) - refactor(StakeManager): refactor multiplier points logic - fix(StakeManager): properly init accs and checks init - fix(StakeManager): check for valid migration address - fix(StakeManager): use a correct MP formula - [refactor(StakeManager): change MIN_LOCKUP_PERIOD to 2 weeks](https://github.com/logos-co/staking/pull/65) - [Research and fix for division precision loss](https://github.com/logos-co/staking/pull/66) - chore: add gas-report for all contracts - chore(StakeManager): add test for process account and unstake - fix(StakeManager): use OpenZeppelin Math to avoid precision loss in int divisions - `vac:maintainance/misc` - Foundry Template - [implemented gas-report](https://github.com/vacp2p/foundry-template/pull/18) - [implemented command to prepare for commits](https://github.com/vacp2p/foundry-template/pull/23) - [research on EOL error in prettier for .json files](https://github.com/vacp2p/foundry-template/issues/21) - Sticker Market - [Published Sticker Types from Mainnet in Sepolia](https://github.com/status-im/sticker-market/issues/17) - Investigated issue of ENS not working on Sepolia in Status Desktop - https://github.com/status-im/status-desktop/issues/13697#issuecomment-1960877592 - `status:community-contracts-maintenance` - Deployed communities contracts on OP Sepolia - `CommunityTokenDeployer` - https://sepolia-optimism.etherscan.io/address/0xcE2A896eEA2F585BC0C3753DC8116BbE2AbaE541#code - `CommunityOwnerTokenRegistry` - https://sepolia-optimism.etherscan.io/address/0xfFa8A255D905c909379859eA45B959D090DDC2d4#code - `CommunityOwnerTokenFactory` - https://sepolia-optimism.etherscan.io/address/0x420be6568c6e09782ceae1575495cd6c1c7ea04d#code - `CommunityMasterTokenFactory` - https://sepolia-optimism.etherscan.io/address/0x99F0Eeb7E9F1Da6CA9DDf77dD7810B665FD85750 - PR adding addresses to project README - https://github.com/status-im/communities-contracts/pull/52 - Investigated Certora rule issues for `CollectiblveV1` token - https://github.com/status-im/communities-contracts/pull/48 - `CollectibleV1` is now `CommunityERC721` - https://github.com/status-im/communities-contracts/pull/51 - `status:community-contracts-batch-tx-ext` - Implemented `safeBatchTransferFrom` capabilities in `BaseToken` - https://github.com/status-im/communities-contracts/pull/45 ### vac:rfc: - `rfc-process-restructuring` - Merge Waku specs after Hanno feedback - https://github.com/waku-org/specs/pull/1 - Worked on COSS, still in draft - https://github.com/vacp2p/rfc-index/pull/4 - `waku:core-rfc-updates` - Worked on updating 17/WAKU-RLN-RELAY - https://github.com/vacp2p/rfc/pull/667 ### vac:dr: - `valpriv:vac:val-priv-net` - Still refining suggested ideas. slow this week. - `valpriv:vac:tor-push-poc` - Merged the branch torpush and rebased but encountered several conflicts. Still testing and in progress on boarding for holesky - `valpriv:vac:tor-push-paper` - addressed the feedback - `gsub-scaling:vac:gossipsub-simulation` - Conducted tests on [[PR-1015](https://github.com/status-im/nim-libp2p/pull/1015)], [[PR-1017](https://github.com/status-im/nim-libp2p/pull/1017)], [[PR-1027](https://github.com/status-im/nim-libp2p/pull/1027)], [[PR-1028](https://github.com/status-im/nim-libp2p/pull/1028)] against different scenarios - added notion page on large message transmissions for GossipSub https://www.notion.so/GossipSub-Improvements-Impact-of-Flood-Publishing-on-Large-Messages-9c6f15a6f1364adeade91d674ecdcb55 - `gsub-scaling:vac:gossipsub-improvements-paper` - Worked on better message forwarding. Sorting on TxTime showed slightly improved results. Now Limiting senders to further saturate bandwidth for senders - `zk:codex:storage-proofs-open-problems-review` - Begin examining [Reverie](https://eprint.iacr.org/2023/1888) in terms of idea mentioned in the Discord feedback thread - `admin/misc` - Study RLN code for stateless proofs; this provides additional insight on how Merkle trees/Verkle trees can and should be coded better which is beneficial for Nescience notes in the long run. ### vac:nes: - `state-separation:vac:state-separation-doc` - Finished researching the Privacy Directed Acyclic Graph (PDAG) framework for privacy guarantees - Started looking at monitoring issues - Started looking at Nullifier issues to avoid linkeability - Research joinsplit and optimistic rollups for monitoring - Begin documents on joinsplit and monitoring - `proofsystems:vac:benchmarks` - Written a first expanded draft for Benchmarks research paper - Research for table comparison - `proofsystems:vac:benchmarks` - prepared explanation for Halo2 GWC and SHPlonk implementations (https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#2eb24a7ce01447bebbf8f5f966aede7a and https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#26d2fc825c9845f1a0ee6288f18694ce) - prepared explanation for Arecibo implementation (https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#4fd8570d40d14e228f4d9dc08e0c2ab1) - Fixed various PRs comments - Added verify benchmark for Nova Circom + number of constraints (https://github.com/vacp2p/zk-explorations/pull/25) - Added verify benchmark for Nova Bellman + number of constraints (https://github.com/vacp2p/zk-explorations/pull/30) - Added verify benchmark for Arecibo + number of constraints (https://github.com/vacp2p/zk-explorations/pull/29) - Added verify benchmark for Plonky2 + number of constraints (https://github.com/vacp2p/zk-explorations/pull/26) - Researched- `state-separation:vac:state-separation-doc` - Finished researching the Privacy Directed Acyclic Graph (PDAG) framework for privacy guarantees - Started looking at monitoring issues - Started looking at Nullifier issues to avoid linkeability - Research joinsplit and optimistic rollups for monitoring - Begin documents on joinsplit and monitoring - `proofsystems:vac:benchmarks` - Written a first expanded draft for Benchmarks research paper - Research for table comparison - `proofsystems:vac:benchmarks` - prepared explanation for Halo2 GWC and SHPlonk implementations (https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#2eb24a7ce01447bebbf8f5f966aede7a and https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#26d2fc825c9845f1a0ee6288f18694ce) - prepared explanation for Arecibo implementation (https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#4fd8570d40d14e228f4d9dc08e0c2ab1) - Fixed various PRs comments - Added verify benchmark for Nova Circom + number of constraints (https://github.com/vacp2p/zk-explorations/pull/25) - Added verify benchmark for Nova Bellman + number of constraints (https://github.com/vacp2p/zk-explorations/pull/30) - Added verify benchmark for Arecibo + number of constraints (https://github.com/vacp2p/zk-explorations/pull/29) - Added verify benchmark for Plonky2 + number of constraints (https://github.com/vacp2p/zk-explorations/pull/26) - Researched ways to calculate halo2 constrain ways to calculate halo2 constrain