Blockchain and its underlying distributed ledger technology seems a perfect fit for organizations seeking to enhance transactional security, speed up processing and reduce infrastructure costs via a federated system that verifies the transacting parties without a central authority. With its open, consensus-driven and shared system, blockchain eliminates traditional trust tropes such as paper trails and proposes a faster, more secure and instantaneous throughput of transactions. It fosters trust via a shared version of truth — a distributed ledger, accessible to all participants, that cannot be altered without a consensus.
However, to deliver on its promise, the distributed ledger must be assured from a business process and technology standpoint. This requires the verification of underlying preset conditions, encoded as business logic, for a syndicated network of nodes to authenticate a transaction. Data immutability, integrity and interoperability in a blockchain network are crucial, as well as its performance and security.
As a result, a QA strategy is hypercritical for organizations seeking to move blockchain from proofs of concept and pilots into everyday production.
Business processes, such as role-based permissions and adherence to predefined business logic/ conditions, are crucial to build trust in a blockchain network. To assure business processes, enterprises need domain-aligned QA strategy. For instance, a change in a blockchain-hosted legal document is affected only if the majority of nodes/participants agree to the change.
To assure business process flows in a blockchain network, QA needs to rise to the role of an orchestrator, approaching quality with these three pivots:
Since a blockchain network requires several nodes to verify a transaction, it architecturally introduces redundancy, scalability and latency issues. In a legacy application pivoting around a centralized database, transactions are processed only once, whereas in a blockchain network, each node processes the same transaction independently. This is why, when it comes to real-world implementations, blockchain platforms have a higher risk of performance and scalability challenges, which can undermine its proposed benefits.
To ensure that the blockchain platform performs to acceptable standards, QA should factor in:
Automated testing of blockchain networks is a must for organizations that want to accelerate production implementations. Several automated functional testing tools (primarily open source solutions) are readily available such as Truffle, Ganache, Populus, Manticore, etc. These tools can accommodate specific testing libraries for various blockchain platforms, thereby significantly reducing the regression testing timelines.
A global payments company sought to compare its existing in-house blockchain platform with an external permissioned blockchain system to identify areas of improvement to enhance its scalability, performance and throughput rates.
We evaluated the performance of its in-house blockchain framework against an external permissioned blockchain by comparing response time vs. throughput, CPU utilization based on load, peak transaction throughput (TPS), and block confirmation time variance with load.
To assess scalability, we adopted load simulation techniques and workload modeling to match real-world scenarios. For instance, setting up virtual users, simulating load by calling a RESTful web service to initiate payment requests.
After the evaluation, the permissioned blockchain system was found to work better than the in-house framework. The client decided to hone its in-house blockchain and commissioned us to devise a progressive improvement roadmap.
We suggested removing the single-point entry client proxy to eliminate throttling, and a horizontally scalable network topology was added to provision customer consensus nodes residing in different servers. Doing this enabled our client to:
Blockchain exemplifies the teething challenges that multi-stake ecosystems bring when compared with traditional monolithic top-down technologies. Blockchain’s distributed infrastructure and business model raises trust and data integrity concerns for some organizations – since failure points are greater compared with a single authorizing agency. This adds business risk.
As a result, QA needs to orchestrate quality at each touchpoint or stakeholder across the ecosystem. As such, QA must pivot from being the guardian of quality to the custodian of quality, helping build in customer trust and boosting adoption.
To learn more, see our Blockchain Research; to learn more about our business assurance capabilities visit our QE&A section or contact us.