-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RLN + Interep #147
Comments
Thanks @rymnc for opening the issue! Nice one! |
Thanks for your comment! We could eventually incentivise peers to be a feedback loop to Interep group changes, but, yes, as you said, this can be dealt with later |
Thanks for the issue, it's a good start and summarizes useful background! A few things worth mentioning:
|
Updated the issue to include -
|
An update on the PoC for those interested -
|
Something to note with interep is that it requires a trusted intermediary which collects auth tokens (which have pii) and id commitments, and adds them to the merkle tree, which is then used to update the onchain root of the tree at intervals. We will have to design the relay protocol for this in a way that we have trusted relayers for a specific groupId (provider + tier, i.e |
Something to note with slashing is that the actual |
Since we have completed the spec as well as the forum post I will close this issue. Please feel free to re-open when required! |
Background
Interep
Interep is an Identity protocol which allows trustless verification of the reputation of a given "peer". This reputation is derived from one or more metrics on a given centralised service (Github, Twitter, Reddit). It banks on the assumption that bot accounts do not or, will not, gain a large number of human-like characteristics on these services. For example, only a real developer (and not a bot) would have more than a 100 stars on Github. However, it is difficult to trust that these centralised services will continue to operate with the same degree of bot prevention, over a longer period of time. For example, there are bots on Reddit which have over 100 "coins". The way we can use Interep safely is by increasing the threshold of what "peers" we allow to use the system, i.e only Silver tier or above on any of the centralised services. This would greatly reduce the number of bots and would make the system anti-sybil upto a degree.
RLN
RLN (Rate Limiting Nullifier), is used for spam prevention in a peer-to-peer network, while preserving anonymity. A "peer" registers themselves to be a part of a membership group, either with funds (See: https://rfc.vac.dev/spec/17/), or with their social reputation. The membership group refers to the set of anonymized "peers" that are allowed to send messages. Each message includes a ZK proof that proves that this "peer" belongs to the membership group. If spamming is detected, the message is dropped, and the sender is subsequently "slashed", and removed from the membership group. When the sender is removed from the membership group, their messages are no longer propagated, and therefore, spam prevention occurs. "Slashing" refers to the financial/social stake being taken away from the "peer". We will discuss more about social-slashing below.
Motivation
The motivation to use social-staking vs financial-staking is to lower the barrier of entry in a sybil-resistant manner. There are applications which do require this, and would benefit greatly from the lowered difficulty to participate in spam prevention. The barrier of entry is further reduced by implementing gasless transactions (EIP-2771) for the registering to be a part of the membership group.
Examples -
How RLN and Interep can work together
We are operating under the following assumptions -
The RLN contract can be forked/updated to add the following functions -
provider
can be (Github, Twitter, Reddit), and thename
can be (Gold, Silver, Bronze)To generate proofs for the messages, the "peers" can use their existing ID Commitment that they used with Interep, but using the RLN circuit, as described here. They can then be removed from the membership group by following the slashing scheme described here.
There are 2 disincentives to spamming the network with social stake -
MVP PoC Details
Must Haves
Updates to the RLN contract to -
A simple UI to demonstrate -
Nice to Haves
Further reading
The text was updated successfully, but these errors were encountered: