-
Notifications
You must be signed in to change notification settings - Fork 55
Representation of Mixdepths
Gigi edited this page Mar 16, 2022
·
14 revisions
Brainstorm and concept session.
Links
- Mixdepth Concepts (Accounts / Layers) in Figma
- Mixdepth "Jar" in Figma
- Privacy Levels PR
- Images by Adam
- Mixdepths are represented as "privacy levels" in the UI
- UI shows privacy is a linear progression from "low" to "high"
- Mixdepths are conceptually equal (not hierarchical) and do not map to privacy guarantees directly
- The default tumbler is circular, UTXOs from mixdepth 4 will end up in mixdepth 0 again
- Find a better metaphor and/or representation of mixdepths
- Be precise in the metaphor, we must not mislead users or give a wrong impression in regards to privacy guarantees
The following representation might give a better idea, but it is quite clumsy and probably can't be used in the UI in a meaningful way:
- Mixdepth is configurable, default is 5 [0-4]
- UTXOs inside mixdepths can have different privacy characteristics
- Very difficult problem to solve
- All chainalysis is based on heuristics
- Bitcoin privacy is based on breaking these heuristics
- Game of cat & mouse, game of probabilities
- Mixdepths are confusing and hard to understand
- Mixdepths do not correlate to "privacy levels" directly
- You can only say something about a UTXO's privacy
- Question: do we want to provide a general-purpose interface, or can we make certain assumptions?
- Providing additional tools that show UTXO privacy is desirable, but out-of-scope for the Web UI project
- Goal: do not show mixdepths to the user, unless absolutely necessary
- Mixdepths are JoinMarket-internal constructs
- Caveat: JoinMarket will not allow you to spend across mixdepths1 , thus if you absolutely have to spend across mixdepths, multiple transactions will have to be created, which will be more expensive
1: Quote: this is not completely obvious, and is important: this is where you are spending the coins from. If you have 2 BTC in mixdepth 0 and 1 BTC in mixdepth 3, and you want to send 1.4 coins you must type 0 in this box; Joinmarket only spends coins from one mixdepth at one time, to aid privacy.
- Everyone: Sleep on it, see what actionable chunks can be defined for the next releases
- Gigi: Do user surveys on Telegram & Twitter
- Edi: Iterate on the "zoom" view of the wallet view, i.e.: Wallet Balance -[expand]-> Mixdepths -[expand]-> UTXOs
Daniel
Daniel says:we're shipping it only on umbrel not on raspi
16:06
tbk
tbk says:👍
tbk says:
https://github.com/openoms/bitcoin-tutorials/blob/privateflow/joinmarket/joinmarket_private_flow.md
16:36
Daniel
Daniel says:
https://github.com/joinmarket-webui/joinmarket-webui/wiki/Representation-of-Mixdepths
Daniel says:go with the neutral circle 👆 and let the user figure it out for now
16:43
me says:"mixdepths are for power-users" - 100% agree
me says:What about calling mixdepths "pockets"? 🤔
me says:I guess the traditional name would be "compartments" - you have a wallet with multiple compartments... hmm...
17:01
Daniel
Daniel says:yeah. hierarchical levels are way too close to privacy levels. "if" we show mixdepths, there should be no hierarchy. otherwise it's just the privacy levels again imo
17:02
d11n
d11n says:I think the way to go for the abstracted view is to get rid of the mixdepths 😉
17:02
Daniel
Daniel says:i'd love to hear out your "inside out" utxos-first representation as well.
17:03
Christoph
Christoph says:Really good work.
Christoph says:👏
17:05
tbk
tbk says:👏
17:07
d11n
d11n says:Guidance could then be provided on an UTXO level:
- Number of CoinJoin rounds
- Number of CJ Counterparties
- Automated Labels
- Manual Labels
- Mixdepth (just as metadata info)
17:05
Daniel
Daniel says:gigi's circle representation:
https://github.com/joinmarket-webui/joinmarket-webui/wiki/Representation-of-Mixdepths
17:06
Christoph
Christoph says:👏
Christoph says:👏
17:21
edi
edi says:👏
17:21