# Zerokit
Maintaining and improving Zerokit, including the release of its next version.

- - Nomos Consulting
- Nomos Consulting
- Nomos Consulting
- Nomos Consulting
- - Waku RLN Relay
- ACZ Roadmap Preview
- - - - - - - proxy-re-encryption
        - - Nescience ZK Consulting
      - - init
  - - - Status RLN Usage
  - - Light RLN Verifiers
  - RLN Doc and Outreach
- RLN Light Clients
- - Multi Epoch Constraints
- RLN relay ERC20
- RLN v2 E2E integration
- RLN v2 Waku Relay Integration
- RLNP2P Waku Pruduction Readiness Details
- Waku RLN Membership Management Details
- Waku RLN-RELAY Enhancements 02
- Waku RLN-RELAY Enhancements Details
- - - Secure Channels - fully decentralized design
  - Secure Channels - MLS design
- Secure Channels - MLS PoC
- Secure Channels - PoC of fully decentralized protocol
- - Stealth Address Kit Maintenance
- Stealth Address Kit Research
- - - Productionize Tor Push in Nimbus
- - - maintenance
  - Zerokit v0.4 Release Details
- Zerokit v0.5 Release
- Zerokit v0.6 Release
- - - - Gossipsub Anonymity Layer
- - - Carnot Paper
- - - Reviews
- - - Gossipsub Improvements Paper
  - Gossipsub Simulation
- Unstructured P2P Improvements Survey
- - - Tor Push Paper
  - Tor Push PoC
- Tor Push Related Work
- - - Codex Deep Research ZK consulting
  - Storage Proofs: Open Problems Review
- - - - Blockchain Security in Crypto-economic Models
    - Carnot 2/3 Vote aggregation
  - Carnot Bribary Article
- Carnot Paper 02
- Detecting Reporting Attacks Carnot
- Inter Chain Protocol
- Multi-Leader and Multi-Overlay Carnot
- Network Privacy Stack - Stakeholder Privacy
- - - validator-privacy
- - mix-net-solution
- priv-validator-network
- tor-push-rln
- - - - Testnet
  - - Mixnet
- - Ongoing testing of specific monthly libp2p releases
- - 10k Node Cluster
- Midscale
- - - Bundle Simulation Data
- - - Deployer Tool
  - Visualiser Tool
- - - CI Integration
- - Rlog: Wakurtosis Retrospective
- Wakurtosis Maintenance
- - Techreport
- Techreport_02
- Wakurtosis Features
- - - - Control Messages
  - - Refactoring
- - - Basic Shadow Simulation
  - Shadow Gossipsub Analysis
- - Shadow Waku Relay Analysis
- - - Carnot 2-3rds Vote Aggregation Python Implementation
- - Simulation Analysis
- - - Rlog: Wakurtosis Retrospective
  - Wakurtosis Rlog
- - Gossipsub Topology Analysis
- - 2023-aug
- - - - Benchmarks
    - Research Existing Proofsystems
- - - State Separation Architecture 01
  - State Separation Architecture 02
- - - VM Ecosystem
  - VM Foundations
- - - - chronos-maintainance
- - - compiler
  - editor
- lsp
- nim-suggest
- nimble
- - - - Libchronos Maintenance
- - - Gossipsub DDoS Mitigation
  - Gossipsub Improvements EIP 4844
- Gossipsub Stagger Send
- Libp2p Maintenance
- WebRTC Transport
- - - - Test Automation Codex Discovery
  - - Test Automation cryptarchia
  - Test Automation Data Availability
- - Test Automation nim-libp2p
- Test Automation nim-tooling
- - Interop Testing
- Interop Testing Part 2
- Maintenance go-waku
- Maintenance js-waku
- Maintenance nwaku
- Status-go CLI Testing
- Status-go CLI Testing 2
- Test Automation go-waku
- Test Automation js-waku
- Test Automation nwaku
- Test Automation RLN
- Test Automation Sharding
- Test Plan RLN
- Test Plan Sharding
- Test Plans
- WebSockets Stress Testing
- - - - specs-init
  - - carnot-specification
  - carnot-threat-model-informational
