来源:pseudotheos.mirror.xyz
作者:Pseudotheos
以太坊虚拟机 (EVM) 是在以太坊区块链上管理状态和执行智能合约的虚拟机。zkEVMs 旨在通过零知识电路来证明 EVM 的执行,这个领域在过去的一年里已经有了显著的增长并扩张为一个行业。在该领域涌现了许多不同的项目和社区,每个项目和社区都采取了自己独特的方案来应对这两种技术交叉带来的挑战和机遇。
对比不同 zkEVM 项目的一个维度是 EVM 的兼容程度。虽然 EVM 兼容是一个连续介质,但有两种主要的方案:语言层面的兼容和字节码层面的兼容。
由六名专门从事证券法及相关领域的法律学者提交了一份法庭之友陈述,支持Coinbase与美SEC的法律诉讼:金色财经报道,由六名专门从事证券法及相关领域的法律学者组成的小组提交了一份法庭之友陈述,支持加密货币交易所 Coinbase 与美国证券交易委员会(SEC) 的法律诉讼。这群法律学者向位于纽约南区的美国地方法院提交了他们的法庭之友陈述。利用他们对证券法的理解,他们着手阐明这些法律框架错综复杂的历史基础。
在他们的文件中,法律从业者认为,豪伊测试所概括的联邦先例承认“投资合同”需要预期业务收入、利润或资产。总体而言,法学界人士主张法院在解释“投资合同”的范围时应严格遵循“投资合同”的既定定义。[2023/8/13 16:23:23]
要理解这些方案之间的区别,很重要的一点是了解 EVM 如何执行用 Solidity 或 Vyper 等高级语言编写的代码。
数字艺术收藏平台Verse启动融资并拟发布新品:金色财经报道,数字艺术收藏平台Verse在社交媒体宣布即将推出一款最新产品,同时还将向实体画廊(包括纽约现代艺术博物馆)开放其平台,允许画廊向访客展示数字艺术作品,旨在打破线上线下壁垒让没有加密货币背景的用户也能参与到数字艺术市场。此外,Verse还宣布启动新一轮融资,但只允许经过认证的投资者参投,目前 Verse 已推出一个认证网页供有兴趣的投资者申请加入本轮融资。[2023/7/15 10:56:49]
为了使 EVM 能够运行智能合约所指定的行为,有这样一个过程:高级语言被编译成字节码,与 EVM 相连接。对于 Solidity,典型的流程如下:
早期风投公司Ansible Ventures完成800万美元募资,将重点投资Web3领域:11月10日消息,总部位于越南胡志明市的早期风险投资公司 Ansible Ventures 宣布完成 800 万美元募资,计划在 pre-seed 和种子轮阶段投资大约 15 家初创公司,重点关注的核心投资领域为 Web3 应用、消费互联网和 SME/MSME。[2022/11/10 12:44:27]
1. 首先,合约是用 Solidity 编程语言编写的,并保存为一个 .sol 文件。这个文件包含合约的函数、变量和其他元素。Solidity 代码通常使用集成开发环境 (IDE) 编写,并遵循特定的语法和结构。
Bitfarms在阿根廷的大型矿场开始运营:金色财经报道,比特币矿企Bitfarms位于阿根廷的大型采矿场已经开始运营。该矿场于9月16日启动,目前在第一阶段有10兆瓦(MW)的采矿电力,此后将扩大运营规模以在明年全面投入运营。Bitfarms预计它将为实现该公司2023年的采矿目标贡献50兆瓦。
据该公司称,这将是其最现代化的,也是最大的采矿业务。(Bitcoin.com)[2022/9/19 7:05:08]
2. 接下来,使用 Solidity 编译器将 .sol 文件编译成字节码。字节码是一种有效存储的、机器可读的操作码表示,可以在 EVM 上执行。操作码 是 EVM 能够直接解释和执行的低层级指令。编译过程包括几个步骤,如语法检查、类型检查和优化,以确保字节码的正确和有效的。
3. 一旦合约被编译成字节码,它就可以被部署到以太坊。这通常涉及到向交易池发送一个带有合约字节码的交易。该交易最终被纳入以太坊区块,然后合约被创建。
4. 合约部署后,它可以与以太坊上的其他合约和用户进行互动。
上述流程描述了合约如何被部署到以太坊。部署到 zkEVM 的流程将根据它是字节码层面兼容的还是语言层面兼容的而有所不同。
执行和证明具有与 EVM 相同的字节码的 zkEVM 被称为“字节码层面兼容”。在字节码兼容的 zkEVM 中,除了合约部署地方的不同,对开发者的体验没有任何改变。这种 zkEVM 上可以使用同样的 Solidity 代码、编译器和字节码。开发者可以继续使用他们往常使用的编程语言和工具,同时还可以利用零知识电路的可扩展性和加密安全性。这类 zkEVM 需要能够通过处理相同的低层级操作码和复制相同的结果来复制 EVM 的行为。这涉及到将操作码映射到自定义的 ZK 电路上。从工程的角度来看,这种映射是具有挑战性的,而且操作码的映射导致更庞大的电路和更高的证明生成成本。然而,它最终会给开发者带来更简单的体验。
语言层级兼容性是指 zkEVM 与高级代码 (如Solidity) 一起运行的能力。开发者仍然可以用 Solidity 或其他高级语言编写代码,但这种高级代码必须被编译成与 EVM 不同的字节码。这需要一个特定于部署合约的 zkEVM 网络的编译步骤。非 EVM 的字节码可以被设计为更加电路友好,从而使证明生成更高效。
感谢阅读! 在 Twitter 上关注 @pseudotheos 以获得未来文章的通知。本文基于 CC BY-SA 版权类型。
脚注
: Solidity 首先被编译成一种中间语言,称为 Yul,然后再编译成字节码。
金色早8点
金色财经
Odaily星球日报
欧科云链
澎湃新闻
Arcane Labs
深潮TechFlow
MarsBit
BTCStudy
链得得
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。