从零开始学 ZK:比较 zkSync Era 和 Polygon zkEVM
zkEVM 们是如何运作的?有哪些不同的证明机制?市场上最早的两款 ZKEVM 前景如何?
翻译:183Aaros
校对:183Aaros
亲爱的 Bankelss 国民🏴,
本期 DeFi Download 我们将为您介绍 zkSync Era 和 Polygon 的 zkEVM。我们将回答以下问题:ZKEVM是如何工作的?有哪些不同的证明机制?市场上最早的两个ZKEVM的前景如何?
之后,我们将深入探讨 MEV-Boost 黑客攻击,并为您提供最新的项目发布信息与 Twitter 观点。
欢迎阅读 DeFi Download⚡️
贡献者:BanklessDAO 作家公会 (Austin Foss, Jake and Stake)
来自 ‘Castle Ethereum,’ Perchy
👉🏼 关注我们
关注我们的 Substack 与 Twitter,获取最新 Web3 前沿资讯与行业动态。
BanklessCN 是 BanklessDAO 授权的国际中文节点,致力于为 crypto 带入亿万参与者,传播最新 Web3 前沿资讯与行业动态,敬请期待我们的每周推送。
从零开始学 ZK:比较 zkSync Era 和 Polygon zkEVM
什么是 ZKEVM?
ZKEVM 是一种尽可能接近 EVM 的 rollup 平台。它们通过将计算转移到链下并使用以太坊作为数据可用层(data availability layer),以提高交易吞吐量、降低交易成本。
基本上,交易由称为“排序器(sequencers)”的 rollup 运算符在链下执行。这些排序器生成用以验证交易正确的证明,然后将该证明发布至以太坊。因为向以太坊发布的交易成本很高,所以这并不是发布整个交易集合,而是通过发布一个小证明来节省数据和 gas 费用。
这样的过程可以类比为数据压缩。想象一下,当我们把一个歌曲库发给别人时,一般都会压缩成容量更小的 zip 文件进行发送,而不是复制粘贴整个文件夹发给别人。
提交给以太坊的压缩数据是一个有效性证明。这种简短的加密证明允许任何人在不需要所有交易数据的情况下都可以验证计算的正确性。事实上,它比“ zip 压缩文件”这个类比的例子能做得更好,无论交易数量如何,这个有效性证明的大小都是相同的 —— O(1)。
ZK 证明系统由两部分组成:链上合约和链下虚拟机。
链上合约存储区块、跟踪存款并监控状态更新。最特别的是验证者合约,它用于验证 rollup 定序器提交的零知识证明。
链下虚拟机是用户提交交易的地方。 Rollup 运营商打包这些交易,并生成提交给链上以太坊合约的有效性证明。
zkSync 和 Polygon 新推出的 ZKEVM(或者至少是他们的 alpha 版本)最近经常出现在新闻中。但是,他们有何相似之处和不同点呢?
相似之处
两者都是 ZKEVM,均生成发布至以太坊 L1 的用户交易证明。它们模仿 L1 以太坊的交易执行环境。 ZK Rollup (ZKRU) 由三个不同的部分组成
一个链下排序器,可对用户交易进行批处理并将其发布到 L1
验证证明正确性的链上合约
链上数据存储(通常是以太坊 L1 智能合约)
与 optimistic rollups 一样,用户通过存入资金或使用第三方跨链桥将他们的资产桥接至 rollup 合约。一旦这些资金在合约中结算,用户就可以连接到排序器网络并生成交易。
用户和开发者将交易提交给排序器,排序器将交易打包并生成由链上合约验证正确性的证明。如果验证者合约不批准证明,则状态不会更改、打包被拒绝。
两者都是 Volitions(译者注:ZK Rollup、Validium、Volition 三种零知识证明扩容方案中的一种)。 Volitions 允许用户选择是否在以太坊 L1 上发布数据。 zkSync 有一个名为 zkPorter(或即将推出)的数据可用性链(data availability chain),而 Polygon 有一个名为 Avail 的数据可用性链。代价则是成本的提升。如果用户想确保交易继承以太坊的安全担保凭证,他们会自愿以更高的成本将其发布到 L1。之前提到的数据可用性层(zkPorter、Avail)的安全担保凭证较少,但成本也更低。
用户可能出现的策略是:每隔一段时间将交易发布至 L1 创建检查点,将交易历史保存在更常设的存储中。该系统可以类比为通用计算:将交易提交到以太坊 L1 就像“保存到磁盘”以进行长期存储,而数据可用性链则起到“内存缓存”的作用。
不同之处
不同的 ZKEVM 方案有不同的权衡。计算的表现力和性能越强,所需的 ZK 系统就越复杂。
ZKEVM 已经存在,但对于 EVM 等效性来说不够通用,或者速度太慢而无法用于生产系统。请注意,专用硬件可以提高速度,但也会增加进入壁垒,从而损害去中心化。
Vitalik 概述了一种对 ZKEVM 进行分类的方法:
zkSync 和 Polygon 的 zkEVM 主要有两个不同之处:
EVM兼容性
如何生成有效性证明
EVM 兼容性
让我们从 EVM 兼容性开始说起。zkSync Era 是语言级等效的。它使用基于 LLVM 的编译器,将 Solidity 代码编译为与 ZKEVM 兼容的 zkSync 自定义字节码(bytecode)。该字节码针对高效生成零知识证明 (ZKP) 进行了优化,从而缩短了证明时间并降低了成为证明者的门槛。
zkSync 的问题是 EVM 与 ZK 不兼容,所以有些东西很难生成证明。例如,KECCAK256 函数不容易转换为 ZKP,因此 zkSync 用自己的设计替换了此函数。
基本上,zkSync 生成的字节码与 EVM 字节码不同。因此,合约可能没有相同的地址,许多依赖 EVM 字节码的现有工具和基础设施无法运行,这限制了可以部署到 zkSync 的工具与基础设施。
然而,由于 zkSync 使用自定义 VM(虚拟机),他们可以为用户提供本地帐户抽象(native account abstraction),而不需要 EIP-4337。通过利用基于 LLVM 的编译器,他们可以允许开发人员使用 C++ 和 Rust(即将推出™)等语言部署合约。
另一方面,Polygon ZKEVM 是部分字节码级等效的。因此可移植众多的基础设施,此外,它与大多数以太坊应用程序也完全兼容。部分等效于字节码的原因是省略了难以为哈希函数和预编译合约(precompiled contract)调用生成证明的操作,换来的是更快的 ZKP 速度,尽管不如 zkSync 快。
Polygon 将 EVM 字节码转换为自己的零知识汇编语言(zkASM)用于生成有效性证明。
证明生成:SNARKs 与 STARK
zkSync 使用名为 PLONK 的 SNARKs 来生成任意类型流程的有效性证明。
PLONK 通过可信设置(trusted set up)生成通用共享秘密(universally shared secret)。这个“通用参考字符串”(CRS,common reference string)只需要创建一次,就可以在后续的 ZKP 生成中重复使用。 CRS 就像一颗种子,它创造了维持安全性所需的随机性,并具有 O(1) 安全模型。换句话说,想确保 CRS 足够随机,整个过程中仅需一个诚实角色就够了。
PLONKs 是久经实战考验的 zk 技术之一(3 岁了)。 zkSync 与 Vitalik 等加密社区的几位知名成员合作生成了他们的 CRS。
zkSync 使用 SNARKs,而 Polygon 则使用了 STARK。STARK 依赖于哈希函数而不是 CRS,因此不需要进行可信设置。但是与 SNARKs 相比 ,STARK 的计算量更大、验证时间更长、证明(ZKP)更大。因此,实际上 Polygon 的 ZKEVM 采用了 SNARKs 和 STARK 的技术组合。
Polygon 的 ZK 节点首先生成的是 STARK,之后再生成 SNARKs 用以确认 STARK 的正确性,最后将该 SNARKs 发布至以太坊。Polygon 生成证明的细节繁多,为了简单起见,我们在此不会详细介绍STARK 递归和 Polygon“聚合器”,如果您有兴趣了解更多信息,请查看他们的文档。
因为 STARK 比 SNARKs 大,向以太坊发布的数据越多,成本就越高,而这种机制降低了发布有效性证明的成本。这种 2-proof 方案基本上是将交易数据压缩成一个小证明(STARK),然后进一步压缩证明(SNARKs),最终将 gas 成本降低 90% 以上。
值得注意的是,zkSync 还没有通证,但 Polygon 在设计 ZKEVM 时考虑到了 $MATIC。
排序者必须以 $MATIC 代币的形式支付费用,以获得提出批量交易的权利,从而推动对 $MATIC 代币的需求。作为对他们服务的回报,排序者将获得用户支付的交易费用作为奖励。
总结
自 3 月推出以来,zkSync Era 的 TVL 迅速积累倒了令人印象深刻的 2.47 亿美元,而 Polygon 的 ZKEVM 仅为 370 万美元。这可能是由于用户对撸 zkSync 的代币更感兴趣,而 Polygon 已经推出了 $MATIC,使用 zkEVM 的动机并不明确。
Polygon 和 zkSync 都在竞相研发最兼容 EMV、可投产的 ZKRU。实事求是的说,创新的步伐令人惊叹。
L2 战争已经开始,而我们目前唯一能清楚的就是局势并不明朗。 Arbitrum 和 Optimism 的 TVL 分别为 $6.44B 和 $2.02B,仍然让 zkSync 相形见绌。虽然其中一些可以归因于他们代币的发行,但我认为除此之外还有很多事要做。 EVM 等效性很重要,这就是为什么他们有如此多的活动。
虽然 ZKRU 有明显的优势,但 ORU(译者注:Optimistic Rollup)没有理由不开发自己的解决方案并追赶领先者。他们已经拥有更大的生态系统和更大的平台来收取费用、推动发展。问题是:ORU 供应商开发 ZKRU 的速度是否可以快于 ZKRU 供应商获取用户的速度?
我认为 zkSync 推迟代币部署是明智的。这些以加密为基础的平台就像篝火,而代币就像一罐汽油。在有足够的项目和用户支撑前部署代币,火虽然会燃烧得很旺,但很快就会变小。另一方面,等待项目和用户采用量有机提升就像收集柴火一样,火会以稳定的速度燃烧,直到万事俱备只欠东风时部署代币。
代币是一次性的东西,而那些必须部署 V2 令牌的项目大部分已经死了。
行动步骤
📖 阅读 zkEVMs: 以太坊可拓展性的未来 | Galaxy Digital
⛏️ 深入了解 不同种类的 ZK-EVMs | Vitalik
🎧 收听 zkSync Era 主网上线 | Bankless Shows
🎧 收听 Polygon zkEVM 上线 | Bankless Shows
如何利用 MEV-Boost
作者:Austin Foss
最大可提取价值(MEV)对于所有投入其中的玩家来说都是一个无情的游戏;但更不幸的是,其他这个游戏也给其他用户带来了风险。
普通用户可能对这样的做法持负面看法是可以理解的,而这也促使了一些新想法的提出,比如 MEV 燃烧 —— 剥夺 MEV 机器人及其操作者的大部分经济激励。去年,DeFi Download 提到了 Elemental 的“Karma 案例研究:0xbad 的故事”,其中一个以其以太坊地址命名的 MEV 机器人通过套利机会从不知情的用户身上获取了近 180 万美元;立刻赚取了 800 ETH。当天晚些时候,0xbad 被黑客攻击超过 1100 个 ETH,之后他们尝试要求黑客归还他们的 ETH,黑客对此回答说:“你们想过那些正常操作的普通人吗?”
在 Halborn Security 发表的另一篇文章中,作者 Rob Behnke 将 MEV 机器人的这种行为称为“......对其他区块链用户的寄生剥削......”MEV 非常不受欢迎,因为这些机器人对普通用户来说可能是无情的。 MEV 参与者对完全知道自己在做什么的其他参与者也同样无情,正如 4 月初发生的一次漏洞利用所证明的那样。
MEV 上的 MEV 入侵
在世界标准时间晚上 11 点 29 分,区块编号 16964664,一个恶意提议者,轮到一个验证者来提议一个区块,利用了用于运行 mev-boost 兼容中继的软件中的一个错误。 MEV-boost 是一种协议,不同的中继可以使用不同的客户端参与 —— 类似于使用相同协议(geth、besu、erigon 等)的不同以太坊客户端。
根据 Flashbots 团队在事件发生大约两天后发布的事后分析,作者 Bert Miller 报告说,这种利用是由于“大多数 mev-boost 中继(mev-boost-relay,Dreamboat)中的一个漏洞”而成为可能的(弱点)。…… ”在这种情况下出了问题“更至关重要的是,无论该区块是否被信标节点拒绝,中继仍会将内容透露给提议者。”
在区块构建者和提议者之间有中继,其作用是对验证者隐藏区块的内容,直到验证者承诺提议该区块。如果没有对提议者隐藏内容,那么构建者的 MEV 可能会被提议区块的验证者窃取。
当这个恶意验证者签署/提议中继修改后的、无效的区块时,中继仍然会向提议者透露该区块的主体,提议者然后可以构建一个新区块,为他们自己的利益选择和重新排序交易 —— 提案人获利 2000 - 2500 万美元。
资源
资源
不幸的是,对于这种利用,几乎没有任何形式的追索权;如果有办法,谁会是遭受损失的一方?正如我们在开始时所看到的,对 MEV 机器人的普遍看法并不是特别有利。在经过验证的区块中,有几笔交易将资金发送给五个单独的 MEV 机器人。他们是利用有利可图的交易策略的好演员,还是以我们看到的 0xbad 进行 MEV 实践的方式获取资金的黑帽?
当然,MEV 机器人不能对 Flashbots 对其中继软件中的意外错误负责,因为它是根据 AGPL-3.0 许可发布的,没有任何保证或责任。 Flashbots 能否追踪攻击者利用他们的软件?不太可能,因为它们既不是被利用者损坏的,也不是操作该特定继电器的。
在同一份检测报告中,伯特解释说,被“利用”的有问题的 relay 是 Ultra Sound Relay。如果漏洞利用需要攻击者访问运行中继的系统,UltraSound.money 背后的团队可能有资格追究损失,但根据对该漏洞的描述和实施的补丁,访问权限并不是必需的。
https://twitter.com/zenith_owl/status/1642867903874646016?s=20
因此,鉴于此事件的性质,即使是 MEV 机器人操作者自己想,也没有任何法律追索途径,提出恶意区块的验证者是否应该受到惩罚这一问题。是的,从某种意义上说,他们是在利用 mev-boost-relay 软件获利数千万美元后,验证者仅被削减 1 ETH(当时约为 1800 美元)。这是因为验证者仍然必须签署一个无效的块头,该块头源自最初从中继检索到的修改后的块,满足它们可能被削减的条件之一。
权益证明奖励和惩罚
通过为同一个插槽提议和签署两个不同的块
通过证明一个区块“包围”另一个区块(有效地改变历史)
通过“双重投票”证明同一区块的两名候选人
由于对上海升级的利用已经发生,这使得这个恶意提议者背后的运营商,在 Etherscan 上被称为 Sandwich the Ripper,可以用他们剩余的 31 ETH 退出信标链。
启示
只要有机会,恶意行为者会毫不犹豫地为自己的利益行事,即使面对网络的最大利益和 1 ETH 的罚没。总的来说,必须继续依赖经济激励措施,以确保损害网络的可信中立性是无利可图的。
项目发布 🎉
精选更新,助您了解 DeFi 生态现状
OpenSea Pro 上线
OpenSea 的 NFT 聚合器 OpenSea Pro 现已上线
面向 OpenSea 高级用户
横扫NFT市场
https://twitter.com/openseapro/status/1643314687134556160
MetaMask 添加“购买加密货币”功能
允许用户在 MetaMask 扩展中购买加密资产的新法币入口
在 8 个网络中提供 90 多种代币
支持 189 个国家/地区,跨越 8 个不同的网络,包括 L2
https://twitter.com/MetaMask/status/1645446587131346946
MakerDAO 批准了 Coinbase 保管库
将 5 亿美元的 USDC 从 PSM 转移到 Coinbase Vault (RWA014)
MakerDAO 将在每月计算的 USDC 上每年赚取 2.6%
USDC将在冷库中保存
Maker 可以在提款请求后的 24 小时内访问 USDC
https://twitter.com/MakerDAO/status/1649117864086097920
吱吱鸟鸣
来自全 DeFi 生态的 🔥 与 🧊 之推
BANK 实用程序(BanklessDAO 代币)
BANK 有超过 5,000 名持有者,是加密货币中持有最广泛的社交代币之一。那么不禁要问,我们的BANK用在什么地方最好呢?以下五个协议将允许您将 BANK 存入流动资金池并获得奖励。要开始,只需单击名称,连接到应用程序,按银行过滤,然后开始赚取被动收入。
https://twitter.com/banklessDAO/status/1511896239255822340
⚖️ Balancer
Balancer 有两个 80/20 的流动性池,这意味着你需要在池中存入 80% 的 BANK 和 20% 的 ETH。以太坊上有一个矿池,Polygon 上有另一个矿池。提供流动性后,您将收到 LP 代币。留意投资这些 LP 代币的机会。两个 Balancer 流动性池中有近 500,000 美元。
🍣 SushiSwap
SushiSwap 有一个 50/50 的 BANK/ETH 池。与 Balancer 一样,您将收到 LP 代币,虽然您还不能将它们押在 SushiSwap 的温泉农场上,但您将来可能会这样做。流动性提供者在所有交易中赚取与其池份额成比例的 0.25% 的费用。 SushiSwap 池的流动性略高于 100,000 美元。
🦄 Uniswap
Uniswap V3 流动性池为 50/50 BANK/ETH,并为 Rari Fuse Pool 提供价格预言机。通过存入 Uniswap 池,您可以获得费用并帮助在 Rari 上进行借贷。该池目前拥有超过 500,000 美元的流动性。
🪐 Arrakis
您还可以为 Arrakis Uniswap V3 池提供流动性。该比率约为 2/1 BANK/ETH。这个池是新的,只有 6,000 多美元的流动资金。将来,您可以在协议中抵押您的 BANK/ETH LP 代币以获得额外奖励。
👋🏼 加入 BanklessCN🏴
如果你有志向在 DAO 的组织形式下体验贡献的乐趣,想更近距离的体验区块链与 Web3 的迅猛发展,欢迎加入 BanklessDAO 以及 BanklessCN Discord 频道。一起深入 DAO 的兔子洞,投身前沿的 Web3 实践:
以中文作为交流语言,与讲中文的朋友们一道探索 BanklessDAO
深度参与全球最知名、最前沿的 DAO 协作
收获最前沿的一流 Web3 知识
学习 DAO 的工作方法,包括 Discord、Dework、Notion、Multi-Sig 等 DAO Toolings 的应用
以及更多 …
BanklessCN 是 BanklessDAO 授权的国际中文节点,致力于为 crypto 带入亿万参与者,传播最新 Web3 前沿资讯与行业动态。
免责声明
本快讯内容不含任何财务或税务建议。本快讯内容所含信息仅供学习参考使用,不构成投资、税务或其他建议,亦不构成投资决策或其他决策的依据。本快讯内容非税务建议,任何税务的有关建议请向所在地的税务主管部门咨询。请读者们做好自己的研究。
信息披露。我可能会不时在本快讯中添加指向我使用的产品的链接。如果您通过这些链接之一进行购买,作者可能会收到佣金。此外,Bankless 的作者们持有加密货币资产,请在此处查看我们的投资披露信息。