The purpose of this document is to compare the performance of Semaphore V4 and the new RLN version (RLN V3) in order to help decide which protocol to use in a specific context.
RLN (Rate-Limiting Nullifier) is a zk-protocol that enables spam prevention mechanism for anonymous environments.
Docs: https://rate-limiting-nullifier.github.io/rln-docs/rln.html
GitHub organization: https://github.com/Rate-Limiting-Nullifier
Using zero knowledge, users can prove their group membership and send signals such as votes or endorsements without revealing their original identity.
Website: https://semaphore.pse.dev/
Docs: https://docs.semaphore.pse.dev/
GitHub organization: https://github.com/semaphore-protocol
RLN V1 and V2 use Semaphore V3. The RLN protocol can be seen as an extension of the Semaphore protocol.
RLN V3 is a new version of the RLN protocol using the new features of Semaphore V4:
More info about the new features of Semaphore V4 can be found in the v4.0.0 release.