如果您是非技术人员,刚接触加密货币区块链并且想了解 zkSync 的基础知识,那么您来对地方了。 我的目标是以我能够理解的方式向您解释这项尖端技术。 如果我能掌握这个 zkRollup 协议的概念,你也能。 虽然本文的主要重点是 zkSync 以及它计划如何成为扩展以太坊的最终游戏,但我还将涉及许多不同的要点,这些要点将使您更好地理解整个加密货币。 我们将讨论的第一个主题是以太坊,因为它是 zkSync 构建于其上的第 1 层基础。
以太坊简介
以太坊是由 Vitalik Buterin 于 2015 年共同创立的第 1 [1] 层智能合约区块链。作为第一个具有智能合约的项目,以太坊具有先发优势。 在竞争中领先的好处使以太坊成为最强大的生态系统,也是 [2]Defi 和 [3]NFT 的主要区块链,这是当今加密领域的两个最大用例。 以太坊为其网络做出贡献的活跃开发者数量至少是任何其他区块链的两倍。 开发人员的这项活动直接促成了以太坊在链上拥有最多的 [4] Dapps 和 TVL(锁定的总价值)[5]。 TVL 代表其用户存入给定协议的法定计价资产的总和。 该指标反映了协议的需求和使用情况。 先发优势和开发人员活动在以太坊的成功中发挥了重要作用,但我认为最重要的因素是社区和开发人员在开发和优化网络时对 [6] 去中心化的承诺。 你可能想知道,“如果以太坊这么棒,为什么它需要 zkSync 的帮助?”。 在加密货币中,有一个短语称为“区块链三难困境”,指的是没有区块链可以拥有完美区块链所需的所有三个组件:去中心化、安全性和可扩展性。 相反,这些领域中的一个或多个领域的好处通常需要在另一个领域做出妥协。 如果您曾经使用过以太坊区块链,我相信您已经知道哪个组件需要帮助。 虽然以太坊因其去中心化和安全性而备受推崇,但可扩展性仍然是其主要问题。
以太坊远非完美
目前,以太坊每秒仅处理大约 20 笔交易。 相比之下,Visa“理论上”每秒可以处理多达 65,000 笔交易。 这意味着如果以太坊找不到更有效地处理交易的方法,它将无法促进全球采用。 由于以太坊是最活跃的区块链,无法快速处理大量交易,因此网络经常会变得拥堵,尤其是在牛市中。 去年,当 Yuga 实验室(Bored Ape Yacht Club 的母公司)发布“Otherside”NFT 土地销售时,一名用户为 2 块数字土地支付了 44,000 美元的汽油费。 Gas 费用是使用以太坊的原生代币以太币或大多数人所说的 ETH 在以太坊网络上执行任何功能所支付的费用。 最初,以太坊的 gas 费用结构是基于市场的; 愿意支付最多费用的用户将优先处理他们的交易。 这引发了竞价战,发送一笔简单交易的成本可能高达数百美元。 这是正确的; 如果您想向您的朋友发送价值 20 美元的 ETH,汽油费可能会花费您超过 500 美元。 值得庆幸的是,那些日子已经过去了……对吗? 不幸的是,以太坊的汽油费情况仍然很糟糕。
为了降低 ETH 的 gas 费用,EIP1559(EIP——以太坊改进提案)于 2021 年 8 月 5 日实施。关于 EIP1559 的一个常见误解是它旨在降低 gas 费用,但这是不正确的。 相反,该提案旨在使汽油费更具可预测性。 对于 EIP1559,每个 [7] 区块都有一个基本费用,费用由前一个区块的满满程度决定。 使用滑动比例,从前一个区块到下一个区块的价格变化范围可以从 -12.5% 一直到 +12.5% 以及介于两者之间的任何位置。 例如,如果前一个区块是完全空的,则下一个区块的基本费用将减少 12.5%,如果前一个区块是完全满的,则下一个区块的基本费用将增加 12.5%,如果前一个区块刚好填满一半不会对以下块进行更改。 使用这种模型,用户可以给出称为“优先费用”的提示,并且用户愿意支付的费用越高,他们的交易进入新区块的速度就越快。 现在,如果网络拥塞并且用户希望将他们的交易放在下一个区块中,那么 500 美元的费用将更容易预测。 我可以想象 ETH 用户现在欢呼雀跃(讽刺)。 好吧,我想你们明白了,以太坊速度慢,而且非常昂贵。 开发人员试图解决区块链三难困境的一种方法是在现有区块链之上构建协议,并以其优势弥补底层区块链弱点的方式构建协议。 建立在第 1 层区块链之上的项目将被称为第 2 层区块链或第 2 层扩展解决方案。 我在这里告诉你,zkSync 不仅会解决困扰以太坊网络的可扩展性问题,还会在与第 2 层协议交互时大大提高其安全性。
物质实验室
首先让我简要介绍一下 zkSync 的起源。 2018 年,Alex Gluchowski(乌克兰人)和 Alexandr Vlasov(俄罗斯人)共同创立了“Matter Labs”,并将公司总部设在德国柏林。 早期的 Matter Labs 团队主要由工程师组成,但随着公司的发展,团队变得更加多元化。 根据 Matter Labs 网站,他们的使命宣言是“将以太坊扩展到数十亿用户,充分保留其最有价值的特性——免许可、免信任和弹性——以保护和增强全球经济自由。” 为了实现这一目标,Matter Labs 创建了第 2 层扩展解决方案 zkSync,并于 2020 年 6 月 15 日在以太坊主网上发布了它。
ZK-rollups
zkSync 是一种 ZK-rollup 技术,是建立在以太坊之上的第 2 层扩展解决方案。 首先,zkSync 和 ZK-rollup 中的“zk”代表“零知识”,就像在零知识证明中一样。 零知识证明的概念起源于 1985 年的三个人,其中之一是 Algorand 区块链的创始人 Silvio Micali。
· 什么是零知识证明? 在加密领域,ZK 证明是一种方法,其中一方(证明者)可以在不泄露任何基础信息的情况下向另一方(验证者)证明陈述是真实的。 zkSync 的 ZK 证明称为有效性证明。
· 什么是汇总? rollup 是一种将大量交易捆绑在一个批次中的技术,该批次在链下计算和压缩 [8] 为 ZK 证明(有效性证明),然后发送到验证者合约,数据将被放置在该合约上-链。 这允许批量交易以大大降低的成本一次性全部执行到以太坊主网上。
· rollups 在第 1 层区块链上增加了更多的吞吐量并降低了用户费用这一事实正是将这项技术定义为第 2 层扩展解决方案的原因。 吞吐量是区块链处理有效交易的速率。
加入 zkSync
目前,zkSync 2.0 正处于其路线图的 Baby Alpha 里程碑。 在路线图的这个阶段,主网已经上线,内部测试的访问权限有限。 尽管 Dapps 只能在测试网上构建和移植,用户仍然可以在 zkSync 的 1.0 版主网上接收、存入和相互转移资产。 要使用 zkSync,用户需要先从以太坊主网 [9] 桥接资金。 最简单的入门方法是首先设置一个 MetaMask 钱包,从交易所购买一些 ETH,将 ETH 从交易所发送到 MetaMask 钱包,然后将 ETH 桥接到 zkSync。 上有教程 https://docs.zksync.io/userdocs/tutorials 可以帮助完成这个过程(那里也有很棒的 zkSync 2.0 测试网教程)。 一旦用户在他们的第 2 层账户上有资金,他们就可以将这些资金发送给 zkSync 区块链上的另一个人。 在发送资金之前,用户必须签署交易,这可以通过选择“授权在 zkSync 上发送”提示来完成,此后将弹出来自 MetaMask 的通知,您将看到“签名”提示,仅如果您同意交易,请选择此项。 签署交易就像给区块链你的认可印章。 那么,一旦这笔交易被发送,幕后会发生什么?
Basic Order of Operations
· 交易签署后,它将被发送给操作员(也称为证明者或定序器,具体取决于他们执行的功能)。
· 一旦运营商收到足够的交易来填满整个区块,他会将它们捆绑在一起,然后创建一个有效性证明。
· 来自每笔交易的少量数据连同有效性证明将被发送到验证者,在这种情况下是以太坊第 1 层验证者智能合约。 有效性证明(ZK 证明)和交易数据将允许验证者合约验证交易的合法性和顺序。
· 一旦验证者合约确认交易的顺序和合法性,[10] 状态变化将发布到以太坊区块链上。 这是操作的基本概述。 我知道我们还没有涵盖其中一些术语的含义,但别担心; 我们将进一步详细说明每个步骤。
砰砰声
负责以数学方式生成 zkSync 1.0 有效性证明的特定证明算法是一种称为 PLONK 的证明方案。 PLONK 是“Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge”的缩写。 用外行的话来说,这只是说明了使用可以验证的单个语句(有效性证明)以数学方式生成证明的方法。 PLONK 也被认为是 SNARK,但我们将在一分钟内进行讨论。 要实施 PLONK,需要有一个可信的设置。 简单来说,受信任的设置意味着必须相信为设置做出贡献的人是诚实的。 对于这个被标记为安全的特定可信设置,它需要启动一次,并且只需要 1 个人在为设置做出贡献的团队中诚实行事。 幸运的是,这个可信设置的小组由 176 人组成,其中大部分由受人尊敬的加密爱好者和 Vitalik Buterin 组成。 在此过程中,将有一个通用参数将用于运营商的有效性证明以及验证者合约。 这使得验证者合约在数学上有可能知道有效性证明是否为真。 在初始运行通过后,它变得不可信,因为证明方案已被证明是合法的。 从这一点开始,用户将能够依赖数学而不是人。 PLONK 之所以通用,是因为它是一种非常通用的证明方案,可以使用多项式的力量验证 zkSync 上的所有不同程序。
没有必要让每个 Dapp 都有自己专门的证明方案,这将要求每个 Dapp 都有自己的可信设置,从而增加安全风险。 zkSync 2.0 计划实施另一个称为 RedShift 的证明方案。 RedShift 将是一个 ZK-STARK,但在我们开始之前让我们先回顾一下 ZK-SNARK。 SNARK 代表 Succinct Non-interactive Argument of Knowledge。 让我们分解一下。 在这种情况下,“简洁”指的是所有交易的大量计算被压缩成有效性证明的形式,需要更少的数据需要存储在链上,这反过来会导致更便宜的费用。 非交互式知识论证意味着操作员和验证员之间不会来回互动; 运营商只会向验证者发送一个零知识证明声明,验证者合约要么接受其有效性,要么不接受。 RedShift 被视为 STARK 或透明 SNARK。 STARK 中的 T 代表透明,而所有其他字母在两个词中的含义相同。 这里从 ZK-SNARK 到 ZK-STARK 的区别在于,不需要在 Operator 和 Verifier 之间共享公共参数来使证明方案起作用,因此不需要可信设置,因此它是称为通透。 由于这种设计,ZK-STARKS 不易受到量子计算机攻击,这与 ZK-SNARK 不同。

