← 最新论文
💻 computer science

OPERA: Enabling Inter-node Concurrency in Byzantine Fault Tolerant Blockchains

本文介绍了 OPERA,这是一种拜占庭容错执行模型,它通过部分复制和节点间并行性将并发性扩展到各节点,在不损害安全性或应用语义的前提下,显著降低了区块链的执行成本并提升了吞吐量。

原作者: Sungwook Chung, Jinwoo Yang, Hyunwoo Kim, Wonjae Lee, Minsoo Ryu

发布于 2026-08-03
📖 1 分钟阅读☕ 轻松阅读

原作者: Sungwook Chung, Jinwoo Yang, Hyunwoo Kim, Wonjae Lee, Minsoo Ryu

原始论文采用 CC BY 4.0 许可(https://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象一个有数百万人试图让一本巨大的共享日记保持完美同步的世界。这不仅仅是任何一本普通的日记;它是一个数字账本,记录着从谁拥有一只数字猫到谁给谁汇款的一切。难点在于?每个人都必须对每一条分录达成一致,而且这个群体中的某些人可能是试图欺骗系统的顽皮骗子。这就是区块链——这项支撑加密货币和去中心化应用的技术的——奇妙世界。

长期以来,这些数字日记一直面临着严重的交通拥堵。为了保持诚实,小组中的每一个人都必须阅读日记的每一页新内容,检查每一个字,并亲手将其记录下来。这就像一个教室,即使每个学生只被分配了一个数学题,也必须解决黑板上的所有题目。这使得系统变得缓慢且昂贵,尤其是随着加入人数的增加。科学家们称之为“拜占庭容错”(Byzantine Fault Tolerance),这是一个高级说法,意指即使某些成员试图作弊,系统仍能保持安全。研究人员一直在问的一个大问题是:我们能否在不让骗子破坏聚会的情况下,让这个小组工作得更快?

OPERA 应运而生,这是来自汉阳大学研究人员的一个新想法,它试图通过让学生分工协作来解决这个交通拥堵问题。与其让每个人都阅读整页内容,不如将页面的不同部分分配给不同的学生。这就像一场大规模的百乐餐(potluck),每个人带一道不同的菜,但他们都会互相品尝对方的食物,以确保没有人端上了有毒的苹果。研究人员构建了一个名为 OPERA-PBFT 的系统来进行测试。他们发现,通过让节点(运行区块链的计算机)仅执行一小部分交易并相互核查工作,他们可以使系统运行得更快。在测试中,这种新方法处理了超过 33,787 笔交易每秒,这大约是现有最快系统(如 Aptos)的 2.4 倍。即使在工作变得混乱、许多交易在争夺同一数据时,OPERA 也仅减速了微小的 7%,而其他系统则会崩溃或大幅减速。

问题:“人人都在做同样的事”导致的瓶颈

把传统的区块链想象成一个超级严格的图书馆。当一本新书(一区块交易)到达时,建筑里的每一位图书管理员(节点)都必须从头到尾阅读整本书,检查每一个事实,并将它写进自己的个人副本中。即使图书馆有 100 名管理员,整个图书馆的速度也受限于最慢的那位管理员。如果一位管理员动作慢了或者分心了,整个队伍就会停下来。这被称为“全量复制”(full replication)。这样做很安全,因为每个人都在检查一切,但这极其浪费。这就像厨房里有 100 名厨师,而每一位厨师都必须烹饪整套 10 道菜的盛宴,尽管他们只需要品尝一道菜就能知道味道是否正确。

解决方案:“专业化的百乐餐”

该论文的作者,郑成旭(Sungwook Chung)及其团队提出了一个简单的问题:如果我们不让每个人都做整顿饭呢?

他们提出了 OPERA,一种利用**部分复制(partial replication)**运行区块链的新方法。想象同样的厨房,但这次主厨(领导者)发放了一份菜单。与其让每位厨师都做整套 10 道菜的盛宴,不如让 A 厨师只做开胃菜,B 厨师只做汤,C 厨师只做甜点。

但棘手的部分在于:如果 A 厨师是个骗子,端上了一盘烂掉的沙拉怎么办?在旧系统中,每个人都会发现它,因为每个人都品尝了所有东西。在 OPERA 中,由于 B 厨师和 C 厨师没有接触过那盘沙拉,他们如何知道它是安全的呢?

OPERA 通过一个聪明的两步舞步解决了这个问题:

  1. “信任但验证”的分配: 每笔交易(每一道菜)都被分配给一小组厨师(节点)来烹饪。具体来说,它被交给 f + 1 个主要厨师和 f - k 个备份厨师。数字 f 代表系统可以处理的最大骗子数量。如果系统可以处理 2 个骗子,那么至少要有 3 位厨师进行烹饪并对结果达成一致。
  2. “品尝测试”证书: 一旦主要厨师完成了工作,他们不仅仅是说“完成了”。他们会提交一个读/写集(read/write set)。你可以把它看作一张收据,上面写着:“我阅读了这些食材并改变了这些风味。”其他厨师会查看这些收据。如果 f + 1 位厨师(即足以投票压倒骗子的最小人数)提交了完全相同的收据,系统就会相信这道菜是安全的。

如果一名主要厨师是骗子或失踪了(即“拜占庭故障”),备份厨师就会介入并开始烹饪这道菜,同时生成他们自己的收据。一旦收集到足够多的匹配收据,这道菜就被视为“已验证”。

“冲突”之舞:当菜肴发生碰撞时

有时,两道不同的菜需要使用同一种食材。例如,两笔交易可能试图在同一时间从同一个钱包中消费资金。在旧的“每个人都做所有事”的系统中,厨师们只需轮流进行即可。在 OPERA 中,由于不同的厨师正在烹饪不同的部分,他们可能会在不经意间尝试同时使用同一种食材。

为了解决这个问题,OPERA 使用了一种名为**冲突解决确定性重执行(Conflict-Resolving Deterministic Re-execution, CRDR)**的技术。这就像是一个盯着烹饪过程的裁判:

  • 首先,系统查看所有收据,找出哪些菜肴发生了冲突。
  • 它将不冲突的菜肴分组在一起,并让它们立即上桌。
  • 对于发生冲突的菜肴,系统会按照特定顺序再次运行它们,一次处理一个,以确保最终结果是完美的。

这确保了即使工作被拆分了,最终结果也与一个人独立完成的结果完全一致。它保证了“日记”保持一致,且无人可以作弊。

结果:加速这场聚会

研究人员通过构建 OPERA-PBFT(一个使用这种新拆分工作方法的区块链版本)来测试他们的想法。他们使用不同数量的计算机和不同类型的负载进行了模拟实验。

  • 重大胜利: 在测试中,OPERA-PBFT 的速度达到了 33,787 笔交易每秒 (TPS)。这比目前的领先者之一 Aptos 快了 2.4 倍
  • “混乱”测试: 他们还测试了当工作变得混乱(称为“倾斜负载”)时会发生什么,即许多交易在争夺同一数据。大多数系统在这种场景下会大幅减速。OPERA-PBFT 仅减速了 7%,而像 Aptos 这样的系统则减速了 77%
  • 成本: 他们还测量了系统做了多少“工作”。在传统系统中,每台计算机都要执行每一项任务。在 OPERA 中,总工作量减少了高达 44%。这意味着该系统不仅更快,而且更高效,消耗更少的能源和计算能力。

为什么这很重要

论文指出,我们不必在安全性和速度之间做选择。长期以来,人们认为为了保护区块链免受骗子的侵害,每个人都必须做所有事情。OPERA 表明,你可以拆分工作,让不同的计算机处理不同的部分,同时依然保持系统的安全与快速。

这就像意识到,一支庞大的管弦乐队并不需要每位音乐家都演奏所有的乐器才能奏出优美的音乐。如果指挥(协议)将正确的乐谱分配给正确的乐手,并确保他们彼此倾听,那么音乐可以比以往任何时候都演奏得更快、更响亮。研究人员发现,即使有些乐手试图奏错音符,这种方法依然有效,这证明了区块链可以同时成为一个超安全的保险库和一个高速公路。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →