Danksharding,随机抽样验证交易数据的分片方法
这将是抗审查小组的系列文章的第一篇,我们将由以太坊的 EIP-4844 开始,讨论区块链上各种不同的抗审查题目。敬请留意 Uncommons 公众号逢星期五推出的抗审查小组的系列文章!
Danksharding,随机抽样验证交易数据的分片方法
抗審查小組系列 #1
write / Joycelyn
design / Piggy & 瓶子(公眾號封面)
edit / @swiftevo
TL;DR
坎昆升级提出的 EIP-4844,旨在为全面实施 Danksharding 搭建舞台,增强以太坊网络可扩展性。旧的分片已遭淘汰,现在是 Proto-Danksharding(EIP-4844)阶段。
Danksharding 是一种分片方法,它使用数据可用性采样来检查 Blob(Binary Large Objects)之间的数据可用性。以太坊节点将采样随机交易数据,但不是块中的数据,而是 Blob 中的数据。
Danksharding 是为以太坊提出的新分片设计,其核心思想之一围绕着抗审查主题。
PBS 是为了服务 Danksharding 实现而衍生的,PBS 并不是一种具体的实现形式,它是一种设计理念,核心是强调公平和去中心化。
原先维护以太坊所有历史状态数据的全节点,被进一步划分成两个角色:提议者(Proposer)和构建者(Builder) 。
Danksharding 的设计核心思想之一:抗审查性 。Danksharding 作为以太坊新的分片方案以 PBS 和 crList 为特点:通过出块者-打包者分离(PBS)解决 MEV 问题;通过抗审查清单(Crlist),解决了抗审查问题。本文作为抗审查小组系列的第一篇文章,全文概括了 Danksharding 的三步曲。同时介绍了 Blob(Binary Large Objects)及为了 Danksharding 实现而衍生的提议者-构建者分离(Proposer Builder Separation) 设计理念,以完善以太坊网络的公平和去中心化精神。
PBS,原验证者权利分离抗审查的新方案
Merge 后,以太坊的主网变成执行层,Beacon 链变成共识层;而智能合约与网络规则被保留至今。这将导致监管机构通过信标链的验证者来进行区块/交易审查。例如,像 Coinbase,Lido,这样的机构或者项目都开始被列入监管。令人难过的是,这类节点会因为地理位置的原因受制于 OFAC 规定,因此无法挣脱监管政策的束缚。也就是说,只要验证者节点们隶属于美国机构,就需要响应美国政府来对以太坊区块链进行相关审查,这是协议级的审查,可深入到每笔 tx 交易,一旦被审查便不执行打包。
Note:外国资产控制办公室(Office of Foreign Assets Control)是美国财政部下属的一个机构,负责执行对外国个人和组织的经济和贸易制裁,其职责包括管理制裁名单及执行相关的制裁措施。目前依旧存在接近 40% 的节点被 OFAC 强制执行的名单上。理论上,OFAC 是可以掌控一个以太坊账户是否可以进行转账交易等行为。一旦节点上的以太坊账户被 OFAC 制裁,那么以太坊的验证者节点会根据相关政策,将不执行对应的区块打包。
以太坊基金会删除金丝雀安全声明,是否意味着连以太坊都无法保证它的抗审查性呢?追溯到 2022年,Vitalik 作为以太坊创始人在 Twitter 上表示不同意以太坊被美国政府进行协议级别的审查。与之对应的,在技术上也体现了对抗审查的反击态度。携手以太坊基金会积极研究 Block Proposer-Builder Separation methodology 方案,即 PBS(提议者-构建者分离方案)。
提到 PBS ,我们将目光拉回到以太坊创始人对区块链的愿景,在 Endgame 一文中,他认为的 Ethereum 终极形态是⼀个由 Rollups 和 Data Availability 构建起来的新以太坊。区块的生产将主要由中心化的生产者主导,而区块链的验证将由更多资源消耗较低、门槛较低的去中心化部署、无需许可的节点参与。这样做旨在实现去中心化轻量级监督,并同时构建一个真正抗审查的开放网络。
坎昆升级后,以太坊的目标再次向前迈进了一大步。本次升级主要包括两个重要部分:Deneb(侧重于共识层)和 Cancun(针对执行层)。Deneb 部分致力于改进以太坊的共识算法,从而提升网络的可扩展性和安全性。而 Cancun 部分则包含了五项关键的以太坊改进提案(EIP),旨在扩大数据存储并降低成本。其中最值得关注的是 EIP-4844,它为全面实施 Danksharding 打下了基础,从而增强了以太坊网络的可扩展性。EIP-4844 是坎昆升级的最大亮点,引入了 Proto-Danksharding,这是实现完全 Danksharding 的过渡阶段。通过利用数据 Blob,预计将显著降低 Gas 费用(Optimism 预计降低 14 倍 Gas 费用)并提高交易吞吐量。
Danksharding,随机抽样验证交易数据的分片方法
Danksharding 是一种分片方法,它使用数据可用性采样来检查 Blob 之间的数据可用性。也就是说,以太坊节点将采样随机交易数据,但不是块中的数据,而是 Blob 中的数据。
它是如何工作的?通常,Rollup 会处理区块链上的交易,压缩它们并将它们发送到主区块链。这减少了主网络的工作负载,并为其处理其他交易提供了更多空间。但是,在 Danksharding 中,Rollup 将使用 Blob 来处理和存储数据,然后压缩它们并将它们发送到以太坊主网。这就是为什么有些人将 Danksharding 称为 Rollup 分片。
由于 Rollup 的崛起和广泛采用,以及执行分片的复杂性,原本以执行分片为核心的扩展性路线图已被放弃,转而采用数据分片。以太坊团队目前认为,通过 Rollup 扩展以太坊以满足全球需求是可行的。因此,以太坊在合并后计划成为一个强大的结算层和数据可用性层,为 Rollup 提供安全保障。但因为目前的技术还无法实现,所以 2022 年 2 月,Vitalik Buterin 与其他六位贡献者一起创建了 EIP-4844,也称为分片 Blob 交易。此次坎昆升级的重点 EIP-4844,也是为了实现 Proto- Danksharding。
整个 Danksharding 有 3 个阶段:
1.0 Sharding
定义:分片是将区块链网络分割成更小的单元,称为分片或分片链。每个分片都有自己的数据,并且彼此独立。这些分片可以处理和验证自己的交易,从而为主区块链提供比平常处理更多交易的空间。分片相互通信并全部连接到主区块链网络。每个分片向主链提交自己的交易记录。
现状:被淘汰
困境:过去的Sharding技术包括状态分片和交易分片等,但不同分片之间的同步一直是一个难题。目前,要完成大范围网络节点数据的同步,技术上存在很大挑战。这不仅无法解决最大化矿工收益(MEV)的问题,而且可能需要大量的补丁来修复可能出现的各种问题。短期内很难实现,因此现在 Sharding 1.0 被淘汰。
Source: Traditional sharding vs. Danksharding, castle capital. 传统分片设计复杂执行困难,引入 Blob处理和存储数据。在 Danksharding 中, 信标链将存储来自分片的所有数据。要做到这点,信标链和分片数据都要经过由验证者(sharding)组成的 "committee "的验证。
2.0 Proto-Danksharding(EIP-4844)
定义:作为实现 Danksharding 的前身,引入了一种新的交易格式 Blob 。
现状:正在进行中
Blob(Binary Large Objects),区块链上存储交易数据的地方。它作为存储数据的内存空间更大,也不会永远存储数据。本质上 Blob 用于存储大量数据,但只能存储 1 - 3 个月这样很短的时间,因此这种临时存储将导致汇总中的 Gas 费用减少。其主要目标:
增加网络吞吐量
提高2层解决方案的可扩展性
平衡效率和去中心化
3.0 Danksharding
定义:通过 Rollup 处理区块链上的交易,压缩他们并将他们发送到主区块链。但在 Danksharding中,Rollup 将使用 Blob 来处理和存储数据,然后压缩它们发送到以太坊主网。
现状:下一阶段
EIP-4844 提案引入了一种新的交易格式,该格式使用称为 Blob。这些携带 Blob 和寻常数据格式基本相似,只在存储上升级成将大量数据保存在称之为数据湖的非分层存储区域中。需要注意的是,数据仅存储很短的时间,因此这种临时存储将导致汇总中的 Gas 费用减少。
Danksharding 是为以太坊提出的新分片设计,其核心思想之一围绕着抗审查主题。这与之后要讨论的区块提议者分离方案(PBS)和抗审查清单(Crlist)有关。Danksharding 核心思想的最大意义,在于把以太坊 L1 变成了一个统一的结算(Settlement)和数据可用性(DataAvailability)层。
Danksharding 的设计核心思想主要围绕着 中心化出块 + 去中心化验证 + 抗审查性 。具体而言,它主要做了下面三件事:
通过 数据可用性采样(Data Availabiliity Sampling),极大程度的降低了参与网络验证的成本,保持了网络验证的去中心化 。在数据可用性采样中,验证者会随机请求一个特定区块的交易数据。如果区块的 Builder 能够及时提供请求的数据证明(即数据可用性证明),则说明交易数据可供访问,安全性得以保障;反之亦然。
依赖 提议者-构建者分离(Proposer Builder Separation) 。原先维护 ETH 所有历史状态数据的全节点,被进一步划分成两个角色:提议者(Proposer)和构建者(Builder) ,分别负责验证和区块打包。
通过 抗审查清单(Crlist) ,避免了交易被审查的可能性。后续我们将用大量篇幅来对此进行描述,这边我们不过多赘述。
Danksharding 目前一共计划分为 3 个阶段,1.0 时期由于分片同步的技术难度大,无法实现;步入正在进行中的 2.0 阶段,Proto-Danksharding,EIP-4844 后作为以太坊解决的是高交易手续费和低吞吐量的手段之一;当然正式的 Danksharding 时代还未到来,届时尽情期待!
下一篇文章,我们将把目光聚焦在实现 Proto-Danksharding 之一的 PBS (Proposer-Builder separation) 构建者-提议者分离,了解全节点被分为 2 个角色是如何应对抗审查的问题?
Reference
https://www.ethereum.cn/Eth2/proposer-block-builder-separation-friendly-fee-market-designs?
https://ethresear.ch/t/optimised-proposal-commitment-scheme/1314
https://medium.com/@JuliaOfoegbu/danksharding-and-proto-danksharding-8e915b94e166
https://foresightnews.pro/article/detail/40775
https://ethresear.ch/t/proposer-withholding-and-collation-availability-traps/1294/9
https://ethresear.ch/t/alternative-fix-for-proposer-withholding-attack/1268
https://ethresear.ch/t/proposal-confirmation-separation-a-bug-and-a-fix/1261
https://ethresear.ch/t/separating-proposing-and-confirmation-of-collations/1000/4
https://ethereum.org/zh/roadmap/https://www.eip4844.com/
https://vitalik.eth.limo/general/2021/12/06/endgame.html
Uncommons is a public sphere where a collective of Commons Builders explores Crypto Thoughts together.
Uncommons 是一群致力于公共物品建设的 Web3 爱好者、社会建设者和互联网公民自发组织的公益性社区,前身为GreenPill 中文社区。
Notion 社区协作文档 : https://uncommons.notion.site
Telegram 面对面数字花园 : https://t.me/theuncommons
Twitter Global Publicity︰https://twitter.com/Un__commons