[论文学习]ShadowClone:基于影子账户加速跨分片交易
ShadowClone论文重点ShadowClone提出了一种基于“影子账户”Shadow Accounts的跨分片交易加速方案核心思想是将用户账户的余额分散到多个分片中的影子账户上使得原本需要跨多分片协调的交易可以在单个分片内独立完成从而大幅降低跨分片交易的处理延迟与协调开销。该方案从账户层面重新思考了分片区块链的交易处理范式。核心研究内容问题定义分片Sharding是区块链扩容的主流方向之一它将全网节点划分为多个分片每个分片独立处理交易从而提升系统吞吐量。然而跨分片交易始终是分片区块链的性能瓶颈。具体而言传统分片区块链采用账户地址哈希取模等方式将账户分配到固定分片。当一笔交易的发送方和接收方位于不同分片时该交易就必须跨多个分片协调执行。现有方案多采用两阶段提交2PC、交易拆分Splitting或中继Relay等机制来处理跨分片交易。这些方案存在以下核心痛点协调开销大跨分片交易需要多个分片之间进行多轮通信协调导致交易延迟显著增加。原子性保障复杂跨分片交易需要保证所有涉及分片要么全部提交、要么全部回滚这通常依赖两阶段提交等协议进一步增加了复杂度和延迟。单点瓶颈风险部分方案依赖协调者分片来统筹跨分片交易协调者容易成为性能瓶颈和单点故障。网络开销高跨分片通信需要在分片之间传递大量状态验证信息和交易数据。创新方法ShadowClone的核心创新在于影子账户模型——为每个主账户在其他所有分片中创建对应的影子账户。这一设计的精妙之处在于一账户分布的重构传统方案中一个账户仅存在于一个分片。而ShadowClone中一个账户的余额被分散存储于其主账户和所有影子账户之中。账户的总余额等于主账户余额与所有影子账户余额之和。影子账户对用户不可见仅在系统内部使用。二交易处理的范式转变基于影子账户模型任意一笔转账交易都可以在单一分片内完成处理若交易发送方和接收方在同一分片则直接在该分片内处理。若交易发送方和接收方在不同分片发送方可以使用其在该接收方所在分片中的影子账户来完成转账整个过程无需跨分片协调。这意味着原本需要多分片协调的跨分片交易被转化为了单分片内的普通交易。三状态同步机制ShadowClone设计了两种账户余额查询与状态同步方式按需查询模式节点通过跨分片通信向其他分片的邻居节点同步请求影子账户的状态变化数据。主动同步模式节点在验证新区块后主动向其他分片的邻居节点广播状态变化数据和Merkle根。完整节点适合采用主动同步模式以存储空间换查询延迟轻节点则适合按需查询模式。四安全性考量论文针对影子账户模型可能引发的两类新型攻击进行了深入分析平行交易攻击攻击者在多个分片中同时发起同一账户的多笔交易每笔交易单独验证均通过但总金额超过账户实际余额。防御方案是要求交易验证者查询该账户在所有分片中的所有未打包交易。余额欺诈攻击攻击者发起的单笔交易金额不超过某分片中影子账户的余额但超过账户总余额。这要求验证时必须基于账户总余额而非单一影子账户余额进行校验。研究成果由于原始论文全文未能在公开渠道获取以下分析基于相关专利文献【5】、相似研究工作以及跨分片交易领域的通用性能基准进行合理推断理论性能优势与传统跨分片交易方案相比ShadowClone将跨分片交易的处理复杂度从多分片协调降为单分片处理。参考类似方案OverShard的设计——所有交易可在一轮共识和单个分片中完成处理——理论上可显著降低交易延迟和网络通信开销。与现有方案的对比定位相较于RapidChain的交易拆分方案、Monoxide的中继方案以及Kronos的缓冲区批处理方案ShadowClone从账户模型层面提供了另一种正交的优化思路——通过将账户“复制”到所有分片来消除跨分片交易本身。实际落地应用的可能性1. 分片区块链系统ShadowClone可直接集成到各类基于账户模型的分片区块链中作为跨分片交易处理的底层机制。2. 联盟链与私有链场景在节点数量可控、网络环境相对稳定的联盟链中影子账户的状态同步开销更容易控制落地可行性更高。3. 高性能DeFi应用对于需要高频交易的DeFi应用跨分片交易的延迟直接影响用户体验ShadowClone有望显著改善这一瓶颈。4. 与现有方案互补ShadowClone并非要完全取代现有的跨分片交易方案而是可以与两阶段提交、批处理等技术结合使用形成多层次优化。需要注意的是影子账户模型本质上是用存储空间每个账户需要在所有分片中维护状态换取交易延迟的降低在分片数量较多时状态存储和同步的开销需要审慎评估。技术细节影子账户的数据结构根据相关专利文献影子账户的状态数据包含以下字段数据项大小字节备注Account Address20该影子账户在分片中的地址Balance8该影子账户在分片内的余额Nonce8该影子账户的交易序列号Block Number8包含该影子账户交易的区块编号Shard Index4该影子账户所在分片的索引账户余额计算一个账户的总余额为其主账户和所有影子账户的余额之和TotalBalance(Account A) Balance(MainAccount_A) Σ Balance(ShadowAccount_A_shard_i)交易处理流程推断交易发起用户发起一笔转账交易指定发送方账户、接收方账户和金额。分片定位系统根据接收方账户所在分片定位发送方在该分片中的影子账户。余额验证验证发送方账户的总余额是否充足同时检查该影子账户的余额是否足够。单分片执行在接收方所在分片内从发送方的影子账户扣除金额增加到接收方账户。状态同步将该影子账户的状态变化同步到其他分片如采用主动同步模式。状态同步的数据结构状态变化数据的结构可设计为StateChange { AccountAddress: 20 bytes // 影子账户地址 Balance: 8 bytes // 更新后的余额 Nonce: 8 bytes // 更新后的序列号 BlockNumber: 8 bytes // 区块编号 ShardIndex: 4 bytes // 分片索引 MerkleRoot: 32 bytes // 状态树的Merkle根 }研究设定系统架构假设分片数量假设系统划分为 m 个分片m 通常为数十个量级。账户模型采用基于账户的模型而非UTXO模型。共识机制各分片内部可采用PBFT、PoS等共识协议独立运行。网络模型支持同步、部分同步或异步网络模型。节点类型全节点存储所有分片的影子账户状态数据采用主动同步模式。轻节点仅存储自身相关账户数据采用按需查询模式。实验配置参考类似工作参考同类分片区块链系统的实验配置测试环境云服务器集群如AliCloud分片数量8~32个交易负载从数千到数万TPS不等评估指标吞吐量TPS、交易延迟、跨分片交易比例、通信开销等综合分析理论贡献ShadowClone的核心贡献在于提出了一种从账户模型层面消除跨分片交易的新思路。传统方案多在“如何处理跨分片交易”上做文章如两阶段提交、交易拆分、中继等而ShadowClone则试图“让跨分片交易不再存在”——通过影子账户将交易天然地收敛到单分片内执行。这一思路在数据库领域早有先例如分片数据库中的“虚拟账户”概念但将其系统性地应用于区块链分片场景并针对区块链的特性去中心化、拜占庭容错、状态最终性等进行适配和安全性分析仍具有重要的学术价值。优势分析延迟显著降低跨分片交易转化为单分片交易后无需跨分片协调交易确认时间大幅缩短。协议简化无需实现复杂的跨分片原子性协议如两阶段提交系统复杂度降低。吞吐量提升单分片内交易的并发处理能力远高于跨分片协调模式。挑战与局限性存储开销每个账户需要在所有分片中维护影子账户状态存储量扩大 m 倍m 为分片数量。状态同步延迟影子账户的余额变更需要同步到所有分片存在最终一致性的延迟窗口。并发控制复杂同一账户在多个分片中的影子账户可能被同时操作需要有效的并发控制机制。跨分片交易比例的实际效果如果系统中大多数交易本身就是同分片交易影子账户带来的收益可能有限。攻击面扩大影子账户模型引入了新的攻击向量平行交易攻击、余额欺诈攻击需要额外的防御机制。与同类工作的比较方案核心思路优势局限RapidChain交易拆分为子交易降低验证复杂度子交易需多分片处理Monoxide中继节点转发实现简单中继节点成为瓶颈Kronos缓冲区批处理提升批量效率增加延迟OverShard虚拟账户单分片处理存储开销大ShadowClone影子账户单分片处理 用户透明存储与同步开销实践应用适用场景建议推荐使用ShadowClone的场景分片数量适中如8~16个存储开销可控跨分片交易占比高延迟敏感型应用联盟链或私有链环境节点可信度较高硬件资源充足可承受额外的存储和同步开销不推荐使用的场景分片数量极大如100存储开销呈线性增长网络带宽受限状态同步成为新瓶颈对状态最终性要求极高无法接受同步延迟工程实现建议影子账户数量优化可根据账户的交易模式动态决定是否为该账户在所有分片创建影子账户或仅在与该账户有频繁交易往来的分片中创建。同步策略混合对高频账户采用主动同步模式对低频账户采用按需查询模式在存储开销和查询延迟之间取得平衡。并发控制增强针对平行交易攻击可在交易验证时增加全局nonce检查确保同一账户的交易在全局范围内有序。定期清算与聚合参考SharDAG的设计可设置“聚合周期”定期将分散在各分片影子账户中的资产聚合回主账户减少资产碎片化。监控与自适应调整实时监控跨分片交易比例、影子账户状态同步延迟等指标动态调整影子账户的创建策略和同步模式。未来研究方向影子账户的按需创建与回收机制进一步降低存储开销影子账户模型与零知识证明的结合在保护隐私的同时验证跨分片状态多层级影子账户体系适应不同分片粒度下的交易模式影子账户模型在经济激励中的设计如何激励节点存储和维护影子账户状态参考资料原始论文Qi, J., Ding, D., Lin, F., Zhu, H., Li, J., Liu, S., Xue, G., Cao, J.ShadowClone: Accelerating Cross-Shard Transactions via Shadow Accounts.相关专利CN116012164B《基于虚拟账户实现区块链跨分片交易的方法》【5】相关专利US10579973B2《Efficient processing of requests related to an account in a database》【7】OverShard:OverShard: Scaling blockchain by full sharding with overlapping network and virtual accounts跨分片交易性能对比ePrint 2024/206