Many proofs of concept blockchain applications built using Hyperledger Fabric, a permissioned blockchain platform, have recently been transformed into production. However, the performance provided by Hyperledger Fabric is of significant concern for enterprises due to steady growth in network usage. Hence, in this paper, we study the performance achieved in a Fabricnetwork using vertical scaling (i.e., by adding more vCPUs) and horizontal scaling (i. e., by adding more nodes) techniques. We observe that network scales very poorly with both of these techniques.  With vertical scaling, due to serial execution of validation commit phases of transactions, the allocated vCPUs are underutilized. With horizontal scaling,  due to redundant work between nodes , allocated resources are wasted though it is utilized. Further, we identify these techniques to be unsuited for dynamically scaling anetwork quickly to mitigate an overload situation, and hence, it results in a 30\% drop in the performance. To increase the CPU utilization and hence the performance, we re-architect Fabric to enable pipelined execution of validation & commit phases by introducing dirty state management using a trie data structure. Additionally, we facilitated the validation phase to validate transactions in parallel by introducing a waiting-transactions dependency graph. To avoid redundant work performed between nodes and to quickly scale up a network, we propose a new type of peer node called sparse peer , which selective commits transactions. Overall, we improved the throughput by 3x and reduced the timetaken to scale up a network by 96\% .
Permissioned blockchains are becoming popular as data management systems in the enterprise setting. Compared to traditional distributed databases, blockchain platforms provide increased security guarantees but significantly lower performance. Further, these platforms are quite expensive to run for the low throughput they provide. The following are two ways to improve performance and reduce cost: (1) make the system utilize allocated resources efficiently; (2) allow rapid and dynamic scaling of allocated resources based on load. We explore both of these in this work. We first investigate the reasons for the poor performance and scalability of the dominant permissioned blockchain flavor called Execute-Order-Validate (EOV). We do this by studying the scaling characteristics of Hyperledger Fabric, a popular EOV platform, using vertical scaling and horizontal scaling . We find that the transaction throughput scales very poorly with these techniques. At least in the permissioned setting, the real bottleneck is transaction processing, not the consensus protocol. With vertical scaling, the allocated vCPUs go under-utilized. In contrast, with horizontal scaling, the allocated resources get wasted due to redundant work across nodes within URLanization. To mitigate the above concerns, we first improve resource efficiency by (a) improving CPU utilization with a pipelined execution of validation & commit phases ; (b) avoiding redundant work across nodes by introducing a new type of peer node called sparse peer that selectively commits transactions. We further propose a technique that enables the rapid scaling of resources. Our implementation - SmartFabric, built on top of Hyperledger Fabric demonstrates 3x higher throughput, 12-26x faster scale-up time, and provides Fabric's throughput at 50\% to 87\% lower cost .
R
Many proofs of concept blockchain applications built using Hyperledger Fabric, a permissioned blockchain platform, have recently been transformed into production. However, the performance provided by Hyperledger Fabric is of significant concern for enterprises due to steady growth in network usage. Hence, in this paper, we study the performance achieved in a Fabricnetwork
Permissioned blockchains are becoming popular as data management systems in the enterprise setting. Compared to traditional distributed databases, blockchain platforms provide increased security guarantees but significantly lower performance. Further, these platforms are quite expensive to run for the low throughput they provide. The following are two ways to improve performance and reduce cost: (1) make the system utilize allocated resources efficiently; (2) allow rapid and dynamic scaling of allocated resources based on load. We explore both of these in this work. We first investigate the reasons for the poor performance and scalability of the dominant permissioned blockchain flavor called Execute-Order-Validate (EOV). We do this by studying the scaling characteristics of Hyperledger Fabric, a popular EOV platform,
D
(i.e., by adding more vCPUs)
R
(i. e., by adding more nodes) techniques. We observe that network
. We find that the transaction throughput
D
both of
A
At least in the permissioned setting, the real bottleneck is transaction processing, not the consensus protocol.
D
due to serial execution of validation
D
commit phases of transactions,
R
are underutilized. With
go under-utilized. In contrast, with
A
the allocated resources get wasted
R
between nodes , allocated resources are wasted though it is utilized. Further, we identify these techniques to be unsuited for dynamically scaling anetwork quickly to mitigate an overload situation, and hence, it results in a 30\% drop in the performance. To increase the CPU utilization and hence the performance, we re-architect Fabric to enable
across nodes within URLanization. To mitigate the above concerns, we first improve resource efficiency by (a) improving CPU utilization with a
R
by introducing dirty state management using a trie data structure. Additionally, we facilitated the validation phase to validate transactions in parallel by introducing a waiting-transactions dependency graph. To avoid redundant work performed between nodes and to quickly scale up a network, we propose a
; (b) avoiding redundant work across nodes by introducing a
R
, which selective
that selectively
R
Overall, we improved the throughput by
We further propose a technique that enables the rapid scaling of resources. Our implementation - SmartFabric, built on top of Hyperledger Fabric demonstrates
R
and reduced the timetaken to scale up a network by 96\%
higher throughput, 12-26x faster scale-up time, and provides Fabric's throughput at 50\% to 87\% lower cost