(这张图片描述了 Merkle 根是如何创建的。) 操作员和验证员
现在您已经了解了这项技术的核心是如何构建的,让我们继续下一步。 一旦用户从他们的第 2 层 zkSync 钱包发送资金,签名的交易就会到达运营商。 目前,Operator 节点由 Matter Labs 团队运营,但是一旦他们认为协议已正确开发,他们将向公众发布 Operator 节点,使其更加去中心化。 一旦有足够的交易填满整个区块,运营商就会将所有交易打包成一个批次并创建有效性证明。 为了创建有效性证明,运营商使用来自批量交易的数据来执行链下计算,以数学方式证明交易的顺序和合法性,有效性证明将充当计算的压缩表示。 有效性证明以及来自该批次每笔交易的极少量数据将被发送到验证者合约。 交易数据将向验证者智能合约显示网络的更新 [11]Merkle 根(新状态),而有效性证明将向其证明这些状态变化是准确的。 Merkle 根验证并跟踪区块链上所有交易和状态变化的顺序。 Merkle 根显示了网络的当前状态,还允许用户能够追溯每笔先前交易的路径。 一旦交易数据和有效性证明被发送到以太坊验证者智能合约,智能合约将快速验证有效性证明并更新区块链上的 Merkle 根状态。 ZK 证明确保永远不会执行无效交易。 交易数据将存储为调用数据。 存储的调用数据保证用户可以随时将他们的资金从第 2 层提取到第 1 层,即使 zkSync 验证器离线并且永远不会返回,因为数据将始终存储在以太坊主网上以证明合法所有权。 这称为数据可用性。
如果这还不够令人印象深刻,zkSync 使用一种称为递归 PLONK 验证的策略。 根据 Alex Gluchowski 的说法,有一个单独的电路专门用于递归证明。 中间电路的唯一目的是获取多个有效性证明并生成聚合有效性证明并将其发送到第 1 层进行验证。基本上,其工作原理是将有效性证明在树状结构中相互合并。 产生新的有效性证明的次数越多,它将代表的交易总数就越多(类似于上图的 Merkle 树的结构)。 发送到第 1 层验证者合约的单个有效性证明最多可以聚合 20 个正常块。 zkSync 的 zkRollup 使用递归证明为协议提供了高达 3,000 TPS(每秒交易)的吞吐量,使数千笔交易能够同时得到验证,并且用户只需支付一小部分费用。 想想看,zkRollup 只是等式的一部分。