- carnot-vote-2-3rds-vote-aggregation-specification
- inter-chain-protocol-specification
- multi-leader-and-multi-overlay-carnot-specification
- specs-init
- - Port Status Specs
- - rfc-index
- rfc-process-update
- - core-rfc-updates
- Waku Keystore
- - - - Contracts Formal Verification
    - Review Codex Contracts
- - Access Control Safe Support
- - Community Contracts CollectibleV1 Batch transaction Extension
- Community Contracts Deployer
- Community Contracts ERC20
- Community Contracts ERC721
- Community Contracts Maintenance
- Community Contracts Token Import
- Community Curation dapp Contracts
- Community Vaults - Token Airdrop
- ENS Usernames contracts maintenance
- Governance Contract MVP
- MiniMe Token Enhancements
- MiniMe Token Maintenance
- SNT Optimism Bridge
- Status Staking Contract Maintenance Details
- Status Staking Contract MVP
- Status Staking Contract V1
- Status Swap Aggregator
- - Secureum Upskilling
- Vac RLN Contract Support Details
- - - - Analysis of the Codex Token
    - Codex Bandwidth Incentives
  - Codex Contract Default
- Codex Contract Finalization
- Codex Contract Initiation
- Codex Contract Matching
- Codex Economic Analysis
- Codex Fee Mechanism
- Codex Insurance Mechanism Analysis
- Codex Lender Analysis
- Codex Proof Aggregators
- Codex Recovery Auction
- Codex Slot Repair
- Codex Tax System
- Codex Testnet Incentives
- - Finance Real Option Models
- Financial Growth Models
- - Cryptarchia Wealth Concentration Estimated Stake
- Cryptarchia Wealth Concentration Known Stake
- Nomos Delegation Research
- Nomos Economic Analysis
- Nomos Enshrined Delegation
- Nomos Mixnet Incentives
- Nomos Non Private L2 Consensus
- Nomos Penalizable Actions
- Nomos Rewarded Actions
- Nomos Shared Liquidity
- Nomos Supply Policy
- Nomos TDC Objectives
- Nomos Transaction Fee
- Nomos Validator Rewards
- Nomos Validator Rewards
- Nomos Whitepaper
- - Incentivize Status Communitities
- SNT Governance Proposal
- SNT Litepaper
- SNT Staking
- Status L2 deployment
- Waku Sharding
- - Waku Economic Analysis
- Waku General Incentives
- Waku RLN Attacks Vectors
- Waku RLN Membership
- Waku RLN Risks
- Waku Store Incentives
- - 2023-07-10 Vac Weekly
- 2023-07-17 Vac weekly
- 2023-07-31 Vac weekly
- 2023-08-03 Vac weekly
- 2023-08-07 Vac weekly
- 2023-08-17 Vac weekly
- 2023-08-21 Vac weekly
- 2023-08-28 Vac weekly
- 2023-09-04 Vac weekly
- 2023-09-11 Vac weekly
- 2023-09-18 Vac weekly
- 2023-09-25 Vac weekly
- 2023-10-02 Vac weekly
- 2023-10-09 Vac weekly
- 2023-10-16 Vac weekly
- 2023-10-23 Vac weekly
- 2023-10-30 Vac weekly
- 2023-11-06 Vac weekly
- 2023-11-13 Vac weekly
- 2023-11-20 Vac weekly
- 2023-11-27 Vac weekly
- 2023-12-04 Vac weekly
- 2023-12-11 Vac weekly
- 2023-12-18 Vac weekly
- 2023-12-25 Vac weekly
- 2024-01-01 Vac weekly
- 2024-01-08 Vac weekly
- 2024-01-15 Vac weekly
- 2024-01-22 Vac weekly
- 2024-01-29 Vac weekly
- 2024-02-05 Vac weekly
- 2024-02-12 Vac weekly
- 2024-02-19 Vac weekly
- 2024-02-26 Vac weekly
- 2024-03-04 Vac weekly
- 2024-03-11 Vac weekly
- 2024-03-18 Vac weekly
- 2024-03-25 Vac weekly
- 2024-04-02 Vac weekly
- 2024-04-08 Vac weekly
- 2024-04-15 Vac weekly
- 2024-04-22 Vac weekly
- 2024-04-29 Vac weekly
- 2024-05-06 Vac weekly
- 2024-05-13 Vac weekly
- 2024-05-21 Vac weekly
- 2024-05-27 Vac weekly
- 2024-06-03 Vac weekly
- 2024-06-10 Vac weekly
- 2024-06-17 Vac weekly
- 2024-06-24 Vac weekly
- 2024-07-01 Vac weekly
- 2024-07-08 Vac weekly
- 2024-07-15 Vac weekly
- 2024-07-22 Vac weekly
- 2024-07-29 Vac weekly
- 2024-08-05 Vac weekly
- 2024-08-12 Vac weekly
- 2024-08-19 Vac weekly
- 2024-08-26 Vac weekly
- 2024-09-02 Vac weekly
- 2024-09-09 Vac weekly
- 2024-09-16 Vac weekly
- 2024-09-23 Vac weekly
- - - Finance Wallet monitoring
  - Improve Finance Reporting
