Skip to content
This repository has been archived by the owner on Jul 5, 2024. It is now read-only.

Blockchains evaluation

Lana edited this page Feb 5, 2018 · 2 revisions

Criteria

Scalability

Scalability of the consensus models is its ability to reach consensus when the number of peering nodes are constantly increasing; ability to accommodate as many users as possible on the chain. Problems with scalability results in longer block time. Block time is the time it takes to generate a set amount of transactions on the blockchain. Because transactions need to be on the blockchain to be considered valid, block time determines how fast and how many transactions can be processed in a set time.

Efficiency

Two of the major challenges of blockchain approaches have been a slow speed and a high cost of transactions. In order to fulfill the promise of the distributed, immutable ledger, these have to be overcome.

Interoperability

Interoperability is a protocol’s capacity to interact and cooperate with different blockchains, and to facilitate smart contracts between one protocol and another.

Security

As blockchain is only a component of an architected solution, tt doesn’t exist in a vacuum. While most implementations make the data itself immutable, that isn’t the same as secure. Some solutions have experienced sufficient hacks over the past three years that it’s difficult to consider them inherently secure.

Smart contracts

Usability

The blockchain needs to be easily usable by end-users as well as by developers.

Comparison table

Criteria/Blockchain Ethereum MultiChain XAIN
Scalability Low High ?
Blockchain Type Permissionless Permissioned Permissioned
Transaction finality (absence of forks) Probabilistic Immediate ?
Transaction speed Low High ?
Consensus algorithm PoW Byzantine fault tolerance with adjustments or PoW ?
Smart contract support Yes No ?

Parameters of different blockchains

MultiChain

  • target-block-time Target average number of seconds between blocks, i.e. delay for confirming transactions. If this is below 10 seconds, it is recommended to set mining-turnover low, to minimize the number of forks. Set in seconds. Consider where your validator nodes will be deployed geographically and the latency between those locations. Ensure this value is long enough to enable consensus to be maintained between those nodes at your peak expected throughput.
  • maximum-block-sizeMaximum number of bytes in each block, to prevent network flooding by a rogue miner. Set in bytes. Ensure this is large enough for expected future growth.
  • mining-diversity Minimum proportion of permitted miners required to participate in round-robin mining to render a valid blockchain, between 0.0 (no constraint) and 1.0 (every permitter miner must participate). Unlike mining-turnover, this is a hard rule which determines whether a blockchain is valid or not. Note that if anyone-can-mine=true then mining-diversity cannot be applied. Influences speed of the network.
  • target-adjust-freq Set to -1 unless you want to use proof-of-work mining in your blockchain, otherwise block creation could become difficult and CPU intensive over time. There is no reason to use proof-of-work in a chain which has permissioned miners who are governed by mining diversity.