(这张图片突出显示了数据的存储位置,具体取决于用户是否拥有 zkRollup 或 zkPorter 帐户。) zk波特
一旦 zkSync 2.0 上线,它将发布另一种与其 zkRollup 非常相似的技术,但有一些关键的变化。 Matter Labs 团队将 zkPorter 描述为“大规模采用加密货币的引擎”。 我不认为我可以通过解释这项技术真正具有开创性的潜力来做到公正。 ZkPorter 将比 zkSync 的 zkRollup 更能降低费用并提高吞吐量。 费用将比 zkRollup 费用低 100 倍以上(请记住,汇总费用已经比以太坊第 1 层费用低 100 倍)。 它将通过每秒提供超过 20,000 个事务来显着提高理论上的最大吞吐量,这几乎是 zkSync 的 zkRollup 的 10 倍,是以太坊主网的约 100 倍。
什么是 zkPorter 以及它如何实现这些壮举? 首先 zkPorter 被归类为一种意志,这意味着用户数据可以存储在链外或链上。 因为 zkSync 将能够通过 zkRollup 提供链上服务和通过 zkPorter 提供链下服务,所以 zkSync 将被归类为自愿。 这些费用将比 zkRollup 费用便宜 100 多倍,因为更多数据被保存在链下。 zkSync 计划通过将链下数据发送到“守护者”网络来实现这一目标。 监护人将由 zkSync 代币持有者组成,他们将跟踪所有状态变化并确认数据可用性。 至少有 2/3 的监护人必须在每个区块上签名才能存储用户数据。 虽然完整的 Merkle 根数据存储在 Guardians 的链下,但最终状态 [12] 哈希仍将在以太坊主网上更新以及将由以太坊验证者合约验证的有效性证明,这确保了所有交易和状态更改有效。 由于主网区块链只会存储新的状态,没有交易数据,用户将支付极低的费用。 然而,这些便宜的费用是有成本的,因为 Merkle 根数据保存在链外,因此不能保证用户能够将他们的资金桥接到他们的第 1 层账户。 如果没有 Merkle 根状态变化的完整记录,用户就无法向第 1 层链证明谁是真正的所有者。 用户将不得不依靠监护人的股权证明网络来保护他们的数据。 zkPorter 没有提供与 zkSync 的 zkRollup 一样多的安全保证,但它仍然比其他第 2 层扩展解决方案(如侧链和乐观汇总)提供更多的安全性。
zkPorter 存在 zkRollup 没有的风险,如果超过 1/3 的守护者进行恶意行为,他们将能够停止块生产并停止网络。 幸运的是,Matter Lab 的团队已经为此做好了计划,他们正在设计一种强制退出机制,以便能够将所有用户资金从 zkPorter 中取出,但 Guardians 的股份将保持冻结状态。 如果超过 2/3 的守护者作恶,他们可以冻结 zkPorter 上的所有账户,此时连强制退出机制都不起作用。 话虽如此,人们并没有真正的动机去攻击网络,因为交易只能通过 zkPorter 上的有效性证明来执行,运营商和监护人永远不能窃取用户资金。 最坏的情况是资金可能被冻结。 如果 Guardians 勾结并冻结所有 zkPorter 账户,这意味着他们也冻结了他们在此过程中的所有股份,除非他们出于某种政治原因这样做,否则这样做是没有意义的,尽管不太可能仍然有可能。
因此,正如您所见,zkPorter 提供了令人难以置信的吞吐量和低廉的费用,但代价是安全性稍差。 每个用户都必须权衡他们的风险承受能力,并考虑他们使用 zkSync 区块链的用例。 例如,zkSync 用户可能会使用 zkRollup 向 defi 应用程序发送 10 ETH,并使用 zkPorter 进行交易,这将改变他们正在玩的元宇宙游戏中剑的颜色。 zkRollup 和 zkPorter 上的账户和智能合约也将能够相互无缝交互。 在我们继续之前,我只想重复一些事情,Operator 和 Guardians 永远不能窃取用户资金,因为资金可以在任何 zkSync 系统上移动的唯一方法是使用有效性证明!
费用
我经常听到的一个问题是“zkSync 费用怎么这么便宜?”。 答案当然是因为 zkRollup 和 zkPorter 允许将数千笔交易汇总到一个批次中,然后作为单个交易进行验证。 zkRollup 所需要的只是有效性证明和有限的交易数据,而不是每笔交易都通过其所有交易数据在以太坊主网上进行验证。 zkPorter 需要存储的数据就更少了。 主网上进行的只是有效性证明,交易数据通过 Guardian 网络存储在链外。 除了将一批交易作为单个交易进行验证并且将非常有限的数据上链用于 zkRollup 之外,费用低得离谱的另一个原因是所有拥有作为验证批次一部分的交易的用户将分摊费用。 这意味着交易费用将由数千名用户分摊。 考虑 zkSync 和以太坊费用的最简单方法是将其视为几乎像一个存储单元,任何时候 zkSync 用户放下要存储在以太坊主网上的数据,他们都会为此付费,去的项目越多入库费用越高。 当用户在 zkSync 上进行第一笔交易时,他们将不得不支付一次性账户激活费。 一旦在 zkSync 1.0 上激活了一个帐户,就会为用户关联的以太坊地址生成一个新的私钥-公钥对。 然而,zkSync 2.0 将不需要用户支付激活费。 由于注册是在 L1(第 1 层)区块链上进行的,因此费用将支付给以太坊质押者,这将比在 L2(第 2 层)上进行此功能更昂贵。 在 zkSync 1.0 上接收资金不需要注册费或激活费。 交易费用基于 3 个主要因素:
将发送到以太坊区块链的数据量。
交易时的以太坊gas价格。
Cost to compute and generate a validity proof along with the transactions.
平均而言,当用户在 zkSync 上发送 ERC 20(在以太坊上创建的代币)和 ETH 代币时,与使用以太坊主网相比,他们“分别”支付的费用不到 1/100 和 1/30。 除了 zkSync 上的费用更便宜之外,它们还可以通过 Uniswap 上列出的任何代币支付,至少价值 500 美元的流动性和 CoinGecko 上列出的代币价格。 用户可以使用此页面 https://zkscan.io/explorer/tokens/ 查看他们要发送的令牌是否已在支持的令牌列表中列出。 如果未列出,用户可以单击同一页面上的“添加新令牌”按钮并手动注册令牌。
安全
zkSync 不仅可以提供更高的吞吐量和更便宜的费用,而且还具有最高的安全性。 如果以太坊主网上的验证者合约没有执行有效性证明,则任何交易都无法在 zkSync 上成功发送。 如果 ZkRollup 用户认为在 zkSync 上进行审查,他们总是可以使用强制交易,这允许用户绕过 zkSync 服务器节点,并在他们想要的任何时候直接将交易发送到以太坊主网。 这两个特性确保 zkRollup 上持有的资金与以太坊主网上持有的资金具有同等的安全保障。 ZkSync 和以太坊相辅相成,zkSync 继承了以太坊的 layer 1 安全性,而以太坊则继承了 zkSync 的可扩展性优势。 这是一个巨大的功能,因为通常在将资金从一个区块链桥接到另一个区块链时,桥接黑客很容易受到攻击。 zkSync 和以太坊之间的验证桥要安全得多。 据报道,在 2022 年 8 月,今年已经有超过 20 亿美元的用户资金损失归咎于网桥黑客攻击。 Vitalik Buterin 发表了一篇详细的 Twitter 帖子,标题为:“我关于为什么未来将是多链,但不会是跨链的论点:桥接的安全性存在基本限制跨越多个“主权区”。 Vitalik 说,他相信我们将拥有一个未来,多个项目将在很大程度上相互独立运作,而跨链未来将项目相互通信,并允许人们将他们的代币价值从一个区块链转移到另一个区块链。其他。 自从这篇文章于今年 1 月发布以来,zkSync 和其他 ZK-rollup 项目在他们的开发中取得了巨大的进步。 ZK-rollup 技术可能会很好地解决导致桥接黑客攻击的跨链易感性这一巨大问题。 我将在标题为“ZK Technology 的未来”的段落中更详细地讨论这一点。
Privacy
当我最初听说加密中的 ZK 证明的概念时,我假设信息会从区块链中隐藏起来。 我一直在想零知识就是这个名字,它一定与保护用户信息的隐私有关。 例如,我假设区块链会以某种方式隐藏我的账户或我账户中的代币总量等信息。 截至目前情况并非如此,ZK 证明的真正用途在于它们简洁,并且可以将大量数据压缩为有效性证明,而需要上链的数据字节量要少得多. 好吧,至少现在是这样。 zkSync 有意识地首先优化缩放,然后在不久的将来关注隐私。 ZkPorter 将使 Dapps 能够将用户信息从区块链中分离出来。 由于 zkPorter 不需要将调用数据存储到以太坊区块链,某些数据将能够保持隐藏状态,因为它将由 Guardians 而不是 L1 区块链存储。 我敢肯定,随着项目越来越接近于在 zkSync 上启动私有 Dapp,Matter Labs 团队将告知公众隐私功能将如何具体实施。
ZK-EVM
在以太坊中处理智能合约的方式是通过以太坊虚拟机 (EVM)。 EVM 是一个基于区块链的全球分布式虚拟机,负责保持以太坊分类账的秩序,并执行主要用 [13]Solidity 编写的智能合约。 EVM 被认为是图灵完备的,这意味着原则上它可以执行任何可能的智能合约,但是 EVM 计算智能合约所需的步骤越多,用户需要支付的 gas 费用就越多。 这实际上就是为什么有些人喜欢将以太坊称为“准”图灵完备的原因,因为虽然理论上 EVM 可以执行任何智能合约,但实际上用户将无法负担复杂智能合约的 gas 费用。 EVM 不是为处理复杂的 ZK 证明而设计的,因为它在 7 多年前设计时,Vitalik 和他的同伙并没有想到零知识证明。 为了解决这个问题,有多个团队正在积极构建他们的 ZK-EVM 版本。 zkSync 的 ZK-EVM 被认为是 EVM 兼容的,这意味着它的智能合约可以在 EVM 上执行。 虽然大多数现有的以太坊智能合约可以立即在 ZK-EVM 上执行,但仍有极少数智能合约需要在 ZK-EVM 执行之前进行更改。 这是因为 ZK-EVM 不是 EVM 等价物。 当我第一次听说 zkSync 的 ZK-EVM 不会等同于 EVM 时,我认为这对该项目不利,但当我深入研究时,我意识到这可以被视为积极的,让我解释一下。 我们不是已经确定 EVM 不是为有效执行 ZK 证明智能合约而设计的吗? 那么,为什么我们希望 zkSync 制作与之匹配的等效 ZK-EVM? zkSync 改变了他们的 ZK-EVM,使其与 EVM 兼容约 98%,这 2% 的差异允许团队进行优化,最终使其成为 ZK 智能合约友好型。 ZK-EVM 实现兼容性的最简单方法是使用 EVM 支持的相同编程语言,如 Solidity、Vyper 或 Yul。 也可以使用其他语言,但需要以 EVM 可以理解的方式编译代码。 最终 zkSync 将实现一种名为 Zinc 的基于 rust 的编程语言。 通过将基于 Rust 的语言引入 zkSync 生态系统,这将使熟悉 Rust 的开发人员有机会立即参与 zkSync 网络。 与 Solidity 相比,Zinc 将使智能合约更具表现力。 因为这种语言是专门为 ZK 智能合约设计的,所以它允许非常快的证明时间,并且 Operator 的硬件要求最低。 这大大降低了成本并使成为运营商变得更容易,这反过来又有助于去中心化。
创建 ZK-EVM 并使其尽可能与 EVM 兼容有两个主要原因。 第一个原因是允许在 zkSync 区块链上使用更通用和更复杂的智能合约。 以太坊第 1 层区块链上的 EVM 只能验证来自 zkSync 链的非常具体和简单的智能合约,但由于 ZK-EVM 是为与零知识证明交互而构建的,它将允许更复杂和通用的智能合约。 一旦 ZK-EVM 验证了有效性证明,ZK-EVM 就可以将最终状态更改转换为 EVM。 ZK-EVM 基本上充当 zkSync 智能合约和以太坊主网之间的中间人。 创建具有 EVM 兼容性的 ZK-EVM 的另一个主要原因是允许以太坊主网上的现有智能合约、Dapp 和工具 [14] 尽可能顺利地移植到 zkSync 区块链。 这将是将充满实用性的活跃社区带入 zkSync 区块链的最快途径。 从以太坊移植项目的开发人员和其他构建者可能需要在部署到 zkSync 之前对其代码进行小的更改。 这是因为 ZK-EVM 是 EVM 兼容的,而不是 EVM 等价物。 与 EVM 等效的 ZK-EVM 可以在 L1 和 L2 之间无缝移植 dapp 和智能合约,而无需对代码进行任何更改。

