摘要

基于区块链的去中心化应用已在加密数字货币、云存储、物联网等多个领域提供健壮、可信且持久的服务,然而区块链的吞吐能力难以满足去中心化应用日益增长的性能需求.分片是当前主流的区块链性能优化技术,但现有的区块链分片主要面向用户和用户之间的转账交易,并不完全适用于以智能合约调用交易为主的去中心化应用.针对此问题,设计并实现面向智能合约分片的联盟区块链系统BETASCO. BETASCO为每个智能合约提供一个分片作为独立执行环境,通过基于分布式散列表的合约定位服务将交易路由至目标智能合约所在的分片,并通过智能合约间的异步调用机制满足跨智能合约的通信和协作需求. BETASCO通过节点虚拟化允许一个节点加入多个分片,支持同一组节点上多个智能合约的并行执行.实验结果表明, BETASCO整体吞吐能力可随智能合约数量的增加而线性增长,且执行单个智能合约的吞吐能力与HyperLedger Fabric相当.

全文