木星链 木星链
Ctrl+D收藏木星链
首页 > SHIB > 正文

ZKS:zkSync 2.0:首个兼容EVM的zkRollup

作者:

时间:1900/1/1 0:00:00

我能否将你比作夏天?

你有着更强的可扩展性和安全性。

狂风摧残着五月新萌芽的意志,

夏天总是倏忽而逝。

—— 聪· 莎士比亚,2021

解决了最大的技术挑战后,我们开始在兼容 EVM 的环境中部署智能合约。测试网的第一个版本已上线:你可以通过区块浏览器查看 zkSync 2.0 上的活动。在本文中,我们将深入讲解每个关键的组件、提供进度更新和下个版本的计划。

zkSync 2.0 测试网浏览器:https://zksync2-alpha.zkscan.io/

主要成果

在密码学方面,zkEVM 的指令集已经得到最终确定,而且在电路和执行环境中都已实现。

在编译器方面,无论是用 Solidity 还是 Zinc 编写的智能合约都可以被编译成 zkEVM 字节码。

在核心基础设施方面,全节点整合已经完成,能够成功部署并执行编译后的智能合约。

虽然 zkEVM 和核心 2.0 基础设施已准备公开,但是我们还需要在编译器上下更多功夫,才能正确覆盖所有极端情况。为了提供更全方位的开发者体验,我们已经决定等编译器达到 100% 可靠时立即开放 zkEVM、编译器和核心 SDK 的访问权限。

二者之间在外观和体验感上都差不多。以下是几个重要区别:

Solidity 智能合约

zkSync 2.0 支持绝大多数以太坊操作码!但是也有一些例外:

本次发布的版本不支持 ADDMOD、SMOD、MULMOD、EXP 和 CREATE2 操作码,但是后续版本会支持。

数据:zkSync Era网络用户地址数超116万:7月9日消息,据Dune Analytics数据显示,zkSync Era网络用户地址数超116万。此外,有59.5%的地址跨入zkSync Era网络金额少于0.1ETH。[2023/7/9 22:26:54]

我们暂时不支持 KECCAK256 操作码,所有对 KECCAK256 操作码的调用会被自动替换成另一个抗碰撞的哈希函数。之后,KECCAK256 操作码将作为预编译引入。

我们已经决定不包括 SELFDESTRUCT 操作码,因为以太坊正在计划移除该操作码。

我们可能会对取消对完整的 256 位 XOR/AND/OR 操作码的支持,因为这些操作码仅存在于经过编译且用于位掩码的 solidity 代码。这可以由编译器使用其它操作码来完成。

Gas

在 zkSync 2.0 中,有一个不同的 gas 概念。交易代价将根据当前 Layer 1 gas 价格(因为要将调用数据上链)和生成零知识证明的成本而波动。智能合约调用的 zkEVM 步骤和存储写入参数将有数量上限。

Web 3.0 API

下一个版本将包括我们的 Web 3.0 API 实现,该实现将兼容以太坊文档所定义的 Web 3.0 标准。事件将变成开箱即用的,所有服务都可以轻松集成。

zkSync 包括 Layer 1 没有的功能,例如已提交区块和已敲定区块的概念。因此,未来将会有其它方法可以让开发者更精确地控制数据。Web 3.0 客户端代码接收的数据与你在以太坊上接收的数据相同,但是要请求专门的信息可以使用 zksync_ 命名空间。

zkSync和Arbitrum网络用户交互数据创历史新高,或受空投预期影响:10月28日消息,Arbiscan数据显示,10月27日Arbitrum上交易数超过42万笔(426120笔),创下历史新高,此外目前Arbitrum上共有近160万个独立地址。

此外,据Dune Analytics数据信息,zkSync网络最近两周总体交易数和独立地址数均创新高。截止发稿,zkSync独立地址数已达431,411。本周交易笔数已达34,854笔[2022/10/28 11:52:55]

由于 zkSync 有多种交易类型并使用 EIP712 签名,eth_sendRawTransaction 数据的格式与 Layer 1 不同。但是,编码对应的是 Ethereum ABI,因此要支持 Ethereum ABI 并不难。

签署交易

(除了优先级队列机制之外)zkSync 2.0 支持两种交易授权方式:

用户可以通过签署 EIP 712 消息,使用普通的以太坊钱包(如 Metamask 或任何支持 WalletConnect 协议的钱包)来签署交易。

任何账户都可以设置公钥来创建我们的内部 Schnorr 签名用以签署交易。这样一来,基于智能合约的钱包就可以与 zkSync 2.0 进行交互,无需发送 Layer 1 消息的额外成本。

存储效率提高

每个区块只应用一次存储槽覆写。也就是说,如果有多名用户与同一个 AMM 合约交互,这个 AMM 合约的存储槽只会被覆盖一次。因此,定序器之后会向用户退还平摊成本之后的结余。

预编译

“预编译” 机制是已经计划好的,但是要等之后的版本发布。我们计划先支持 keccak256、sha256 哈希和 ECDSA 恢复原语。根据需求和复杂性,我们可能会考虑引入 Blake2f 轮函数等其它预编译(在当前形式的以太坊中几乎不可用)。

BitDAO新提案提议创建zkSync生态加速器并提供2亿美元资金:1月7日消息,BitDAO与Matter Labs联合发起关于“zkDAO Endowment”的新提案,提议创建并资助社区拥有的zkSync生态系统加速器,并提供2亿美元,帮助启动zkSync生态系统,赋能构建者,并助力BitDAO和所有DAO增长。初始资金配置安排如下:grants 7.5%,安全/审计7.5%,战略资本70%,研发5%,教育5%,运营5%。[2022/1/7 8:31:25]

额外限制

zkSync 2.0 的第一个迭代版本可能会强制要求每笔交易的智能合约调用不得超过 32 次,直到实现一个适当的记账机制为止。

执行追踪将有一个硬性上限,但是会与当前以太坊区块大小上限相当,不会影响大多数协议。

可能还会有更多限制,但是我们的目标是在最终版本中将这些限制降至最低。

你或许听说过区块链的三难困境,但是实现以太坊的可扩展性还需要考虑第四个因素:可编程性。现有的可扩展性方案都要在一定程度范围内牺牲安全性、去中心化和可编程性来实现可扩展性。zkSync 2.0 的设计通过结合以下两种技术突破,将这四个特性同时发挥到了极致:

zkEVM:作为我们兼容 EVM 的 zkRollup 的引擎,是唯一具备 Layer 1 安全性且支持 Solidity 智能合约的解决方案。

zkPorter:可扩展性比 rollup 高出两个数量级的链下数据可得性系统。

由于 zkEVM 和 zkPorter 具有互操作性和可组合性,zkSync 2.0 显著优于其它可扩展方案。

ZKSwap推出V2测试网:金色财经报道,基于以太坊的第2层去中心化交易所ZKSwap宣布推出其V2测试网,将为测试人员提供奖励。ZKSwap在V2测试网中引入了“无限代币上市”工具,用户现在可以在ZKSwap上以零上市费用列出他们的资产。但是,用户需要向以太坊Ropsten测试网的矿工支付一些交易费用(gas)。除此之外,V2测试网还旨在解决L1和L2交互、提款缓慢和现有第2层基于以太坊的系统可扩展性差的一些问题。如果运行稳定,ZKSwap将在此阶段测试后上线主网。[2021/6/23 0:01:12]

目前的共识是,Eth 2.0 数据分片将在 2022 年底上线,在不牺牲去中心化的前提下提供大得多的数据可得性层。我们的终极目标是,将 zkSync 的 zkRollup 技术与 Eth 2.0 数据分片结合起来,无需牺牲任何 4 个特性中的任何一个,即可达到 10 万+ TPS。

状态树

zkSync 2.0 状态树覆盖了以太坊的整个 160 位地址空间。每个账户都有存储在 zkRollup 部分或 zkPorter 部分的状态。zkRollup 和 zkPorter 账户几乎完全相同,除了保证数据可得性的组件之外。zkRollup 交易数据通过调用数据发布到以太坊上,zkPorter 交易数据则发布到 zkSync 的守卫网络上(在这个网络中,zkSync 代币持有者参与权益证明机制)。

数据发布在哪里反映的是成本和安全性之间的权衡。zkPorter 交易比 rollup 交易便宜得多,但是你的资金有可能遭到冻结。不过,zkRollup 和 zkPorter 账户的有效性都是通过零知识证明保证的。换言之,zkPorter 里的资金只有可能被冻结,不会被盗。