- - Comms Discord Statistics
- IFT Finance Reporting
- IFT Weekly News Website
- Program Overview Dashboard
- Smart Contract Monitoring
- Townhall helper
- Townhall transcript
- VAC Website Contributors
- X Space Analytics
- - Github Monitoring
- Logos Circle Event Dashboard
- Logos Circle Monitoring
- Logos Public RAG
- Logos Winnable Stories extractions
- - RAG Context
- RAG Embedding and Context
- RAG Evaluation mechanism
- RAG MCP Integration
- - Status Social Pipeline
- BI Roadmap Preview
- - - Anoncomms Evaluation
- - Blockchain Evaluation
- - Codex Base Capacity
- Codex Base Capacity
- Codex Comparison
- Codex Comparison
- Codex Evaluation
- - DST Conduit
- DST Conduit
- DST Conduit
- DST Lab
- DST Lab
- DST Research destination
- DST Research destination
- DST Research destination
- DST Research destination
- DST Research destination
- DST Tooling
- DST Tooling
- DST Tooling
- DST Tooling
- Libp2p Evaluation
- Scaling think tank
- Scaling think tank
- VacLab
- VacLab
- VacLab
- Visualiser Tool
- - Logos-core Evaluation
- - Messaging Evaluation
- Messaging Scaling
- - Nomos Scaling
- Nomos Scaling
- Nomos Scaling
- Nomos Scaling
- - Status chat protocol benchmarks
- Status evaluation
- Status evaluation
- Status-go chat protocol benchmarks
- Status-go chat protocol benchmarks
- - Storage Evaluation
- - Libp2p Evaluation
- Libp2p Evaluation
- Libp2p Evaluation
- Libp2p Evaluation
- Libp2p Evaluation
- - Theoretical Analysis
- Waku Evaluation
- Waku Evaluation
- Waku Evaluation
- Waku Evaluation
- Waku Evaluation
- Waku Scaling
- Waku Scaling
- Waku Scaling
- Waku Scaling
- Waku Scaling
- Waku Tooling
- Waku Tooling
- DST Roadmap Preview
- - 2024-10 Vac monthly
- 2024-11 Vac monthly
- 2024-12 Vac monthly
- 2025-01 Vac monthly
- 2025-02 Vac monthly
- 2025-03 Vac monthly
- 2025-04 Vac monthly
- 2025-05 Vac monthly
- 2025-06 Vac monthly
- 2025-07 Vac monthly
- 2025-08 Vac monthly
- 2025-09 Vac monthly
- 2025-10 Vac monthly
- 2025-11 Vac monthly
- 2025-12 Vac monthly
- - - 2024q4 Nimble
  - 2025q1 Nim IDE tooling
- 2025q1 Nimble
- 2025q2 Nim IDE tooling
- 2025q2 Nimble
- 2025q3 Nim Core Libraries
- 2025q3 Nim IDE tooling
- 2025q3 Nimble
- 2025q4 Nim Core Libraries
- 2025q4 Nim IDE tooling
- 2025q4 Nimble
- 2026q1 Nim Core Libraries
- 2026q1 Nimble
- Nim IDE Tooling 2024Q4
- - Logos Storage Nimble Integration
- Messaging Nimble Integration
- - Nimbus Nimble Integration
- Nimbus Nimble Integration
- - Waku Nimble Integration
- Nim Roadmap Preview
- - - ACZ Consulting
  - ACZ Consulting
