区块链互操作性(下):共识证明和信任最小化桥接

中级12/3/2023, 2:50:53 PM
本文探讨了桥接技术和跨链资产解决方案面临的安全挑战。本文研究了从多重签名桥到 ZK 桥链的过渡,着重于 ZK 桥链在减少链上数据方面的效率。此外,本文还探讨了信任最小化验证的共识证明的潜力,对它是否预示着桥接技术的未来提出异议。

前言

第一篇文章中,我们介绍了区块链互操作性的概念,以及随着替代性第1层协议、第2层协议和应用链的出现,互操作性的重要性只会增加。在桥链上转移的大量资金吸引着黑客将其作为攻击目标,2022年我们看到多重签名和智能合约漏洞造成了2.5亿美元的损失。在当年发生的所有漏洞中,惊人的是,多达69%与桥链有关。

造成这些损失的核心原因是,桥接验证步骤不成功,其中用于验证交易有效性的信任机制是由人类和多重签名支撑的:

  1. Ronin 的桥链由9个多重签名中的5个提供保护。4个验证器由一方操作并一次性受到损害,使得第5个验证器很容易触发
  2. Harmony Bridge 由5个多重签名中的2个多重签名保护,该多重签名已通过使用一种未知方法受到损害,但怀疑是社会工程陷阱所致
  3. 多链的私钥是由一个人有效持有的“多重签名”

鉴于这些漏洞,桥接过程中的验证步骤可以通过依赖代码和数学的信任最小化方法得到更好的服务。

这就是共识证明作为潜在解决方案的用武之地。该方法依赖证明者验证源链的区块链共识,并在将资金释放到目的地之前使用零知识证明来证明交易的有效性。

这就是需要探讨的的多种知识,所以让我们首先定义验证区块链共识的含义。

验证源区块链的状态/“共识”

区块链的核心是分类账,它们记录由彼此不信任的节点维护的账户之间的交易。由于有许多节点验证区块链网络,因此这些验证者之间必须就哪个区块是最近添加的区块达成一致协议,即它们必须就最新状态达成“共识”。

来源:Adapted from Ethereum EVM illustrated

可靠地验证目标链上的源链共识是桥接的关键,因为如果您能够以信任最小化的方式验证源链的最新区块,您就可以确定最新的“真相”,然后能放心地在目的地链上执行相应的操作。

验证源链共识以启用桥接

对于桥接,协议需要确定源链上的“存款”交易是否有效。在实践中,这需要验证两件事:

  1. 步骤1:验证区块链共识,即我们正在查询的块是源链世界状态的有效部分;和
  2. 步骤 2:检查特定交易,即“存款”交易是否包含在区块中(这可以通过 Merkle Inclusion 证明来证明)

两者的验证通过后,目的链即可将资产释放给用户。

实现了,资产桥接了。

理论上这听起来很简单,但棘手的部分是第一步:一条链上的智能合约验证另一条链(通常是以太坊作为源链)的共识并不那么容易。

为验证桥接共识当面面临的挑战

首先要指出的挑战是,不同的区块链具有不同的共识机制,并且在每个源链上证明共识需要建立非常具体的工程工作。这意味着,需要为每个源链定制验证共识步骤。现在,让我们集中精力证明以太坊共识,因为它拥有最大份额的TVL,并且是典型的第1层协议用户桥接。

以太坊拥有超过700,000个验证者,其中有21,000多个验证者对某个时隙中的区块进行投票。为了实现终局性,一个区块应从 ⅔ 的验证者群组中获得投票,这大约相当于450,000个验证者投票。验证完全共识意味着检查450,000个签名的有效性。

有一种不太麻烦的方法用于检查以太坊共识,这涉及“轻客户端协议”。它使用同步委员会(每 27.3 小时随机选择512个验证者)来证明最新提出的区块是有效的。这里,验证共识意味着检查512个聚合签名的有效性。

