TomoChain is a public Ethereum Virtual Machine (EVM)-compatible blockchain. Compared to other classic blockchains, the following advantages are highlighted in their whitepaper: low transaction fee, fast confirmation time, double validation and randomization for security guarantees.
Although TomoChain can be considered as a fork of the Ethereum blockchain, it differentiates itself by deploying a different and more efficient infrastructure. TomoChain proposes a Proof-of-Stake Voting (PoSV) consensus, a POS-based blockchain protocol with a fair built-in voting mechanism and security guarantees with double validation.
The voting system allows TomoChain to not only reduce the PoW-related electronic consumption, but also enhance its transaction capacity to the point of handling around 2,000 transactions per second (TPS). Meanwhile, the double validation system is designed to strengthen security and reduce fork.
Overall, the upgraded PoS protocol is believed to tackle the following bottlenecks of traditional blockchains: scalability/efficiency, confirmation times, and fork generation.
Since the TomoChain is based on PoS protocol, it does not have miners as in the PoW systems such as Bitcoin and Ethereum. The TomoChain blockchain is produced and maintained by “masternodes”. The Masternode candidates must deposit a minimum of 50,000 TOMO (the native token of TomoChain) to the voting smart contract. A maximum of 150 masternodes is then elected by the remaining TOMO coin holders via the Voting DApp (and the number of masternodes can be changed based on the decentralized governance).
The randomization and double validation mechanism is then implemented to reduce the threat of cooperative attacks among masternodes. While typical single validation models require only one user to validate a block, double validation requires two masternodes to do so. In addition, the user validating the most recent block would be chosen randomly and not via fork generation.
For example: if M1 plans an attack by creating an invalid block, they would need both M2 and M3 to validate this invalid block to succeed. However, because both M2 and M3 will be generated randomly, M1 would have no way of knowing with whom to coordinate their attack, and any invalid block would then be rejected.
Source: TomoChain White Paper