ControlShard:一种基于拥塞控制策略的跨分片事务处理方法

《Computer Networks》:ControlShard: A cross-shard transaction processing method based on congestion control strategy

【字体: 时间:2026年01月30日 来源:Computer Networks 4.6

编辑推荐:

  区块链分片技术通过专用分片处理跨分片交易,结合拥塞控制与流水线机制提升吞吐量,实验显示性能优于BrokerChain和Monoxide。

  
田俊峰|赵玉阳|田金
机构:河北大学网络安全与计算机学院,城市:保定,邮政编码:071002,国家:中国

摘要

分片技术通过将节点划分为多个组来并行提出区块,从而显著提高了区块链的性能。然而,跨分片交易需要分片之间的及时通信以确保信息一致性,这对分片区块链的性能有很大影响。为了解决这一挑战,我们提出了ControlShard,它专门为跨分片交易构建分片,并允许用户在不同的分片中具有不同的账户状态,进一步减少了通信开销。ControlShard允许在单次共识轮次中提交多个区块,并采用拥塞控制策略来确定当前网络条件下的最大区块数量。此外,ControlShard还采用了流水线策略来进一步提高并行处理能力。我们实现了一个系统原型,并使用真实的Ethereum交易对其性能进行了评估。在本文规定的实验条件下,ControlShard在吞吐量和交易确认延迟方面优于现有的先进解决方案,吞吐量达到了BrokerChain的2.2倍,Monoxide的4.1倍。

引言

