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

<p>Bitcoin ABC's argument for CTOR<br>
1. CTOR is simpler to implement than TTOR.<br>
2. About 70% of block template creation time is due to ordering requirements. Eliminating this will improve performance.<br>
3. Improves parallelisation<br>
4. Easier blocks transmission<br>
5. Security patch (large block with a transaction ordering that is as slow to validate as possible)<br>
<a href="https://www.bitcoinabc.org/2018-08-15-benefits-of-ctor/" rel="nofollow noreferrer">source</a></p>

<p>nChain's argument against CTOR<br>
1. Unsecure (no technical explanation)<br>
Note: nChain planned to implement CTOR in the past: <a href="https://web.archive.org/web/20180316045619/https://nchain.com/en/blog/bitcoin-cash-development-testing-accord/" rel="nofollow noreferrer">source</a></p>

<p>It does require a hard fork.</p>

CC BY-SA 4.0
2018-09-07T04:16:06.470Z
Hi 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
CC BY-SA 4.0
2019-01-10T00:39:04.900Z
"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
CC BY-SA 4.0
2018-09-07T04:10:05.117Z
2018-09-07T10:20:25.857Z
2018-09-07T10:20:25.857Z
merc1er
<p>What exactly is "canonical transaction ordering", that Bitcoin ABC is considering implementing?</p>

<p>How does it help exactly, and why is it so controversial?</p>

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

CC BY-SA 4.0
2018-08-24T17:10:36.997Z
Bitcoin 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
CC BY-SA 4.0
2018-08-24T21:14:44.137Z
I was not sure whether it is protocol or implementation change. Thanks, will clarify
Karel Bílek
<transactions><bitcoin-cash><ecash>
What is "canonical transaction ordering" that Bitcoin ABC is considering implementing?
Karel Bílek
# What is "canonical transaction ordering" that Bitcoin ABC is considering implementing?

(Asked by: username_0 on 2018-08-24)

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?

**Tags:** transactions, bitcoin-cash, ecash

> **Comments:**
> **username_1**: Bitcoin 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?  
> **username_0**: I was not sure whether it is protocol or implementation change. Thanks, will clarify  

---

## 1 answers

### Answer by username_2 on 2018-09-07. Score: 5

**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)  
[source](https://www.bitcoinabc.org/2018-08-15-benefits-of-ctor/)

nChain's argument against CTOR  
1. Unsecure (no technical explanation)  
Note: nChain planned to implement CTOR in the past: [source](https://web.archive.org/web/20180316045619/https://nchain.com/en/blog/bitcoin-cash-development-testing-accord/)

It does require a hard fork.

> **Comments:**
> **username_3**: Hi username_2, 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 username_0's first question.  
> **username_4**: "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.  

---

