区块链正在推动全球信任机制的变革,通过去中心化和拜占庭容错技术重塑数字经济。然而,实现区块链的真正潜力,依赖于更高效、更强大的系统架构。Supra L1 正是为此而生,提供原生预言机、可验证随机性、自动化、MultiVM 支持、跨链互操作性,并在 DeFi 领域引入创新解决方案。
为了构建一个真正高性能的公链,Supra 研究团队对区块链架构进行了深入研究,从安全性和性能两方面优化底层设计。在成功突破共识机制和数据传播技术后,我们将重点放在提升交易执行效率上。通过研究当前最先进的并行执行技术,我们重新思考如何让智能合约在多核验证环境下发挥最大效能。
在任何智能合约平台中,所有节点都必须保持一致的最终状态。传统区块链采用顺序执行交易的方式,即逐笔执行所有交易,以确保状态一致性。然而,这种方式严重限制了吞吐量,尤其是在大量交易彼此独立的情况下,顺序执行模式浪费了大量计算资源。
我们的研究表明,在以太坊的交易负载中,超过 60% 的交易可以并行执行。但关键问题在于,当交易涉及相同的账户或数据修改时,如何确保它们能安全高效地执行?为此,我们开发了 SupraSTM,一种基于规范感知(Specification Aware)的并行执行策略,突破了现有区块链交易执行的性能瓶颈。
并行执行的挑战:交易冲突管理
我们考虑两个交易 T1 和 T2,它们必须按照特定顺序执行,即 T1 需要先于 T2(表示为 T1 → T2)。这两个交易会访问账户 A1 和 A2,初始值均为 0,其执行流程如下:
T1 开始执行,读取账户 A1,获得值 0。
随后,T2 开始执行,读取账户 A2,获得值 0,并将账户 A1 更新为 1。
在此时,如果 T2 在 T1 提交之前提交,则 T1 可能稍后会对账户 A2 进行写操作,导致问题:T2 对 A1 的写入,以及 T1 对 A2 的写入,可能会产生一个无法匹配任何符合 T1 → T2 顺序执行的最终状态。
如果 T2 提前提交,系统状态将变为 T2 对 A1 的更新已经生效,而 T1 在稍后尝试更新 A2 时,仍然基于过时的假设(即 A2 仍为 0)执行。这种执行顺序(T2 先提交,T1 后执行)不符合预期的 T1 → T2 逻辑,从而导致数据状态错误。
另一方面,如果 T1 由于冲突被终止并重新执行,那么它将读取更新后的 A2 值(即 1,因为 T2 之前已经提交),但这同样不符合任何有效的 T1 → T2 顺序执行。换句话说,T1 重新执行后,其读取的数据已经基于 T2 先提交的结果,破坏了原本的执行逻辑。
如果 T2 先于 T1 提交,它可能会基于过时的 A2 余额进行操作,导致错误的状态。更严重的是,如果 T1 在 T2 提交后再提交并写入 A2,最终状态可能不符合任何合法的顺序执行结果(T1 → T2)。因此,正确的方式是确保 T2 不能在 T1 提交之前提交,以保持最终状态符合 T1 → T2 的预期顺序。T1 和 T2 产生冲突,因为它们访问了相同的共享数据,并且都执行了读取和写入操作。
如果未能正确管理交易的依赖关系,执行顺序的偏差可能会导致区块链状态的不一致,甚至影响其可用性。一些区块链采用了乐观执行策略来处理此类问题,但这种方法会因交易间的依赖关系而导致频繁的回滚和重新执行,增加系统的计算开销。因此,在执行前识别交易之间的依赖关系,是减少回滚和提高执行效率的关键。
为了在执行前识别交易依赖关系,我们开发了冲突分析器(Conflict Analyzer),以最大程度减少乐观执行策略带来的额外开销。该分析器采用多种技术,包括静态字节码分析(Static Bytecode Analysis)和交易输入参数解析(如涉及账户地址的代币转账交易),在执行前精确分析每笔交易的读 / 写集合。与 Solana 采用的策略不同,SupraSTM 方案更加高效:Solana 需要在执行时加载完整的读写集合,而 SupraSTM 采用执行前分析的方式,从而减少计算和存储负担。此外,SupraSTM 不需要在交易执行过程中动态加载读 / 写状态,降低了带宽需求,从而提高整体吞吐量。这种方法能够突破带宽限制,避免因带宽瓶颈而降低交易执行效率。
最终,冲突分析器确保交易执行更加高效和稳定。首先,它能够最大程度减少不必要的回滚,提高区块链的执行效率。其次,它能够正确管理交易依赖关系,确保交易执行顺序符合预期。最后,它能够避免由于错误的并行执行导致区块链状态不一致,从而提升整个系统的稳定性。
SupraSTM:基于规范感知的并行执行
借助冲突分析器(Conflict Analyzer),我们引入了规范感知并行执行(Specification Aware Parallel Execution),使得系统在执行交易之前就能识别其依赖关系。系统的执行线程(即负责执行交易的计算单元)在运行前就能感知交易之间的依赖情况,从而优化执行顺序,提高并行性和确定性。
冲突分析能够提前检测到 T2 依赖于 T1 的执行结果,因此 T2 的执行将被推迟到 T1 完成之后,确保所有依赖关系都被正确处理。这种方式保证了依赖交易只有在前置条件满足后才会执行,使最终状态保持确定性和一致性。另一方面,如果 T1 和 T2 之间没有冲突(即它们访问完全独立的状态),冲突分析器能够识别到这一点。在这种情况下,两个交易可以并行执行,无需等待对方完成,从而充分利用并行计算的优势,同时确保区块链数据的正确性。这正是规范感知并行执行的核心价值所在。
在实际执行中,我们可能无法始终获得精确的交易依赖规范,但我们可以使用安全的依赖规范。这意味着:如果分析结果显示两笔交易之间没有冲突,那么它们一定不会发生冲突;但如果分析结果表明交易可能存在冲突,那么这种冲突有时可能是误判的。
在某些情况下,即使两笔交易之间没有直接的依赖关系,也可能无法并行调度,原因是区块内部可能包含较多高冲突的交易。在这种情况下,系统会退回到常规的投机执行策略,即在冲突发生时对交易进行回滚和重新执行。然而,我们的研究表明,即使在这种情况下,如果能够利用冲突分析规范来优化执行顺序,仍然可以显著减少回滚和重新执行的次数,提高整体效率。
这种方法允许验证者在所有必要的依赖关系被解析完成后才执行交易,从而减少冗余计算。此外,对于彼此独立的交易,它们可以按照任何顺序执行,而不影响最终结果。通过分析每笔交易的访问模式(即交易的读 / 写数据集合),我们可以在执行前提前识别哪些交易是独立的,哪些交易存在依赖关系。这一预判机制使我们能够实现以下优化:
安全地识别冲突:通过静态字节码分析以及交易输入参数(如代币转账中的账户地址),在执行前提取数据依赖关系,确保交易执行的正确性。
将线性顺序转换为部分有序:利用冲突分析,我们可以放宽严格的顺序执行规则。独立交易可以被分组并行执行,而可能存在冲突的交易将按照合理的顺序执行,确保区块链状态的完整性。
降低回滚和重新执行率:传统的乐观并行执行(如基于软件事务内存 STM 的方法)在发现冲突时需要终止并重新执行交易,这会增加计算开销。通过提前识别交易依赖关系,我们的方法大幅减少了回滚次数,从而提高了执行效率。
算法
Supra 的原生自动化系统将在每个区块执行清算操作,这意味着系统将在每秒进行多次清算,确保市场稳定,同时为生态创造持续收益。
我们开发并评估了两种不同的算法,它们体现了我们的方法论:
规范感知 SupraSTM(SupraSTM)
该算法构建了一个有向无环图(DAG),其中每个节点代表一笔交易,而边则表示交易之间的冲突关系。通过跟踪入度(即未解决的依赖数量),入度为零的交易可以并行执行。
实验结果表明,SupraSTM 的执行速度比顺序执行提高最多 4 倍,相比现有的并行执行方案提升 2.4 倍。当交易依赖关系得到良好分析和管理时,该方法能够极大地提升区块链的并行吞吐能力。
规范感知 BlockSTM(saBlockSTM)
该方法基于乐观执行(Optimistic Execution)的理念,例如当前最先进的 Aptos BlockSTM,但通过冲突分析器(Conflict Analyzer)智能整合交易依赖信息。本质上,saBlockSTM 通过识别独立交易,使其无需重新验证即可直接执行,从而避免不必要的终止(abort)和重新执行(re-execution)。
这种混合方法不仅提高了吞吐量,还降低了执行延迟,减少了由于回滚和重新执行带来的额外开销。
性能测试与实际影响
我们对这些算法在 以太坊虚拟机(EVM) 和 MoveVM 上进行了严格测试,测试数据包括合成负载(例如高频 ERC20 转账,其中账户访问呈长尾分布)以及真实的历史区块数据(包括 CryptoKitties 热潮和 Ethereum 2.0 合并等关键时期的交易数据)。
EVM 实验结果
研究表明,以太坊交易中超过 60% 可以并行执行。
SupraSTM 运行速度比顺序执行提高最多 4 倍,相比现有并行执行方案提升 2.4 倍。在高网络负载、交易冲突较多的情况下,交易最终确认(finality)速度显著加快。
MoveVM 实验结果
在 点对点(P2P)价值转移的工作负载中,我们的方案表现出显著的吞吐量提升,即使在交易竞争激烈的情况下,延迟也明显降低。在多个平台上的成功应用表明,我们的冲突感知执行模型能够适用于不同的智能合约环境,不仅限于 EVM,还包括 MoveVM。
这不仅证明了 SupraSTM 方法的广泛适用性,也展示了它对关键性能指标的影响,这些指标决定了用户和开发者的链上体验质量。主要结论包括:
更高的吞吐量:交易每秒处理量(TPS)显著提升,并行执行方案的表现远超传统的顺序执行。
更低的延迟:通过减少因冲突导致的终止(abort),SupraSTM 和 saBlockSTM 使交易执行延迟显著降低,确保即使在高网络负载时期,用户仍能快速完成交易确认。
对 Supra 和社区的意义
在 Supra,我们始终致力于推动区块链性能和可扩展性的边界。这项研究是我们构建高性能、强韧的 L1 区块链愿景中的重要基石。凭借这些创新:
开发者 将能够构建更复杂、数据密集型的应用,而无需担心区块执行过程中读写规范和冲突同步的限制。
用户 即使在高冲突交易环境下,也能享受更快的交易处理速度。
整个生态系统 将更进一步迈向真正可扩展、安全且高效的区块链基础设施。
展望未来:技术路线图
尽管当前的研究成果令人振奋,但这仅仅是一个起点。我们的持续研究方向包括以下几个方面:
1)扩展 MultiVM 支持
除了 EVM 和 MoveVM,我们正在探索与更多虚拟机(如 SVM)的集成,以进一步拓展 Supra 平台的能力,使其支持更广泛的智能合约环境。
2)并行执行优化
我们将持续优化并行执行技术,降低交易中止(abort)率,提升交易执行的稳定性和吞吐量,向理论最大性能不断迈进。
3)采用统计 AI 技术,实现自适应并行执行算法
我们的冲突规范模型可以计算区块中交易的成对冲突数量,这为开发自适应并行执行算法提供了新的可能性。研究表明,通过计算每个区块的冲突阈值,可以在开销最小的情况下确定最佳执行策略。在冲突较高的情况下,系统可以自动回退到顺序执行模式,确保执行效率和区块链状态的一致性。
我们相信,未来可以利用统计 AI 技术进一步优化并行执行算法,使其能够更灵活地适应不同的交易负载情况。
4)增强数据可视化
我们计划发布更详细的吞吐量、延迟优化等关键指标的数据图表和信息图,让社区可以直观地了解 Supra 并行执行技术的进展。
5)智能合约 VM 的冲突特征实证研究
我们对 Ethereum 和 Solana 这两个主流区块链网络的历史数据进行了深入分析,主要研究了交易冲突情况和历史区块的理论最大并行性。通过分析单个区块内部的交易特征及跨时间维度的数据,我们量化了交易的并行度及其在真实区块链环境中的可利用性。这是首个基于区块链历史交易数据的研究,用于评估交易冲突的分布,并为不同区块链生态系统开发更高效的并行执行方法提供依据。
这些研究成果将在我们的白皮书中详细介绍,为区块链生态提供有价值的技术洞察。
我们相信,通过分享研究进展和经验,我们可以建立一个更具技术洞察力的社区,让更多人能够理解并利用这些创新技术,推动其在真实应用场景中的落地。如果你对区块链执行优化算法感兴趣,我们邀请你深入阅读我们的白皮书,了解更多技术细节。此外,我们将在 Arxiv Computing Repository 上发布更详细的技术报告,其中包括冲突分析器的完整实现细节及 STM 算法的正确性证明。
请注意: 这些技术仍处于最终研究阶段。当前 Supra EVM 已正式推出,但上述改进将在未来的网络升级中逐步集成,并在完成充分测试后正式部署。
往期推荐
For Better Blockchain
白皮书解读丨分布式预言机方案 --DORA
白皮书解读丨“无桥”跨链协议 --HyperNova
点击“阅读原文” ,到官网报名
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。