- ACZ Consulting
- - AutoNAT v2
- GossipSub Extensions and Partial Messages
- GossipSub Performance Improvements
- GossipSub Performance Improvements
- GossipSub Performance Improvements
- Kademlia DHT
- Kademlia DHT
- Kademlia DHT
- nim-libp2p Auto TLS
- nim-libp2p c-bindings
- nim-libp2p c-bindings
- nim-libp2p Connection Management
- nim-libp2p IPv6 support
- nim-libp2p logos-core
- Nim-libp2p maintenance
- Nim-libp2p maintenance
- Nim-libp2p maintenance
- Nim-libp2p maintenance
- Nim-libp2p maintenance
- Nim-libp2p Mix
- Nim-libp2p Mix
- nim-libp2p Universal Connectivity App
- nim-libp2p Universal Connectivity App
- nim-libp2p Universal Connectivity App
- nim-libp2p Webtransport
- nim-libp2p Webtransport
- nim-libp2p Webtransport
- nim-libp2p Webtransport
- nim-libp2p Webtransport
- nim-libp2p Wrapping ngtcp2
- Quic Stabilization and removal of runtime dependencies
- - nim-libp2p Test Coverage
- nim-libp2p Test Coverage
- P2P Roadmap Preview
- - - Anoncomms testing
- - Codex Integration Testing
- - Nim Libp2p Testing
- Projects QA Strategy
- Projects QA Strategy
- QA & RFC Synchronization for Js-Waku Project - Core Protocols
- QA & RFC Synchronization for Js-Waku Project - Core Protocols
- QA & RFC Synchronization for Waku Project - Core Protocols
- - Keycard Testing
- Keycard Testing
- Keycard Testing
- - Logos Core QA
- - Messaging Testing
- - Nomos Data Availability Testing
- Nomos Data Availability Testing
- Nomos Data Availability Testing
- Nomos E2E Testing for Nomos Node
- Nomos E2E Testing for Nomos Node
- Nomos E2E Testing for Nomos Node
- - Status Go Functional Testing
- Status Go Functional Testing
- Status Go Functional Testing
- Status Go Functional Testing
- Status QA
- Status QA Desktop
- Status QA Desktop
- Status QA Desktop
- Status QA Documentation
- Status QA Mobile
- Status QA Mobile
- Status QA Mobile
- - Nim Libp2p Testing
- Nim Libp2p Testing
- Nim Libp2p Testing
- Nim Libp2p Testing
- - Chat SDK Testing
- Direct Message Reliability Testing
- Messaging API Testing
- RLN Smart Contract Testing
- RLN Smart Contract Testing
- Status Go Functional Testing
- Waku Interop Testing
- Waku Interop Testing
- Waku Interop Testing
- Waku Interop Testing (extended)
- Waku Testing
- waku-go-bindings Testing
- waku-go-bindings-testing Testing Framework
- Waku-sync Integration Testing
- Waku-sync Testing
- QA Roadmap Preview
- - - RFC Iteration
- - RFC Iteration
- - Marketplace and Client 2024q4
- RFC Iteration
- RFC Iteration
- RFC Iteration
- - Integration with QA
- Integration with QA
- Integration with QA
- RFC Culture Establishment
- RFC Culture Establishment
- RFC Culture Establishment
- RFC Culture Establishment
- RFC Culture Establishment
- rfc-index-maintenance
- rfc-index-maintenance
- rfc-index-maintenance
- rfc-index-maintenance
- rfc-index-maintenance
- rfc-index-maintenance
- - RFC Iteration
- - RFC Iteration
- - RFC Iteration
- RFC Iteration
- - Data Availability Raw RFC
- Data Availability Raw RFCs
- Data Availability Raw RFCs
- RFC Iteration
- RFC Iteration
- RFC Iteration
- RFC Iteration
- - RFC Iteration
- RFC Iteration
- Status Specs to RFC-Index Migration
- - RFC Iteration
- - 2024q4 RFC Iteration
- Migration of PoC Waku RFCs to the rfc-index
- RFC Iteration
- RFC Iteration
- RFC Iteration
- RFC Iteration
- - RFC Iteration
- RFC Roadmap Preview
- - - MLS Smart Contracts Consulting
- - ghost.fun Protocol Review
- - Codex Vault Integration
- Formal Verification (Part 1)
- Formal Verification (Part 2)
- - EIP Discussions
- Formal Verification Tools Research
- Security Audits
- Security Audits
- Security Audits
- Security Audits
- Smart Contracts LearnUp Sessions
- Smart Contracts LearnUp Sessions
- Smart Contracts LearnUp Sessions
- Smart Contracts LearnUp Sessions
- - Risc0 Upskilling
- - Base Chain Integration
- Comunities Contracts on Status Network testnet
- Karma RLN
- Maintainin existing Status smart contracts
- Maintainin existing Status smart contracts
- Staking Protocol (v1)
- Staking Protocol Documentation
- Staking Protocol Refinement
- Status Network Native Bridge Yield Bearing Module
- Status Network Native Dex
- Status Smart Contracts Consulting
- Status Smart Contracts Consulting
- XP NFT (v1)
- XP Token (v1)
- - Maintaining existing Status Network L2 smart contracts
- New Karma Requirements for SN L2
- SN L2 Bridge DAI Yield Management
- SN L2 Bridge ETH Yield Management
- Status Network Karma Enhancements
- Status Network L2 Audit Preparation
- Status Network L2 Pre-Audit Protocol Enhancements
- SC Roadmap Preview
- - - Demos
  - Logos Contributions Portal
