But why does it matter, whatever is the serialized JSON which is signed is what should be regarded as the "true" value, also post deserialization why does it matter if there is a difference in the order. The protocol itself doesn't provide any guarantees nor should it look to provide any guarantees post deserialization?

Replies (2)

Why should you have to rigorously store exactly the same string every single time? The fact that people keep running into this issue shows that not taking round tripping into account is nuts. Bitcoin does _not_ work this way. Serialization is tightly defined and you can easily and reliably re-serialize data structures reliably.