(此图显示了从第 1 层到第 3 层的扩展潜力。)
最后,我将总结 Matter Labs 团队成员 Steve Newcomb 在 SmartCon 2022 上关于使用 ZK 技术的加密空间的未来的演讲。 首先,Steve 讨论了区块链的三个不同层,第 1 层当然是以太坊,第 2 层是只有 zkRollup 的 zkSync 的基础层,然后是第 3 层,其中有 zkRollup、zkPorter、tokenomics、隐私、Hyperbridges/Hyperchains。 史蒂夫表示第 3 层是真正神奇的地方,他们计划无限扩展,不仅通过增加吞吐量和低廉的费用,而且在安全方面。 史蒂夫画了一幅图,他谈到了移植现有的第 1 层区块链,一旦它们进入 zkSync,这将被称为“超链”。 这将使现有的 L1 有机会与以太坊建立原生桥接,而不是让它们容易受到桥接黑客攻击的当前非原生桥接。 在 Hyperchains 和 Ethereum 之间来回转移资产不会有风险,因为它都将通过有效性证明进行验证。 这将解决一个巨大的安全问题。 超链还可以决定它们是私有的还是公共的,这意味着它们可以选择是否要将某些用户数据保密。 史蒂夫的下一个想法将被视为扩展的压轴戏。 我怎么强调都不为过,这是多么具有开创性。 如果所有第 2 层(其他 ZK 和 Optimistic rollup)项目都可以就标准化的 ZK-EVM 和标准化的 Operator 达成一致,并像第 1 层的每个项目一样成为超链,第 3 层上的每个项目都将相互链接。 最终,这将使所有第 3 层项目成为一个由相同的 ZK-EVM 和 Operator 绑定在一起的内聚组。 这将为难以置信的规模化系统带来最大的安全性。 我认为 Steve 演讲的关键要点在于,如果加密社区能够在第 3 层之上宣布通用标准化,所有涉及的项目都可以获得共享安全性和更高的可扩展性。 这将使跨链桥过时,可能解决当今加密面临的最大问题。 在 90 年代,TCP/IP 被宣布为互联网战争的胜利者并成为标准互联网网络,从那时起,绝大多数互联网都建立在它之上。 这是一个类似的想法。 这只是加密空间可能发展的一种方式; 还有无数种其他可能性。 只有时间才能证明 zkSync 对整个加密空间的影响有多大。 我知道我会密切关注这个项目,并将继续为他们的成功加油打气。
如果您想完整观看史蒂夫的完整演讲,请点击此处 - https://youtu.be/0RZvOLKo3Xw

