In the previous article, we briefly explained what OP_CHECKDATASIG is. The Canonical Transaction Ordering Rule (CTOR) is another important proposal for the November BCH update.
It is well known that blocks are fundamental to bitcoin’s security. There have been many attempts to decentralize digital currencies before Bitcoin, but all failed because they failed to solve the “double spending problem”. Bitcoin solves the double flower problem by creating a distributed server timestamp. As the white paper puts it, “The timestamp service takes a block hash and then broadcasts the hash widely, similar to a press release.”
This is essentially a proof-of-work mechanism that makes it difficult for malfeasants to change publicly available blocks. It is important to note that it is not individual transactions, but individual blocks that constitute the units of the timestamp server. As a miner, successful completion of workload tasks is packaging blocks.
Put another way, you just sent a transaction and are anxiously waiting for the first confirmation to appear in your wallet. That’s when you know a miner has safely packed the deal into the block along with all the others.
What does this have to do with CTOR? To repeat: Bitcoin is secure because of the order of the blocks, not the order of transactions.
The order of transactions in a block has little impact on bitcoin’s security model. In fact, transaction sequencing is nothing more than an execution detail. This is important because unbelievers have the misconception that CTOR is an extreme experiment that will fundamentally change bitcoin.
A simple analogy: Suppose my wife gives me a shopping list and tells me to go to the store to buy eggs, bread, milk, etc.
My wife only cares if I bring her the goods when I get home, not which container I go to the store first or what I buy first. In this analogy, a single item is a single transaction, and the entire shopping list is a block. At the end of the shopping, it’s ok to buy everything.
Canonical is a scary sounding word and developers like to use words that sound academic and fancy, like “Canonical.” Actually, it’s all about being a pussy. A specification is a list of numbers from lowest to highest in size. That is, the transaction ID (a string of digits in hexadecimal) or the transaction hash with the smallest hash appears first in the block and the largest hash with the largest hash appears last.
The Topological transaction Ordering rule (TTOR) Oops is another term used to describe the order. Simply put, if you have an unconfirmed master transaction (the coins you spend are from other transactions in the same block), you need to put the master transaction into the block first. I’ll show you an ugly picture.
In the picture, there are three transactions: A, B, C and D. The input of B transaction uses the output of A transaction, and both C and D transactions use the output of B transaction. B is A subtransaction of A, C and D are subtransactions of B. Under TTOR, transactions can be in any order, can be ABCD, can be ABDC, but cannot be ACDB. The parent transaction must precede the child transaction.
The CTOR proposal plans to rank trades from lowest to highest. This will automatically discard topological sorting. After all, you can’t do both at the same time. Why CTOR? In a word: to expand. CTOR reduces system complexity and is simpler to implement than TTOR. This is something the ABC team and nChain agreed to last year.
In short, CTOR is better than TTOR, but it doesn’t necessarily have the support of the entire community. Reddit user /u/awemany, for example, argued that CTOR wasn’t ready to be the best solution, didn’t do much to actually improve the web, and could end up being a step backward.
With over 100+ comments, this post is undoubtedly the first post to question CTOR. However, OpenBazaar developer Chris Pacia responded to Awemany’s questions in a post. Interested readers can go to Yours to read the full article.
All right, that’s the end of today’s article. Yesterday’s article was sent out, some readers left messages asking me not to play with Wu Jihan. (Uh, no, play what…) Translation is just an article, everyone calm down, do what you think is right. Author: The translation of walking C