What is "canonical transaction ordering" that Bitcoin ABC is considering implementing?


What exactly is "canonical transaction ordering", that Bitcoin ABC is considering implementing?

How does it help exactly, and why is it so controversial?

Could it be adopted in Bitcoin Core? Why yes/why not? Is that a protocol change, requiring a hard fork, or an implementation change?

Karel Bílek

Posted 2018-08-24T08:15:03.903

Reputation: 2 385

3Bitcoin Core is an implementation of the Bitcoin protocol. Implementing a change like that in Bitcoin Core would make it violate the protocol, so no. Perhaps you mean to ask whether Bitcoin could adopt such a change? – Pieter Wuille – 2018-08-24T17:10:36.997

I was not sure whether it is protocol or implementation change. Thanks, will clarify – Karel Bílek – 2018-08-24T21:14:44.137



Canonical Transaction Ordering is a different way to organise transactions in a block (different from Topological Transaction Ordering, currently used).

Bitcoin ABC's argument for CTOR
1. CTOR is simpler to implement than TTOR.
2. About 70% of block template creation time is due to ordering requirements. Eliminating this will improve performance.
3. Improves parallelisation
4. Easier blocks transmission
5. Security patch (large block with a transaction ordering that is as slow to validate as possible)

nChain's argument against CTOR
1. Unsecure (no technical explanation)
Note: nChain planned to implement CTOR in the past: source

It does require a hard fork.


Posted 2018-08-24T08:15:03.903

Reputation: 61

1Hi merc1er, welcome to Bitcoin.SE and thanks for your answer. Could you perhaps add a description how Canonical and Topological Transaction Ordering differ? I think that would help address Karel's first question. – Murch – 2018-09-07T04:16:06.470

1"About 70% of block template creation time is due to ordering requirements. Eliminating this will improve performance." CTOR requires transactions to be ordered. I don't dispute that the source claims it, but the source appears to be incorrect. I believe that block creation is fundamentally slower with CTOR than the original consensus rules. In fact, I don't believe a single one of those claimed advantages are true except in-so-far block transmission is improved with by any deterministic order -- a topological order compatible with the existing rules would be just as good for that. – G. Maxwell – 2019-01-10T00:39:04.900