Tan Yiyong's blockchain
reprint the reply of Dr. Tan Yiyong, founder of Fanrong Technology:
consensus is the core algorithm of blockchain technology, which also basically determines the efficiency of the chain. Blocks are what machines need to agree on. At the account level, through the Merkle verification tree of OLOG (n), the tampered data can be quickly located, the user balance can be safely obtained by traversing statetree, and the occurrence of double flowers can be prevented
through consensus algorithm, blockchain is the foundation of trust between machines, which is to solve the Byzantine general problem in practice. In BFT, 3F + 1 & lt; N can be said to be an important consensus theory. In practice, BFT has a variety of variants: pbft, rbft, Q / u, HQ, zyzzyva, abstracts, aardvark, adapt, a2m-pbft-eaandminbft, etc. These algorithms, according to different scenarios, optimize the efficiency from the aspects of message broadcast mode, node network topology, hardware configuration and so on. The goal of consensus is to reach consensus, and the final solution is to vote, whether it's BFT, pow, POS, dpos... Voting is a bit like the proction mode of human beings. In the blockchain, it's machine voting. BFT is similar to 4pc (four stage) submission, which consists of four stages: prepare, prepare, commit and reply. In each stage, messages are broadcast to all nodes in the network to participate in the voting of the next stage
The biggest problem ofBFT is the broadcast of messages between nodes, which will be especially large. And the node base of this message voting must be determined in advance. Considering the poor voting performance of BFT, we propose a scheme that allows BFT to participate in only a few voting processes, such as the base number of nodes. Suppose there are 100 candidate nodes, how to select 21? How many blocks are recorded in each node? Can these 100 nodes reach the current highest level, and can the network delay and other performance meet the standard? This information actually has nothing to do with our transaction. But it will affect the performance of the whole chain. We use pbft to solve the problem of node base, which provides a higher and more efficient infrastructure for subsequent transaction broadcast and block voting. At this level, everyone is equal and has no right to participate
next, raft is a leader follow algorithm. In each round of term, a leader will be randomly selected to collect and broadcast the transaction, and other nodes will follow the information of the master node. In the application of vertical blockchain 3.0, the performance of VM on the chain is required to be higher than that of EVM. For example, if every node in the main server of the game participates in the VM calculation, it will cause a lot of waste of resources. In the big data processing system, raft can solve the problem of division of labor, be a scheler of work, and distribute tasks to different node machines fairly and safely. The advantage is that we can build a super machine through several machines. Raft consensus: in our chain, it is responsible for the verification and broadcast distribution of transactions, which is the basis of blocking. If all transactions are wrong, there is no need to enter the block
finally, we combine the dpos consensus algorithm to randomly generate the current rotation node, package the verified transactions and broadcast the block header. The block is just a header verification information, which can reach each machine quickly. As for the node of rotation, we think that a node records a block every time. The block speed is determined by the better nodes in the network, which constitute the super node accounting mode