globaleaks / globaleaks-whistleblowing-software

GlobaLeaks is free, open-source whistleblowing software enabling anyone to easily set up and maintain a secure reporting platform.
https://www.globaleaks.org
Other
1.23k stars 269 forks source link

Improve token Proof of Work mechanism implementing dynamic complexity #4118

Open evilaliv3 opened 3 months ago

evilaliv3 commented 3 months ago

Proposal

This ticket is about to keep track of the discussions and implementation of a dynamic complexity mechanism for the proof of work implementation.

An idea could be to apply the following changes apply thresholds to implement a dynamic complexity of the proof of work for whistleblower sessions varying the complexity from level LOW to level HIGH based on a set of conditions:

An example of default configuration could be:

thresholds_proof_of_work_reports_per_ip = 1
thresholds_proof_of_work_reports_per_tenant = 20
thresholds_proof_of_work_requests_per_ip = 100
thresholds_proof_of_work_requests_per_tenant = 4000
thresholds_proof_of_work_complexity_low = 4 (zeroes)
thresholds_proof_of_work_complexity_high = 5 (zeroes)

Motivation and context

In recent times, given maybe the diffusion of the software and a growing interest on the technology we have observed multiple attempts of performing denial of services on setups run by the community.