在桥接环境中,目标链上的智能合约可使用轻客户端协议并充当链上“轻客户端”来验证源链的最新状态并确保进行“存款”。如果满足条件,智能合约就会在目标链上释放资金。

通过同步委员会验证以太坊上的源链共识

这种方法不太实用,因为考虑到以太坊验证器使用 BLS 签名,如果不进行预编译,直接在链上智能合约中验证512个聚合签名的成本非常高。

那么,实现这一点的关键是在链外进行验证步骤……

……这就是共识证明的用武之地。

解决方案:同步委员会签名的共识证明

零知识证明已是一种可行的解决方案,可帮助区块链将昂贵的计算在链下进行并在链上验证结果。这允许目标链上的桥接智能合约将昂贵的计算(例如验证源链共识)转移到链外零知识证明者:

  1. 证明者将验证签名并生成共识证明,即简洁的零知识证明,证明该块是下一个有效块,因为它已收到 ⅔ 同步委员会证明。该证明验证了源区块链的共识(上面的步骤 1.*)。
  2. 一旦证明了区块的有效性,我们就可以使用 Merkle Inclusion 证明来证明交易是该区块的一部分(上面的步骤 2.*)。 (或者,出于相同目的,可以在链外生成零知识证明,并通过目标链上的智能合约进行验证)。

使用 zk 证明进行验证使我们离信任最小化的桥接更近一步

经过这两个步骤,目的地智能合约就可以安全地释放目的地链上的资金了。

使用共识证明来验证源区块链状态是实现信任最小化桥接的重要一步,但依赖轻客户端协议和512个验证器有一些限制(在下表中突出显示)。

依靠同步委员会验证共识的局限性

因此,一些团队正在努力证明以太坊的完全共识,这是一项复杂的任务,在撰写本文时完成这项任务需要验证 450,000 个签名。在零知识回路中做到这一点绝非易事,但像 Polyhedra NetworkSuccinct 这样的团队已致力于实现这一目标。

有什么比证明 512 个签名更好的方法呢?45万签名!

Polyhedra Network 最近宣布,他们成功验证了 21,000 个验证者签名,这些验证者签名在 ZK 的给定槽位上签署了一个区块,并正在努力验证所有 450,000 个签名。有关他们的方法和证明系统的更多详细信息可以在他们的 zkBridge 论文中找到。

一旦我们能够在零知识中验证完整的以太坊共识,那么在零知识中验证具有较小验证器集的其他链的共识应该相对简单。

使用零知识证明的风险

虽然零知识技术和共识证明解决了人类会犯的错误,但如果为认识到在桥接中使用它们所带来的一些风险,讨论将是不完整的。

随着创新算法和系统的不断出现,零知识技术正在迅速发生变化。其中一些实施还未经审计,可能包含漏洞,当出现重大激励时,它们很容易受到潜在的攻击。此外,即使经过审计,这种复杂的密码系统也可能包含未被发现的攻击向量,这些攻击向量将随着时间的推移被识别和纠正,以达到成熟、久经沙场的状态。

此外,生成和验证零知识证明的费用在多大的交易量下才能充分得到摊销以被认为具有成本效益,这一点还有待观察。

团队建设

最后,我们将重点介绍一些在该领域构建解决方案的参与者。虽然他们的方法和市场入场方式略有不同,但他们正在打破基于 zk 的桥接功能的极限,并预示着信任最小化互操作性将出现。

