News To Canonical or Not Canonical, That's the Bitcoin Cash...

To Canonical or Not Canonical, That’s the Bitcoin Cash Question


- Advertisment -

Among many discussions in Bitcoin Cash, which is to have a protocol upgrade this November, stands the question of whether canonical transaction ordering should be implemented, or indeed whether it should be called lexicographic rather than canonical.

Another nice word that you probably don’t understand is topological. That’s the current transaction ordering in both bitcoins.

And just to make class today a bit more exciting, we’ll have to explain child and parent transactions. That is A sends to B, then B sends to C, B being the child transaction while A is the parent.

Both bitcoins currently have a rule whereby “if a transaction B depends on a transaction A to be valid, then the transaction B must appear ​after the transaction A within the block.”

That’s called partial ordering, with a paper co-authored by the lead developer of BitcoinABC, Amaury Séchet, proposing a change to it “where transactions, within a block, are ordered by increasing ​transaction identifier.”

That’s basically a change “from ordering by validation order to ordering by TXID,” as Awemany, a pseudonymous BCH dev, says.

He has written a critique of the proposal, with Peter Rizun, who calls himself Chief Scientist at Bitcoin Unlimited, stating:

“I’m worried about unknown unknowns of hard-forking Bitcoin Cash to make lexical ordering a consensus rule (thereby making the current causal ordering invalid).”

Unknown Unknowns. He further says “about 30% of the technical folks I respect are in favour of lexical ordering, 20% are against, and 50% don’t know.”

One of those seemingly in favor is Emin Gün Sirer, Cornell Professor, who says: “Canonical transaction order removes spurious dependencies and can help speed up and scale blockchains.”

That’s the aim, to condense the amount of information needed to communicate between nodes so that the blocksize can be increased to potentially even a terabyte through Graphene or other optimizations.

Bitcoin Unlimited has recently merged Graphene, reducing the amount of block data that needs to be propagated to just 5.34 kb from 1MB.

With canonical or lexical ordering, Graphene can reduce it further to just 2.6kb. That’s because it wouldn’t need to transfer the ordering information as is currently required. Tom Zander, a BCH developer, says:

“A block typically has only a very small percentage of transactions that are required to be in-order. A small amount that spend outputs created in that same block.

The rest of the transactions are completely free to be reordered. For instance by sorting them by txid. No consensus rule violated.

And you suddenly can avoid sending the ordering info for the majority of the transactions. So only the transactions that need to be in-order will have some ordering info.”

The amount of transactions that need to be ordered might be small now, but at 30MB or 100MB, it might not be that small.

The question thus is whether it makes any difference if transactions are ordered by child comes after parent rather than through transaction ID which presumably does the same validation but by giving the child transaction a higher number.

That leads to the question of whether ordering by ID does in fact undertake the same validation as currently, meaning that the child of an invalid parent transaction can’t be spent.

If it does, then the question becomes what ancillary protocol aspects might be affected, or as Rizun put it, what might be the potential known unknowns.

Where it comes to unknown unknowns, that’s effectively saying nothing as it applies to any change with the argument thus being that if there is no good reason to change how it works, then it shouldn’t be changed.

That, in turn, makes the question as to what exactly is a good reason, who decides, and how. The proposal cites a number of reasons, including efficiency gains, improvements in proofs of transaction inclusion and mitigation of potential attack vectors, among others.

Are they sufficiently good reasons compared to what the unknowns might be, is what appears to be under debate, with the suggestion being that more time to study the potential implication is needed.

Time which BCH does have in many ways as its blockchain usually processes just 20,000 transactions a day, but obviously they want to have the capacity if adoption does pick up. Fixing the roof when the sun is shining sort of thing.

Yet whether it is or isn’t ordered in a canonical way seems to be only a tiny part of the capacity equation, with the question appearing to be purely technical, rather than having any political element up for debate, at least as far as we can see.



Source link


Please enter your comment!
Please enter your name here

Latest news

Banking Sector is Ready for a Tech Revolution With Cryptocurrency

When our world is going through a massive change due to COVID-19blow, it is very likely that...

OpenDAO’s Bridge Opens New Possibility for Mass Adoption of DeFi

When Satoshi Nakamoto officially created Bitcoin on January 3, 2009, his vision for the digital asset was...

Crypto’s price surge was mostly due to limited information – here’s why

As the world becomes more and more digitized, the usage of one of the most popular cryptocurrencies,...

U.S. Authorities Seized Bitcoin Worth a Total of $1 billion

The cryptocurrencies were in the possession of a person who had hacked Silk road, which was detected...
- Advertisement -

Top 12 BEST Crypto Trading Bots for 2020

TL;DR: In this article, we present a list of the best Crypto Trading Bots of 2020. If...

Norwegian Block Exchange aims at becoming an official bank

Norway is famous for its economic stability and living standards. It is true that Norwegian love doing...

Must read

OpenDAO’s Bridge Opens New Possibility for Mass Adoption of DeFi

When Satoshi Nakamoto officially created Bitcoin on...
- Advertisement -

Read Next
Recommended to you