区块链是一种分布式和去中心化的账本,由一系列区块组成,每个区块包含交易(TX)。这些区块通过指针链接在一起,每个区块都包含前一个区块的哈希值,形成一个不可变的链结构。区块链的去中心化特性和数据的高透明度使其在供应链金融[1]、物联网[3]、[4]和移动网络[5]、[6]等领域具有广泛的应用前景。然而,区块链的性能远低于现有的中心化解决方案。为了提高区块链的性能,一些研究专注于改进共识协议以提高效率[7]、[8]、[9]、[10],而其他研究则优化存储或动态调整区块大小以节省资源[12]、[13]。这些工作通过提高资源利用率促进了区块链技术的实际应用。然而,随着物联网设备访问量和交易规模的指数级增长,全节点面临着存储扩展和计算负载增加的双重压力。传统的单分片区块链在吞吐量上存在瓶颈,这严重阻碍了区块链的发展。因此,提高区块链系统的可扩展性和交易处理速度已成为区块链技术发展的重点。
近年来,区块链分片技术作为一种有效的链上扩展解决方案受到了广泛关注。分片技术可以在保持区块链去中心化的同时显著提高系统吞吐量,并有效解决性能瓶颈问题,具有重要的研究价值。著名的分片区块链包括Omniledger[14]、RapidChain[15]等。理论上,吞吐量与分片数量成正比,但在实际应用中,吞吐量并不能随着分片数量的增加而线性增长。其中一个重要原因是跨分片交易(CTX)[16]、[17]、[18]。CTX的发送者和接收者位于不同的分片中,需要多个分片之间的协作,这引入了额外的通信和存储开销。已经有许多研究致力于应对CTX带来的挑战,这些研究通常可以分为两个方向:减少CTX和高效处理CTX。减少CTX通常是通过划分与用户关联的分片或设置多个账户状态来实现的,例如CLPA[19]、Txallo[20]和Estuary[21],这些方法显著提高了系统性能。在处理CTX方面,有多种方法。例如,Monoxide[22]提出了一种中继机制,首先在源分片中处理交易,然后将其发送到目标分片以完成交易。然而,这种方法需要两次共识轮次来处理CTX,并引入了中继延迟。BrokerChain[23]使用经纪人账户将CTX转换为两个分片内的交易,从而大大减少了CTX消耗的资源。然而,由于缺乏激励机制,招募经纪人变得困难[24]。在Pyramid[25]中,允许某些节点存储来自其他分片的信息,并提出包含CTX的区块。这需要额外的冲突检测机制来确定CTX是否与分片内的交易冲突。
在本文中,我们介绍了基于状态分片的区块链系统ControlShard,该系统旨在高效处理CTX。ControlShard协议的设计适用于各种区块链环境,特别强调联盟区块链,在这种环境中,节点相对更值得信赖。在这种设置下,ControlShard采用的拜占庭式共识机制可以在保持比私有区块链更高程度的去中心化的同时,实现更快的共识达成。ControlShard的核心思想是创建一个专门用于处理分片间CTX的分片,从而减少频繁的通信和对系统吞吐量的负面影响。然而,ControlShard的设计面临以下挑战:1)热点分片对系统性能的限制。在分片区块链中,CTX的数量远大于分片内交易的数量。如果CTX集中在新创建的分片中,它可能会成为整个系统的瓶颈。如何快速高效地处理CTX已成为一个关键问题。2)保证交易的原子性。由于CTX在不同的分片中执行,用户的账户状态不能直接由用户的分片控制,增加了状态的不确定性。因此,需要一种新机制来确保交易执行后用户账户状态的唯一性。3)协调和通信开销的问题。新创建的分片与原始分片之间不可避免地需要通信。频繁的信息通信会占用大量资源,并显著增加交易确认延迟。此外,高频通信可能会阻止节点及时处理消息,降低共识效率。
对于挑战1,最简单的方法是增加共识轮次中处理的交易数量。本文通过增加共识区块的数量来实现这一目标。然而,增加区块数量也会增加共识时间和节点的处理压力,因此需要做出权衡。为了进一步优化分片性能,我们需要从相关分片中选择具有高处理能力的节点来专门处理CTX,从而提高性能限制和处理效率。对于挑战2,新形成的分片可以在分片内为用户创建代理账户,将这些账户的状态与分片的本地账户隔离,从而避免确保信息一致性带来的额外开销。对于挑战3,根据SharDAG[26]中的统计,大多数接收到的资产在花费之前会有一段长的沉默期。因此,CTX中收到的余额可以暂时存储在代理账户中,无需立即通知用户的分片。这种策略可以减少分片之间的信息通信频率。
本文的主要贡献可以总结如下:
  • 我们提出了一种新的区块链处理框架,其中每个分片的高性能节点被选为专门处理CTX的分片。这些新形成的分片在共识期间仅提出包含CTX的区块,从而避免消耗其他分片的共识资源,提高整体区块生成效率。
  • 我们允许主节点在单次共识轮次中提出多个连续的区块,并采用拥塞控制机制来确定当前轮次应提出的区块数量。通过分析当前和历史情况,该机制确保区块生成在网络的容量范围内,避免因过度拥塞导致的性能下降。
  • 我们引入了一种流水线机制,将主节点的打包和区块传播与共识验证阶段分离。在执行当前轮次的拜占庭共识协议时,节点会提前接收并验证下一轮区块的签名,从而减少交易最终化所需的总时间。
  • 我们基于BlockEmulator[27]实现了ControlShard的原型,并使用Ethereum的历史交易数据对其性能进行了评估。实验结果表明,在最佳条件下,ControlShard的吞吐量达到了BrokerChain的2.2倍,Monoxide的4.1倍。
  • 本文的其余部分结构如下。第2节回顾了CTX领域的相关工作;第3节提供了理解后续章节所需的基础知识;第4节概述了系统的整体架构和设计;第5节详细介绍了系统的实现;第6节分析了系统的安全性和潜在挑战;第7节展示了实验和评估结果;第8节总结了本文并提出了未来工作的潜在方向。

    相关工作

    相关研究

    为了应对CTX的影响,现有研究通常分为两个方向:第一个方向是减少CTX的数量,通常是通过重新分配账户来实现的。例如,CLPA[19]使用细粒度的账户分配策略来划分账户,实现了低CTX率和分片间工作负载的平衡分布。Txallo[20]根据社区检测来划分账户,以减少CTX的比例。Estuary[21]允许用户属于多个

    交易模型

    当前的区块链系统主要采用两种类型的交易模型:UTXO(未花费的交易输出)模型和账户/余额模型。在UTXO模型中,必须验证输入以确保引用的UTXO有效且之前未被花费。账户/余额模型类似于传统的银行系统,系统在处理交易之前验证发送者的账户是否有足够的余额。这两种模型都

    系统概述

    本节简要介绍了ControlShard模型及其架构。该模型的主要目标是在最小化消耗其他分片资源的同时高效处理CTX。

    系统设计

    本节详细介绍了ControlShard的设计。我们首先在5.1节介绍了系统中使用的交易类型和数据结构。然后我们在5.2节描述了交易处理工作流程,接着在5.3节介绍了多区块打包机制和拥塞控制策略。最后,5.4节详细介绍了旨在进一步提高并发性的流水线机制。

    分析

    本节将分析ControlShard的安全性及其可能遇到的问题。重新配置阶段在这里不予讨论,因为它与本文的核心设计无关。

    设置

    实验工具:为了评估ControlShard的性能,我们在BlockEmulator[27]实验平台上实现了该系统,并在本地机器上进行了实验。BlockEmulator是一个分片区块链模拟器,实现了共识、交易执行和消息广播等过程。本地机器配备了第12代Intel(R) Core(TM) i7-12700K CPU和32GB内存。
    数据集:为了确保实验的准确性,我们使用了真实的Ethereum

    结论

    本文介绍了ControlShard,这是一个能够高效处理CTX的分片区块链系统。通过引入专门用于处理CTX的分片并采用用户状态隔离机制,ControlShard有效解决了传统分片系统中由CTX引起的冲突和状态不一致问题。此外,ControlShard利用拥塞控制策略动态调整共识区块的数量,并结合流水线技术进一步提高性能。

    CRediT作者贡献声明

    田俊峰:资金获取。赵玉阳:撰写——原始草稿,验证。田金:撰写——审阅与编辑。

    利益冲突声明

    作者声明以下可能被视为潜在利益冲突的财务利益/个人关系:
    田俊峰报告称获得了京津冀自然科学合作项目的资金支持。如果有其他作者,他们声明没有已知的可能会影响本文所述工作的财务利益或个人关系。
    相关新闻
    生物通微信公众号
    微信
    新浪微博
    • 搜索
    • 国际
    • 国内
    • 人物
    • 产业
    • 热点
    • 科普

    热点排行

      今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

      版权所有 生物通

      Copyright© eBiotrade.com, All Rights Reserved

      联系信箱:

      粤ICP备09063491号