Smart contracts have enabled blockchain systems to evolve from simple cryptocurrency platforms, such as Bitcoin, to general transactional systems, such as Ethereum. Catering for emerging business requirements, a new architecture called execute-order-validate has been proposed in Hyperledger Fabric to support parallel transactions and improve the blockchain's throughput. However, this new architecture might render many invalid transactions when serializing them. This problem is further exaggerated as the block formation rate is inherently limited due to other factors beside data processing, such as cryptography and consensus. In this work, we propose a novel method to enhance the execute-order-validate architecture, by reducing invalid transactions to improve the throughput of blockchains. Our method is inspired by state-of-the-art optimistic concurrency control techniques in modern database systems. In contrast to existing blockchains that adopt database's preventive approaches which might abort serializable transactions, our method is theoretically more fine-grained. Specifically, unserializable transactions are aborted before ordering and the remaining transactions are guaranteed to be serializable. For evaluation, we implement our method in two blockchains respectively, FabricSharp on top of Hyperledger Fabric, and FastFabricSharp on top of FastFabric. We compare the performance of FabricSharp with vanilla Fabric and three related systems, two of which are respectively implemented with one standard and one state-of-the-art concurrency control techniques from databases. The results demonstrate that FabricSharp achieves 25% higher throughput compared to the other systems in nearly all experimental scenarios. Moreover, the FastFabricSharp's improvement over FastFabric is up to 66%.
翻译:智能合同使得连锁系统能够从简单的加密货币平台(如Bitcoin)发展到普通交易系统(如Eceenum)。 为新出现的商业需求提供餐饮服务,在超利器Fabric中提出了称为执行命令-validate的新架构,以支持平行交易并改进链链的吞吐量。然而,这一新架构可能会在序列化过程中造成许多无效交易。由于块形成率本质上受数据处理之外的其他因素(如加密和共识)的限制,这一问题被进一步夸大了。在这项工作中,我们提出了一种新的方法来强化执行命令-validate架构,办法是减少无效的交易,以改进块链的吞吐量。我们的方法受到超高利器的乐观货币控制技术的启发。与采用数据库预防方法从而可能中止连锁交易的现有链相比,我们的方法在理论上更加精细。具体地说,在订购之前,不通序交易会中断,其余的交易也保证实现连锁。为了评估,我们用两个卡路里快速的货币交易结果,我们分别用Frabrial-refrilleflial 系统在两个最高级的版本数据库中,我们用了一个方法,在最高一级和最高级的Fral-rbrbral 。