以太坊 EIP-4844 是坎昆升级的核心内容,它引入了一种全新的交易类型(blob 携带交易)以减少以太坊交易费用。blob 携带交易与常规以太坊交易一样,但有一些额外数据被称为 blob。与当前 calldata 存储交易数据不可变和内存只读相比而言,blob 储存量大得多且非常便宜。
事实上,以太坊开发人员在 EIP-4844 之前就已经提出了几次升级来减少 Gas 费用,但到了 EIP-4844 提议才开始迈向完全分片的发展轨道,实现扩展以太坊且降低 Gas 费用的目标。
如今 EIP-4844 正对以太坊生态产生深远影响,对开发者来说更改变了构建以太坊应用程序的方式与路径。深入了解 EIP-4844 的动机才能让开发者更好地利用这一技术变化,提高 DApp 性能和用户体验。与此同时,真正了解数据可用的要义、掌握 EIP-4844 的应用方法、探索以太坊发展前沿方能进一步提升开发者部署项目的能力。
第 21 期 TinTin Meeting 活动邀请了 EthStorage 技术负责人 Qiang 与关注以太坊 DA 的爱好者们共聚直播间,与大家分享数据可用性(DA)的重要性,探索 EIP-4844 的技术机制,解开大众对 EIP-4844 的普遍误解。活动直播过程中,Qiang 老师与观众们近距离互动答疑,通过案例分享和实际操作让大家深入浅出地把握 EIP-4844。
🚩B 站回放链接:https://www.bilibili.com/video/BV13w411z76c/
浅谈数据可用性,助力实现以太坊发展目标
提交数据入网,实现无许可下载存储
当我们谈到数据可用性这个概念时,或许很多用户认为数据在很长一段时间内都是可用的,偏向使用 Data Publish(DP)来理解数据可用的概念。事实上 Data Availability(DA)可用 V 神描述以太坊 2.0 时使用的一张技术路线图来进行阐述,路线图中每一部分代表以太坊 2.0 的一个重要目标,其中包含了以太坊共识层和以太坊扩容,而 DA 技术贯穿于实现这些以太坊发展目标的始末。
借用 Danksharding 的提出者 Dankrad 的观点来说,DA 是指用户提交数据到网络中一旦被确认,没有任何人能够阻止其他用户对这些数据进行下载。由此,DA 的技术解决方案便是通过广播、转发的方式实现节点扩散,下载来自对等节点的数据区块进行用户数据存储。
直接影响 Rollup 安全,决定抗审查性
以太坊的发展目标是 10W TBS,达成这一目标的现实难题正是水平扩容,引入 DA 技术能够实现项目在无需下载的情况下轻松扩展与验证,容纳更多的数据承载量。除此以外,为何 DA 会对以太网如此重要呢?这主要与以太坊仍以 Rollup 为中心,而 DA 对 Rollup 十分重要有关。大家熟悉的扩容方案比如 Optimism 和 Arbitrum 通过把 Layer2 交易进行打包后实现数据上链,用户可以获得所有区块中的交易数据,但在这个过程中有一个重要方面是抗审查性,而抗审查性主要由 DA 决定。
比如有个人的地址被审查了,但他想从 Layer2 中把个人资金退出来,由于被审查所以无法进行资金打包,那么唯一的办法就是把自己所有在 Layer2 的交易都 repay 一遍,生成提交证明后领取退回资金。因此,DA 对于 Rollup 来说是直接影响其安全性,彰显抗审查性地位的重要技术。
走近 EIP-4844,全新提案解决可扩展性难题
探讨完数据可用性及其实际应用后,Qiang 老师把话题转向了本次分享的重点——EIP-4844。首先,我们需要了解的是 EIP-4844 的技术动机与背景。EIP-4844 也称为 Proto-danksharding,是以太坊全新的技术提案,正能够解决当前以太坊面临的可扩展性难题:数据可用性。EIP-4844 通过引入一个新的 Blob 交易类型作为更便宜的调用数据替代方案,能够将 Rollups 的容量增加 10-100 倍,在不牺牲去中心化的前提下对 Gas 费用的降低有所帮助,让用户获得一些短期可扩展性收益,并为 Danksharding 奠定基础且无需实际对交易进行分片。
其次,EIP-4844 在 EVM 运行层定义了两个新接口——Opcode 和 Precompile。这两个新增接口的最终目标就是能够在不做任何升级的情况下支持更快的 DA 技术运行。
EIP-4844 运行板块与应用交互
当我们具体来看 EIP-4844 的运行过程时,它其实被分成了三个板块:
-
二进制数据对象(Blob):大小固定的 128 KB 数据存储模块,对高级编码来说友好度更佳;
-
简易的 DA 网络:主要用于广播和下载数据的 P2P 网络,与执行层网络原理不同;
-
两大 EVM 新增接口:0x49 用于获得 Blob 的 Data Hash;0x0A 用于验证数据在 Data Hash 及对应 Blob 里;
了解基本概念和组成模块,有利于我们进一步把握 DA 网络和 Rollup 如何与 EIP-4844 实现应用交互。当用户在 L2 上进行交易时,它会被 Rollup 节点打包成进入 Blob 进而构建 Blob 交易,Blob 交易提交到以太坊后采用了一种名为 Sidecar 的设计模型,提供给用户大约 1 个月左右的数据可用存储空间,确保相应的交易安全性能够实现最大化。EIP-4844 的推出对整个加密领域及去中心化金融市场而言都是一样积极的变化,更多智能合约操作、用户自主交易可行性变得更高,在助推 L2 生态繁荣发展的同时,也为用户提供了更丰富的金融工具与服务。
EIP-4844 的未来应用领域畅想
面向未来,EIP-4844 能够实现进一步发展的应用场景与领域又有哪些呢?Qiang 老师也与我们分享了一些他的观察与见解。对于大众来说最为熟知的可能是一些 Layer2 (如 Optimism Rollup 或 ZK Rollup)利用 EIP-4844 去发布数据,进而利用上传数据重新整合为一个以太坊 Layer2 的去中心化存储层。除此以外,我们或许还可以畅想 EIP-4844 能够加速交互式证明的挑战与生成,利用数据解决更多实际难题。
超越 EIP-4844,Danksharding 的技术路线
承继 EIP-4844 的技术路线与应用尝试,Qiang 老师将话题转到了 Danksharding 的介绍与分享。Danksharding 的命名来自以太坊研究员 Dankrad Feist,简单来说 Danksharding 是对 EIP-4844(Proto-Danksharding)进一步的提质升级。在 EIP-4844 技术路线落地后,新的交易格式引入了 Blob,每个区块可以平均额外获得 1MB 的缓存空间;Danksharking 落地应用后,每个区块能额外获得 16MB 的缓存空间,最大允许 32MB。
此外,Danksharking 的存储和验证策略速率更高效。相比 EIP-4844 要求全节点下载数据来说,Danksharking 落地后以太坊节点只需对 Blob 抽样,抽样数据将会分布在全网节点中并能够完成 Data Blob 的组合。值得一提的是,虽然 Danksharking 的技术方案中对每个节点不再保存全量历史数据,但由于以太坊中的节点数量众多,完全可以保证数据备份的需求,因此其安全性、稳定性依然能够得到较大保障。
目前 Danksharking 虽然得到了不少项目的青睐与支持,但背后的风险与挑战仍然存在,也等待更多以太坊开发者的探索与应对。因其验证者无需再下载或保留全量历史数据,Block Builder 仍需上传包含全量 Transaction Data 的 Blob 数据,这对开发者来说是亟待提升的必备技能点,我们期待更多有志于此的 Web3er 能够挖掘更多技术优化路径。
主题分享结束后,直播间观众针对 Qiang 老师分享的 EIP-4844 与 Danksharking 提出了许多应用疑问。Qiang 老师结合演示材料一一进行了答疑解惑,干货满满的 TinTinMeeting 第 21 期在观众意犹未尽的互动讨论中落下帷幕。