其中我们有:

  1. Polyhedra Network 一直在设计和实现 zkBridge 协议,这能用于证明另一条链的状态。zkBridge 目前支持跨20多个第1层和第2层协议的桥接,包括以太坊、Polygon、币安智能链、Optimism、Arbitrum。Polyhedra Network 将基于同步委员会的证明和完全共识的证明与 LayerZero 集成,以促进基于 zk 的桥接。

  2. Succinct Labs 一直在开发基于 zk 的轻客户端,以证明以太坊的状态,并促进作为源链的 Gnosis Chain 和以太坊以及作为目标链的 Gnosis、Arbitrum、Avax、Binance Smart Chain、Optimism 和 Polygon 之间的桥接

  3. Electron Labs 专注于在以太坊和 Cosmos 生态系统之间建立桥接方法

  4. Polymer Labs 的目标是通过 Polymer Hub 扩展不同链之间的 IBC 连接性,从而在连接的链之间强制执行 IBC 传输或 TAO 语义。Polymer Hub 还支持网格互操作性模型,与 p2p 或中心辐射模型相比,该模型具有改进的扩展属性。

  5. Lagrange Labs将使用自己的州委员会(由 Eigenlayer 重新质押保证)来证明区块链的状态。他们将乐观的第2层协议(Arbitrum、Optimism、Base)和主要的第1层协议作为其进入市场的目标

共识证明的团队工作

总结

互操作性是区块链基础设施的核心部分。在桥接的第一回合中,我们看到了以多重签名为基础的信任机制,并因对人类的依赖而受到的损害。我们现在开始进入通过密码学和数学保护的桥接领域,通过在桥接背景下应用零知识证明使之变得可行。

在本文中,我们介绍了共识证明如何通过检查最新、最终确定的源区块链共识来帮助解决桥接问题。

然而,这项技术可进一步扩展以检查历史共识,从而实现更灵活的跨链用例,而不仅仅是目前的桥接。我们将在互操作性系列的第三部分内容中探讨存储证明及其开启的用例。

声明:

  1. 本文转载自[Superscrypt],著作权归属原作者[Jacob Ko],如对转载有异议,请联系Gate Learn团队,团队会根据相关流程尽速处理。
  2. 免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。
  3. 文章其他语言版本由Gate Learn团队翻译, 在未提及Gate.io的情况下不得复制、传播或抄袭经翻译文章。

区块链互操作性(下):共识证明和信任最小化桥接

中级12/3/2023, 2:50:53 PM
本文探讨了桥接技术和跨链资产解决方案面临的安全挑战。本文研究了从多重签名桥到 ZK 桥链的过渡,着重于 ZK 桥链在减少链上数据方面的效率。此外,本文还探讨了信任最小化验证的共识证明的潜力,对它是否预示着桥接技术的未来提出异议。

前言

第一篇文章中,我们介绍了区块链互操作性的概念,以及随着替代性第1层协议、第2层协议和应用链的出现,互操作性的重要性只会增加。在桥链上转移的大量资金吸引着黑客将其作为攻击目标,2022年我们看到多重签名和智能合约漏洞造成了2.5亿美元的损失。在当年发生的所有漏洞中,惊人的是,多达69%与桥链有关。

造成这些损失的核心原因是,桥接验证步骤不成功,其中用于验证交易有效性的信任机制是由人类和多重签名支撑的:

  1. Ronin 的桥链由9个多重签名中的5个提供保护。4个验证器由一方操作并一次性受到损害,使得第5个验证器很容易触发
  2. Harmony Bridge 由5个多重签名中的2个多重签名保护,该多重签名已通过使用一种未知方法受到损害,但怀疑是社会工程陷阱所致
  3. 多链的私钥是由一个人有效持有的“多重签名”

鉴于这些漏洞,桥接过程中的验证步骤可以通过依赖代码和数学的信任最小化方法得到更好的服务。

这就是共识证明作为潜在解决方案的用武之地。该方法依赖证明者验证源链的区块链共识,并在将资金释放到目的地之前使用零知识证明来证明交易的有效性。

这就是需要探讨的的多种知识,所以让我们首先定义验证区块链共识的含义。

验证源区块链的状态/“共识”

区块链的核心是分类账,它们记录由彼此不信任的节点维护的账户之间的交易。由于有许多节点验证区块链网络,因此这些验证者之间必须就哪个区块是最近添加的区块达成一致协议,即它们必须就最新状态达成“共识”。

