前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >EIP-4844-blob 简单说明

EIP-4844-blob 简单说明

作者头像
潇洒
发布2023-11-21 13:13:56
2220
发布2023-11-21 13:13:56
举报
文章被收录于专栏:石头岛石头岛

简述

Blob交易是专门为Rollups而设计的特殊交易。 它从 EVM 执行环境中分离出来,并以状态最小化的方式,来促进rollup机制原生嵌入以太坊网络中的实施(包括 optimistic 和 zk)的方式大幅增加交易吞吐量。 大白话就是,为了省钱(手续费)专门设计的一种交易类型。

第一阶段

EIP4844 主要即为第一个阶段所要完成的工作。主要包括:

1.新增一种交易类型,该交易类型新增了一种字段:blob,为该字段设置单独的gas收费标准,且收费较低,rollup 可采用该字段存储数据

2.新增blob会增大区块数据量,新增历史数据清理功能,超过30天的blob数据可以从节点移除,或迁移至第三方去中心化存储

3.blob与 tx 存储分离,并通过一个 commitment 来进行关联,commitment采用 KZG 算法来实现,KZG 算法可以看做类似 merkle 树的证明算法

4.KZG 在 sharding 中扮演着重要的角色,Rollup 校验中除了 KZG,采用别的验证算法都无法达到很好的效果。

数据结构

1.消息与签名

代码语言:javascript
复制
class SignedBlobTransaction(Container):
    message: BlobTransaction
    signature: ECDSASignature
    
class BlobTransaction(Container):
    chain_id: uint256
    nonce: uint64
    max_priority_fee_per_gas: uint256
    max_fee_per_gas: uint256
    gas: uint64
    to: Union[None, Address] # Address = Bytes20
    value: uint256
    data: ByteList[MAX_CALLDATA_SIZE]
    access_list: List[AccessTuple, MAX_ACCESS_LIST_SIZE]
    max_fee_per_data_gas: uint256
    blob_versioned_hashes: List[VersionedHash, MAX_OBJECT_LIST_SIZE]

从上面可以看出,BlobTransaction除了新增了blob_versioned_hashes字段和max_fee_per_data_gas字段外,其余字段基本与eip1559里面交易类型是一样的。 blob_versioned_hashes:首先 将blob数据转化为kzg多项式点。然后将kzg多项式电转换为versioned hash。之所以使用VersionedHash 而不是 KZG 是为了向前兼容,以后可以方便更换为STARK。

2.增加了一种新的OPCODE

这个opcodeDATA_HASH,其对应的值为HASH_OPCODE_BYTE。表示这个opcode的gas成本。

一些问题

1.blob存储和数据结构 Blob数据持久化到共识层,而不是在执行层。 2.blob数据内容是什么 Blob的数据是 L2 里的交易集合或者状态变更,由 Rollup 决定。 3.blob如何和合约交互, 在 L1 的 EVM 里不能访问Blob数据。 但是可以通过versioned hash获取Blob,然后校验kzg,以及versioned hash。 4.blob交易中proof存储在哪 5.blob在共识层和应用层的作用

KZG多项式承诺 EIP4844

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-06-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简述
  • 第一阶段
  • 数据结构
    • 1.消息与签名
      • 2.增加了一种新的OPCODE
      • 一些问题
      相关产品与服务
      对象存储
      对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档