The MTC network generates a new block every 2-8 seconds. The new block uses a consensus mechanism called PAOS for transaction consensus. The process of the new block being recognized by the entire network is the process of consensus for all network nodes. The consensus is completed in two phases. The first phase is to reach a consensus on the transaction set, and the second phase is to propose the newly generated block, and finally form a block that has been agreed upon. To reach the consensus of the transaction set, perform the following operations in each round: Each node collects as many transactions as possible from the consensus at the beginning of the consensus and puts them in the “candidate set”; each node pairs it The "candidate set" in the list of trusted nodes is merged and voted for each transaction; the voting result of the service node transaction in UNL, the transaction that reaches a certain proportion of voting will enter the next round, and the transaction will not reach the proportion Will be discarded, or enter the candidate set for the next consensus process; in the final round, all transactions with more than 80% of the votes will be placed in the consensus transaction set; similar to Bitcoin, the transaction set also uses the Merkle tree data structure. After the transaction set is formed, each node starts to pack a new block. The process of packing the block is as follows: Put the new block number, the Merkle root hash of the consensus transaction set, the parent block hash, the current timestamp, etc. Together, calculate the block hash; each node broadcasts its own block hash to its visible node; the node collects the block hash broadcasted by all the nodes in its trusted list, combined with the generated by this node Block hash, calculate the number of occurrences of each block hash (that is, the number of times each node "votes" a block hash), if the ratio of a hash of a block exceeds a threshold (typically 80%), then Think of this block hash as the hash of the block that the consensus passed. If the block hash generated by this node is the same, it means that the block packed by the node is confirmed, it is a new consensus block, it is directly stored locally, and the state is updated. If the block hash generated by this node is different from the hash passed by the consensus, then the node with the correct hash of a block needs to request new block information, then store it locally and update the current state; if there is no link in the above link If the number of occurrences (voting ratio) of any block hash exceeds the set threshold, the consensus process is restarted until the condition is met. At this point, the consensus process of one block is over, opening the next round of consensus process.