- Logos Core
- Logos Marketing Campaign Narratives & Brand Testing
- Logos Website
- Logos Website
- Newsletter
- Parallel Society Festival Website
- Qaku App
- Web Maintenance & Support
- Web Maintenance & Support
- - Keycard Website
- Keycard Website
- - Contribute Portal
- Logos Forum
- Logos Website
- - Community Curation
- SN Hub
- SN Hub
- SN Hub
- SN Website
- SN Website
- Status App
- Status App
- Status Wallet Extension
- Status Wallet Extension
- Status Website
- Status Website
- Status Website
- Web Roadmap Preview
- - 2023-07-10 Vac Weekly
- 2023-07-17 Vac weekly
- 2023-07-31 Vac weekly
- 2023-08-03 Vac weekly
- 2023-08-07 Vac weekly
- 2023-08-17 Vac weekly
- 2023-08-21 Vac weekly
- 2023-08-28 Vac weekly
- 2023-09-04 Vac weekly
- 2023-09-11 Vac weekly
- 2023-09-18 Vac weekly
- 2023-09-25 Vac weekly
- 2023-10-02 Vac weekly
- 2023-10-09 Vac weekly
- 2023-10-16 Vac weekly
- 2023-10-23 Vac weekly
- 2023-10-30 Vac weekly
- 2023-11-06 Vac weekly
- 2023-11-13 Vac weekly
- 2023-11-20 Vac weekly
- 2023-11-27 Vac weekly
- 2023-12-04 Vac weekly
- 2023-12-11 Vac weekly
- 2023-12-18 Vac weekly
- 2023-12-25 Vac weekly
- 2024-01-01 Vac weekly
- 2024-01-08 Vac weekly
- 2024-01-15 Vac weekly
- 2024-01-22 Vac weekly
- 2024-01-29 Vac weekly
- 2024-02-05 Vac weekly
- 2024-02-12 Vac weekly
- 2024-02-19 Vac weekly
- 2024-02-26 Vac weekly
- 2024-03-04 Vac weekly
- 2024-03-11 Vac weekly
- 2024-03-18 Vac weekly
- 2024-03-25 Vac weekly
- 2024-04-02 Vac weekly
- 2024-04-08 Vac weekly
- 2024-04-15 Vac weekly
- 2024-04-22 Vac weekly
- 2024-04-29 Vac weekly
- 2024-05-06 Vac weekly
- 2024-05-13 Vac weekly
- 2024-05-21 Vac weekly
- 2024-05-27 Vac weekly
- 2024-06-03 Vac weekly
- 2024-06-10 Vac weekly
- 2024-06-17 Vac weekly
- 2024-06-24 Vac weekly
- 2024-07-01 Vac weekly
- 2024-07-08 Vac weekly
- 2024-07-15 Vac weekly
- 2024-07-22 Vac weekly
- 2024-07-29 Vac weekly
- 2024-08-05 Vac weekly
- 2024-08-12 Vac weekly
- 2024-08-19 Vac weekly
- 2024-08-26 Vac weekly
- 2024-09-02 Vac weekly
- 2024-09-09 Vac weekly
- 2024-09-16 Vac weekly
- 2024-09-23 Vac weekly
- 2024-09-30 Vac weekly
- 2024-10-07 Vac weekly
- 2024-10-14 Vac weekly
- 2024-10-21 Vac weekly
- 2024-10-28 Vac weekly
- 2024-11-04 Vac weekly
- 2024-11-11 Vac weekly
- 2024-11-18 Vac weekly
- 2024-11-25 Vac weekly
- 2024-12-02 Vac weekly
- 2024-12-09 Vac weekly
- 2024-12-16 Vac weekly
- 2024-12-23 Vac weekly
- 2024-12-30 Vac weekly
- 2025-01-06 Vac weekly
- 2025-01-13 Vac weekly
- 2025-01-20 Vac weekly
- 2025-01-27 Vac weekly
- 2025-02-03 Vac weekly
- 2025-02-10 Vac weekly
- 2025-02-17 Vac weekly
- 2025-02-24 Vac weekly
- 2025-03-03 Vac weekly
- 2025-03-10 Vac weekly
- 2025-03-17 Vac weekly
- 2025-03-24 Vac weekly
- 2025-03-31 Vac weekly
- 2025-04-07 Vac weekly
- 2025-04-14 Vac weekly
- 2025-04-21 Vac weekly
- 2025-04-28 Vac weekly
- 2025-05-05 Vac weekly
- 2025-05-12 Vac weekly
- 2025-05-19 Vac weekly
- 2025-05-26 Vac weekly
- 2025-06-02 Vac weekly
- 2025-06-09 Vac weekly
- 2025-06-16 Vac weekly
- 2025-06-23 Vac weekly
- 2025-06-30 Vac weekly
- 2025-07-07 Vac weekly
- 2025-07-14 Vac weekly
- 2025-07-21 Vac weekly
- 2025-07-28 Vac weekly
- 2025-08-04 Vac weekly
- 2025-08-11 Vac weekly
- 2025-08-18 Vac weekly
- 2025-08-25 Vac weekly
- 2025-09-01 Vac weekly
- 2025-09-08 Vac weekly
- 2025-09-15 Vac weekly
- 2025-09-22 Vac weekly
- 2025-09-29 Vac weekly
- 2025-10-06 Vac weekly
- 2025-10-13 Vac weekly
- 2025-10-20 Vac weekly
- 2025-10-27 Vac weekly
- 2025-11-03 Vac weekly
- 2025-11-10 Vac weekly
- 2025-11-17 Vac weekly
- 2025-11-24 Vac weekly
- 2025-12-01 Vac weekly
- 2025-12-08 Vac weekly
- 2025-12-15 Vac weekly
- 2025-12-22 Vac weekly
- 2025-12-29 Vac weekly
- 2026-01-05 Vac weekly
- Website Terms of Use
- What's in a Milestone