来源:Adapted from Ethereum EVM illustrated

可靠地验证目标链上的源链共识是桥接的关键,因为如果您能够以信任最小化的方式验证源链的最新区块,您就可以确定最新的“真相”,然后能放心地在目的地链上执行相应的操作。

验证源链共识以启用桥接

对于桥接,协议需要确定源链上的“存款”交易是否有效。在实践中,这需要验证两件事:

  1. 步骤1:验证区块链共识,即我们正在查询的块是源链世界状态的有效部分;和
  2. 步骤 2:检查特定交易,即“存款”交易是否包含在区块中(这可以通过 Merkle Inclusion 证明来证明)

两者的验证通过后,目的链即可将资产释放给用户。

实现了,资产桥接了。

理论上这听起来很简单,但棘手的部分是第一步:一条链上的智能合约验证另一条链(通常是以太坊作为源链)的共识并不那么容易。

为验证桥接共识当面面临的挑战

首先要指出的挑战是,不同的区块链具有不同的共识机制,并且在每个源链上证明共识需要建立非常具体的工程工作。这意味着,需要为每个源链定制验证共识步骤。现在,让我们集中精力证明以太坊共识,因为它拥有最大份额的TVL,并且是典型的第1层协议用户桥接。

以太坊拥有超过700,000个验证者,其中有21,000多个验证者对某个时隙中的区块进行投票。为了实现终局性,一个区块应从 ⅔ 的验证者群组中获得投票,这大约相当于450,000个验证者投票。验证完全共识意味着检查450,000个签名的有效性。

有一种不太麻烦的方法用于检查以太坊共识,这涉及“轻客户端协议”。它使用同步委员会(每 27.3 小时随机选择512个验证者)来证明最新提出的区块是有效的。这里,验证共识意味着检查512个聚合签名的有效性。

在桥接环境中,目标链上的智能合约可使用轻客户端协议并充当链上“轻客户端”来验证源链的最新状态并确保进行“存款”。如果满足条件,智能合约就会在目标链上释放资金。

通过同步委员会验证以太坊上的源链共识

这种方法不太实用,因为考虑到以太坊验证器使用 BLS 签名,如果不进行预编译,直接在链上智能合约中验证512个聚合签名的成本非常高。

那么,实现这一点的关键是在链外进行验证步骤……

……这就是共识证明的用武之地。

解决方案:同步委员会签名的共识证明

零知识证明已是一种可行的解决方案,可帮助区块链将昂贵的计算在链下进行并在链上验证结果。这允许目标链上的桥接智能合约将昂贵的计算(例如验证源链共识)转移到链外零知识证明者:

  1. 证明者将验证签名并生成共识证明,即简洁的零知识证明,证明该块是下一个有效块,因为它已收到 ⅔ 同步委员会证明。该证明验证了源区块链的共识(上面的步骤 1.*)。
  2. 一旦证明了区块的有效性,我们就可以使用 Merkle Inclusion 证明来证明交易是该区块的一部分(上面的步骤 2.*)。 (或者,出于相同目的,可以在链外生成零知识证明,并通过目标链上的智能合约进行验证)。

使用 zk 证明进行验证使我们离信任最小化的桥接更近一步

经过这两个步骤,目的地智能合约就可以安全地释放目的地链上的资金了。

使用共识证明来验证源区块链状态是实现信任最小化桥接的重要一步,但依赖轻客户端协议和512个验证器有一些限制(在下表中突出显示)。

依靠同步委员会验证共识的局限性

因此,一些团队正在努力证明以太坊的完全共识,这是一项复杂的任务,在撰写本文时完成这项任务需要验证 450,000 个签名。在零知识回路中做到这一点绝非易事,但像 Polyhedra NetworkSuccinct 这样的团队已致力于实现这一目标。

