---
title: "2025-03-24 Vac weekly"
tags:
  - "vac-updates"
date: 2025-03-24
lastmod: 2025-03-24
draft: false
---

## Vac 2025/03/24

### vac:p2p:
- `ift:2025q1-gossipsub-perf-improvements`
  - Completed nim-libp2 GossipSub v1.2, v1.4, v1.4+stagger_send performance comparisons
  - Worked on go-libp2p GossipSub v1.2, v2.0 performance comparisons
	- Performance comparisons are complete for v1.2
	- V2.0 implementation halts on large messages/network size. Evaluations are done for small messages/network size
		- Looking into possible options for resolving this 	
  - Worked on adding nimbus node in ethshadow (still a WIP)
- `ift:2025q1-nimlibp2p-wrapping-ngtcp2:tls_handshake`
    - [nim-quic#62](https://github.com/vacp2p/nim-quic/pull/62) fix: connection timeouts
        - This also fixes connection closing issues
    - [nim-quic#61](https://github.com/vacp2p/nim-quic/pull/61) fix: remove `noSideEffect` pragma
    - Currently working on getting nim-libp2p to compile in ARM64 and Windows
- `ift:2025q1-nimlibp2p-wrapping-ngtcp2:certificate_validation`
    - Investigate reason behind test vectors in libp2p TLS spec not working
        - Test vectors were missing the Issuer and Subject name (both of these required according to RFC)
        - @diegomrsantos had opened an issue before due to this problem. I added [additional details](https://github.com/libp2p/specs/issues/635#issuecomment-2734635091)
- `ift:2025q1-nimlibp2p-maintenance`
    - [nim-libp2p#1288](https://github.com/vacp2p/nim-libp2p/pull/1288) chore: use token per repo in autobump task
- `ift:2025q1-nimlibp2p-wrapping-ngtcp2:improve_quic`
    - [nim-quic#60](https://github.com/vacp2p/nim-quic/pull/60) chore: use bearssl rng
- `acz:2025q1-acz-consulting:libp2p-mix-consulting`
    - Troubleshoot missing messages. Suggest closing streams as soon as possible. This seems to have improved message reliability under mix.
- `acz:2025q1-acz-consulting:de-mls-consulting`
    - Investigate reason behind messages arriving twice. It was an already [known issue](https://github.com/waku-org/nwaku/issues/3246)
- `misc/admin`
    - [roadmap#115](https://github.com/vacp2p/roadmap/pull/115) P2P 2025Q2 commitments and tasks
- `ift:2025q1-nimlibp2p-wrapping-ngtcp2:certificate_validation`
    - feat: X.509 certificate validation [#1292](https://github.com/vacp2p/nim-libp2p/pull/1292)
    - feat(quic): tls certificate verify [#1295](https://github.com/vacp2p/nim-libp2p/pull/1295)
    - chore(quic): add tests with invalid certs [#1297](https://github.com/vacp2p/nim-libp2p/pull/1297)
    - libp2p/specs: update certificate test vectors [#665](https://github.com/libp2p/specs/pull/665)
    - feat(certificate): set distinguished name for issuer with peer id [#1296](https://github.com/vacp2p/nim-libp2p/pull/1296)

### vac:tke:


### vac:qa:
- `waku:2025q1-interop-testing:maintenance`
	- [RLN Metric rename](https://github.com/waku-org/waku-interop-tests/pull/109)
- `waku:2025q1-direct-message-reliability-testing:contact-requests`
	- Merged first part of [contact requests tests](https://github.com/status-im/status-go/pull/6425)
	- Raised PR for the 2nd part of the [contact requests tests](https://github.com/status-im/status-go/pull/6437)
	- Investigated community fetch [issue](https://github.com/status-im/status-go/issues/6439)
- `ift:2025q1-projects-qa-strategy:frameworks-documentation`
	- Created QA Framework documentation for [waku interop tests](https://www.notion.so/Waku-Interop-Tests-QA-Framework-Guide-1c08f96fb65c805aa7f8d9c4e4715f4f)
- `nomos:2025q1-e2e-testing:maintenance`
    - [Nomos QA Schedule Updates](https://www.notion.so/Nomos-QA-Schedule-Updates-1268f96fb65c8081ba8fea1004a6331b) - 9/18 tests failing. Improvement for `/da/get-range` endpoint.
    - chore: Improve error handling
    [PR 11 - merged](https://github.com/logos-co/nomos-e2e-tests/pull/11) 
- `waku:2025q1-waku-go-bindings-testing:maintenance`
    - Worked on stabilize the failed tests on CI and discuss the possible issues with Dev 
     (still 1 open disscustion about sending Dublicate messages)
- `waku:2025q1-waku-go-bindings-testing:ci`
    - Rest of effort will be in new task for self hosted runner
    - 1 [job](https://github.com/waku-org/waku-go-bindings/actions/runs/14019657817/job/39249876712) for all stress tests and 1 for many iterations (will need self hosted runner to run >10 hours)
    - Solving errors in running job (still have error stop running tests )
- `waku:2025q1-waku-go-bindings-testing:endurance`
    - Added more tests in [PR 47](https://github.com/waku-org/waku-go-bindings/pull/47) to cover rest of bindings  
- `waku:2025q1-direct-message-reliability-testing:wakuext-chat-message` (95%)
    - [PR4](https://github.com/status-im/status-go/pull/6428) in review - 1 new test + refactor
- `waku:2025q1-direct-message-reliability-testing:other-message-ep` (90%)
    - [PR5](https://github.com/status-im/status-go/pull/6432) in review - 7 new tests
    - [PR6](https://github.com/status-im/status-go/pull/6444) in review - 7 new tests
- `admin/misc`
	- [Q1 Retro](https://www.notion.so/QA-retro-2025q1-1b98f96fb65c8013b582cf95d16b1874)
	- Sick leave 3 CC days
	- Had a first look on [nim-libp2p](https://github.com/vacp2p/nim-libp2p/) - how to set up the project and run the tests

### vac:dst:
- `admin/misc`
    - 1 CC OOO Tuesday
    - Q1 retrospective
    - Q2 commitments
- `vac:dst:ift:2025q1-dst-research-destination:forum-post`
    - Create forum post with some DST results
- `vac:dst:status:2025q1-status-go-evaluation:subscription-performance`
    - Receive handover and analyze work done
        - Controlbox ssh connectivity, python critps, traffic monitor
- `vac:dst:ift:2025q1-vaclab:deployment-utilities`
    - Overhauled Argo deployments to do a parallel matrix deployment
        - Improved the naming scheme for the Helm charts it deploys
        - Rewrote the sequential deployment system (still needs work)
        - Added exponential backoff/retry for better reliability
        - Tested 5x5, 5x10 and 3x2 matrices
    - https://www.notion.so/Argo-Workflow-Automation-1bf8f96fb65c804f948ed9dbb279fa77
- `vac:vaclab`
    - Helped get Codex access to Proxmox in the lab + helped him document various processes
    - Renewed TLS certs, did some patches and upgrades
    - Installed 7 Debian 12 VMs, preparing for "Chaos" Kubernetes cluster
    - Deployed ArgoCD + Argo Workflows on second lab
    - Investigated Prefect and Hera for ArgoCD

### vac:sc:
- `status:2025q1-staking-protocol-refinement:locking-funds-multiple-times`
- Allow staking/locking multiple times
    - https://github.com/vacp2p/staking-reward-streamer/pull/181
    - This has uncovered an issue that is not harmful but possibly unexpected
        - Stake 1 wei lock MIN_LOCKUP_TIME
        - wait three months, stake large amount, lock less then MIN_LOCKUP_TIME
- `status:2025q1-staking-protocol-refinement:refactoring`
    - finish last certora rule https://github.com/vacp2p/staking-reward-streamer/pull/182
    - helped with PR "allow for staking multiple times with lock" https://github.com/vacp2p/staking-reward-streamer/pull/181
- Cleanup `compound` API and ensure to compound whenever `updateVault` is called
    - https://github.com/vacp2p/staking-reward-streamer/pull/190
- `status:2025q1-staking-protocol-refinement:bug-fixing`
- Remove double substraction in `totalMPStaked`
    - https://github.com/vacp2p/staking-reward-streamer/pull/183
- `codex:2025q1-formal-verification:finish-current-rules`
    - discussed with certora about a few rules where we are waiting for their input 
- `admin/misc`
    - Finalized 2025Q1 commitments
        - https://github.com/vacp2p/roadmap/pull/114
    - Reviewed ghost.fun contracts
        - https://notes.status.im/5KQi1kZIRTao6uz1tC_ZGg?both

### vac:acz:
- `ift:2025q1-de-mls-multi-admin:waku-node-connection`
    - Finished and merged [PR](https://github.com/vacp2p/de-mls/pull/32)
- `ift:2025q1-de-mls-multi-admin:batch-key-package`
    - Started to work on message queue for the joining to the group api
- `ift:2025q1-libp2p-mix-poc:simple-gossipsub-poc`
    - Debugged message loss issue [Branch poc/gossipsub](https://github.com/vacp2p/mix/tree/poc/gossipsub)
        - Due to max stream limit reached; closed connection at intermediate nodes after message write.
    - Investigated issue where later messages were sent to all peers (instead of just connected peers)
        - Found that after routing through the mixnet, new connections were established to peers, triggering the identify protocol.
        - Peers supporting GossipSub eventually joined the mesh.
    - Identified ongoing `read failed` errors despite message receipt; still debugging.
- `ift:2025q1-libp2p-mix-poc:update-rfc`
    - Started updates to [Mix protocol RFC](https://github.com/vacp2p/rfc-index/blob/main/vac/raw/mix.md).
- `ift:2025q1-libp2p-mix-poc:ift-research-call-prep`
    - Started updating presentation for IFT research call (WiP).
- `ift:2025q1-think-tank::crypto-think-tank`
    - Continued work [think-tank](https://www.notion.so/ACZ-Think-Tank-WIP-1b38f96fb65c80a3aad0c1bb7e2f8b8b); focus given to Nescience, ACZ, Status and Nimbus.
- `ift:2025q1-zerokit-v0-7:zerokit-wasm-research`
    - Started to review [PR](https://github.com/vacp2p/zerokit/pull/292)
  - Restored WebAssembly support for ZeroKit [(PR)](https://github.com/vacp2p/zerokit/pull/292). 
    - Ported the rln-wasm from v0.6.1 to v0.7.0 using wasm feature from ark-circom.
    - Fixed dependency issues with ark-circom v0.5.0 and wasmer v4.4.0.
    - Restored CI pipeline for rln-wasm.
- `ift:2025q1-rln-status-l2:exploring` 
    - Finalized the [Internal To-dos List doc](https://www.notion.so/Internal-To-dos-List-1b38f96fb65c8072ba60c5212a7a154a) and discuss with the team. 
- `admin/misc`
    - 1 cc was ooo for 2 days
    - Reviewed and added comments to [Waku-Mix integration spec](https://github.com/waku-org/specs/pull/53).

### vac:nim:
- `ift:2025q1-nim-ide-tooling`
    - Ignore prev ext in out https://github.com/nim-lang/vscode-nim/pull/147
    - Fix pragma literal https://github.com/nim-lang/vscode-nim/pull/145
    - Bumps 1.6.0 https://github.com/nim-lang/vscode-nim/pull/143
    - Fixes #304 ambiguous call error with nimble install #304 https://github.com/nim-lang/langserver/pull/305
    - Bumps 1.10.0 https://github.com/nim-lang/langserver/pull/302
    - Updates nimscriptapi file https://github.com/nim-lang/langserver/pull/301
    - Release
    
- `ift:2025q1-nimble`
    - Fixes #1371 Spinner in --version #1371 https://github.com/nim-lang/nimble/pull/1372
    - config.nims empty line  https://github.com/nim-lang/nimble/pull/1370
    - Reverts publish tags https://github.com/nim-lang/nimble/pull/1369
    - Bumps 0.18.0 https://github.com/nim-lang/nimble/pull/1368
    - Documents the declarative parser https://github.com/nim-lang/nimble/pull/1367
    - Prepare presentation
    - Release

### vac:rfc:
- `vac:rfc:waku:2025q1-rfc-iteration:20/toy-eth-pm`
    - Continued work on 20/TOY-ETH-PM, should be complete next week
- `vac:rfc:waku:2025q1-rfc-iteration:33/waku2-discv5`
    - Opened a draft PR (ready for review soon) - https://github.com/vacp2p/rfc-index/pull/139
- `admin/misc`
    - Continued work on RFC workshop, should have first draft doc next week for initial feedback.
    - RFC retrospective: https://www.notion.so/RFC-retro-2025q1-1bd8f96fb65c80e1bc49e28ff2a9dd6f
    - RFC retro Miro board: https://miro.com/app/board/uXjVINdze1A=/ 

### vac:sec:
- `ift:2025q1-wallet-security:improvement-plan`
	- Established the commitments for the next quarter and set a roadmap to cover all the actions planned for the upcoming periods
- `ift:2025q1-security-strategy:2025q2-commitments-definition`
	- Drafted and reviewed the Security Team commitments for 2025q2 
- `ift:2025q1-awareness-campaign:task-directory-update`
    - Added the org directory in the training platform to start configuring upcoming awareness campaigns
- `ift:2025q1-security-onboarding-refinement:task-document-ob-material`
    - Continue updating the security material to be used during onboardings.
- `ift:2025q1-app-security:task-threat-modelling-dev`
    - Implementing a block-chain use case for threat modelling
    - Documenting how to conduct a threat modelling 
- `ift:2025q1-app-security:task-security-audit`
    - Defined the minumum requirements for an external audit engagement
    - Prepared external audit requirements & guidelines

### vac:nes:
- `state-separation-architecture-poc:nullifier`
    - Worked on finding solutions to improve data structure in NSSA.
    - Explored different approaches such as VTs, CMTs,etc.
    - Researched efficient ways to overcome MTs and will draft a proposal next week.
    - Reviewed engineers proposal to solve the UTXO decoding issue and drafted a [small doc about it](https://www.notion.so/Review-of-reducing-the-overhead-associated-with-the-UTXOs-decryption-1c08f96fb65c80508cc0f5cde6bd7ab7).
    - Answered [engineers questions](https://www.notion.so/Bloom-filter-questions-1b98f96fb65c8074b3c0c9fc659ce4af) to overcome the UTXOs decoding issue.
    - Drafted a [document](https://www.notion.so/Why-Bloom-filters-don-t-suit-NSSA-1c08f96fb65c800886fcde1be9f4af00) explaining why Bloom filters do not fit NSSA.
    - Drafted a [document](https://www.notion.so/Alternatives-to-Bloom-filters-1c08f96fb65c80b8ac98d019e0d23e9c) with alternative solutions of Bloom filters.
    - Prepared a [document](https://www.notion.so/Limitations-of-sparse-Merkle-trees-1ba8f96fb65c808a9ecdeef9b7a6b074) on bottlenecks and drawbacks of using SMT for the nullifiers.
    - Prepared a [survey](https://www.notion.so/Basic-literature-survey-on-Verkle-Trees-CMT-1628f96fb65c81888d59e84a3ebe8298) on Verkle trees, Cartesian trees and indexed Merkle trees.
    - [Explored](https://www.notion.so/Investigate-alternates-for-lightweight-client-1628f96fb65c8160b4bcde8e1d384c1c) alternate data structures to replace Bloomfilters for light weight users. 
- `state-separation-architecture-poc:utxo-transfer`
    - Discussed with Oleksandr and prepared the document with proposal for the issue with UTXO decoding [proposal](https://www.notion.so/Architecture-Design-Proposal-UTXO-Decryption-Overhead-Reduction-1bd8f96fb65c80b893a9f8e2dc3411af).

