当前位置: 首页 > news >正文

区块链知识系列 - 系统学习EVM(四)-zkEVM

区块链知识系列 - 系统学习EVM(一)
区块链知识系列 - 系统学习EVM(二)
区块链知识系列 - 系统学习EVM(三)

今天我们来聊聊 zkEVM、EVM 兼容性 和 Rollup 是什么?

1. 什么是 Rollup

rollup顾名思义,就是把一堆交易卷(rollup)起来变成一个rollup交易,所有节点接收到这个rollup交易之后,不去执行被卷起来的逻辑,而只去接受这些逻辑的执行结果。因此这个rollup交易所需要的gas会远小于执行这些交易的gas。

2. EVM (以太坊虚拟机)

在这里插入图片描述

虚拟机的一些示例操作码:

  • 堆栈操作 —— PUSH1(向堆栈添加一些内容)
  • 算术运算 —— ADD(加数字),SUBTRACT
  • 状态操作——SSTORE(存储数据),SLOAD(加载数据)
  • 事务操作——CALLDATA、BLOCKNUMBER(返回有关当前执行事务的信息)

独特的需求

以太坊使用自定义虚拟机,而不是调整现有的 VM,因为它有独特的需求:

  • 每一个操作都必须有“成本”来防止滥用(因为所有节点都运行所有的交易)
  • 每一个操作必须确定(因为所有节点都将同意更改后的状态)
  • 我们需要专门针对区块链的概念(如智能合约,交易)
  • 一些复杂操作需要成为原语(如密码学)
  • 交易必须是沙盒的,没有I/O或者外部状态访问

3. 以太坊兼容性

然而,人们所说的“EVM 链”通常不仅仅只是镜像这个运行时环境。有几个主要规范始于以太坊并已成为事实上的全球标准:

  • Solidity(一种编译成 EVM 字节码的高级语言)
  • 以太坊的 JSON-RPC 客户端 API(与以太坊节点交互的规范)
  • ERC20/ERC721(以太坊代币标准)
  • ethers.js(一个与以太坊接口的网络库)
  • 以太坊的密码学(例如 keccak256 作为散列函数,ECDSA 签名在 secp256k1 上)

在这里插入图片描述

4. ZK-EVM

keccak256,它的电路形式比STARK友好的哈希函数(如Poseidon,Pedersen)大1000倍

选择一:证明 EVM 执行轨迹

选择二:自定义虚拟机 + 操作码支持

选项三:自定义虚拟机+转译器

StarkNet
这是 StarkWare 对 StarkNet 采用的方法,这是目前最先进的通用 Rollup。

zkSync

每个团队遵循的不同策略:
在这里插入图片描述

5. Vitalik 的 zkEVM 类型

在这里插入图片描述

最早要到 2022 年底,以太坊上才会有“生产级”智能合约 Rollup
在这里插入图片描述
由于这种不成熟的状态,对于需要在不影响以太坊安全性的情况下进行扩展的开发人员来说,特定于应用程序的Rollups仍然是最强大的选择。

参考: https://mp.weixin.qq.com/s/cFNNTAtrDwLZ35yzxDlLsA


往期精彩回顾:
区块链知识系列
密码学系列
零知识证明系列
共识系列
公链调研系列
BTC系列
以太坊系列
EOS系列
Filecoin系列
联盟链系列
Fabric系列
智能合约系列
Token系列
http://www.lryc.cn/news/8589.html

相关文章:

  • Leetcode.2341 数组能形成多少数对
  • C++复习笔记10
  • leaflet 纯CSS的marker标记,不用图片来表示(072)
  • Elasticsearch:使用 intervals query - 根据匹配项的顺序和接近度返回文档
  • 无法决定博客主题的人必看!如何选择类型和推荐的 5 种选择
  • 数字化转型的成功模版,珠宝龙头曼卡龙做对了什么?
  • 转换矩阵、平移矩阵、旋转矩阵关系以及python实现旋转矩阵、四元数、欧拉角之间转换
  • 中国地图航线图(echarjs)
  • Python正则表达式中group与groups的用法详解
  • c++练习题7
  • MySQL学习
  • C语言(强制类型转换)
  • 搭建hadoop高可用集群(二)
  • CentOS升级内核-- CentOS9 Stream/CentOS8 Stream/CentOS7
  • 【基础篇】一文掌握css的盒子模型(margin、padding)
  • 重生之我是赏金猎人-漏洞挖掘(十一)-某SRC储存XSS多次BypassWAF挖掘
  • Wails简介
  • 滑动窗口 AcWing (JAVA)
  • vue小案例
  • 阅读笔记3——空洞卷积
  • CSS系统学习总结
  • 阿里一面:你做过哪些代码优化?来一个人人可以用的极品案例
  • Android NFC 标签读写Demo与历史漏洞概述
  • 亿级高并发电商项目-- 实战篇 --万达商城项目 六(编写角色管理、用户权限(Spring Security认证授权)、管理员管理等模块)
  • 博视像元获近5000万元融资,主攻半导体前道及锂电高端部件供应
  • SpringCloud-断路器Hystrix
  • JavaScript精简笔记
  • MySQL常用函数汇总
  • 100M网口客户电脑插上网线就断线,自己工厂正常,是什么问题导致?
  • 从零开始学习无人机 00 硬件配置