bitcoin-dev

Transaction Input/Output Sorting

Transaction Input/Output Sorting

Original Postby Pavol Rusnak

Posted on: October 21, 2018 21:54 UTC

In an email sent to the bitcoin-dev mailing list, Ryan Havar expressed concern over how easy it is to spot the boundaries between different wallets.

He cited the way wallets sort transaction inputs and outputs as a major contributor to this problem, with some wallets having a strong preference for deterministic sorting while others object to it due to privacy loss during the transition period and concerns that transactions not compatible with bip69 will stick out heavily in the future. Havar suggests a potential solution of deterministic sorting based on a semi-secret, where wallets would use a standardized sort order based on the semi-secret sortingSecret = hmac(walletSeed, "sortingSecret"). The advantages of this approach, according to Havar, include the ability to verify correct sorting externally while appearing totally randomized.