几种常见的 ZK-EVM 类型
ZK-EVM 即是围绕以太坊虚拟机(EVM),利用 ZK-SNARK 技术来制作的项目。随着以太坊2.0升级计划的发布,其所新采用的具备高扩展性的 ZK-rollup 也展现在人们的视野当中,一时之间,ZK-EVM 也成为了一个热门的项目,在市场中,诞生了许多各具特色的 ZK-EVM。
这里根据 ZK-EVM 的特性不同,分成了几种主要的类型。
类型一:完全等效以太坊
这种类型是一种和以太坊完全等效的 ZK-EVM。从哈希、状态树、交易数到预编译、共识逻辑等,都和以太坊一致。
这种完全等效的 ZK-EVM,和以太坊的自然有着完美的兼容性,能够无障碍验证以太坊区块,甚至也可以引入到以太坊中,让它更具可扩展性。
当然,完全等效以太坊,也继承了以太坊的一个不足之处。那就是以太坊对于 ZK 技术的兼容性。早期的以太坊设计是没有考虑到 ZK 技术的,因此,在现在的以太坊中,需要大量的额外计算才能进行 ZK 证明。这也意味着证明效率的低下,通常需要花费很多个小时才能完成。
类型二:完全等效 EVM
这是一种追求等效 EVM,而不追求等效以太坊的 ZK-EVM。这种 ZK-EVM 在内部和以太坊并没有多大差异,但在外部表现上,则存在一定的不同,比如区块结构或状态树。
它能够对现有以以太坊为基础设计的应用程序完全兼容,但会对以太坊的机构进行一些细微的修改,以求能够更加高效、快速地生成证明。不过,尽管它有了一定的改进,但依然没有完全解决以太坊中证明时间慢的问题。
类型三:几乎等效 EVM
这种类型的 ZK-EVM 为了缩短验证时间,放弃了一些在 ZK-EVM 比较难以实现的功能,使得它也更容易建设。不过,放弃的这些功能也并没有代价,这使得这些 ZK-EVM 在应用程序兼容 性上存在者不足,有一部分程序想要在 ZK-EVM 中运行,就需要进行重写。
类型四:高级语言等效
这种类型的 ZK-EVM 仅仅只是采用了以太坊中的 Solidity、Vyper 等高级编程语言,用来编写智能合约源代码等。
从设计方面来看,这已经和以太坊有了很大的区别,它直接摆脱了 EVM 中需要对每个步骤都执行的 ZK 证明,直接利用高级代码语言,使得验证时间大幅缩短。
当然,这种 ZK-EVM 尽管验证效率很高,但相应的,它的兼容性就变得比较低,尽管利用 Solidity 或 Vyper 编写的语言也能够正常运行,但很多时候,由于 ZK-EVM 和 EVM 的不同,也容易在一些地方产生问题。
几种常见的 ZK-EVM 类型相关推荐
- 五种常见的DNS攻击类型及应对方式
随着俄乌冲突中网络战的升级,DNS安全成为业界关注的焦点. 无论是去年3月份NSA发布的保护性DNS(PDNS)推荐指南,还是俄罗斯主权互联网的核心--DNS服务在战争期间的大规模启用,都表明DNS安 ...
- 盘点几种常见的DNS攻击类型
由于DNS系统庞大的数据资源以及其天生薄弱的安全防护能力,使得其逐渐成为网络攻击的重点对象.近年来,针对DNS的攻击事件与日俱增,攻击类型也呈多样化.复杂化发展趋势.下面,中科三方就简单介绍下几种常见 ...
- 网页模板设计中5种常见的设计版式类型介绍
在网页模板设计中,页面的排版是重中之重,布局设计不当会影响浏览网页的体验.同样的素材使用不同的设计排版方式,也会让页面设计风格发生翻天覆地的变化.所以,清楚如何设计页面版式,能提早确定各元素布局的位置 ...
- 常见的域名劫持类型及如何修复?
域名劫持是互联网攻击的一种方式,通过攻击域名解析服务器,或伪造域名解析服务器的方法,把目标网站域名解析到错误的地址从而实现用户无法访问目标网站的目的. 所以,当网站被劫持经常会出现如下状况: 1.最为 ...
- 采购订单管理的四种常见类型
采购管理对于任何成功的企业都至关重要.如果你的企业没有统一的采购管理流程,那么你可能无法对你的采购进行解释,并可能犯下代价高昂的采购错误.采购订单或许是有效采购管理流程中最重要的部分.让我们来看看采购 ...
- AI芯片:几种常见类型的AI芯片
引入 近些年来,深度学习网络不断兴起.数据运算量越来越大,对处理器并行处理能力要求越来越高.传统的通用处理器CPU受摩尔定律的影响,已经不能满足大规模的数据处理了.故而,专用AI处理器的设计再一次 ...
- ADC的几种常见类型
ADC的几种常见类型 介绍 种类 1. 逐次逼近型 2. 积分型ADC 3. 并行比较A/D转换器 4. 压频变换型ADC 5. ∑-Δ型ADC 6.流水线型ADC reference 介绍 现在的软 ...
- content-type几种常见类型区别
Content-Type叫做MIME(mediaType)类型,使用Content-Type来表示请求和响应中的媒体类型信息.如果是请求头,它用来告诉服务端如何处理请求的数据,如果是响应头,它用来告诉 ...
- C++8种常见类类型
C++8种常见类类型 前言 大部分面向对象开发工作中都应用了以下部分或者全部的基本类别的类: 1.具体类(concrete class) 2.抽象类(abstract class) 3.接口类(int ...
- java布尔类型比较器_浅谈Java中几种常见的比较器的实现方法
在java中经常会涉及到对象数组的排序问题,那么就涉及到对象之间的比较问题. 通常对象之间的比较可以从两个方面去看: 第一个方面:对象的地址是否一样,也就是是否引用自同一个对象.这种方式可以直接使用& ...
最新文章
- 分布式系统,session共享方案
- Log4j 1使用教程
- CentOS 6.4 i386 版本安装 FastDFS、使用Nginx作为文件访问WEB服务器
- android按钮点击后闪退_CAD如何恢复自动崩溃、闪退的文件?
- Linux 引导管理器 grub2 使用简介
- centos 使用java_如何在CentOS 8上安装Java
- python的递归算法学习(1)
- linux 下显卡优化,[转载]Linux 下 NVIDIA 显卡闭源驱动的一些优化
- 2021-2025年中国丁酸衍生物行业市场供需与战略研究报告
- matplotlib绘制李萨如图(三) 静态3D李萨如图
- java nio ByteBuffer的使用
- Qt网络编程(1):QTcpSocket和QTcpServer的基本使用
- 为何苹果赚取智能手机市场大部分利润?
- windows系统bat批处理 电子教室加卡他卡 伽卡他卡学生端暴力关闭 无敌版
- ESXi服务器CPU睿频检测
- 设计一个分数类java_设计一个学生类,学生类中应包括学号,姓名,语文成绩,数学成绩,英语成绩,同时还要提供两个方法,一个方...
- android二维码
- lintcode backpack
- win10远程桌面连接报错(出现身份验证错误。要求的函数不受支持。CredSSP 加密数据库修正)解决办法
- 浅谈标签传播算法LPA
热门文章
- ssm+mysql电子产品销售-计算机毕业设计源码14948
- 对于脏读,不可重复读,幻读的一点理解,看懂红字很关键
- 5、数据库的基本知识
- Mysql定时器定时删除表数据
- 病毒分析之“驱动人生”挖矿木马分析及其清除方案
- 5.2 对射式红外传感器旋转编码器计次
- Spring AOP 概念及动态代理模式
- linux 网卡起不来,2018-08-23 网卡起不来
- 大数据全攻略:10年老兵带你看尽MaxCompute大数据运算挑战与实践
- android资源加载失败,解决Android WebView拦截url,视频播放加载失败的问题