# Zerokit

Jan 06, 2026, 7 min read

- #2025q2
- #acz
- #ift

`vac:acz:ift:2025q2-zerokit`

Maintaining and improving Zerokit, including the release of its next version

## Description §

This commitment entails developing and maintaining Zerokit including Zerokit v0.8.0 release by advancing the next version through the integration of new features such as updated WASM component based on the issue #289.

### Background §

Zerokit is a collection of Zero Knowledge modules that focus on RLN, developed in Rust, intended for integration with various system programming environments.

### Narratives §

By utilizing the zerokit commitment, we will reinforce the Conduit of Expertise narrative by:

- Delivers an optimized version for IFT projects utilizing Zerokit, including nwakuand js-rln.

We will also strengthen the Premier Research Destination narrative by:

- Offers a Rust crate that serves as a more efficient open-source development tool for users looking to integrate RLN into their projects.

## Task List §

### Iden3 Witness Calculator Integration Review §

- fully qualified name: `vac:acz:ift:2025q2-zerokit:iden3-witness-review`
- owner: Sylvain
- status: on-hold (70%)
- start-date: 2025/04/01
- end-date: 2025/04/07

#### Description §

This task is on hold due to a blocker from Iden3. Although we can move forward, the effort required doesn’t justify it, given the current low priority.

