您好,欢迎您来到国盈网!
官网首页 小额贷款 购房贷款 抵押贷款 银行贷款 贷款平台 贷款知识 区块链

国盈网 > 区块链 > 合约界面划分重点,合约的机制

合约界面划分重点,合约的机制

区块链 岑岑 本站原创

来源:pseudotheos.mirror.xyz

作者:Pseudotheos

以太坊虚拟机(EVM)是在以太坊区块链上管理状态和执行智能合约的虚拟机。ZkEVMs旨在通过零知识电路证明EVM的实现。这个领域在过去的一年里有了显著的增长,并发展成为一个产业。在这个领域出现了许多不同的项目和社区,每个项目和社区都采用了自己独特的方案来迎接这两种技术交叉带来的挑战和机遇。

比较不同zkEVM项目的一个方面是EVM的兼容性。尽管EVM兼容性是一个连续的媒介,但有两种主要的方案:语言兼容性和字节码兼容性。

为了理解这些方案之间的差异,理解EVM如何执行用Solidity或Vyper等高级语言编写的代码是很重要的。

为了使EVM能够运行smart contract指定的行为,有一个过程:高级语言编译成字节码,与EVM连接。对于坚固性,典型的过程如下:

1.首先,合同是用Solidity编程语言写的,保存为. sol文件。该文件包含合同的函数、变量和其他元素。可靠性代码通常在集成开发环境(IDE)中编写,遵循特定的语法和结构。

2.接下来,编译。sol文件转换成字节码。

用与EVM相同的字节码实现和证明zkEVM被称为“字节码级兼容性”。在字节码兼容的zkEVM中,除了不同的契约部署位置,开发人员的体验没有任何变化。在这个zkEVM上可以使用相同的Solidity代码、编译器和字节码。开发人员可以继续使用他们常用的编程语言和工具,同时利用零知识电路的可扩展性和加密安全性。这种zkEVM需要能够通过处理相同的底层操作码** EVM的行为,并**相同的结果。这包括将操作码映射到定制的ZK电路。从工程的角度来看,这种映射具有挑战性,操作码的映射导致更大的电路和更高的证明生成成本。但是,最终会给开发者带来更简单的体验。

语言级兼容性是指zkEVM与Solidity等高级代码一起运行的能力。开发者仍然可以用Solidity或者其他高级语言编写代码,但是这种高级代码必须被编译成不同于EVM的字节码。这需要一个针对部署契约的zkEVM网络的编译步骤。非EVM字节码可以设计得更加电路友好,从而使证明生成更加有效。

感谢阅读!在Twitter上关注@pseudotheos,获取未来文章的通知。本文基于CC BY-SA版权类型。

脚注

[1]: Solidity先编译成中间语言叫Yul,再编译成字节码。

温馨提示:注:内容来源均采集于互联网,不要轻信任何,后果自负,本站不承担任何责任。若本站收录的信息无意侵犯了贵司版权,请给我们来信(j7hr0a@163.com),我们会及时处理和回复。

原文地址"合约界面划分重点,合约的机制":http://www.guoyinggangguan.com/qkl/178126.html

微信扫描二维码关注官方微信
▲长按图片识别二维码