Protocol spec - Rate-Limiting Nullifier
This topic is a less strict version of specifications. If you want a more formal description, you can find specs in the references. Also, if you're unfamiliar with Shamir's Secret Sharing scheme, you can read it here. Under the hood: The RLN Circom Circuit RLN consists of three parts: Well, let's discuss them. The first part of RLN is registration. There is nothing special in RLN registration; it's almost the same process as in other protocols/apps with anonymous environments: we need to create a Merkle Tree, and every participant must submit a commitment and place it in the Merkle Tree, and after that to interact with the app every participant will create a zkProof's, that they are a member of the tree (we use an Incremental Merkle Tree, as it more GAS efficient). So, each member generates a secret key, denoted by a 0 𝑎 0 . Identity commitment q 𝑞 is the hash (Poseidon) of the secret key: q=Poseidon( a 0 ) 𝑞 = 𝑃 𝑜 𝑠 𝑒 𝑖 𝑑 𝑜 𝑛 ( 𝑎 0 ) . RLN wouldn't work if there were n
This topic is a less strict version of specifications. If you want a more formal description, you can find specs in the references. Also, if you're unfamiliar with Shamir's Secret Sharing scheme, you can read it here. Under the hood: The RLN Circom Circuit RLN consists of three parts: Well, let's discuss them. The first part of RLN is registration. There is nothing special in RLN registration; it's almost the same process as in other protocols/apps with anonymous environments: we need to create a Merkle Tree, and every participant must submit a commitment and place it in the Merkle Tree, and a
Explore this link on the map →