(zkSync 路线图) 现有路线图
Baby Alpha - 这是我们目前在路线图中的位置。 在路线图的这个阶段,主网已经上线,内部测试的访问权限有限。 有一个测试网允许用户在其上移植和构建 Dapps。 于 2022 年 10 月 28 日上线。
Fair Onboarding Alpha - 在这里 zkSync 将欢迎他们所有的生态系统项目。 我最后一次听说他们此时将部署 150 多个项目。 这些项目将能够测试和审核系统,为允许公众参与做好准备。 预计 2023 年第一季度至第二季度。
全面启动 Alpha - 这是大门被踢开的地方,欢迎大家探索 zkSync。 在路线图的这一阶段准备好实施之前,项目将需要在 zkSync 系统上全面测试他们的项目,以进行安全审计、漏洞赏金等,以确保新用户的安全。 Matter Labs 团队表示,现阶段希望看到一流的开发人员以文档、教程和工具的形式提供支持。 预计 2023 年。
Layer 3 Testnet:Opportunity—— 该团队将部署名为 Opportunity 的 Layer 3 Hyperchain 概念证明。 现有项目将能够移植到第 3 层。当这个里程碑到来时,CLI 和 SDK 等开发人员工具将进行重大升级。 预计 2023 年。
去中心化——Matter Labs 的团队目标是将去中心化引入 zkSync 协议、证明生成、区块生产和交易验证。 预计 2023 年。
定义
[1] 智能合约——一种在满足特定条件时自动执行合同或协议条款的计算机程序。
[2] Defi——去中心化金融,一种无需第三方即可提供点对点金融服务的密码技术。
[3] NFT——不可替代的代币,是一种加密资产,具有独特的数字属性,可以将它们彼此区分开来。 它们可以以音乐、艺术、游戏、视频和收藏品的形式出现。
[4] Dapps——在区块链上运行并由智能合约提供支持的去中心化应用程序或程序。
[5] 链上交易已经过验证并记录在区块链上,提供安全性和透明度,因为它们永远不会被更改。
[6] 去中心化——一个由分布式团队控制的网络,而不是一个做出所有决定的中央实体。
[7] 区块——区块链中的基本数据结构。 他们存储交易数据。 一旦交易数据得到验证,区块内的信息将永久记录在区块链上。 记录的区块将被关闭并创建一个新的区块。
[8] 链外——在主区块链之外确认的交易。
[9] Bridge——一种智能合约协议,可以将资产从一个区块链转移到另一个区块链。 (这可以用作名词或动词)
[10] 状态变化——任何时候主网上有记录的变化。
[11] Merkle root——每笔交易都可以用哈希表示。 一个区块中所有交易的组合也可以由单个哈希表示。 随着这个过程的继续,每个新哈希将代表比之前的哈希更多的交易,直到它到达只有一个哈希代表区块链的整体和新状态的地步,这被称为默克尔根或根哈希。 这个过程允许用户能够从整个区块链中追溯和验证数据,同时使用极少量的数据来存储信息。
[12] 哈希——一种将任何输入转换为加密输出的数学函数。
[13] Solidity——一种用于在以太坊区块链上编写智能合约的编程语言。
[14] Port-将Dapps或程序从一个区块链转移到另一个区块链
原文链接:
https://medium.com/@dabillstevens/a-simple-overview-of-zksyncs-complex-technology-aa31e66500cd
如果您是非技术人员,刚接触加密货币区块链并且想了解 zkSync 的基础知识,那么您来对地方了。 我的目标是以我能够理解的方式向您解释这项尖端技术。 如果我能掌握这个 zkRollup 协议的概念,你也能。 虽然本文的主要重点是 zkSync 以及它计划如何成为扩展以太坊的最终游戏,但我还将涉及许多不同的要点,这些要点将使您更好地理解整个加密货币。 我们将讨论的第一个主题是以太坊,因为它是 zkSync 构建于其上的第 1 层基础。
以太坊简介
以太坊是由 Vitalik Buterin 于 2015 年共同创立的第 1 [1] 层智能合约区块链。作为第一个具有智能合约的项目,以太坊具有先发优势。 在竞争中领先的好处使以太坊成为最强大的生态系统,也是 [2]Defi 和 [3]NFT 的主要区块链,这是当今加密领域的两个最大用例。 以太坊为其网络做出贡献的活跃开发者数量至少是任何其他区块链的两倍。 开发人员的这项活动直接促成了以太坊在链上拥有最多的 [4] Dapps 和 TVL(锁定的总价值)[5]。 TVL 代表其用户存入给定协议的法定计价资产的总和。 该指标反映了协议的需求和使用情况。 先发优势和开发人员活动在以太坊的成功中发挥了重要作用,但我认为最重要的因素是社区和开发人员在开发和优化网络时对 [6] 去中心化的承诺。 你可能想知道,“如果以太坊这么棒,为什么它需要 zkSync 的帮助?”。 在加密货币中,有一个短语称为“区块链三难困境”,指的是没有区块链可以拥有完美区块链所需的所有三个组件:去中心化、安全性和可扩展性。 相反,这些领域中的一个或多个领域的好处通常需要在另一个领域做出妥协。 如果您曾经使用过以太坊区块链,我相信您已经知道哪个组件需要帮助。 虽然以太坊因其去中心化和安全性而备受推崇,但可扩展性仍然是其主要问题。
以太坊远非完美
目前,以太坊每秒仅处理大约 20 笔交易。 相比之下,Visa“理论上”每秒可以处理多达 65,000 笔交易。 这意味着如果以太坊找不到更有效地处理交易的方法,它将无法促进全球采用。 由于以太坊是最活跃的区块链,无法快速处理大量交易,因此网络经常会变得拥堵,尤其是在牛市中。 去年,当 Yuga 实验室(Bored Ape Yacht Club 的母公司)发布“Otherside”NFT 土地销售时,一名用户为 2 块数字土地支付了 44,000 美元的汽油费。 Gas 费用是使用以太坊的原生代币以太币或大多数人所说的 ETH 在以太坊网络上执行任何功能所支付的费用。 最初,以太坊的 gas 费用结构是基于市场的; 愿意支付最多费用的用户将优先处理他们的交易。 这引发了竞价战,发送一笔简单交易的成本可能高达数百美元。 这是正确的; 如果您想向您的朋友发送价值 20 美元的 ETH,汽油费可能会花费您超过 500 美元。 值得庆幸的是,那些日子已经过去了……对吗? 不幸的是,以太坊的汽油费情况仍然很糟糕。
为了降低 ETH 的 gas 费用,EIP1559(EIP——以太坊改进提案)于 2021 年 8 月 5 日实施。关于 EIP1559 的一个常见误解是它旨在降低 gas 费用,但这是不正确的。 相反,该提案旨在使汽油费更具可预测性。 对于 EIP1559,每个 [7] 区块都有一个基本费用,费用由前一个区块的满满程度决定。 使用滑动比例,从前一个区块到下一个区块的价格变化范围可以从 -12.5% 一直到 +12.5% 以及介于两者之间的任何位置。 例如,如果前一个区块是完全空的,则下一个区块的基本费用将减少 12.5%,如果前一个区块是完全满的,则下一个区块的基本费用将增加 12.5%,如果前一个区块刚好填满一半不会对以下块进行更改。 使用这种模型,用户可以给出称为“优先费用”的提示,并且用户愿意支付的费用越高,他们的交易进入新区块的速度就越快。 现在,如果网络拥塞并且用户希望将他们的交易放在下一个区块中,那么 500 美元的费用将更容易预测。 我可以想象 ETH 用户现在欢呼雀跃(讽刺)。 好吧,我想你们明白了,以太坊速度慢,而且非常昂贵。 开发人员试图解决区块链三难困境的一种方法是在现有区块链之上构建协议,并以其优势弥补底层区块链弱点的方式构建协议。 建立在第 1 层区块链之上的项目将被称为第 2 层区块链或第 2 层扩展解决方案。 我在这里告诉你,zkSync 不仅会解决困扰以太坊网络的可扩展性问题,还会在与第 2 层协议交互时大大提高其安全性。
物质实验室
首先让我简要介绍一下 zkSync 的起源。 2018 年,Alex Gluchowski(乌克兰人)和 Alexandr Vlasov(俄罗斯人)共同创立了“Matter Labs”,并将公司总部设在德国柏林。 早期的 Matter Labs 团队主要由工程师组成,但随着公司的发展,团队变得更加多元化。 根据 Matter Labs 网站,他们的使命宣言是“将以太坊扩展到数十亿用户,充分保留其最有价值的特性——免许可、免信任和弹性——以保护和增强全球经济自由。” 为了实现这一目标,Matter Labs 创建了第 2 层扩展解决方案 zkSync,并于 2020 年 6 月 15 日在以太坊主网上发布了它。
ZK-rollups
zkSync 是一种 ZK-rollup 技术,是建立在以太坊之上的第 2 层扩展解决方案。 首先,zkSync 和 ZK-rollup 中的“zk”代表“零知识”,就像在零知识证明中一样。 零知识证明的概念起源于 1985 年的三个人,其中之一是 Algorand 区块链的创始人 Silvio Micali。
· 什么是零知识证明? 在加密领域,ZK 证明是一种方法,其中一方(证明者)可以在不泄露任何基础信息的情况下向另一方(验证者)证明陈述是真实的。 zkSync 的 ZK 证明称为有效性证明。
· 什么是汇总? rollup 是一种将大量交易捆绑在一个批次中的技术,该批次在链下计算和压缩 [8] 为 ZK 证明(有效性证明),然后发送到验证者合约,数据将被放置在该合约上-链。 这允许批量交易以大大降低的成本一次性全部执行到以太坊主网上。
· rollups 在第 1 层区块链上增加了更多的吞吐量并降低了用户费用这一事实正是将这项技术定义为第 2 层扩展解决方案的原因。 吞吐量是区块链处理有效交易的速率。
加入 zkSync
目前,zkSync 2.0 正处于其路线图的 Baby Alpha 里程碑。 在路线图的这个阶段,主网已经上线,内部测试的访问权限有限。 尽管 Dapps 只能在测试网上构建和移植,用户仍然可以在 zkSync 的 1.0 版主网上接收、存入和相互转移资产。 要使用 zkSync,用户需要先从以太坊主网 [9] 桥接资金。 最简单的入门方法是首先设置一个 MetaMask 钱包,从交易所购买一些 ETH,将 ETH 从交易所发送到 MetaMask 钱包,然后将 ETH 桥接到 zkSync。 上有教程 https://docs.zksync.io/userdocs/tutorials 可以帮助完成这个过程(那里也有很棒的 zkSync 2.0 测试网教程)。 一旦用户在他们的第 2 层账户上有资金,他们就可以将这些资金发送给 zkSync 区块链上的另一个人。 在发送资金之前,用户必须签署交易,这可以通过选择“授权在 zkSync 上发送”提示来完成,此后将弹出来自 MetaMask 的通知,您将看到“签名”提示,仅如果您同意交易,请选择此项。 签署交易就像给区块链你的认可印章。 那么,一旦这笔交易被发送,幕后会发生什么?
Basic Order of Operations
· 交易签署后,它将被发送给操作员(也称为证明者或定序器,具体取决于他们执行的功能)。
· 一旦运营商收到足够的交易来填满整个区块,他会将它们捆绑在一起,然后创建一个有效性证明。
· 来自每笔交易的少量数据连同有效性证明将被发送到验证者,在这种情况下是以太坊第 1 层验证者智能合约。 有效性证明(ZK 证明)和交易数据将允许验证者合约验证交易的合法性和顺序。
· 一旦验证者合约确认交易的顺序和合法性,[10] 状态变化将发布到以太坊区块链上。 这是操作的基本概述。 我知道我们还没有涵盖其中一些术语的含义,但别担心; 我们将进一步详细说明每个步骤。
砰砰声
负责以数学方式生成 zkSync 1.0 有效性证明的特定证明算法是一种称为 PLONK 的证明方案。 PLONK 是“Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge”的缩写。 用外行的话来说,这只是说明了使用可以验证的单个语句(有效性证明)以数学方式生成证明的方法。 PLONK 也被认为是 SNARK,但我们将在一分钟内进行讨论。 要实施 PLONK,需要有一个可信的设置。 简单来说,受信任的设置意味着必须相信为设置做出贡献的人是诚实的。 对于这个被标记为安全的特定可信设置,它需要启动一次,并且只需要 1 个人在为设置做出贡献的团队中诚实行事。 幸运的是,这个可信设置的小组由 176 人组成,其中大部分由受人尊敬的加密爱好者和 Vitalik Buterin 组成。 在此过程中,将有一个通用参数将用于运营商的有效性证明以及验证者合约。 这使得验证者合约在数学上有可能知道有效性证明是否为真。 在初始运行通过后,它变得不可信,因为证明方案已被证明是合法的。 从这一点开始,用户将能够依赖数学而不是人。 PLONK 之所以通用,是因为它是一种非常通用的证明方案,可以使用多项式的力量验证 zkSync 上的所有不同程序。
没有必要让每个 Dapp 都有自己专门的证明方案,这将要求每个 Dapp 都有自己的可信设置,从而增加安全风险。 zkSync 2.0 计划实施另一个称为 RedShift 的证明方案。 RedShift 将是一个 ZK-STARK,但在我们开始之前让我们先回顾一下 ZK-SNARK。 SNARK 代表 Succinct Non-interactive Argument of Knowledge。 让我们分解一下。 在这种情况下,“简洁”指的是所有交易的大量计算被压缩成有效性证明的形式,需要更少的数据需要存储在链上,这反过来会导致更便宜的费用。 非交互式知识论证意味着操作员和验证员之间不会来回互动; 运营商只会向验证者发送一个零知识证明声明,验证者合约要么接受其有效性,要么不接受。 RedShift 被视为 STARK 或透明 SNARK。 STARK 中的 T 代表透明,而所有其他字母在两个词中的含义相同。 这里从 ZK-SNARK 到 ZK-STARK 的区别在于,不需要在 Operator 和 Verifier 之间共享公共参数来使证明方案起作用,因此不需要可信设置,因此它是称为通透。 由于这种设计,ZK-STARKS 不易受到量子计算机攻击,这与 ZK-SNARK 不同。