ZKSwap 开启 FEI 和TRIBE 流动性挖矿 流动性超1800万美金:ZKSwap官方消息称,ZKSwap已经上线Fei(FEI)和Tribe(TRIBE)代币,并于北京时间2021年4月4日18时开启了 TRIBE/FEI、FEI/ZKS、TRIBE/ZKS 3个交易对的流动性挖矿活动,总奖励达90万ZKS。

据ZKSwap.info数据显示,活动开启后, ZKSwap Layer2 资产迅速增加,截至北京时间2021年4月4日20时,上述活动币对流动性已达1800+万美金,平台 Layer2 总资产也已超过 5 亿美金。

另外,ZKSwap 目前正在进行第二期流动性挖矿及交易挖矿活动,更多活动详情请查看原文。[2021/4/4 19:45:21]

zkRollup 和 zkPorter 账户的互操作性和可组合性让每个用户都有机会成为 zkSync 中的一等公民。用户可以通过 zkPorter 账户访问部署在 zkRollup 上的 Uniswap,从而享受最低交易费。zkSync 2.0 是一个系统,旨在让整个金融领域的用户都能参与。

密码学

我们的虚拟机(常被称为 zkEVM)并非以太坊虚拟机的复刻品,而是为了能够运行 99% 的 Solidity 合约并确保它们能(在回滚和异常情况下)正常工作而设计。与此同时,zkEVM 可以用来高效地在电路中生成零知识证明。

我们并没有因此对证明系统进行任何重大改变;我们依然使用带有自定义门和查找表的 PLONK(通常被称为 UltraPLONK)和以太坊的 BN-254 曲线。这么做是有好处的,因为这个证明系统自 2020 年 6 月以来已经在 zkSync 1.0 和其它项目中经过千锤百炼。

我们要再次宣布,经过数月以来的艰苦工作,zkEVM 的指令集已经得到最终确定,而且在电路和执行环境中都已实现。

这里有一个重要区别:电路和执行环境中的实现是分开的,二者的用途不同。电路的作用是生成追踪执行的证明并提供见证消息,但是非常慢。相比之下,执行环境(用 rust 语言直接实现 zkEVM)既快速又高效。如果我们将生成证明和执行都交由电路完成,实现交易的最终确定还需要好几个小时。只要我们将生成证明和执行分离,就可以在 zkSync 上实现即时交易结算。

接下来,我们的重点是将 zkEVM 和编译器结合在一起,并加入递归:区块间递归(每 N 个区块发布一个证明)和区块内递归(将一个区块的不同逻辑部分的子证明聚合起来)。要实现这点并不难!自 2020 年 6 月以来,zkSync 1.0 就已经采用了区块间递归聚合证明。如果你想要了解更多关于区块内递归和 zkEVM 工作原理的信息,请观看这个视频讲解。

编译器

我们正在同时开发两个针对 zkEVM 的编译器前端:Yul 和 Zinc。Yul 是可以针对不同后端编译成字节码的中间 Solidity 表示。Zinc 是我们基于 Rust 为智能合约和通用零知识证明电路开发的语言。

由于编译器是基于 LLVM 框架构建的,我们可以把它看作有一个前端 Yul → LLVM IR 和后端 LLVM IR → zkEVM 字节码。LLVM 的应用带来了几个重要优势:

LLVM 优化框架是无与伦比的:它从 LLVM IR 中生成最高效的 zkEVM 字节码。

通过使用较新版本的 Solidity 或 Zinc,编译器前端将处理所有更改,LLVM 使得我们无需更改编译器后端。

将来,如果开发者想要使用原生 Rust 或 Javascript 语言来编写智能合约,他们只需构建对应语言的编译器前端,以便在 zkSync 中实现智能合约的开箱即用。

编译器的安全性对我们来说至关重要,而且已经过多个测试套件的测试:

Zinc 和 Yul 编译器的词法、语法和语义测试。

我们自己的 Zinc 和 Solidity 整合测试。这些测试贯穿整个智能合约生命周期:从解析源代码到合约部署和在 zkSync 上执行交易。

整合自 Solidity 库并根据我们的测试工具进行调整的多个测试套件。

每个套件都包含数千个测试,我们至少会将这个数字增加一个数量级。

