Open alrevuelta opened 1 month ago
cc: @kaiserd, added vac acz milestone in https://github.com/logos-co/roadmap/pull/66/commits/986ebd59914f5e6790d48a622c09f19c95e6d33a
Implement changes in zerokit RLNv2 (>0.4.0)
Required changes in zerokit done and merged: https://github.com/vacp2p/zerokit/pull/255
Integrate RLNv2 into go-zerokit
done and merged: https://github.com/waku-org/go-zerokit-rln/pull/21 The main reason for integrating zerokit in go (go-zerokit) is that go allows to iterate faster and develop tooling for testing than in nim.
Integrate custom witness for RLNv2 in go-zerokit
Deliver end-to-end PoC working in The Waku Network showcasing the new features.
Done here: https://github.com/alrevuelta/go-waku-light/pull/5
New smart contract with both RLNv2 and RLN in resource-restricted clients changes:
Done by @rymnc here: https://github.com/waku-org/waku-rlnv2-contract
Develop tooling in waku-simulator to allow rlnv2 testing
Done by @stubbsta here: https://github.com/waku-org/waku-simulator/pull/45
Make RLNv2 the default waku RLN, removing feature flag and RLN v1
Done in here by @rymnc https://github.com/waku-org/nwaku/pull/2828
Prepare testing plan for release v0.30.0 to test RLNv2 + onchain merkle trees:
Done by @stubbsta in https://www.notion.so/Waku-RLNv2-End-to-End-Testing-with-Waku-simulator-6f50a5613eb44ae38e2dbbcfa72b7417
Documentation to use waku-simulator for testing
Deploy and consider using a L2 testnet.
Deployed in PolygonzkEVM testnet: https://cardona-zkevm.polygonscan.com/address/0x4976df0f61135ef3e5720d92eade2e5f47a68ef9 by @rymnc
Decide epoch size (rln-relay-epoch-sec) and user message limit (rln-relay-user-message-limit) for TWN
Done, parameters set for The Waku Network: https://github.com/waku-org/nwaku/pull/2843
Come up with final gas estimation after the optimizations (RLN v2 + RLN in resource-restricted)
Here we show the results of forge test --gas-report -vv
of the register
function. It shows the gas consumption of the call for different tree sizes.
With 100k memberships
With 10k memberships
In both cases:
Summary
Based on the work done on previous milestones that included both research and development:
This new milestone tracks the shipping of the above developed features i) RLNv2 and ii) RLN in resource-restricted clients into The Waku Network. See https://github.com/waku-org/research/issues/96 and https://github.com/waku-org/nwaku/issues/2345.
Note that both features are tracked together since they imply breaking changes in the smart contract.
userMessageLimit
in membership registration.merkleProofElements
.Both changes will be introduced together to merge two backward incompatible changes into a single one, which has fewer effects on The Waku Network users.
Epics
rln-relay-epoch-sec
) and user message limit (rln-relay-user-message-limit
) for TWN and set them in nwaku https://github.com/waku-org/nwaku/pull/2843