(这张图片描述了 Merkle 根是如何创建的。) 操作员和验证员
现在您已经了解了这项技术的核心是如何构建的,让我们继续下一步。 一旦用户从他们的第 2 层 zkSync 钱包发送资金,签名的交易就会到达运营商。 目前,Operator 节点由 Matter Labs 团队运营,但是一旦他们认为协议已正确开发,他们将向公众发布 Operator 节点,使其更加去中心化。 一旦有足够的交易填满整个区块,运营商就会将所有交易打包成一个批次并创建有效性证明。 为了创建有效性证明,运营商使用来自批量交易的数据来执行链下计算,以数学方式证明交易的顺序和合法性,有效性证明将充当计算的压缩表示。 有效性证明以及来自该批次每笔交易的极少量数据将被发送到验证者合约。 交易数据将向验证者智能合约显示网络的更新 [11]Merkle 根(新状态),而有效性证明将向其证明这些状态变化是准确的。 Merkle 根验证并跟踪区块链上所有交易和状态变化的顺序。 Merkle 根显示了网络的当前状态,还允许用户能够追溯每笔先前交易的路径。 一旦交易数据和有效性证明被发送到以太坊验证者智能合约,智能合约将快速验证有效性证明并更新区块链上的 Merkle 根状态。 ZK 证明确保永远不会执行无效交易。 交易数据将存储为调用数据。 存储的调用数据保证用户可以随时将他们的资金从第 2 层提取到第 1 层,即使 zkSync 验证器离线并且永远不会返回,因为数据将始终存储在以太坊主网上以证明合法所有权。 这称为数据可用性。
如果这还不够令人印象深刻,zkSync 使用一种称为递归 PLONK 验证的策略。 根据 Alex Gluchowski 的说法,有一个单独的电路专门用于递归证明。 中间电路的唯一目的是获取多个有效性证明并生成聚合有效性证明并将其发送到第 1 层进行验证。基本上,其工作原理是将有效性证明在树状结构中相互合并。 产生新的有效性证明的次数越多,它将代表的交易总数就越多(类似于上图的 Merkle 树的结构)。 发送到第 1 层验证者合约的单个有效性证明最多可以聚合 20 个正常块。 zkSync 的 zkRollup 使用递归证明为协议提供了高达 3,000 TPS(每秒交易)的吞吐量,使数千笔交易能够同时得到验证,并且用户只需支付一小部分费用。 想想看,zkRollup 只是等式的一部分。