The current implementation includes a modified version of the Iden3 witness calculator, with changes specifically related to data types. This task involves:

1. Verifying whether these modifications are truly necessary.
2. Exploring the feasibility of using the original Iden3 repository as a submodule instead of maintaining a separate modified version.
3. Benchmarking both solutions to compare their performance and potential impact.

#### Deliverables §

A set of PRs and issues to vacp2p/zerokit to cover as follows:

- Analysis of the differences between the current implementation and the original Iden3 witness calculator.
- Justification (or refutation) of the necessity of data type modifications.
- A benchmark comparing the performance of both implementations.
- Recommendation on whether to keep the modified version or use Iden3 as a submodule.

### RLN Execution Bottleneck Analysis §

- fully qualified name: `vac:acz:ift:2025q2-zerokit:rln-execution-bottleneck`
- owner: Sylvain
- status: done
- start-date: 2025/04/07
- end-date: 2025/05/16

#### Description §

There is an issue with the execution time of RLN operations. The problem may stem from two potential sources:

- Inefficient tree operations within Zerokit, particularly in the function located here. The method of reading and parsing input data might be suboptimal.
- Inefficiencies within the membership contract itself.

The issue became apparent when the membership contract reached `270,000` memberships, causing extreme slowdowns in processing. Specifically, the `atomic_write` function from `librln` is a major bottleneck, taking `11 to 30 seconds` per call. Since this function is called within a loop, processing large batches (e.g., 1752 events per RPC call) results in multi-hour delays. This makes syncing infeasible and exposes scalability issues with the current approach.

This task involves identifying the actual bottleneck and making at least initial improvements to Zerokit’s tree structure performance. We need to Investigate why `atomic_write` takes so long and whether it can be optimized.

#### Deliverables §

A PR to vacp2p/zerokit incorporating the improvements:

- Adding measurements to atomic operations in the existing benchmark
- Analysis of the tree operations in Zerokit to identify inefficiencies.
- If applicable, improvements to the tree structure in Zerokit to enhance performance.

### Zerokit Wasm Implementation §

- Fully qualified name: `vac:acz:ift:2025q2-zerokit:wasm-implementation`
- Owner: Vinh
- Status: done
- Start date: 2025/03/31
- End date: 2025/05/16

#### Description §

The zerokit RLN-Wasm module was originally built using Wasmer, but it has proven difficult to maintain, slow, and inefficient for parallel computations. This task focuses on comparing the existing Wasmer-based approach with an alternative implementation based on Iden3’s Wasm solution. The goal is to evaluate their performance, compatibility, and maintainability to determine the best approach for zerokit.

#### Deliverables §

A working implementation of the selected Wasm solution integrated into `zerokit`, ensuring improved performance and maintainability. The implementation should be submitted as a pull request to `zerokit` and linked to the issue related to release v0.8.0.

### Parallelization Feasibility Study For rln-wasm §

- fully qualified name: `vac:acz:ift:2025q2-zerokit:parallel-computation-study`
- owner: Vinh
- status: done
- start-date: 2025/04/07
- end-date: 2025/04/21

#### Description §

After returning the rln-wasm module, it is necessary to investigate the possibility and necessity to use parallel computation.

#### Deliverables §

- A PR to `zerokit` and linked to the issue related to release v0.8.0.

### Improve Computation In Merkle Tree §

- fully qualified name: `vac:acz:ift:2025q2-zerokit:merkle-tree-improvement`
- owner: Vinh
- status: done
- start-date: 2025/04/21
- end-date: 2025/05/09

#### Description §

While working on `vac:acz:ift:2025q2-zerokit:rln-execution-bottleneck`, we identified an inefficient algorithm used for updating the tree structure. Although improvements were made, there’s still potential for further optimization.

One promising approach is to update the hashes incrementally during tree updates, which could reduce redundant computations. Additionally, refactoring the current algorithm to leverage the rayon crate for parallelism may significantly boost performance—potentially by 20% or more. This task involves analyzing the current implementation, applying targeted refactors, and introducing parallel processing where appropriate.

