why join the navy.
[
]
It is not doubted that Blockchain technologies are taking the world by storm. Some of the most remarkable public blockchains, such like Bitcoin and Ethereum, the former establishes the real-world value for Blockchain implementation, the later, on the other hand, building up a platform for decentralized applications and coming up with the idea of smart contract.
Being aware of the disruptive potentials along with Blockchain, people started to explore the feasibility of replacing existing distributed databases with blockchains in the past few years, this leads to the increasing demanding of a systematic framework for evaluating the performance of different implementation Blockchain technologies. Such a framework is able to assess the main factors affecting the performance of blockchain so that developers can identify the limitations of their platform and thus get further improvement.
As far, there are some common metrics that apply to blockchains.
Formula: Read Latency = Time when the response received – submit time*
Measured as the time between when the read request is submitted and when the reply is received.
Formula:Read Throughput = Total read operations / total time in seconds
Measured as how many read operations are completed in a defined time period, expressed as reads per second (RPS)
Formula:Transaction Latency = (Confirmation time @ network threshold) – submit time
Measured as the time taken to process a transaction to be valid network-wide.
Formula:Transaction Throughput = Total committed transactions / total time in seconds@ #committed nodes
Measured as the number of successful transactions per second, also that the total number of invalid transactions should be subtracted from the total transactions to yield the total committed transactions.
Currently, there are some softwares are used to measure Blockchain.
It supports Ethereum, hyperledger, parity and quorum, and is capable to measure throughput, latency, scalability and fault tolerance. However, you can only use a fixed number of workloads, and it’s unable to monitor resource utilization.
As part of Hyperledger project, Hyperledger Caliper currently only supports Hyperlegder Burrow, HyperledgerComposer, HyperledgerFabric, HyperledgerIroha, HyperledgerSawtooth. It is customized for the user to define their own test module, it is capable to measure throughput, latency, resource utilization. Also, it’s easy to integrate private chains and configure.
BTCSpark is an open-source software for analyzing Bitcoin and building blockchain analysis tools. The tool provides an environment that is easy to use with good performance. It aims to offer high quality, easy to use, performant, and free software to Bitcoin developers and analysts.
TPC Benchmark C is an on-line transaction processing (OLTP) benchmark. The on-line transaction processing is designed to solve the issue that the difficulty of comparing between different bank systems. With TPC-C, the test of on-line transaction finally got a very promising standard. Technically, TPC-C seems not the direct solution for Blockchain measurement, but Blockchain has a lot in common with a database, so I think there would be some key points that a standard blockchain benchmark can learn from TPC-C.
To start a measurement of Blockchain platform, there are several key considerations when designing any blockchain performance evaluation.
To ensure test results are independently reproducible, all environment parameters and test software, including any workload, should be documented and made available.
An ideal measurement should be made outside the Blockchain platform which is to be evaluated, This is considered as to be closer to the viewpoint of the end
user so the result could be more accurate.
Keep in mind the key characteristics of the transaction of the blockchain platform, such as the logical of the smart contract(in Ethereum for example), the size of transactions, the dependencies of transaction.
There are much more to discuss this topic, I’ve made a list containing valuable papers for further reading.
BLOCKBENCH: A Framework for Analyzing Private Blockchains
Hyperledger Blockchain Performance Metrics
Performance Analysis of Ethereum Transactions in Private Blockchain
Performance Analysis of Private Blockchain Platforms in Varying Workloads
Performance Benchmarking and Optimizing Hyperledger Fabric Blockchain Platform
Predicting Latency of Blockchain-Based Systems Using Architectural Modelling and Simulation
1.https://wiki.hyperledger.org/groups/pswg/performance-and-scale-wg
2.https://github.com/JeremyRubin/BTCSpark
3.https://medium.com/harmony-one/measure-of-a-blockchain-getting-metrics-that-matter-d57a1d034839