有什么比证明 512 个签名更好的方法呢?45万签名!

Polyhedra Network 最近宣布,他们成功验证了 21,000 个验证者签名,这些验证者签名在 ZK 的给定槽位上签署了一个区块,并正在努力验证所有 450,000 个签名。有关他们的方法和证明系统的更多详细信息可以在他们的 zkBridge 论文中找到。

一旦我们能够在零知识中验证完整的以太坊共识,那么在零知识中验证具有较小验证器集的其他链的共识应该相对简单。

使用零知识证明的风险

虽然零知识技术和共识证明解决了人类会犯的错误,但如果为认识到在桥接中使用它们所带来的一些风险,讨论将是不完整的。

随着创新算法和系统的不断出现,零知识技术正在迅速发生变化。其中一些实施还未经审计,可能包含漏洞,当出现重大激励时,它们很容易受到潜在的攻击。此外,即使经过审计,这种复杂的密码系统也可能包含未被发现的攻击向量,这些攻击向量将随着时间的推移被识别和纠正,以达到成熟、久经沙场的状态。

此外,生成和验证零知识证明的费用在多大的交易量下才能充分得到摊销以被认为具有成本效益,这一点还有待观察。

团队建设

最后,我们将重点介绍一些在该领域构建解决方案的参与者。虽然他们的方法和市场入场方式略有不同,但他们正在打破基于 zk 的桥接功能的极限,并预示着信任最小化互操作性将出现。

其中我们有:

  1. Polyhedra Network 一直在设计和实现 zkBridge 协议,这能用于证明另一条链的状态。zkBridge 目前支持跨20多个第1层和第2层协议的桥接,包括以太坊、Polygon、币安智能链、Optimism、Arbitrum。Polyhedra Network 将基于同步委员会的证明和完全共识的证明与 LayerZero 集成,以促进基于 zk 的桥接。

  2. Succinct Labs 一直在开发基于 zk 的轻客户端,以证明以太坊的状态,并促进作为源链的 Gnosis Chain 和以太坊以及作为目标链的 Gnosis、Arbitrum、Avax、Binance Smart Chain、Optimism 和 Polygon 之间的桥接

  3. Electron Labs 专注于在以太坊和 Cosmos 生态系统之间建立桥接方法

  4. Polymer Labs 的目标是通过 Polymer Hub 扩展不同链之间的 IBC 连接性,从而在连接的链之间强制执行 IBC 传输或 TAO 语义。Polymer Hub 还支持网格互操作性模型,与 p2p 或中心辐射模型相比,该模型具有改进的扩展属性。

  5. Lagrange Labs将使用自己的州委员会(由 Eigenlayer 重新质押保证)来证明区块链的状态。他们将乐观的第2层协议(Arbitrum、Optimism、Base)和主要的第1层协议作为其进入市场的目标

共识证明的团队工作

总结

互操作性是区块链基础设施的核心部分。在桥接的第一回合中,我们看到了以多重签名为基础的信任机制,并因对人类的依赖而受到的损害。我们现在开始进入通过密码学和数学保护的桥接领域,通过在桥接背景下应用零知识证明使之变得可行。

在本文中,我们介绍了共识证明如何通过检查最新、最终确定的源区块链共识来帮助解决桥接问题。

然而,这项技术可进一步扩展以检查历史共识,从而实现更灵活的跨链用例,而不仅仅是目前的桥接。我们将在互操作性系列的第三部分内容中探讨存储证明及其开启的用例。

声明:

  1. 本文转载自[Superscrypt],著作权归属原作者[Jacob Ko],如对转载有异议,请联系Gate Learn团队,团队会根据相关流程尽速处理。
  2. 免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。
  3. 文章其他语言版本由Gate Learn团队翻译, 在未提及Gate.io的情况下不得复制、传播或抄袭经翻译文章。
即刻开始交易
注册并交易即可获得
$100
和价值
$5500
理财体验金奖励!