链资讯 链资讯
Ctrl+D收藏链资讯
首页 > 火币下载 > 正文

zkSync 2.0:你好 以太坊

作者:

时间:

面对最大的技术挑战,我们正朝着在 EVM 兼容环境中部署智能合约开始冲刺。测试网的第一个版本已经上线:您已经可以使用区块浏览器查看 zkSync 2.0 上的活动。在这篇文章中,我们将深入解释每个关键组件、提供进度更新以及下一个版本的计划。

在密码学方面,zkEVM 的指令集已经完成,并且两个实现都完成了:在电路中和在执行环境中。

在编译器方面,用 Solidity 和 Zinc 编写的智能合约现在可以编译成 zkEVM 字节码。

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

虽然 zkEVM 和核心 2.0 基础设施已准备好公开,但编译器需要更多的工作来正确覆盖所有边缘情况。为了提供更全面的开发人员体验,我们决定在编译器 100% 可靠后立即开放对 zkEVM、编译器和核心 SDK 的访问。

大多数事情看起来和感觉都一样。以下是一些重要的区别:

Solidity 智能合约

支持以太坊中的大多数操作码!但是,也有一些例外:

此版本不支持 ADDMOD、SMOD、MULMOD、EXP 和 CREATE2 操作码,但将来会支持。

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

我们决定不包含 SELFDESTRUCT 操作码,因为以太坊计划将其删除。

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

费用

在 zkSync 2.0 中,有一个不同的 gas 概念。交易价格将根据当前的 L1 gas 价格(由于发布通话数据)和 ZKP 生成成本而波动。智能合约调用将具有最大数量的 zkEVM 步骤和存储写入参数。

Web3 API

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

zkSync 包含 L1 没有的功能,例如已提交和最终块的概念。因此,将有其他方法可以让开发人员更精确地控制数据。Web3 客户端代码将接收与以太坊相同的数据,但可以使用 `zksync_` 命名空间请求特殊信息。

由于 zkSync 有多种交易类型,并且使用 EIP712 签名,因此 `eth_sendRawTransaction` 数据的格式会与 L1 不同。但是,编码对应于以太坊 ABI,因此支持它并不困难。

签署交易

zkSync 2.0 中的交易可以通过两种方式进行授权(除了优先级队列机制):

用户可以通过签署 EIP712 消息,使用他们的普通以太坊钱包(例如 Metamask 或任何 WalletConnect 钱包)签署交易。

OKB突破17美元关口 日内涨幅为4.91%:欧易OKEx数据显示,OKB短线上涨,突破17美元关口,现报17.016美元,日内涨幅达到4.91%,行情波动较大,请做好风险控制。[2021/4/25 20:55:32]

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

存储效率提升

每个块仅应用一次存储槽覆盖。这意味着如果多个用户与单个 AMM 合约交互,则 AMM 合约的存储槽只会被覆盖一次。这允许排序器稍后向用户退还单次写入的共享成本。

“预编译”机制是计划中的,但将在稍后发布。我们计划首先支持 keccak256、sha256 哈希和 ECDSA 恢复原语。根据需求和复杂性,可以考虑包含其他预编译,例如 Blake2f 轮函数(以当前形式在以太坊中几乎无法使用)。

进一步的限制

zkSync 2.0 的第一次迭代可能会对每笔交易施加 32 次智能合约调用的额外限制,直到实施适当的记账机制。

执行跟踪将有一个硬性限制,但它与以太坊区块大小的当前限制相当,不应影响大多数协议。

可能还有更多限制,但我们的目标是在最终版本中将它们减少到绝对最小值。

深入了解 zkSync 2.0 架构

您可能听说过区块链三难困境,但在扩展以太坊时,还有第四个因素:可编程性。所有当前的扩展解决方案都存在于为了可扩展性而牺牲一些安全性、去中心化和可编程性的范围内。zkSync 2.0 的设计结合了以下 2 项技术突破,最大限度地发挥了所有 4 项功能:

zkEVM:为我们与 EVM 兼容的 zkRollup 提供动力的引擎,这是唯一具有 L1 安全性和可靠性智能合约支持的解决方案。

zkPorter:一个链下数据可用性系统,其可扩展性比汇总高 2 个数量级。

(图片来源于zkSync)

由于 zkEVM 和 zkPorter 是可互操作和可组合的,因此 zkSync 2.0 能够显着优于所有其他扩展解决方案。

目前的共识是Eth2 数据分片将在 2022 年底到来,以在不牺牲去中心化的情况下提供指数级更大的数据可用性层。zkSync 的 zkRollup 技术结合 Eth2 数据分片是最终目标,在不牺牲 4 个因素中的任何一个的情况下达到 100,000+ TPS。

状态树

zkSync 2.0 状态树覆盖了以太坊的完整 160 位地址空间。每个帐户将驻留在状态的 zkRollup 部分或 zkPorter 部分。zkRollup 和 zkPorter 帐户完全相同,除了一个组件:保证数据可用性。zkRollup 交易数据通过 calldata 发布到以太坊,zkPorter 交易数据发布到 zkSync Guardian 网络,zkSync 代币持有者参与权益证明。

数据发布的地方是成本和安全性之间的权衡。zkPorter 交易比汇总交易便宜得多,但它有可能导致您的资金被冻结。但是,zkRollup 和 zkPorter 帐户的有效性都是通过零知识证明和以太坊来保证的。换句话说,zkPorter 中的资金只能被冻结,不能被盗。

zkRollup 和 zkPorter 帐户的互操作性和可组合性使每个用户都有机会成为 zkSync 中的一等公民。部署在 zkRollup 端的 Uniswap 可以通过 zkPorter 帐户访问以交换最低费用。zkSync 2.0 是一个系统,旨在供整个金融领域的用户参与。

