没有桥梁的跨链资产转移——第二部分
Share on

什么构成交易证明?

这取决于交易的类型;参见表。

Type of Transaction Proof of Transaction
Intralayer L1-L1 A smart contract on L1 has direct access to its L1 transaction. So txId serves as a proof-of-transaction.
Intralayer L2-L2 A smart contract on L2 has direct access to its L2 transaction. So txId serves as a proof-of-transaction.
Interlayer L1-L2 (deposit) A smart contract on L2 has indirect access to L1 and its transaction, and the rollup smart contract can communicate the information. So txId serves as a proof-of-transaction.
Interlayer L2-L1 (redeem) A smart contract on L1 does not have direct access to its L2 transaction, since the data is compressed and the stateRoot is a hash. So it needs a zk proof from SEQ/valPROVER.

关键观察:zkVM 的其他用途

关于汇总数据正确性的 ZK 认证

如前所述,在 zkRollup 中,通过在\ (\ text {STF}\) 上应用可验证计算,可以看出 L2 确实从 oldState² 和 TxBATCH 中正确计算出了\ (\ text {newState} _2 =\ text {STF} (\ text {oldState} _2,\ text {TxBATCH})\)。但是,Sequencer 可以访问 zkProver 这一事实意味着后者可以以 zkProofs 的形式发布有关汇总数据状态的可验证声明或证明。示例包括:

  • 关于第 2 层的 ZK 认证和 L1 上的汇总数据:
    • 在汇总时为某些特定资产转移提供交易证明。例如,它可以发行一个 “区块73包含:资产转移(X2、Rollupacc²、25 BTC)” 的 zkProof。在这种情况下,L1 上的汇总智能合约是目标验证器。
    • 生成与某个 L2 账户相关的余额表:“在第 73 区块,\ (X_2\) 的账户中有 255 个以太币。”

现在要注意的是,这些语句都与 L2 和汇总有关。但是真正的转折来了!

  • 关于第 1 层的 ZK 认证:
    • 还记得米娜吗?它使用线性递归证明将其区块链(一种无限增长的结构)上的所有信息封存到恒定大小。这是如何运作的?人们知道创世区块以及什么构成有效交易,可以使用 ZKProofs 捕获和验证。通过使用证明递归,可以保证证明大小不会增加。

但是请注意,Mina 在 zkVM 存在之前就开始了,因此必须开发特定的 SNARK 才能使这个想法付诸实践。使用 zkVMS,这种机制的开发速度要快得多。

请注意,这些 zkProof 就像认证支票一样。通过将它们发送到其他链,可以进行跨链转移(见下文)。

跨链资产转移——水平桥

\ (A_1-B_1\)

假设我们要将资产从 A 层 1 转移到 B 第 1 层;为了具体起见,让我们以 Avalanche 和 ETH 为例。由于我们有两个不同的主链,所以原子交易是不可能的,所以我们采用先销毁再创造。

但是,如何说服ETH区块链相信某些资产销毁交易 TX 发生了 Avalanche 吗?两条主链都没有任何理由信任来自外部的信息。但是,两者都将接受完整的zkProof,证明某些交易已在另一条链上完成。

有两种策略可以解决这个问题:

1-- 向后的 zkProof 交易证明: 假设以太坊上的智能合约中有硬编码的 Avalanche 创世区块。然后可以执行以下操作:将交易数据(\(TX\))发送给 zkProver,后者使用递归证明技术(比如 Mina)生成一个 zkProof。\ (TX\) 和 zkProof 被发送到智能合约,智能合约会对其进行验证和接受。这个 zkProof 的功能就像一张经过认证的支票,证明某些资产已被销毁,从而授权在另一条链上创建等值价值。通过这种方式,我们实现了从 Avalanche 到以太坊的跨链资产转移,本质上就像桥梁一样,但不需要中间实体。

2-- 转发 zkProof 交易证明: 比如说\ (TX\) 包含在区块\ (M\) 中。我们等待\ (N\) 个区块,其中\ (N\) 足够大,足以保证没有发生回滚。区块\ (M + N\) 的哈希值包含在交易证明中。了解 Avalanche 区块链逻辑的 zkProver 提供了有效性证明,表明:

  • \ (\ 文本 {TX}\) 包含在\ (\ text {Block} [M]\) 中
  • \ (\ text {Hash} [M]\) 计算正确
  • \ (\ text {Hash} [M+N]\) 计算正确

这构成 zkProof 的原因是 TX 已经解决了很简单:伪造这样的证据等同于开发比特币的替代分支,假设这是不可能的。

因此,就像上面的例子一样,这个 zkProof 可用作认证支票,证明资产已被销毁,允许在其他地方兑换,即跨链资产转移。

请注意,这里使用 zkProofs 与汇总无关;它只利用了 zkVM 的存在。此外,接收链上的虚拟机必须足够强大以支持 zkProver。就比特币而言,情况并非如此,这需要非常具体的解决方案。

本文由 ZKM 高级密码学家 Jeroen van de Graaf 撰写。该系列的第三部分将更详细地探讨 Entangled Rollup 的应用。

