top of page

基础概念:桥、欺诈性证明和零知识证明

Layer2 基础概念介绍

imToken 作为早期的以太坊钱包之一,一直在积极参与 Layer2 的生态建设。我们准备了这份 Layer2 基础概念介绍内容,以帮助大家更好地了解 Layer2 基础概念。

什么是「桥」

从中本聪发布比特币白皮书至今,不同区块链生态系统数量和规模在急剧增加。由于各个区块链 / 网络各有特性(有不同的规则和共识机制)且彼此独立,所以用户对于跨链转移资产的需求也在增加。因此,「桥」技术诞生了。其主要作用如下:

 

  • 实现跨链转移资产和信息

  • 让用户能够使用各种区块链的优势进入新的区块链生态

  • 使不同区块链生态系统的开发人员可以协作,为用户构建新平台

  • ……

 

根据连接对象的不同,「桥」可分为两类:

 

  • Layer1 <> Layer1 桥:将两个不同的 Layer1 区块链进行连接的桥;

  • Layer1 / Layer2 <> Layer2 桥:将 Layer1 区块链与 Layer2 网络或将两个不同的 Layer2 网络连接的桥。

 

下文将重点介绍第二类桥。

 

以太坊生态系统中存在 ArbitrumOptimismzkSync 等多个 Layer2 项目,「桥」允许用户在 Layer1(以太坊主网)与 Layer2 网络之间转移资产,如从以太坊主网发送 ETH 到 Arbitrum;或在两个不同的 Layer2 网络之间转移资产,如从 Arbitrum 网络发送 ETH 到 Optimism 网络。

 

该类「桥」资产转移的实现方式通常有三种:

 

  1. 锁定与铸造:通过锁定源链上的资产,并铸造目标链上的资产实现资产转移。基于该原理的项目有 Optimism Gateway Arbitrum Bridge

  2. 销毁与铸造:通过销毁源链上的资产,并铸造目标链上的资产实现资产转移。基于该原理的项目有 Hop ProtocolAcross Protocol

  3. 原子交换:通过使用智能合约和算法,消除了可信第三方的角色,将源链上的资产直接兑换为目标链上的资产。基于该原理的项目有 cBridgeConnext 的 NXTP

 

基于不同实现方式的「桥」都有自己的优势和劣势,在实际操作过程中,需要针对特定的用例进行权衡。总体而言,这三类实现方式使得 Layer1 / Layer2 <> Layer2 之间的资金移动更加便捷,促进了 Layer2 生态发展。

什么是欺诈性证明?

欺诈性证明是 Optimistic Rollup 方案采用的一种数据有效性的验证方式。在 Layer2 同步数据给以太坊主网的过程中,如果有人认为被同步的数据不正确(即存在欺诈行为),便可在挑战期内发出挑战,然后通过 Layer1 智能合约计算并裁决出谁是欺诈者,再作出处罚。

 

目前,欺诈性证明可分为单轮交互型和多轮交互型两种。

 

单轮交互型

 

单轮交互型指在 Layer1 上重放一遍有争议的交易,检测是否存在无效状态后进行提交。

 

例如,Alice 作为验证人将 Rollup 压缩后的数据同步到 Layer1,同时质押保证金。如果 Bob 对该数据存在争议,则需在窗口期内发起挑战且同样质押保证金。Rollup 协议将会在 Layer1 上重新计算该区块中交易来判定对错。错误方的保证金将被罚没,正确方将获得奖励。

 

不过,由于链上计算成本较高,如果需要重新计算的交易过多,可能还会受到 Layer1 区块大小的限制。

 

多轮交互型

 

在多轮交互型证明中,当 Bob 对 Alice 同步的数据提出争议后,Alice 需将争议范围二等分,然后由 Bob 选择继续挑战的那段范围,再由 Alice 将争议范围二等分……如此循环,直至将争议范围缩减到一个具体的步骤,最后交由 Layer1 智能合约进行计算和判定。

 

因此,相比单轮交互型,多轮交互型能以更低的成本来解决争议,也更容易支持复杂的智能合约和处理更高要求的争议。

 

不过,随着交互次数的增加,它的争议窗口期也会更长一些。

什么是零知识证明?

1985 年,MIT 研究员 Shafi Goldwasser、Silvio Micali 和 Charles Rackoff 在论文《The Knowledge Complexity of Interactive Proof Systems》首次提出零知识证明(Zero Knowledge Proof)的概念。

 

零知识证明:是指一方(证明者)可以在不揭示信息本身或任何额外信息的情况下,向另一方(验证者)证明一个给定的声明是真实的。

 

为了实现这一点,零知识证明协议依赖于将一些数据作为输入并返回「真」或「假」作为输出的算法。

 

零知识证明协议需满足 3 个条件:

 

  • 完整:如果证明者输入有效,则零知识协议始终返回为「真」。因此诚实的证明者能说服同样诚实的验证者。

  • 健全:如果证明者输入无效,则零知识协议无法返回为「真」。因此作弊的证明者无法欺骗诚实的验证者相信该声明为真。

  • 零知识:除了了解给定的声明为真或假以外,验证者不知晓该声明相关的任何其他信息。

 

常见的零知识证明有两类:

 

  • ZK-SNARKs,全称 Zero-Knowledge Succinct Non-Interactive Argument of Knowledge

  • ZK-STARKs,全称 Zero-Knowledge Scalable Transparent Argument of Knowledge

 

如需了解更多(如 ZK-SNARKs 和 ZK-STARKs 的区别等),请阅读下方参考资料。参考资料:https://ethereum.org/en/zero-knowledge-proofs/

准备好了吗?点击链接进入 Learn and Earn
bottom of page