我们的两个编译器已经成功部署并执行了使用 Zinc 和 Solidity 语言编写的简单智能合约。然而,我们还有更多优化需要完成,以及一些复杂的 LLVM IR 语句需要翻译成 zkEVM 字节码。因此,我们决定等到我们的编译器变得更健壮一点后再将它发布出来。

等到编译器完成后,我们将专注于增强 Zinc 的表达力和功能性,然后通过构建 Rust 编译器前端让开发者可以使用原生 Rust 编写智能合约。

核心基础设施

zkSync 2.0 核心的几个关键组成部分是:

全节点

通过虚拟机针对 zkEVM 字节码实现的预电路执行器环境

状态在交易发送后的几秒内触达

过滤掉可能会导致区块膨胀的明显不正确的交易(如交易资金不足的交易)

执行交易池中的交易并生成区块

证明器

收到区块的见证消息并生成零知识证明

提供用于并行证明生成的证明器界面

按需创建和终止证明器的自定义证明器自动扩缩器

交互器

用于查看并与以太坊 Layer 1 交互的工具

基于代币价格、零知识证明生成成本和 Layer 1 的 gas 价格计算交易费用

多维监控器

Prometheus、elastic、sentry、uptime 等独立事件通知系统和自定义健康检查服务。

这个核心基础设施不仅功能完备,而且已经整合了 zkEVM 执行器!

编译器完成后,我们将开放所有组件的访问权限!开发者将可以部署 Solidity/Zinc 智能合约,并通过 Web 3.0 API 进行交互。

欢迎关注我们的推特!并加入我们在 discord、telegram 和 gitter 上的讨论。

如果你有兴趣与我们一起构建首个兼容 EVM 的 zkRollup,我们正在火热招聘中!

原文链接:

https://medium.com/matter-labs/zksync-2-0-hello-ethereum-ca48588de179

作者: Matter Labs

翻译&校对: 闵敏 & 阿剑

以太坊爱好者

媒体专栏

阅读更多

财经法学

金色早8点

链捕手

PANews

Bress

区块律动BlockBeats

成都链安

Odaily星球日报

标签:ZKSzkSyncSYNSYNCzks币有潜力吗zksync币交易所VsyncSynchroBitcoin

SHIB热门资讯
区块链:金色早报 | 数据:ETH期权的总持仓量创历史新高

头条▌数据:ETH期权的总持仓量创历史新高金色财经报道,据The Block数据,8月12日ETH未平仓头寸达到81.1亿美元,这个数字几乎是一个月前的三倍,已创下历史新高.

1900/1/1 0:00:00
STA:一文读懂StarkNet零知识递归证明:STARK

StarkNet零知识递归证明—STARK已上线,递归在成本和延迟方面的优势异常显著,还会催生 L3 和应用递归等新机会.

1900/1/1 0:00:00
DEC:去中心化国家:超越DAO并走向「混杂的民族主义」

超越 DAO 并走向 “ 混杂的民族主义 ” 。这家纽约市初创公司正在破坏价值 21.1 万亿美元的另类市场(这是您进入的方式),随着波动性的上升,亿万富翁正在增加对另类资产的配置,以降低市场风.

1900/1/1 0:00:00
比特币:金色早报 | 9 月份比特币挖矿收入下降 16.2%

▌ 呼伦贝尔市“蒙e突击队”抓获泰达币等数字货币团伙,累计扣押涉案赃款100余万元金色财经报道,据平安呼伦贝尔公众号,呼伦贝尔市“蒙e突击队”抓获一个用泰达币等数字货币的跑分团伙.

1900/1/1 0:00:00
以太坊:加密社区掀起抗审查风暴 以太坊或将陷入监管困局?

以太坊正在面临一场抗审查风暴,加密混合服务 Tornado Cash上周遭美财政部制裁后,加密社区开始担忧以太坊信标链会为了配合制裁破坏生态.

1900/1/1 0:00:00
区块链:「小金库杯·六周年」创作大赛获奖名单

吃吃喝喝玩玩的国庆假期结束了,继续努力工作赚钱等待下一次假期吧~祝每位金色数藏的小伙伴节后快乐依旧!为了让快乐延续,现在我们来公布一下「小金库杯·金色财经六周年」创作大赛的获奖名单.

1900/1/1 0:00:00