-
Notifications
You must be signed in to change notification settings - Fork 54
Representation of Mixdepths
Gigi edited this page Apr 19, 2022
·
14 revisions
Brainstorm and concept session.
- When? Wednesday, March 16, 16:00 CET
- Where? https://meet.jit.si/AccurateMixdepthRepresentation
- Recording: BitcoinTV, YouTube
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 and more than one destination address has to be provided
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. Done, see Twitter.
- ✅ Edi: Iterate on the "zoom" view of the wallet view, i.e.: Wallet Balance -[expand]-> Mixdepths -[expand]-> UTXOs. Done, see Figma
Gigi: Now that I think of it, "jars" wouldn't be a terrible name for "mixdepths" 😂
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