区块见闻 区块见闻
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 钱包)签署交易。

Pickle Finance:此次攻击涉及许多Pickle协议组件 预计今晚23时修复完成:Pickle Finance刚刚发布博客文章更新攻击进展,博文提到,Pickle的pDAI PickleJar被黑客攻击,19759,355 DAI被耗尽。不久之后,一群白帽黑客接触了核心团队,并开始研究情况。第一步是对事务进行反向工程,看看是否可以编写代码来复制攻击。几个小时后,团队(现在总共有10多人)终于弄明白了是如何执行的,此次攻击这是一种非常复杂的攻击,涉及到许多Pickle协议的组件。就目前而言,似乎没有任何其他基金面临风险。当我们致力于消除攻击矢量的修复工作时,白帽黑客认为我们不应该发布实际攻击的任何细节。虽然我们已采取措施减轻进一步的攻击,但同时我们不想冒险。一旦修复完成,估计大约今日23时,我们将有更多的披露。[2020/11/22 21:42:01]

任何账户都可以设置公钥来创建我们内部的 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 执行器。

标签:KSYzkSyncSYNCZKPzksync币什么时候能买zksync币与zks币SYNC价格ZKPEPE

瑞波币热门资讯
BSC连环惨案

ETH交易手续费不断升高,直至很多人无法接受,ETH用户反转到币安智能链(BSC),平均每笔交易手续费低于0.3美元,凭借低廉的交易手续费和快速的交易效率,在市场中占领一席之地,数据的增长非常迅速,也推动了Defi的迅速发展。

Chia最新耕种池协议全解析

在Chia官方今日举行的视频会议“Chia Pools for Pool Operators”上,创始人Bram Cohen与其团队成员共同分享了Chia耕种池协议相关的最新信息及进展,详细介绍了Chia耕种池协议的设计原则、运行机制及技术背景,并再次确认官方耕种池协议将很快上线。以下内容由“蓝贝壳云储”整理自会议信息,具体内容请以Chia官方为准。

币圈新“韭菜”:从狂欢到失语 信仰打碎再重铸

对于绝大多数人来说,“比特币”早已不是一个陌生的词汇。 他们也许很早就听说过比特币致富的神话,但当时对他们来说,虚拟货币只是一个存在于网络世界中虚幻飘渺、不切实际的前沿概念,远没有钱包里和银行卡账户上的钱那样现实可触。 然而,这样的认知在2021年上半年却悄然发生了变化。

分析:两个指标表明比特币价格尚未触底

交易员们正在使用各种策略来确定比特币价格是否已经触底,但链上活动和衍生品数据暗示情况仍然不稳定。 比特币价格已经见底了吗?据noshitcoins称,衍生品和链上数据显示,未来可能会进一步下跌。 自从比特币在5月12日进行了48%的修正,达到30000美元以来,交易员一直在试图为备受期待的趋势反转计时。这一举动使得价值120亿美元的期货多头头寸被清算。

Matic—亿万富翁的选择 layer2备受瞩目

亿万富翁投资者Mark Cuban投资了Polygon,一个以太坊Layer2扩展解决方案。 Cuban在给CoinDesk的一封电子邮件中证实了这笔投资,但没有透露投资规模和构成。据Messari称,今年迄今为止,Polygon的本地代币MATIC的价格上涨了9535%以上。

解密NFT艺术品:虚拟世界给艺术交易带来泡沫还是机会?

最近,成都画家李建勋拍卖个人画作,获得人民币77554元。画家卖画本是寻常,可李建勋这次卖画的奇特在于——他卖出的不是可悬挂在家中的画,而是这些画的数字编码号(证书)及实物的100%精度数码扫描文件。 故事要从一个月前说起。