vac:sc:status:2025q2-karma-rln
Implement RLN membership management and integration with the Karma protocol.
Description
Status Network aims to implement gasless transactions by leveraging the RLN protocol as a means to offer different tiers to users based on their Karma balance. The general idea is that users can send a certain amount of transactions within a certain time period without paying gas, if they own a certain amount of Karma tokens. The exact amount of transactions and the time periods are specified in tiers. To make this a reality, there has to be an RLN contract that allows a privileged actor to register users in the membership tree. In addition, there has to be a function to slash users. In order to retrieve the available tiers, another contract has to be deployed that provides the necessary data.
Task List
Karma slashing function
- fully qualified name:
2025q2-karma-rln:slash-karma
- owner: r4bbit
- status: not started
- start-date: 2025/05/21
- end-date: 2025/06/31
Description
Implement a function in the Karma
contract allows privileged actors to slash a given account’s Karma balance.
A first version of this should add a percentage value to the contract that can be configured by the privileged actor.
The slash(account)
function should then slash the Karma balance of the given account by the percentage value.
Deliverables
- Commit that introduces slash functionality
- Unit tests for the slashing function
- Formal verification of the slashing function
- Documentation for the contract
Implement KarmaTier contract
- fully qualified name:
2025q2-karma-rln:karma-tiers
- owner: Ricardo
- status: not started
- start-date: 2025/05/21
- end-date: 2025/06/31
Description
Implement a contract that provides the available tiers for the gasless transactions system. Tiers are currently defined in this document. The owner of the contract should be able to update the tiers. It should also be possible to add new tiers.
Deliverables
- Commit that introduces
KarmaTiers
contract - Unit tests for updating and adding tiers
- Documentation for the contract
Implement KarmaRLN contract
- fully qualified name:
2025q2-karma-rln:implementation
- owner: Ricardo
- status: not started
- start-date: 2025/05/21
- end-date: 2025/06/31
Description
Implement the RLN contract that allows for registering users and slashing their Karma. We can likely take a lot of ideas from what the WakuRLNV2 contract does.
Deliverables
- Commits that introduce
KarmaRLN
contract - Unit tests
- Documentation for the contract