A zero-knowledge gadget for spam prevention in anonymous environments. In an application where users are anonymous, nothing stops one user from sending unlimited messages, and nobody can be removed because nobody can be identified. RLN lets a member prove, in zero knowledge, that they belong to a registered group and are within a rate limit; if they exceed it, the extra proof reveals enough of their secret (through Shamir's Secret Sharing) for others to recover it and remove them, optionally taking a stake. It works in three phases: registration, interaction and withdrawal or slashing. It is described as part of Privacy & Scaling Explorations (PSE), a team supported by the Ethereum Foundation, and implementations are used as the spam-protection layer for messaging protocols .
LicençaPermissive: zerokit is Apache-2.0; the RLN organisation's circuits and contracts carry licences per repository, and the V3 repository states none. https://github.com/Rate-Limiting-Nullifier; https://github.com/vacp2p/zerokit
Status de Dev 🔬 Beta
ProprietárioPrivacy & Scaling Explorations (PSE), a team supported by the Ethereum Foundation; related implementation work (zerokit) is published by Vac, the research group behind Waku
Órgão de GovernançaPrivacy & Scaling Explorations (PSE) team, supported by the Ethereum Foundation; no formal governance body is described
País Not stated by the project.
Ano de Início 2022
StackCircom, halo2 and Noir circuits (separate repositories in the RLN organisation); Poseidon hashing for identity commitments; Shamir's Secret Sharing; Solidity registry contract; Rust (zerokit), JavaScript (rlnjs) and CLI tooling
FinanciamentoSupported by the Ethereum Foundation through the PSE team
Financiamento - Lista
Ethereum Foundation
Última Investigação 29 de out. de 2026
Visão de topologia
Esta ferramenta no centro e o que se relaciona diretamente com ela. Cada linha nomeia o tipo de relação.
OrigensSpam and sybil resistance for anonymous messaging and voting without revealing identity: replace identity-based moderation with a cryptographic rate limit enforced by the threat of exposure and slashing
Banco de Dados N/A
Linguagem de Consulta N/A
Formatos de DadosIdentity commitments in a Merkle tree; zero-knowledge proofs with public outputs including a nullifier and a Shamir share; Solidity registry contract interface
Suporte MóvelLibrary-level: Rust (zerokit) can be embedded in native and mobile applications; no application
Suporte WebLibrary-level: JavaScript libraries (rlnjs) and WebAssembly builds
Aplicativos NativosLibrary-level only
TermosFree and open source; individual repositories carry their own licences
Financiamento - Lista
Ethereum Foundation
Fundos Not stated by the project.
Baseado EmSemaphore-style anonymous group membership (V3 is built on Semaphore V4 features), Shamir's Secret Sharing and zero-knowledge proofs
PermissõesRegistry rules decide who may register; the rate limit decides how often each member may act
Autenticação e IdentidadeMembers register an identity commitment (the Poseidon hash of a secret key) and prove membership in zero knowledge; no real-world identity is involved
Modelo de ArmazenamentoA registry (an on-chain contract or application-managed tree) holds identity commitments; proofs are carried in the application's messages
InteroperabilidadeA gadget that applications and messaging protocols integrate; the documentation lists a smart-contract design, circuits in several proving systems and implementations in Rust, JavaScript and CLI form
Portabilidade de DadosIdentities and proofs depend on the registry the application uses; they are not portable between applications by default
Governança e Tomada de DecisãoSpecification and implementations are developed in the open by the PSE team and contributors; no decision process is described
Maturidade / Padronização do ProtocoloA formal specification exists in the RLN documentation, with version 3 in development; no standards-body involvement; many repositories inactive since 2023-2024
Padrões de IdentidadeNo W3C DID or Verifiable Credentials mapping
Métodos DID Suportados N/A
Gestão de ChavesEach member holds a secret key; exceeding the rate limit exposes it by design, after which it can be used to slash the member's stake
Tipos de CredenciaisAnonymous membership proofs with a rate-limit nullifier; not credentials issued by a third party
Método de VerificaçãoA verifier checks the zero-knowledge proof against the registry's Merkle root, checks the nullifier for reuse within the epoch, and can recover the secret if two messages share an epoch
Recursos de PrivacidadeAnonymous membership and unlinkable messages within the limit; exceeding the limit deliberately reveals the member's secret
Métodos de AutenticaçãoZero-knowledge proof of registered membership attached to each message
Mecanismo de RevogaçãoSlashing: anyone who recovers a spammer's secret can remove the member from the registry and, where a stake is used, claim it; withdrawal is voluntary exit
Tipos de Agentes SuportadosIndividual anonymous users of applications that integrate it
Tipos de Carteira/ClienteLibraries (Rust, JavaScript) and CLI tooling; no wallet
Mecanismos de Recuperação Not stated by the project.
Conformidade / Regulamentações Not stated by the project.
Protocolos de Troca de CredenciaisNone: proofs are attached to the application's own messages
Estrutura de ConfiançaCryptographic proofs against a registry root, with economic slashing as deterrent; trust in the registry's admission rules
Modelo de CustoFree to use; registration may require a stake and on-chain registration fees depending on the deployment
Resistência à CensuraModerate: anyone can verify proofs, but registry control determines who may participate
Relacionamentos
Como esta ferramenta se conecta a outras ferramentas e organizações, a partir de relacionamentos revisados pelo responsável pelos dados do OpenHaven. Descrevem como os projetos se conectam, não a qualidade deles.