Skip to main content
QUICK REVIEW

[论文解读] An Efficient Framework for Execution of Smart Contracts in Hyperledger Sawtooth

Manaswini Piduguralla, Saheli Chakraborty|arXiv (Cornell University)|Feb 16, 2023
Blockchain Technology Applications and Security被引用 4
一句话总结

本文提出了一种基于DAG的并行调度器和智能验证器,用于Hyperledger Sawtooth,以实现智能合约交易的并发、无冲突执行。通过在执行前静态分析依赖关系,并使用有向无环图(DAG)表示交易关系,该框架显著提升了交易吞吐量并减少了验证时间,在基准测试中相比串行执行最高实现2.5倍的加速。

ABSTRACT

Blockchain technology is a distributed, decentralized, and immutable ledger system. It is the platform of choice for managing smart contract transactions (SCTs). Smart contracts are self-executing codes of agreement between interested parties commonly implemented using blockchains. A block contains a set of transactions representing changes to the system and a hash of the previous block. The SCTs are executed multiple times during the block production and validation phases across the network. The execution is sequential in most blockchain technologies. In this work, we incorporate a direct acyclic graph (DAG) based parallel scheduler framework for concurrent execution of SCTs. The dependencies among a block's transactions are represented through a concurrent DAG data structure that assists in throughput optimization. We have created a DAG scheduler module that can be incorporated into blockchain platforms for concurrent execution with ease. We have also formally established the safety and liveness properties of the DAG scheduler. For evaluation, our framework is implemented in Hyperledger Sawtooth V1.2.6. The performance across multiple smart contract applications is measured for various scheduler types. Experimental analysis shows that the proposed framework achieves notable performance improvements over the parallel SCT execution frameworks.

研究动机与目标

  • 解决区块链系统中因智能合约交易串行执行导致的可扩展性瓶颈。
  • 在区块生成和验证阶段均实现高效、无冲突的并发智能合约执行。
  • 通过使用有向无环图(DAG)预先计算并验证交易依赖关系,减少验证开销。
  • 通过将并行调度器和智能验证器模块集成到节点架构中,提升Hyperledger Sawtooth的性能。
  • 通过使验证者能够验证矿工提供的依赖图的准确性,确保正确性和安全性。

提出的方法

  • 该框架使用静态依赖分析,在执行前构建表示交易依赖关系的有向无环图(DAG)。
  • DAG由并行调度器模块生成,并与验证者共享,以避免在验证过程中重新计算依赖关系。
  • 智能验证器模块验证DAG的正确性,并确保恶意节点无法提交不准确的依赖图。
  • 系统利用Hyperledger Sawtooth的模块化架构,将调度器和验证器作为可插拔组件集成。
  • DAG结构支持独立交易的并行执行,同时对依赖关系强制正确的执行顺序。
  • 性能评估基于在Sawtooth v1.2.6上运行的真实世界智能合约应用(如Intkey、Insurance)进行。
Figure 2 : Proposed framework in the blockchain
Figure 2 : Proposed framework in the blockchain

实验结果

研究问题

  • RQ1通过DAG进行静态依赖分析,是否能够在区块链系统中实现高效、无冲突的智能合约并发执行?
  • RQ2与Hyperledger Sawtooth中的串行执行相比,所提出的基于DAG的调度器在交易吞吐量方面有何提升?
  • RQ3智能验证器通过重用预先计算的依赖图,能在多大程度上减少验证时间?
  • RQ4在不同交易依赖程度下,DAG调度器的稳定性和效率如何?
  • RQ5与传统验证方法相比,智能验证器的性能开销有多大?

主要发现

  • 所提出的框架在Hyperledger Sawtooth中相比串行执行,交易吞吐量最高提升了2.5倍。
  • 如图5所示,智能验证器将依赖图的创建和验证时间相比基线调度器最多减少了40%。
  • DAG调度器在不同依赖模式下表现出稳定的性能,各种工作负载下的执行时间方差极小。
  • 在高依赖度场景下,智能验证器在依赖结构的创建和验证方面优于其他调度器。
  • 所有测试用例中框架均保持了正确性和一致性,确保了生产者和验证者之间执行的确定性。
  • 在Intkey和Insurance交易族上的大量实验验证了所提出调度器和验证器模块的可扩展性和高效性。
Figure 4 : Linked list representation of the DAG.
Figure 4 : Linked list representation of the DAG.

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。