#### Deliverables §

- A PR to `zerokit` and linked to the issue related to release v0.8.0

### Investigate Semaphore §

- fully qualified name: `vac:acz:ift:2025q2-zerokit:semaphore-parts-bench`
- owner: Ben
- status: done
- start-date: 2025/04/30
- end-date: 2025/05/16

### Description §

Semaphore is a zero-knowledge protocol that allows users to prove membership in a group without revealing their identity. This enables anonymous messaging, voting, and other privacy-preserving applications. In this task, we aim to evaluate whether replacing the current zero-knowledge proof system makes sense. To begin, we will focus on two areas of research:

1. Compare the light-poseidon library with our current Poseidon hash implementation

   - Verify whether the parameters used are the same
   - Prepare performance benchmarks

2. Evaluate the efficiency of the lean-imt Merkle tree versus our current Merkle tree implementation

   - Focus on tree initialization, leaf insertion, proof generation, and proof verification

3. Compare the zero-knowledge proof systems themselves

- Once we understand the relative performance of Poseidon and Merkle tree implementations, evaluate the zk-proof construction step
- Assess the performance and complexity of generating and verifying proofs using the current system versus potential alternatives

For context, see our previous investigation into Semaphore usage in Zerokit:
Semaphore README in Zerokit branch

### Deliverables §

Submit either a pull request or a comment on this issue in the Zerokit repository that includes:

- Benchmark results for both the Poseidon hash and the Merkle tree implementations
- A summary of findings, including whether it makes sense to proceed with evaluating alternative zk-proof systems based on the current efficiency data

### Abstract Error Handling in Zerokit §

- fully qualified name: `vac:acz:ift:2025q2-zerokit:error-abstraction`
- owner: Sylvain
- status: done
- start-date: 2025/05/19
- end-date: 2025/06/06

#### Description §

Evaluate and potentially refactor the error handling in Zerokit to improve composability with other crates. The current use of `eyre` for error handling might not align with the preferences orinfrastructure of downstream users. As `zerokit` is designed to be a reusable crate, relying on a specific error type like `eyre::Report` may limit flexibility for consumers who prefer using `anyhow`, custom error types, or other error frameworks.

#### Deliverables §

A PR to `zerokit` and linked to the issue related to release v0.8.0.

### Blogpost about improvements in incoming release §

- fully qualified name: `vac:acz:ift:2025q2-zerokit:perfomance-updates-blogpost`
- owner: Ben
- status: started (75%)
- start-date: 2025/05/26
- end-date: 2025/06/30

#### Description §

Create a blog post comparing the tree implementation in zerokit v0.7.0 and the upcoming release. The goal is to highlight and explain the motivation, architectural changes, performance impacts, and developer-facing differences introduced during the refactor. This post will help the community understand the rationale and value of the new approach.

The blog post should be informed by the discussion and comments from Vinh and Sylvain in zerokit issue #289. It should make technical concepts accessible and provide examples or diagrams where appropriate to illustrate key points.

#### Deliverables §

- Outline of blog post structure (sections, key topics).
- Analysis of changes between v0.7.0 and the upcoming version, focused on tree implementations.
- Integration of relevant insights and explanations from Vinh and Sylvain’s comments in issue #289.
- Complete draft of the blog post.
- Final review and publication on the VAC or Waku blog.

### Zerokit maintaining §

- fully qualified name: `vac:acz:ift:2025q2-zerokit:zerokit-maintaining`
- owner: Ekaterina
- status: done
- start-date: 2025/04/01
- end-date: 2025/06/30

#### Description §

This task encompasses all maintenance updates for Zerokit, including CI updates and the creation of future issues.

#### Deliverables §

A set of PRs and issues to vacp2p/zerokit.

### Release v0.8.0 §

- fully qualified name: `vac:acz:ift:2025q2-zerokit:release`
- owner: Ekaterina
- status: done
- start-date: 2025/05/12
- end-date: 2025/06/26

#### Description §

The new version of the Zerokit v0.8.0

#### Deliverables §

A set of PRs to vacp2p/zerokit repository with tag v0.8.0