| Literature DB >> 32545719 |
Sergey Smetanin1, Aleksandr Ometov2, Mikhail Komarov1, Pavel Masek3, Yevgeni Koucheryavy1,2.
Abstract
The present increase of attention toward blockchain-based systems is currently reaching a tipping point with the corporate focus shifting from exploring the technology potential to creating Distributed Ledger Technology (DLT)-based systems. In light of a significant number of already existing blockchain applications driven by the Internet of Things (IoT) evolution, the developers are still facing a lack of tools and instruments for appropriate and efficient performance evaluation and behavior observation of different blockchain architectures. This paper aims at providing a systematic review of current blockchain evaluation approaches and at identifying the corresponding utilization challenges and limitations. First, we outline the main metrics related to the blockchain evaluation. Second, we propose the blockchain modeling and analysis classification based on the critical literature review. Third, we extend the review with publicly accessible industrial tools. Next, we analyze the selected results for each of the proposed classes and outline the corresponding limitations. Finally, we identify current challenges of the blockchain analysis from the system evaluation perspective, as well as provide future perspectives.Entities:
Keywords: blockchain; emulation; modeling; review; simulation
Year: 2020 PMID: 32545719 PMCID: PMC7349160 DOI: 10.3390/s20123358
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Figure 1Proposed blockchain modeling approaches’ classification.
Main blockchain performance evaluation parameters (P) and metrics (M).
| Metric | Type | Description | Main Challenge | |
|---|---|---|---|---|
| Consensus | P | The distributed process by which a network of nodes provides a guaranteed unique order of transactions and validates the block of transactions. | Inappropriate selection of a consensus algorithm may have a tremendous negative impact on the node and system operation. | |
| Transaction throughput | M | The rate at which valid transactions are committed by the blockchain network in a defined time period, commonly transactions per second (tps). | Careful selection of the system parameters is required in order to achieve the desired tps. | |
| Transaction type/size | P | The amount of data in the transaction to be added in the next block. | Inappropriate selection may have increased transaction fees in public blockchains. | |
| Blockchain metrics | Block size | P | Defined size of the block, essentially the number of transactions to be included. It could be used to control the blockchain operation. | Larger blocks may have a negative impact on OPEX and decrease the tps. |
| Chain size | M | The total size of the blockchain minus database indexes in megabytes. | A chain that is too long significantly decreases its distribution time to allow the new node to start the operation. | |
| Network-wide latency (commit time or transactional Latency) | M | The amount of time taken for a transaction to take effect to be used across the network. | Commit parameters may vary in different systems, e.g., 90% in public blockchains or 100% in enterprise private blockchains. | |
| Finality time | M | The moment when a transaction is committed and can no longer be reversed, i.e., the data cannot be rolled back to the previous state. | Defined in a consensus algorithm, and a threshold should be carefully selected during the evaluation. Otherwise, the finality time should significantly decrease the system efficiency. | |
| Network size (number of active peers) | M/P | The number of validating nodes participating in consensus excluding observer nodes. | n/a | |
| Network metrics | Volume of P2P traffic | M | The amount of cumulative traffic generated by active nodes in the system. | Operation over public networks may have a tremendous negative impact on energy consumption, connection quality, as well as increased OPEX. |
| Structure of underlying traffic | P | The structure of blockchain-related packets (data, service, etc.). | Inefficient selection may cause unnecessary traffic overheads. | |
| Packet loss ratio | M | The ratio between lost and sent packets related to blockchain operation. | Increased packet loss may increase delays and decrease tps. | |
| CPU/GPU | M | Hardware utilized for blockchain-related data processing. | Has a significant impact on the involvement in the blockchain operation, as well as on the Capital Expenditures (CAPEX) and OPEX. | |
| Memory | M | The amount of RAM required for efficient transaction/block processing. | ||
| Storage volume | M | Local storage space required for the blockchain. | ||
| Node metrics | Connectivity | M | Various metrics of the selected communications technology, its channel quality, reliability, latency, etc. | |
| Read latency | M | The time between the read request submission until the reply is received. | n/a | |
| Read throughput | M | A measure of how many read operations are completed in a defined time period expressed as reads per second (rps). | n/a | |
| Cache Hit Ratio (CHR) | M | Measurement of how many content requests a cache is able to fill successfully, compared to how many requests it receives. | Low CHR, mainly caused by hardware, may have an impact on the operational speed of a specific node. |
State-of-the-art of the blockchain evaluation analytical and simulation approaches.
| # | Field of Study | Str. | Specifics |
|---|---|---|---|
| [ | QM | The authors made the assumption that the times of the transaction confirmation follow a continuous probability distribution function. | |
| [ | QM | Analysis of the average mean of transactions in the Memory Pool (MemPool), mean number of transactions in a block, and mean transaction-confirmation time. It is noted that considering more general blockchain queuing systems is required in the future. | |
| [ | QM | The authors assumed that the number of arrivals to the system was a little more than those serviced at the mining station; however, in Bitcoin systems, the number of accumulated unconfirmed transactions can be observed to increase throughout the day. | |
| [ | QM | The work was focused on measurements, blockchain design, and analysis. It was stated that careful examination of the various system parameters’ relationships and related trade-offs should be a base for similar models’ development. | |
| [ | QM | The authors assumed no off-chain payment mechanism with no simplified payment verification during the transaction confirmation. They stated that QMs were the most suitable for the analysis of transaction delays. | |
| [ | QM | It was stated that a more realistic FIFO-batch departure discipline is required in order to analyze a natural | |
| [ | QM | The author attempted to analyze IOTA scholastically and find the differential equation for the delays in the system, i.e., a converged fluid limit. | |
| [ | MP | The authors highlighted the importance of the chain-quality property since if the adversary controls a suitably limited amount of hashing power, then the adversary is also limited in terms of the number of blocks it has added. | |
| [ | MP | The authors stressed that a malicious user in this system would eventually succeed in case he/she executed double-spending simultaneously, thus defining a new research direction of stubborn mining. | |
| [ | MP | The work observed the relation of the number of malicious selfish miners vs. the selected one success rate. | |
| [ | MP | The work proposed a model that considered various attacks and aspects of the protocols’ operation. The authors assumed that some random genesis blocks were available from the initial trusted setup. They also stated that Markov models needed to be extremely complex in order to capture the dynamics of such complicated systems. | |
| [ | MDP | Profit threshold for selfish mining attacks aimed at capturing different blockchain instances, which have various stale block rates and confirmations. The authors stressed that a malicious user in this system would eventually succeed in case he/she executed double-spending simultaneously. | |
| [ | MDP | The authors proposed a flexible model with flexible integration of different PoW blockchain instances. It was supported by a standalone security abstraction layer. The systems allowed executing various attacks, corresponding optimal execution strategies, and the impact on the operation. | |
| [ | MDP | The authors analyzed the current fork resolution issue and highlighted the need for its revision by introducing the fork-resolving policy based on weights. | |
| [ | RW | The author proposed to analyze probabilistically the executability of the attack. The implementing block confirmation mechanism was considered as a significant potential improvement [ | |
| [ | RW | The authors proposed the analysis of the different mining strategies’ profitabilities, in particular with the honest strategy. It was mentioned that difficulty adjustment during the attack should be considered in more detail when similar techniques are developed. |
Main blockchain emulation tools: PU, Public Blockchain; PR, Private Blockchain.
| # | Tool | Type | Scalability | Main Application | Main Challenge |
|---|---|---|---|---|---|
| [ | Blockbench | PU/PR | Low | First academia-driven framework allowing analyzing different blockchains, e.g, Ethereum, Parity, and Hyperledger Fabric. | The project is inactive. |
| [ | BlockLite | PU | Low | An academia-driven work aimed to allow the emulation of the blockchain on a single node. | The project is inactive. |
| [ | Corda Testing Tools | PR | High | Enterprise solution allowing evaluating Corda operation, as well as new DApps before the actual integration. | Limited to R3 Corda. |
| [ | Ethereum Tester | PR | n/a | Ethereum-driven open-source library allowing testing DApps and smart contracts. | Designed specifically for Ethereum developers and lacks community support. |
| [ | Exonum Testkit | PR | High | Private (enterprise) Exonum blockchain emulator. | Limited to Exonum. |
| [ | Hyperledger Tools | PR | High | Community-driven private blockchain performance analysis toolbox supporting high tps and various implementations. | Extreme complexity of the development environment. |
| [ | Truffle Suite | PR | High | Allows flexible development of Ethereum-based DApps and smart contracts’ operation with strong community support. | n/a |
| [ | VIBES | PU | Medium | An academia-driven emulator developed for Bitcoin system analysis. An excellent educational example with detailed explanations of the system operation. | The project is inactive. |
Figure 2Challenges and perspectives of blockchain simulation systems.