More articles
ZKM 公布了我们的早期贡献者计划的第二阶段:社区演变
在 ZKM,我们的使命是通过将隐私、安全和效率放在首位,彻底改变数字世界。随着我们的早期贡献者计划(ECP)第二阶段:社区演进的推出,我们在实现这一目标方面向前迈出了一大步。该计划在培养具有前瞻性思维的开发人员社区方面发挥了重要作用,他们积极参与塑造开源零知识技术的未来。在这篇文章中,我们很高兴向大家介绍我们的ECP在这个新阶段为我们不断壮大的社区带来的新功能和机会。
SBC '24 的 ZK 日
继我们在ethCC期间在布鲁塞尔举办的活动取得巨大成功之后,House of ZK在纽约市区块链科学会议期间举办了 “ZK日”。该活动由ZKM和Aleo共同主办,由IC3、斯坦福大学CBR和伯克利RDI共同组织,事实证明是研究人员和行业领导者共同讨论ZK技术最新进展的非凡聚会。
没有桥梁的跨链资产转移——第二部分

什么构成交易证明?

这取决于交易的类型;参见表。

Type of Transaction Proof of Transaction
Intralayer L1-L1 A smart contract on L1 has direct access to its L1 transaction. So txId serves as a proof-of-transaction.
Intralayer L2-L2 A smart contract on L2 has direct access to its L2 transaction. So txId serves as a proof-of-transaction.
Interlayer L1-L2 (deposit) A smart contract on L2 has indirect access to L1 and its transaction, and the rollup smart contract can communicate the information. So txId serves as a proof-of-transaction.
Interlayer L2-L1 (redeem) A smart contract on L1 does not have direct access to its L2 transaction, since the data is compressed and the stateRoot is a hash. So it needs a zk proof from SEQ/valPROVER.

关键观察:zkVM 的其他用途

关于汇总数据正确性的 ZK 认证

如前所述,在 zkRollup 中,通过在\ (\ text {STF}\) 上应用可验证计算,可以看出 L2 确实从 oldState² 和 TxBATCH 中正确计算出了\ (\ text {newState} _2 =\ text {STF} (\ text {oldState} _2,\ text {TxBATCH})\)。但是,Sequencer 可以访问 zkProver 这一事实意味着后者可以以 zkProofs 的形式发布有关汇总数据状态的可验证声明或证明。示例包括:

  • 关于第 2 层的 ZK 认证和 L1 上的汇总数据:
    • 在汇总时为某些特定资产转移提供交易证明。例如,它可以发行一个 “区块73包含:资产转移(X2、Rollupacc²、25 BTC)” 的 zkProof。在这种情况下,L1 上的汇总智能合约是目标验证器。
    • 生成与某个 L2 账户相关的余额表:“在第 73 区块,\ (X_2\) 的账户中有 255 个以太币。”

现在要注意的是,这些语句都与 L2 和汇总有关。但是真正的转折来了!

  • 关于第 1 层的 ZK 认证:
    • 还记得米娜吗?它使用线性递归证明将其区块链(一种无限增长的结构)上的所有信息封存到恒定大小。这是如何运作的?人们知道创世区块以及什么构成有效交易,可以使用 ZKProofs 捕获和验证。通过使用证明递归,可以保证证明大小不会增加。

但是请注意,Mina 在 zkVM 存在之前就开始了,因此必须开发特定的 SNARK 才能使这个想法付诸实践。使用 zkVMS,这种机制的开发速度要快得多。

请注意,这些 zkProof 就像认证支票一样。通过将它们发送到其他链,可以进行跨链转移(见下文)。

跨链资产转移——水平桥

\ (A_1-B_1\)

假设我们要将资产从 A 层 1 转移到 B 第 1 层;为了具体起见,让我们以 Avalanche 和 ETH 为例。由于我们有两个不同的主链,所以原子交易是不可能的,所以我们采用先销毁再创造。

但是,如何说服ETH区块链相信某些资产销毁交易 TX 发生了 Avalanche 吗?两条主链都没有任何理由信任来自外部的信息。但是,两者都将接受完整的zkProof,证明某些交易已在另一条链上完成。

有两种策略可以解决这个问题:

1-- 向后的 zkProof 交易证明: 假设以太坊上的智能合约中有硬编码的 Avalanche 创世区块。然后可以执行以下操作:将交易数据(\(TX\))发送给 zkProver,后者使用递归证明技术(比如 Mina)生成一个 zkProof。\ (TX\) 和 zkProof 被发送到智能合约,智能合约会对其进行验证和接受。这个 zkProof 的功能就像一张经过认证的支票,证明某些资产已被销毁,从而授权在另一条链上创建等值价值。通过这种方式,我们实现了从 Avalanche 到以太坊的跨链资产转移,本质上就像桥梁一样,但不需要中间实体。

2-- 转发 zkProof 交易证明: 比如说\ (TX\) 包含在区块\ (M\) 中。我们等待\ (N\) 个区块,其中\ (N\) 足够大,足以保证没有发生回滚。区块\ (M + N\) 的哈希值包含在交易证明中。了解 Avalanche 区块链逻辑的 zkProver 提供了有效性证明,表明:

  • \ (\ 文本 {TX}\) 包含在\ (\ text {Block} [M]\) 中
  • \ (\ text {Hash} [M]\) 计算正确
  • \ (\ text {Hash} [M+N]\) 计算正确

这构成 zkProof 的原因是 TX 已经解决了很简单:伪造这样的证据等同于开发比特币的替代分支,假设这是不可能的。

因此,就像上面的例子一样,这个 zkProof 可用作认证支票,证明资产已被销毁,允许在其他地方兑换,即跨链资产转移。

请注意,这里使用 zkProofs 与汇总无关;它只利用了 zkVM 的存在。此外,接收链上的虚拟机必须足够强大以支持 zkProver。就比特币而言,情况并非如此,这需要非常具体的解决方案。

本文由 ZKM 高级密码学家 Jeroen van de Graaf 撰写。该系列的第三部分将更详细地探讨 Entangled Rollup 的应用。