Exclusive: Why Sharding is a Bad Idea to Solve the Blockchain Trilemma?
In Part 2 of the interview with Blockchain.News, Fan Long shares with us the technical breakthrough of Conflux Chain, including the use of tree graph and directed acyclic graph. Long also compares Conflux Chain with competitors like Algorand and he explained to Blockchain.News readers why sharding is a bad idea to solve blockchain trilemma.
Can you explain to our readers in simple terms how the DAG-based ledger structure and optimistic concurrency control aspects of Conflux serve to improve on current consensus algorithms and improve scalability without impacting security?
The way that DAG or now, we call a Conflux Tree Graph (TG) is that the Conflux tree graph helps you to record additional information. Instead of just every block reference to one parent block, we will record a set of reference blocks.
Besides one parent block, every block also references other (unreferenced) previously generated blocks, which form a Directed Acyclic Graph (DAG) where the parental tree is embedded in. The DAG and the tree together allow the consensus algorithm to determine a total order of all blocks, and thus we can sequentially process transactions in all concurrent blocks. The key thing is about tree graphs, especially compared to other layer-one scaling solutions is that we do not sacrifice security for decentralization. There are many protocols where there are some committees or some supernodes and that is kind of sacrifices decentralization which I believe is important to the blockchain. In the end, Conflux will be decentralized and permissionless and our rapid growth will be very exciting.
How pivot chain and epoch can consistently determine the total order of blocks and transactions?
A good question from Blockchain.News! The idea of having a blockchain is basically we want to have irreversible transactions and we can comfortably derive that order from block orders. The block order is decided by the pivot chain. Pivot chain is a full consensus mechanism that everyone agrees on the chain. This is similar to the Ethereum and Bitcoin.
The difference for Conflux and those protocols is that Ethereum or Bitcoin agree on one chain and that being said, they only accept transactions on one chain. For Conflux, the pivoting chain helps to partition blocks in epochs that epoch establishes time and order on this synchronized blockchain network. In the end, we have a partition on the epoch so we can sort all blocks in a consistent manner. It is difficult for attackers to perform double-spending because they need at least 50% of the computation power to do so.
How important is the directed acyclic graph (DAC) in your protocol design to avoid forks?
DAC is the central part of our protocol. Essentially, the goal of the protocol is to process concurrent blocks. In Bitcoin and Ethereum, those concurrent blocks are called forks. It's kind of a tree graph structure or DAC that enables us to use all concurrent blocks.
It is said that both Dero and Conflux are based on BLOCK DAG+Ghost protocol, what is the difference between Dero and conflux?
Sorry, I don’t know much about the Dero project.
Based on my understanding, Conflux and Algorand have two different paths. My understanding is that the initial release of Algorand will only contain payment functionality, which means there will be no smart contract support at the beginning. They are going to organize some sort of auction mechanism to disseminate Algorand token. I feel like they want to build some sorts of the payment network, rather than a full-fledged blockchain framework.
Conflux is going to support smart contract and it would support compatible EVM. When Conflux is launched, we will be able to migrate all Ethereum smart contracts with very little effort. Developers don’t need to compile the smart contract back and they will be able to run on Conflux and enjoy high performance.
We take a different approach and we want to build a blockchain framework that is going to support smart contracts. We want to bring all different sorts of valuable bits in blockchain and make them validate and exchange with each other to create value. I think Algorand's initial approach is to view the payment network first and try to replace Bitcoin or to be a better Bitcoin. That would be the difference between the two.
What is the competitive positioning of the Conflux Chain, against other public blockchain focus on scalability enhancement such as Dfinity, Hashgraph, Zilliqa, and Algorand?
In sharing his thoughts on other promising public blockchain protocols with Blockchain.News, Long thinks the unique property of Conflux is that we take an approach to achieve high performance without sacrificing decentralization and security. For all the blockchain protocols you have mentioned, either has some sort of sharding.
I'm not saying sharding is bad, sharding is the potential idea to scale the blockchain. It's kind of a tradeoff between security and scalability. We don’t adopt sharding for now. We want to enhance the scalability of blockchain without sharding.
Some of the projects you mentioned like Algorand, they have some sorts of committees, maybe those committees are temporary, but I would say it is a sacrifice to the decentralization. We are going to take the same approach as Bitcoin and Ethereum to achieve the same degree of decentralization with the two. That's the key difference between Conflux and all those projects you mentioned. I would say Conflux has a unique spot for people that believe decentralization and security are two kinds of essential properties of blockchain. Conflux will be the ideal choice for them.