(这张图片突出显示了数据的存储位置,具体取决于用户是否拥有 zkRollup 或 zkPorter 帐户。) zk波特
一旦 zkSync 2.0 上线,它将发布另一种与其 zkRollup 非常相似的技术,但有一些关键的变化。 Matter Labs 团队将 zkPorter 描述为“大规模采用加密货币的引擎”。 我不认为我可以通过解释这项技术真正具有开创性的潜力来做到公正。 ZkPorter 将比 zkSync 的 zkRollup 更能降低费用并提高吞吐量。 费用将比 zkRollup 费用低 100 倍以上(请记住,汇总费用已经比以太坊第 1 层费用低 100 倍)。 它将通过每秒提供超过 20,000 个事务来显着提高理论上的最大吞吐量,这几乎是 zkSync 的 zkRollup 的 10 倍,是以太坊主网的约 100 倍。
什么是 zkPorter 以及它如何实现这些壮举? 首先 zkPorter 被归类为一种意志,这意味着用户数据可以存储在链外或链上。 因为 zkSync 将能够通过 zkRollup 提供链上服务和通过 zkPorter 提供链下服务,所以 zkSync 将被归类为自愿。 这些费用将比 zkRollup 费用便宜 100 多倍,因为更多数据被保存在链下。 zkSync 计划通过将链下数据发送到“守护者”网络来实现这一目标。 监护人将由 zkSync 代币持有者组成,他们将跟踪所有状态变化并确认数据可用性。 至少有 2/3 的监护人必须在每个区块上签名才能存储用户数据。 虽然完整的 Merkle 根数据存储在 Guardians 的链下,但最终状态 [12] 哈希仍将在以太坊主网上更新以及将由以太坊验证者合约验证的有效性证明,这确保了所有交易和状态更改有效。 由于主网区块链只会存储新的状态,没有交易数据,用户将支付极低的费用。 然而,这些便宜的费用是有成本的,因为 Merkle 根数据保存在链外,因此不能保证用户能够将他们的资金桥接到他们的第 1 层账户。 如果没有 Merkle 根状态变化的完整记录,用户就无法向第 1 层链证明谁是真正的所有者。 用户将不得不依靠监护人的股权证明网络来保护他们的数据。 zkPorter 没有提供与 zkSync 的 zkRollup 一样多的安全保证,但它仍然比其他第 2 层扩展解决方案(如侧链和乐观汇总)提供更多的安全性。
zkPorter 存在 zkRollup 没有的风险,如果超过 1/3 的守护者进行恶意行为,他们将能够停止块生产并停止网络。 幸运的是,Matter Lab 的团队已经为此做好了计划,他们正在设计一种强制退出机制,以便能够将所有用户资金从 zkPorter 中取出,但 Guardians 的股份将保持冻结状态。 如果超过 2/3 的守护者作恶,他们可以冻结 zkPorter 上的所有账户,此时连强制退出机制都不起作用。 话虽如此,人们并没有真正的动机去攻击网络,因为交易只能通过 zkPorter 上的有效性证明来执行,运营商和监护人永远不能窃取用户资金。 最坏的情况是资金可能被冻结。 如果 Guardians 勾结并冻结所有 zkPorter 账户,这意味着他们也冻结了他们在此过程中的所有股份,除非他们出于某种政治原因这样做,否则这样做是没有意义的,尽管不太可能仍然有可能。
因此,正如您所见,zkPorter 提供了令人难以置信的吞吐量和低廉的费用,但代价是安全性稍差。 每个用户都必须权衡他们的风险承受能力,并考虑他们使用 zkSync 区块链的用例。 例如,zkSync 用户可能会使用 zkRollup 向 defi 应用程序发送 10 ETH,并使用 zkPorter 进行交易,这将改变他们正在玩的元宇宙游戏中剑的颜色。 zkRollup 和 zkPorter 上的账户和智能合约也将能够相互无缝交互。 在我们继续之前,我只想重复一些事情,Operator 和 Guardians 永远不能窃取用户资金,因为资金可以在任何 zkSync 系统上移动的唯一方法是使用有效性证明!
费用
我经常听到的一个问题是“zkSync 费用怎么这么便宜?”。 答案当然是因为 zkRollup 和 zkPorter 允许将数千笔交易汇总到一个批次中,然后作为单个交易进行验证。 zkRollup 所需要的只是有效性证明和有限的交易数据,而不是每笔交易都通过其所有交易数据在以太坊主网上进行验证。 zkPorter 需要存储的数据就更少了。 主网上进行的只是有效性证明,交易数据通过 Guardian 网络存储在链外。 除了将一批交易作为单个交易进行验证并且将非常有限的数据上链用于 zkRollup 之外,费用低得离谱的另一个原因是所有拥有作为验证批次一部分的交易的用户将分摊费用。 这意味着交易费用将由数千名用户分摊。 考虑 zkSync 和以太坊费用的最简单方法是将其视为几乎像一个存储单元,任何时候 zkSync 用户放下要存储在以太坊主网上的数据,他们都会为此付费,去的项目越多入库费用越高。 当用户在 zkSync 上进行第一笔交易时,他们将不得不支付一次性账户激活费。 一旦在 zkSync 1.0 上激活了一个帐户,就会为用户关联的以太坊地址生成一个新的私钥-公钥对。 然而,zkSync 2.0 将不需要用户支付激活费。 由于注册是在 L1(第 1 层)区块链上进行的,因此费用将支付给以太坊质押者,这将比在 L2(第 2 层)上进行此功能更昂贵。 在 zkSync 1.0 上接收资金不需要注册费或激活费。 交易费用基于 3 个主要因素:
将发送到以太坊区块链的数据量。
交易时的以太坊gas价格。
Cost to compute and generate a validity proof along with the transactions.
平均而言,当用户在 zkSync 上发送 ERC 20(在以太坊上创建的代币)和 ETH 代币时,与使用以太坊主网相比,他们“分别”支付的费用不到 1/100 和 1/30。 除了 zkSync 上的费用更便宜之外,它们还可以通过 Uniswap 上列出的任何代币支付,至少价值 500 美元的流动性和 CoinGecko 上列出的代币价格。 用户可以使用此页面 https://zkscan.io/explorer/tokens/ 查看他们要发送的令牌是否已在支持的令牌列表中列出。 如果未列出,用户可以单击同一页面上的“添加新令牌”按钮并手动注册令牌。
安全
zkSync 不仅可以提供更高的吞吐量和更便宜的费用,而且还具有最高的安全性。 如果以太坊主网上的验证者合约没有执行有效性证明,则任何交易都无法在 zkSync 上成功发送。 如果 ZkRollup 用户认为在 zkSync 上进行审查,他们总是可以使用强制交易,这允许用户绕过 zkSync 服务器节点,并在他们想要的任何时候直接将交易发送到以太坊主网。 这两个特性确保 zkRollup 上持有的资金与以太坊主网上持有的资金具有同等的安全保障。 ZkSync 和以太坊相辅相成,zkSync 继承了以太坊的 layer 1 安全性,而以太坊则继承了 zkSync 的可扩展性优势。 这是一个巨大的功能,因为通常在将资金从一个区块链桥接到另一个区块链时,桥接黑客很容易受到攻击。 zkSync 和以太坊之间的验证桥要安全得多。 据报道,在 2022 年 8 月,今年已经有超过 20 亿美元的用户资金损失归咎于网桥黑客攻击。 Vitalik Buterin 发表了一篇详细的 Twitter 帖子,标题为:“我关于为什么未来将是多链,但不会是跨链的论点:桥接的安全性存在基本限制跨越多个“主权区”。 Vitalik 说,他相信我们将拥有一个未来,多个项目将在很大程度上相互独立运作,而跨链未来将项目相互通信,并允许人们将他们的代币价值从一个区块链转移到另一个区块链。其他。 自从这篇文章于今年 1 月发布以来,zkSync 和其他 ZK-rollup 项目在他们的开发中取得了巨大的进步。 ZK-rollup 技术可能会很好地解决导致桥接黑客攻击的跨链易感性这一巨大问题。 我将在标题为“ZK Technology 的未来”的段落中更详细地讨论这一点。
Privacy
当我最初听说加密中的 ZK 证明的概念时,我假设信息会从区块链中隐藏起来。 我一直在想零知识就是这个名字,它一定与保护用户信息的隐私有关。 例如,我假设区块链会以某种方式隐藏我的账户或我账户中的代币总量等信息。 截至目前情况并非如此,ZK 证明的真正用途在于它们简洁,并且可以将大量数据压缩为有效性证明,而需要上链的数据字节量要少得多. 好吧,至少现在是这样。 zkSync 有意识地首先优化缩放,然后在不久的将来关注隐私。 ZkPorter 将使 Dapps 能够将用户信息从区块链中分离出来。 由于 zkPorter 不需要将调用数据存储到以太坊区块链,某些数据将能够保持隐藏状态,因为它将由 Guardians 而不是 L1 区块链存储。 我敢肯定,随着项目越来越接近于在 zkSync 上启动私有 Dapp,Matter Labs 团队将告知公众隐私功能将如何具体实施。
ZK-EVM
在以太坊中处理智能合约的方式是通过以太坊虚拟机 (EVM)。 EVM 是一个基于区块链的全球分布式虚拟机,负责保持以太坊分类账的秩序,并执行主要用 [13]Solidity 编写的智能合约。 EVM 被认为是图灵完备的,这意味着原则上它可以执行任何可能的智能合约,但是 EVM 计算智能合约所需的步骤越多,用户需要支付的 gas 费用就越多。 这实际上就是为什么有些人喜欢将以太坊称为“准”图灵完备的原因,因为虽然理论上 EVM 可以执行任何智能合约,但实际上用户将无法负担复杂智能合约的 gas 费用。 EVM 不是为处理复杂的 ZK 证明而设计的,因为它在 7 多年前设计时,Vitalik 和他的同伙并没有想到零知识证明。 为了解决这个问题,有多个团队正在积极构建他们的 ZK-EVM 版本。 zkSync 的 ZK-EVM 被认为是 EVM 兼容的,这意味着它的智能合约可以在 EVM 上执行。 虽然大多数现有的以太坊智能合约可以立即在 ZK-EVM 上执行,但仍有极少数智能合约需要在 ZK-EVM 执行之前进行更改。 这是因为 ZK-EVM 不是 EVM 等价物。 当我第一次听说 zkSync 的 ZK-EVM 不会等同于 EVM 时,我认为这对该项目不利,但当我深入研究时,我意识到这可以被视为积极的,让我解释一下。 我们不是已经确定 EVM 不是为有效执行 ZK 证明智能合约而设计的吗? 那么,为什么我们希望 zkSync 制作与之匹配的等效 ZK-EVM? zkSync 改变了他们的 ZK-EVM,使其与 EVM 兼容约 98%,这 2% 的差异允许团队进行优化,最终使其成为 ZK 智能合约友好型。 ZK-EVM 实现兼容性的最简单方法是使用 EVM 支持的相同编程语言,如 Solidity、Vyper 或 Yul。 也可以使用其他语言,但需要以 EVM 可以理解的方式编译代码。 最终 zkSync 将实现一种名为 Zinc 的基于 rust 的编程语言。 通过将基于 Rust 的语言引入 zkSync 生态系统,这将使熟悉 Rust 的开发人员有机会立即参与 zkSync 网络。 与 Solidity 相比,Zinc 将使智能合约更具表现力。 因为这种语言是专门为 ZK 智能合约设计的,所以它允许非常快的证明时间,并且 Operator 的硬件要求最低。 这大大降低了成本并使成为运营商变得更容易,这反过来又有助于去中心化。
创建 ZK-EVM 并使其尽可能与 EVM 兼容有两个主要原因。 第一个原因是允许在 zkSync 区块链上使用更通用和更复杂的智能合约。 以太坊第 1 层区块链上的 EVM 只能验证来自 zkSync 链的非常具体和简单的智能合约,但由于 ZK-EVM 是为与零知识证明交互而构建的,它将允许更复杂和通用的智能合约。 一旦 ZK-EVM 验证了有效性证明,ZK-EVM 就可以将最终状态更改转换为 EVM。 ZK-EVM 基本上充当 zkSync 智能合约和以太坊主网之间的中间人。 创建具有 EVM 兼容性的 ZK-EVM 的另一个主要原因是允许以太坊主网上的现有智能合约、Dapp 和工具 [14] 尽可能顺利地移植到 zkSync 区块链。 这将是将充满实用性的活跃社区带入 zkSync 区块链的最快途径。 从以太坊移植项目的开发人员和其他构建者可能需要在部署到 zkSync 之前对其代码进行小的更改。 这是因为 ZK-EVM 是 EVM 兼容的,而不是 EVM 等价物。 与 EVM 等效的 ZK-EVM 可以在 L1 和 L2 之间无缝移植 dapp 和智能合约,而无需对代码进行任何更改。

