Mitigate burst of certifications
It may happen that a not-so-careful client allowed its user to certify someone without asking for a confirmation passphrase. This can be dangereous for the whole WoT because it may introduce sybils by certifying without a serious involvment of the user.
To mitigate such behavior from a client, we could introduce a new protocol rule:
A certification can only be written if its blockstamp is stricly higher than previous written certification from the same issuer, or if no previous certification exist.
Which such a rule, if we have:
- C1 issued on blockstamp B#1
- C2 issued on blockstamp B#1
Then only C1 or C2 can be written, but not both of them. So in a client that allowed to certify 10 people in row but using the same blockstamp, only 1 certification would be written.
And if we have:
- C1 issued on blockstamp B#1
- C2 issued on blockstamp B#2
- C3 issued on blockstamp B#3
Then if C3 is written first, C1 will become invalid because B#1 < B#3 as well as C2 because B#2 < B#3.
We cannot be sure that C3 will be the first to be written, however we can code in Duniter the fact to only store the last certification issued by a same member in the sandbox, and discard the others.
It won't avoid malicious node to circumvent this behavior, but if the honest nodes follow this rule then generally « burst of certifications » will reduce to a single written certification.