Skip to content
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

Result of mutually-distrusting Ids depends on order they're processed #389

Closed
kornelski opened this issue Feb 27, 2021 · 5 comments
Closed

Comments

@kornelski
Copy link
Member

If user A distrusts user B, and user B distrusts user A, it's indeterminate what result this will have on the WoT:

  • if A is processed first, then B is excluded, and A isn't distrusted.
  • if B is processed first, then A is excluded, and B isn't distrusted.
@dpc
Copy link
Collaborator

dpc commented Mar 1, 2021

The graph flooding algo that is currently used is processing things according to trust level and distance. So whoever is more trusted will cancel less trusted proofs first.

There's even a test, IIRC

fn proofdb_distrust() -> Result<()> {

@kornelski
Copy link
Member Author

What if both are with trust = high?

@dpc
Copy link
Collaborator

dpc commented Mar 1, 2021

The exact order is determined by

struct Visit {
. The last one is Id which at least makes it deterministic.

@dpc
Copy link
Collaborator

dpc commented Jun 7, 2021

The graph flooding algo that is currently used is processing things according to trust level and distance. So whoever is more trusted will cancel less trusted proofs first.

Actually this is not the case. Two IDs at the same effective trust level, distrusting each other will remove both from the trust set.

// Both should be removed from the trust_set.

Kind of a Mutually Assured Destruction.

@dpc
Copy link
Collaborator

dpc commented Jun 7, 2021

Closing, as I still think that's how I want it to be, and some improvements around handling it will be done for #390

@dpc dpc closed this as completed Jun 7, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants