On the Performance of Using Parallel State Machine Replication to Implement Blockchains

State Machine Replication (SMR) and blockchains share the same goal of keeping a consistent state replicated across a set of replicas. However, there are some subtle differences between these techniques. In particular, using a SMR framework as a building block to implement blockchains significantly impacts performance due to the sequential execution model of traditional SMRs, i.e., all transactions are sequentially executed. This work presents a case study about the use of a parallel SMR (PSMR) to implement blockchains. In a PSMR, some transactions can be executed in parallel, for instance those addressed to different accounts. More specifically, we implemented a payment system and conducted a set of experiments to show that, by using a PSMR, it is possible to circumvent the previously described performance limitation, i.e., the performance of the resulting system increases substantially, i.e., up to 22×, when compared to a traditional sequential SMR.