bug(rln): problems syncing the rln tree, different roots #2002
Labels
bug
Something isn't working
critical
This issue needs critical attention
E:3.2: Basic DoS protection in production
See https://github.com/waku-org/pm/issues/70 for details
Problem
Using
0x0A988fd9CA5BAebDf098b8A73621b2AaDa6492E8
Commit
5638bd06bbab5f52aeb399b2cf162c8b834ce011
When continuosly injecting new memberships into the rln contract (at a rate of one per block or so) different nodes calculate different merkle roots when syncing. This creates a "fork" in the network, where some nodes reject valid messages and others accept them. This issue seems to happen (or at least more often) when continuosly injecting new memberships into the contract.
After stopping injecting memberships and inspecting the database of different nodes, they seem to split into:
This off-by-one membership seems to be the rootcause of the issue. If one of the first memberships was lost, then the nodes will calculate completely different trees and won't be able to validate the same messages.
Notes:
The text was updated successfully, but these errors were encountered: