25 January, 2019 | Written by: Luc Desrosiers
Share this post:
Time flies! The Think 2019 conference is almost here! With my colleague Jorge, I will be in San Francisco presenting our experience of running performance testing on the IBM Blockchain Platform. Through customer engagements and internal projects, we have gained some insight that we are looking forward to sharing.
People can be intimidated by the idea of performance testing of blockchain networks. Where to start? What to measure? And what exactly is “performance” in a blockchain network? Recently, the Hyperledger Performance and Scale Working Group have published their white paper defining the basis of what performance means in a blockchain network. This is great news and a step in the right direction as it will help create a shared understanding of the performance metrics associated with blockchain.
IBM Blockchain Platform is based on Hyperledger Fabric. Thus, it is important to understand its underlying architecture before diving into the performance characteristics.
Hyperledger Fabric uses an “execute-order-validate” architecture to add transactions to the blockchain ledger. This means that transactions are first sent for endorsement by the organizations involved. The endorsement consists of the simulation of the transaction on a subset of the network peers. Those simulations are produced by the Smart Contract (called chaincode in Hyperledger Fabric) and result in what is called a Read/Write set (The Key/Value pairs that we read and that will be written to the database as a result). The Read/Write set is signed by the peer node and returned to the client application.
The client application will then send these transactions to the ordering nodes where they will be bundled into blocks of transactions and distributed to members of the network.
Finally, each peer will append the blocks to the ledger and apply the transaction Read/Write set to the World state.
Through our various engagements, we have identified “levers” we can use to improve the efficiency of the network. These levers focus on the various layers of the solution:
- Client application
- Endorsing peers
- Ordering and Validation phase
In our session at Think 2019, we will be diving into:
- The performance levers
- The tools of the trade – Hyperledger Caliper and other tools
- Capturing key performance metrics
Hope to see you there!