diff --git a/ADVANCED.md b/ADVANCED.md index 35459eb..fc94598 100644 --- a/ADVANCED.md +++ b/ADVANCED.md @@ -40,4 +40,13 @@ To identify different services currently running, refer to the "SERVICE" column docker-compose ps ``` -![services](https://i.ibb.co/ZXG3Ld9/image.png) \ No newline at end of file +![services](https://i.ibb.co/ZXG3Ld9/image.png) + +## RLN - Rate Limit Nullifier + +RLN is the technology used to achieve the rate limiting feature, which combines zero-knowledge +proofs, hashing, Merkle tree, Blockchain, etc. + +Deeper technical details can be found in: +* [RLN-V1 spec](https://rfc.vac.dev/spec/32/) +* [RLN-V2 spec](https://rfc.vac.dev/spec/58/) diff --git a/README.md b/README.md index 3bc835d..41ed7cb 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ Ready to use docker-compose to run your own [nwaku](https://github.com/waku-org/ **📝 0. Prerequisites** You need: -* Ethereum Sepolia ws endpoint. Get one free from [Infura](https://www.infura.io/). +* Ethereum Sepolia WebSocket endpoint. Get one free from [Infura](https://www.infura.io/). * Ethereum Sepolia account with some balance <0.01 Eth. Get some [here](https://www.infura.io/faucet/sepolia). * A password to protect your rln membership. @@ -22,7 +22,11 @@ export KEYSTORE_PASSWORD=PICK_A_PASSWORD **🔑 1. Register RLN membership** -The RLN membership is your access key to The Waku Network. Its registration is done onchain, and allows your nwaku node to publish messages in a decentralized and private way, respecting some rate limits. This command will register it and store in `keystore/keystore.json`. Note that if you just want to relay traffic (not publish), you don't need one. +The RLN membership is your access key to The Waku Network. Its registration is done onchain, and allows your nwaku node to publish messages in a decentralized and private way, respecting some [rate limits](https://rfc.vac.dev/spec/64/#rate-limit-exceeded). +Messages exceeding the rate limit won't be relayed by other peers. + +This command will register your membership and store it in `keystore/keystore.json`. +Note that if you just want to relay traffic (not publish), you don't need one. ``` ./register_rln.sh