Code Monkey home page Code Monkey logo

Comments (12)

adamPetho avatar adamPetho commented on June 22, 2024 1

With #11958 merged and released, we made a quick fix for this issue.

Should we proceed with one of the ideas?

If yes, which one?

If no, then I think we can close this issue.

from walletwasabi.

MaxHillebrand avatar MaxHillebrand commented on June 22, 2024 1

Should we proceed with one of the ideas?

from walletwasabi.

MaxHillebrand avatar MaxHillebrand commented on June 22, 2024 1

proposal: change how often the client attempts to register a banned coin from 2 days to 2 weeks.

from walletwasabi.

molnard avatar molnard commented on June 22, 2024 1

According to the title Local prison should have an invalidation mechanism this is done.

One more thing remained to mitigate the suboptimal coinselection. @adamPetho will create a separate issue for that.

from walletwasabi.

molnard avatar molnard commented on June 22, 2024

It is the same as the previous solution, except this process is done directly when registering inputs. This has the caveat of making a bad input selection if the coin is still banned.

I am catching up on this, I was abroad at this time - sorry for the confusion. Local invalidation is a good solution on the client side. What happens after that? The client tries to register and finds out there are banned coins, which leads to suboptimal coin selection.

There is a simple naive solution for that. If the client detects there is a banned coin in the selection - it will just stop registering and leave the round by letting it's inputs timeout. The implementation is already done for leaving a round without privacy loss. If it is too late to leave, then proceed with the round (rare case).

WDYT?

from walletwasabi.

turbolay avatar turbolay commented on June 22, 2024

For me this solution is also the best, as it's a proper fix and doesn't introduce much complexity. I like the idea of filters etc and it might be more convenient for integrations but I don't feel an absolute urge and need to have it. For Wasabi clients, waiting 2-4 days in case we ban incorrectly is not really a big deal as it doesn't really happen often.

It's a bit implementation detail, but something to consider:
I have 10 coins banned for 1 week. After some day, I try to register them again, all at once.
If we implement this solution, and don't continue with registering the coins, we will need 10 successive rounds that we unregister from to get rid of this incorrect information, as we will do 1 by 1.

So we have to choose between:

  • Do 1 by 1 -> drawback: time, UX
  • If we detect a banned coin in the selection, keep trying to register the selection to detect the other banned coins, then unregister all -> drawback: privacy

from walletwasabi.

molnard avatar molnard commented on June 22, 2024

I vote for the second option.

from walletwasabi.

adamPetho avatar adamPetho commented on June 22, 2024

If no one else wants to vote on this, then I will start to figure out how to implement the second option.

Altho, I'm not a fan of choosing a solution with privacy drawbacks over UX drawbacks...

from walletwasabi.

molnard avatar molnard commented on June 22, 2024

Well there is a complex solution. The client has a set of coins to register into the coinjoin. It starts registering one by one. If at least one coin is banned we set a flag.

If the flag is set we just register the coins but we never confirm, so coins will time out in input reg phase. Before the input reg ends we bail out and remember the banned coins.

The solution has no drawback except that it is complex...

from walletwasabi.

molnard avatar molnard commented on June 22, 2024

@adamPetho please change the parameter to 2 weeks.

from walletwasabi.

turbolay avatar turbolay commented on June 22, 2024

@adamPetho please change the parameter to 2 weeks.

Why?
Didn't this discussion happen last week?

from walletwasabi.

turbolay avatar turbolay commented on June 22, 2024

You know I could also change the title. Closing issue for the sake of closing issues is ridiculous, this is not fixed.

from walletwasabi.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.