以太坊L2扩容方案与零知识证明

简介

  • 简要概述以太坊L2层现有解决方案
  • 简要概述以太坊L2未来扩容的方向
  • 简要概述零知识证明的基本概念和零知识证明在以太坊的运用
  • 简要概述stark ware的两个产品,但并不推荐现有使用和研究
  • 简要概述polygon zkEVM,推荐使用和研究

zk-SNARK 与 zk-STARK

zk-SNARK 和 zk-STARK,是零知识证明底层技术。二者都是非交互式证明。

zk-SNARK,全拼Zero-Knowledge Succinct Non-Interactive Argument of Knowledge,即零知识简洁非交互证明。

zk-STARK,全拼Zero-Knowledge Scalable Transparent Argument of Knowledge,即零知识可扩展透明证明。

两者直观的区别在于,zk-SNARK 需要可信设置,zk-STARK 不需要。

以太坊L2 扩容方案

​ 有两种参数可以用来对 L2 扩容解决方案进行分类。其一是根据使用的加密证明分类,其二是看它们的数据可用性 (Data Availability, DA) 存储在链上还是链下。

两种主要的证明类型:

  • 有效性证明 (Validity Proofs) —— 这是一种利用零知识 (ZK, zero-knowledge) 密码学以确保交易有效性的数学证明
  • 欺诈证明 (Fraud Proofs) —— 这种证明引入了一种所谓的争议时间延迟 (Dispute Time Delay, DTD),一旦证明提交至 L2,验证者留有一定的时间以标记出无效的证明;无效证明可能包含着不正确的状态转换,因而会对涉及的验证者施加惩罚;随后状态回滚至最近的有效快照状态处

数据可用性存储在链上或链下:

  • 链上:状态数据连同所有交易的所有已执行的 calldata (智能合约函数调用、原生代币转移、签名) 一起放入交易捆/rollup 的加密证明中,这使得可以在链上访问和验证所有数据。
  • 链下:已执行的 calldata 和状态由 L2 处理并存储在链下。这使得这个方案不够安全和去中心化。然而,链下存储数据方案更容易将更多交易打包进一个 rollup 中,也因此比链上调用数据证明方案的速度快许多。

Rollup

​ Rollup是目前用于以太坊扩容的首选二层网络解决方案。通过使用Rollup,与一层网络相比,用户可以将燃料费减少多达 100 倍。

​ Rollup将数百笔交易捆绑(“打包”)为一层网络上的单笔交易。这将把一层网络的费用分摊给Rollup中的每一个人,因而对每个用户都更便宜。Rollup交易在一层网络之外执行,但交易数据会被发布到一层网络。通过将交易数据发布到一层网络,Rollup继承了以太坊的安全性。有两种不同方式可以实现Rollup:基于欺诈性证明的 optimistic Rollup,以及基于零知识证明的 zk Rollup。它们的主要区别在于如何将此交易数据发布到一层网络。

​ 基于 optimistic rollup 的 layer2 为 Optimism 和 Arbitrum,其优势在于:兼容 EVM 的难度不高,可以直接使用 solidity 部署智能合约,直接开发 Dapp;劣势在于:提款等待时间长,安全性、TPS和交易成本方面不如 zk-Rollup。

​ 基于 zk-Rollup 的 layer2 为 StarkNet 和 zkSync,其优势在于:安全性更高,交易确认的时效性更强,TPS和交易成本显著优于 optimistic rollup;但是其劣势在于不易兼容 EVM。

​ 目前业界正在开发 zkEVM 解决方案,现polygon团队已推出第一个开源的zkEVM解决方案polygon zkEVM。

stark ware

​ StarkWare 是目前业界技术领先的 zk-Rollup 扩容解决方案开发公司,其团队核心成员是两种算法的提出者和改进者,并以 zk Stark 技术为核心开发两条产品线:扩容服务引擎 StarkEx,二层扩容网络 StarkNet。

​ 对于StarkWare团队来说,可以从两方面理解它的这两个“产品线”。

​ 一方面,从技术上来看,两者都是以zk Stark技术为基础的解决方案,同时两者的区别在于,StarkEx提供了一系列基础组件,专门为以太坊链上应用(DApp)提供程序服务。具有定制化的特点,因此能满足专用应用的高可扩展性的需求。2020 年 6 月,该产品正式部署在以太坊主网上;而StarkNet的定位与之相反,它采用的是通用的二层扩容解决方案,满足用户对区块链交易效率和交易成本优化的需求,也满足不同应用的兼容性和可组合性需求,但是可扩展性(TPS,Gas费优化)不如定制化的StarkEx引擎。

​ 另一方面,从商业模式上看,StarkEx面向的是B端合作项目方,赚取服务费用或项目分成;而StarkNet面向的广大的C端用户、开发者、sequencer、prover等生态参与者,通过tokenomics以及技术支撑做大L2生态来盈利。所以无论从技术上或者商业上,两个“产品线”都互为补充。

特别注意:starkNet 智能合约并不兼容EVM,而是使用的自开发Cairo语言

  • stark ware官网:Homepage – Starkware

  • starknet合约代码:https://etherscan.io/address/0xE267213B0749Bb94c575F6170812c887330d9cE3#code

  • stark ware介绍以及starkEx架构:基于零知识证明系统的定制化引擎和layer2扩容方案StarkEx与StarkNet研究

  • starkEx Github:starkware-libs/starkex-core (github.com)

polygon zkEVM

​ Polygon zkEVM 是第一个提供源代码的 zk-Rollup,一个零知识证明以太坊虚拟机,也是第一个此类 L2 可扩展性解决方案。提供完整的 EVM 操作码等效性,以实现流畅的用户体验和以太坊的安全性。最初项目名为Hermez,在2021年8月Hermez被Polygon收购后更名为Polygon zkEVM。在V神的EVM兼容性等级分类中,当前Polygon zkEVM与Scroll并列为第三级,超过其他ZK Rollup,在EVM兼容性方面处于目前的ZK Rollup里的前列。

强大且去信任

  • zk-SNARKs 保证以太坊级别的安全性
  • 2000 TPS 的高吞吐量
  • 非托管架构
  • 资产的完全所有权和控制权(抗审查)
  • 以太坊主网上的数据可用性

唯一去中心化的zk-rollup

  • 完全开源和社区驱动
  • 与 Hermez REST API 无缝集成
  • 无许可的协调者网络
  • 带有验证奖励代币的去中心化拍卖模型
  • 治理最小化战略

简化代币转移

  • 简单的网络和移动应用程序钱包
  • 低成本代币转移
  • 原子交换(Atomic swaps)
  • 以单一货币支付的费用
  • 几分钟内快速高效的退出(提款)

  • polygon zkEVM官网:Polygon | Ethereum’s Internet of Blockchains – Polygon

  • polygon zkEVM 官方文档:Polygon zkEVM Documentation | Polygon Wiki

  • polygon zkEVM GitHub:Polygon zkEVM (github.com)