密码学

我们的 VM,最常被称为 zkEVM,不是 EVM 1:1 副本,而是旨在能够运行 99% 用 Solidity 编写的合约并保持其相同的行为,例如在恢复和异常期间。同时,zkEVM 被编写为在电路中高效生成零知识证明。

这是在我们的证明系统没有任何重大变化的情况下完成的;我们继续将 PLONK 与自定义门和查找表(通常称为 UltraPLONK)以及以太坊的 BN-254 曲线一起使用。这是有利的,因为自 2020 年 6 月以来,该证明系统已经在 zkSync 1.0 以及使用相同证明系统的其他项目中进行了实战测试。

再一次,我们很高兴地宣布,经过几个月的努力:zkEVM 的指令集已经完成并在电路和执行环境中实现。

这里有一个重要的区别:电路和执行环境中的实现是分开的,用于不同的目的。电路的工作是生成执行跟踪的证明并提供证人,但这非常慢。另一方面,执行环境是 zkEVM 在 rust 中的直接实现,高效且快速。如果我们依靠电路来生成证明和执行,交易最终确定将需要几个小时。证明生成和简单执行的分离使 zkSync 上的交易能够即时结算。

接下来,我们专注于将 zkEVM 和编译器结合在一起,并将递归结合在一起:块之间的递归,它允许我们为 N 个块发布一个证明,以及块内的递归,它聚合块的不同逻辑部分的子证明. 这是简单的部分!自 2020 年 6 月以来,zkSync 1.0 的主网上已在使用区块之间的递归聚合证明。有关区块内递归以及我们的 zkEVM 工作原理的更多信息,请观看此视频说明。

编译器

(图片来源于zkSync)

我们同时致力于两个针对 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 存储库集成的广泛的测试套件,适用于我们的集成测试工具。

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

我们的 2 个编译器已经成功部署并执行了两种语言的简单智能合约。但是还有更多的优化需要完成,一些复杂的 LLVM IR 语句需要转换为 zkEVM 字节码。因此,我们决定在编译器处于更健壮的状态之前不发布它。

编译器完成后,我们将专注于使Zinc更具表现力和功能更丰富,然后构建 Rust 编译器前端以允许使用原生 Rust 编写智能合约。

核心基础设施

zkSync 2.0 核心由几个关键角色组成:

完整节点

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

该状态在交易发送后的几秒钟内可用,

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

在内存池中执行交易并生成区块。

证明者

接收区块的见证人并生成零知识证明,

用于并行证明生成的证明者接口,

自定义证明者自动缩放器,可根据需要创建和终止证明者机器。

交互器

用于观看和与以太坊 L1 交互的工具,

根据代币价格、ZKP 生成成本和 L1 gas 价格计算交易费用。

偏执监视器

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

这个核心基础设施功能齐全,已经集成了 zkEVM 执行器。

标签:BTCETHBITUSDbtcs币未来值多少钱一枚tether币行情BitgertwstUSDT

火币下载热门资讯
金色观察|Kusama平行链插槽竞拍代币分配一览

Kusama平行链插槽马上就要开始拍卖了,因为拍卖会启动众贷的模式,用户则可以用自己的KSM参与平行链插槽竞拍最后获取相应的平行链代币奖励。今天,我们的文章为关注平行链竞拍的用户盘点一下11个平行链竞拍的项目和这些项目给到的众贷奖励额度,未来还会有其他参与和更新。

牛市还能继续吗?盘整期巨鲸、散户、机构、长期持有者都在如何操作

自4月中旬开始,BTC带领加密货币市场开启了高位调整行情。根据CoinMarketCap的数据。BTC在4月14日达到历史高点64455.48美元后开始掉头向下,至5月23日达到阶段性低点33139.27美元,期间整体跌幅约为48.59%。同期加密货币市值也从约2.26万亿美元下跌至约1.58万亿美元,市场规模“缩水”约30.09%。

桥水基金达里奥:数字人民币将比数字美元更具竞争力

原文标题:《全球最大对冲基金创始人达里奥:数字人民币将比数字美元更具竞争力?人民币占全球储备货币的份额将很快升至10%到15%左右》 FX168财经报社(北美)讯 周一(5月31日),亿万富翁、全球最大的对冲基金桥水基金(Bridgewater Associates)创始人兼首席执行长达里奥(Ray Dalio)说,比特币在未来几年有望获得发展。

如何进阶成为空投高手?

Hi,小伙伴们。咱们在DeFi世界里赚钱的途径主要有三种,除了参与项目的流动性挖矿和IXO打新币外,最后一种就是领空投(撸毛)。 小白们千万别小看最后这种途径,现在DeFi世界是处于早期发展阶段,到处是机会,能够以撸毛这种方式致富的也是大有人在。 所以今天咱们就带小白们从撸毛的基本逻辑说起,然后再和大家分享一系列实用的工具帮你成为名副其实的空投高手。

随机数在区块链中的应用

近日,OG无涯社区联合创始人红军大叔受邀在PlatON中文Telegram群参加快闪活动,向社区成员分享了关于随机数的小知识,我们将其分享内容奉上以餮读者。 在参与抽奖或抽样的过程中,我们经常听到“随机数”这个词。随机数在密码学中有着非常基础且重要的地位,常用于密钥和安全参数生成。

金色趋势丨市场延续反弹 黄金坑机会再现?

据Glassnode数据显示,目前比特币持有者对比特币的抛售压力处于去年11月以来的最低水平。 CryptoQuant数据显示,目前每天矿工流向交易所的比特币数量处于一年以来的低点,已经从5月份的高峰回落,这证明矿工正在持有比特币。 金色财经报道,谷歌今日出人意料地取消了一项执行了近三年的禁令,即禁止加密货币交易所使用其广告服务。