(此图显示了从第 1 层到第 3 层的扩展潜力。)
最后,我将总结 Matter Labs 团队成员 Steve Newcomb 在 SmartCon 2022 上关于使用 ZK 技术的加密空间的未来的演讲。 首先,Steve 讨论了区块链的三个不同层,第 1 层当然是以太坊,第 2 层是只有 zkRollup 的 zkSync 的基础层,然后是第 3 层,其中有 zkRollup、zkPorter、tokenomics、隐私、Hyperbridges/Hyperchains。 史蒂夫表示第 3 层是真正神奇的地方,他们计划无限扩展,不仅通过增加吞吐量和低廉的费用,而且在安全方面。 史蒂夫画了一幅图,他谈到了移植现有的第 1 层区块链,一旦它们进入 zkSync,这将被称为“超链”。 这将使现有的 L1 有机会与以太坊建立原生桥接,而不是让它们容易受到桥接黑客攻击的当前非原生桥接。 在 Hyperchains 和 Ethereum 之间来回转移资产不会有风险,因为它都将通过有效性证明进行验证。 这将解决一个巨大的安全问题。 超链还可以决定它们是私有的还是公共的,这意味着它们可以选择是否要将某些用户数据保密。 史蒂夫的下一个想法将被视为扩展的压轴戏。 我怎么强调都不为过,这是多么具有开创性。 如果所有第 2 层(其他 ZK 和 Optimistic rollup)项目都可以就标准化的 ZK-EVM 和标准化的 Operator 达成一致,并像第 1 层的每个项目一样成为超链,第 3 层上的每个项目都将相互链接。 最终,这将使所有第 3 层项目成为一个由相同的 ZK-EVM 和 Operator 绑定在一起的内聚组。 这将为难以置信的规模化系统带来最大的安全性。 我认为 Steve 演讲的关键要点在于,如果加密社区能够在第 3 层之上宣布通用标准化,所有涉及的项目都可以获得共享安全性和更高的可扩展性。 这将使跨链桥过时,可能解决当今加密面临的最大问题。 在 90 年代,TCP/IP 被宣布为互联网战争的胜利者并成为标准互联网网络,从那时起,绝大多数互联网都建立在它之上。 这是一个类似的想法。 这只是加密空间可能发展的一种方式; 还有无数种其他可能性。 只有时间才能证明 zkSync 对整个加密空间的影响有多大。 我知道我会密切关注这个项目,并将继续为他们的成功加油打气。
如果您想完整观看史蒂夫的完整演讲,请点击此处 - https://youtu.be/0RZvOLKo3Xw

(zkSync 路线图) 现有路线图
Baby Alpha - 这是我们目前在路线图中的位置。 在路线图的这个阶段,主网已经上线,内部测试的访问权限有限。 有一个测试网允许用户在其上移植和构建 Dapps。 于 2022 年 10 月 28 日上线。
Fair Onboarding Alpha - 在这里 zkSync 将欢迎他们所有的生态系统项目。 我最后一次听说他们此时将部署 150 多个项目。 这些项目将能够测试和审核系统,为允许公众参与做好准备。 预计 2023 年第一季度至第二季度。
全面启动 Alpha - 这是大门被踢开的地方,欢迎大家探索 zkSync。 在路线图的这一阶段准备好实施之前,项目将需要在 zkSync 系统上全面测试他们的项目,以进行安全审计、漏洞赏金等,以确保新用户的安全。 Matter Labs 团队表示,现阶段希望看到一流的开发人员以文档、教程和工具的形式提供支持。 预计 2023 年。
Layer 3 Testnet:Opportunity—— 该团队将部署名为 Opportunity 的 Layer 3 Hyperchain 概念证明。 现有项目将能够移植到第 3 层。当这个里程碑到来时,CLI 和 SDK 等开发人员工具将进行重大升级。 预计 2023 年。
去中心化——Matter Labs 的团队目标是将去中心化引入 zkSync 协议、证明生成、区块生产和交易验证。 预计 2023 年。
定义
[1] 智能合约——一种在满足特定条件时自动执行合同或协议条款的计算机程序。
[2] Defi——去中心化金融,一种无需第三方即可提供点对点金融服务的密码技术。
[3] NFT——不可替代的代币,是一种加密资产,具有独特的数字属性,可以将它们彼此区分开来。 它们可以以音乐、艺术、游戏、视频和收藏品的形式出现。
[4] Dapps——在区块链上运行并由智能合约提供支持的去中心化应用程序或程序。
[5] 链上交易已经过验证并记录在区块链上,提供安全性和透明度,因为它们永远不会被更改。
[6] 去中心化——一个由分布式团队控制的网络,而不是一个做出所有决定的中央实体。
[7] 区块——区块链中的基本数据结构。 他们存储交易数据。 一旦交易数据得到验证,区块内的信息将永久记录在区块链上。 记录的区块将被关闭并创建一个新的区块。
[8] 链外——在主区块链之外确认的交易。
[9] Bridge——一种智能合约协议,可以将资产从一个区块链转移到另一个区块链。 (这可以用作名词或动词)
[10] 状态变化——任何时候主网上有记录的变化。
[11] Merkle root——每笔交易都可以用哈希表示。 一个区块中所有交易的组合也可以由单个哈希表示。 随着这个过程的继续,每个新哈希将代表比之前的哈希更多的交易,直到它到达只有一个哈希代表区块链的整体和新状态的地步,这被称为默克尔根或根哈希。 这个过程允许用户能够从整个区块链中追溯和验证数据,同时使用极少量的数据来存储信息。
[12] 哈希——一种将任何输入转换为加密输出的数学函数。
[13] Solidity——一种用于在以太坊区块链上编写智能合约的编程语言。
[14] Port-将Dapps或程序从一个区块链转移到另一个区块链
原文链接:
https://medium.com/@dabillstevens/a-simple-overview-of-zksyncs-complex-technology-aa31e66500cd
<100 subscribers
<100 subscribers
Share Dialog
Share Dialog
No comments yet