public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
* [bitcoin-dev] Transaction Input/Output Sorting
@ 2018-10-21 19:00 rhavar
  2018-10-21 21:54 ` Pavol Rusnak
  0 siblings, 1 reply; 7+ messages in thread
From: rhavar @ 2018-10-21 19:00 UTC (permalink / raw)
  To: Bitcoin Protocol Discussion

[-- Attachment #1: Type: text/plain, Size: 1339 bytes --]

Right now it's just *way* too easy to spot the boundaries between different wallets. There's a lot of things that contribute to that, but the one that concerns me the most is the way wallets sort transaction inputs and outputs.

Some wallets and protocols (especially HW wallets) have  a strong preference for deterministic sorting (i.e. using bip69), while other wallets have a lot of objections to this.

I'm not sure I fully understand the objections, but I think they can be summarized as "during the transition period there will be a lot of privacy loss" and "if in the future someone wants to use bitcoin in a way that's not compatible with bip69 their transactions will stick out heavily".

I wonder if this impasse could be solved with deterministic sorting, but based on a semi-secret.  Like  `sortingSecret = hmac(walletSeed, "sortingSecret")` and then there's a standardized sort order based on the sortingSecret. e.g. sort inputs/output by the  `hash(data || sortingSecret)`.   Wallets could come up with their own way of computing (or storing) the "sortingSecret" but from there it's standardized.

I has the advantages of deterministic sorting (as long as you know the sortingSecret) you can verify it's done correctly and externally looks totally randomized.

Am I missing something, or could this be the way forward?

-Ryan

[-- Attachment #2: Type: text/html, Size: 2709 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2018-10-24 18:21 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-21 19:00 [bitcoin-dev] Transaction Input/Output Sorting rhavar
2018-10-21 21:54 ` Pavol Rusnak
2018-10-22  1:54   ` rhavar
2018-10-23 14:29     ` Chris Belcher
2018-10-24 16:12       ` Gregory Maxwell
2018-10-24 17:52         ` rhavar
2018-10-24 18:21           ` rhavar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox