Ethereum, Bitcoin, Corda, Dash, etc. are all blockchain showing up unique features but are facing the common problem of scalability. Whenever debates over scalability heat up, transaction speed always surfaces.

Transaction speed is the rate at which data is transferred from one account to another. The faster a transaction is confirmed, the better the transaction speed is said to be. Transaction speed of a blockchain is one of the prime parameters through which the viability of a blockchain is gauged..

Satoshi Nakamoto created a version of Proof of Work (PoW) consensus mechanism that was implemented as a means for securing and validating Bitcoin transactions. We are well aware of the fact that PoW is costly, both in hardware and electricity. This cost is intentional, to prevent anyone from taking over the network, and thus PoW is very suitable for situations with full decentralization where anyone (including attackers) can take part.

Nodes in consortium/private networks used by enterprises are more trusted than those in public blockchains. Thus, PoW is not ideal for Byzantine solutions where one chooses settlement finality and where least latency is required. Many of the decentralization benefits of PoW in public chain become drawbacks in private/consortium blockchain.

XinFin aims to develop a complete ecosystem around the consortium/permissioned blockchain paradigm.

We have implemented Istanbul Byzantine Fault Tolerant (IBFT) consensus mechanism on XinFin Network. This ensures instant finality, manageable validator set, higher throughput and a high Transaction Per Second (TPS) rate.

Why IBFT?

Immediate block finality:

There’s only 1 block proposed at a given chain height. The single chain thus removes forking, uncle blocks, and the risk that a transaction may be “undone” once on the chain at a later time.

There’s only 1 block proposed at a given chain height. The single chain thus removes forking, uncle blocks, and the risk that a transaction may be “undone” once on the chain at a later time. Reduced time between blocks:

The effort needed to construct and validate blocks is significantly reduced (in particular with respect to PoW), increasing the throughput of the chain.

The effort needed to construct and validate blocks is significantly reduced (in particular with respect to PoW), increasing the throughput of the chain. High data integrity and fault tolerance :

IBFT consensus uses a group of validators to ensure the integrity of each block being proposed. A super-majority (~66%) of these validators is required to sign the block Byzantine inserting to the chain, making block forgery very difficult. The ‘leadership’ of the group also rotates over time, ensuring a faulty node cannot exert long-term influence over the chain.

: IBFT consensus uses a group of validators to ensure the integrity of each block being proposed. A super-majority (~66%) of these validators is required to sign the block Byzantine inserting to the chain, making block forgery very difficult. The ‘leadership’ of the group also rotates over time, ensuring a faulty node cannot exert long-term influence over the chain. Operationally flexible:

The group of validators can be modified in time, ensuring the group contains only full-trusted nodes.

We currently have a cluster of 6 master-nodes, that produces a block on-demand which is possible by implementing dynamic block size. This implies, whenever the network gets transactions, the miner processes them and mines the block. This is ensured such a way that the empty-blocks are not mined, which could have impaired the chain. This process is efficient and secure because the network is private and all the nodes are trusted.

We deployed a testnet that shows 2000 TPS at a stable stage with a capacity of 2500 TPS.

Since validator pools are trusted, implementing IBFT is one of the best possible solutions to scale the network. Apart from this, IBFT ensures the network is tolerant of Byzantine nodes and can be recovered if those nodes are seen to be exerting overcontrol on the network.

XinFin’s MyContract next generation smart-contract platform is built upon an improved Ethereum codebase that solves the scaling problem. It is IBFT enabled and can scale up to 2500 TPS.

You may review the Ethereum Improvement Proposal at GitHub for original support.

IBFT documentation: https://github.com/ethereum/EIPs/issues/650

https://github.com/ethereum/EIPs/issues/650 Implementation in codebase of go-ethereum: https://github.com/ethereum/go-ethereum/pull/14674

References:

1. Blockchain for Enterprise: Build scalable blockchain applications with privacy, interoperability, and permissioned features — By Narayan Prusty

2. Byzantine fault tolerance — Wikipedia.