EtherZero’s MPOS Mechanism, To Be Or Not To Be?
In 2008, Satoshi Nakamoto published a white paper called “Bitcoin: A Peer-to-Peer Electronic Cash System”, which first proposed the concept of blockchain and created Bitcoin. In the next decade, the huge wealth effect of Bitcoin brought the blockchain industry into a period of rapid development. During the period, various concepts and applications emerged in an endless stream. The core consensus algorithm has also been separated from the traditional distributed system and become an independent, emerging and rapidly developing academic research field.
However, while the blockchain technology is developing at a rapid pace, it is also suffering from high cost and low efficiency. With the launch of the EOS main chain, although it solves the problem of transaction inefficiency, this high efficiency at the expense of decentralization is often criticized and attacked by the industry. The whole industry is entangled in efficiency, safety, and decentralization
After studying the current mainstream public chain technology, EtherZero team proposed an innovative consensus algorithm called MPos, which is the abbreviation of Masternode + PoS. MPoS algorithm implements what the current mainstream public chain are achieving, such as zero transaction fees and community autonomy. The following picture shows the main framework of the EtherZero project:
What is the MPoS algorithm?
Ethereum has a long-term PoS goal based on Casper, but it’s too tedious to rely on to quickly solve the problem of network congestion and transaction delay. It’s why we propose the MPoS consensus algorithm which it’s characterized of masternode to replaces the EOS 21 super nodes.As long as every participant has 20,000 ETZ coins and one cloud sever, they are welcomed to join in our masternode mining and enjoy the right to vote in the autonomous community.
In order to better understand EtherZero’s MPoS logic, we should dig into Ethereum’s Rinkeby proof-of-authority. There are two approaches to syncing a blockchain in general. One is to take the genesis block and crunch through all the transactions one by one. This is tried and proven, but in Ethereum complexity networks quickly turns out to be very costly computationally.
The other is only the authorized machine has the right to generate block, the master nodes is allowed to authorize or unauthorize the machine, so these extra voting will be recorded within the header extra-data. And it’s to only download the chain of block headers and verify their validity, after which point an arbitrary recent state may be downloaded from the network and checked against recent headers. By doing this, it can reduce the block generation difficulty and mantaince cost. This consensus algorithm is called Clique in Ethereum network.
EtherZero’s MPoS algorithm is based on the second approach we mentioned above, which is the block must be completed by trusted signer. Because each block seen by each node can match the list of trusted witnesses. One of the challenge that we are facing is how to maintain changable authorized witness list, so we adopt systematic smart contract to guarantee that every round of maintenance of authorized witness list to be included within the block and header extra-data. This would also increases the security of the primary masternode account from another perspective and invalidates the block header of the miner address. Below is showing our blockchain storage:
In order to ensure that the authorized witnesses list is dynamically and randomly changed, we use the hash value and master node ID to calculate and sort according to the calculation result, thus it can not only garenteen the unpredictable and randomness of the witness list, but also the consensus consistency and same masternode calculation result.
As long as the witnesses meet the above specifications, they can authorize and distribute the appropriate blocks, and reduce network traffic and forks by adopting the following strategies:
* Calculate the best signature time for the next block (parent + BLOCK_PERIOD).
* If it is the turn, wait for the exact time to arrive, sign and broadcast immediately.
* If not, delay signing for time of rand(SIGNER_COUNT * 500ns). This strategy will ensure that the current witnesses has a slight advantage on signatures and dissemination compared with other witnesses .
Another factor that affects Ethereum’s performance: Our current block time is 1 second and we have to consider Ethereum EVM’s world state read speed when executing smart contracts.
In the bitcoin system, the execution time of Bitcoin scripts is never considered in the transaction delay problem of Bitcoin networks, mainly because bitcoin scripts are non-turing complete and very short, and the functions realized naturally are very simple.
Ethereum uses account model,and it is a state machine and supports Turing’s complete smart contract. It is very powerful compared to Bitcoin scripts. The WorldState at the bottom of Ethereum uses MPT (Merkle Patricia tree) to record the entire state transition of Ethereum. Ethereum’s EVM spends a large part of the time on reading WorldState when executing smart contracts.
The following figure depicts the storage of the MTP state tree root hash.
This unique data structure increases the number of interactions with the underlying database by O(n) for each read of a particular value as the number of recorded transactions increases.These accesses are not sequential storage but discrete random storage. The underlying leveldb is very low in performance when facing with such a large number of reads.
At present, the miners in Ethereum are paying more attention to HashRate in order to ensure the block rate. However, this is completed by the GPU, so it is not very concerned about the overall performance of the state read when the smart contract is executed. Solving this problem and improving the processing speed and stability of the network will be the goal of the next step for EtherZero.
The Difference Between EtherZero and EOS:
DPoS is too much damaged to decentralization. In order to guarantee its speed, the participants of the super node must pay a huge cost, thus isolating most users. EtherZero referenced Dash’s Masternode network and developed the MPoS algorithm to find an optimal balance point from the impossible triangle of efficiency, decentralization, and security.
In terms of efficiency, we only use nearly one percent of the cost of EOS, and reach the TPS of 1400+, which is almost equivalent to EOS performance, and can fully meet the normal operation of current DAPP applications. EtherZero greatly lowers the barrier to entry, allowing almost everybody to participate in the great experiment of blockchain.
In the PoW consensus, the excessive concentration of computing power makes 51% of the computing powers increase the hidden dangers. In the EtherZero network, if you want to launch an attack, you must control 51% of the entire network to achieve the purpose of tampering with the transaction. With the number of masternodes increasing, the security of the EtherZero network will be further enhanced. Now, after the main network getting online for only one day, we have more than 100 masternodes already, and in the future, there would be more and more masternodes.
Since the masternode contributes to the operation of the EtherZero, they should receive the equivalent return according to the consensus. EtherZerowill issue 12 million coins per year, and each new block will reward 0.45 ETZs. This 12 million coins, 75% of the coins are awarded to the masternodes, that is, the masternodes can divide 9 million ETZ each year, and the remaining 25% will be reserved for the autonomous community. Therefore, the sooner you become the masternode, the higher the speed of return your margin.
In addition, the income from the elimination of the amount of coins can also enjoy the appreciation brought by the price increase in the secondary market. As the number of primary nodes increases, the buying demand in the secondary market will also increase, and the price of coins will rise accordingly.