什么是 danksharding?
作者 John Favole
一种名为 proto-danksharding 的新分片设计,已作为通往完整区块链分片路线图的一部分被提出。由于这个概念太新,许多人尚未理解它。
本文将对 proto-danksharding 以及它将如何帮助 Layer 2 扩容进行全面而易懂的解析。我们开始吧。
什么是分片?
分片指的是将一条区块链拆分成更小的部分,以提升整体效率。
举例来说:与其在 Ethereum Mainnet 上处理一笔价值 100,000 美元的交易,不如将其拆分为十个分片,每个分片承载价值 10,000 美元的交易数据。这样做的目的是缓解网络拥堵。
除了速度之外,分片链还能提供更大的存储空间并降低费用。
需要注意的是,分片是一项需要经历多个阶段才能达到最终形态的实现方案。
什么是 danksharding?
Danksharding 是一种实现合并费用市场概念的分片设计。与常规分片中每个分片有各自的区块和区块提议者不同,danksharding 中只存在一个提议者。
区块构建者负责选择哪些数据和交易进入区块的每个 slot。
Danksharding 与分片相互关联,但二者并不相同。分片是为扩展 Ethereum 而对网络进行拆分的整体设计,而 danksharding 则是实现这一目标的一个步骤。
Tim Beiko——Ethereum 最重要的研究员之一——曾在 Bankless 播客中解释过 Danksharding 这个名称的由来:它是以另一位资深 Ethereum 研究员 Dankrad Feist 的名字命名的。
Danksharding 是如何运作的?
区块构建者提交请求,以确定哪些内容将进入某个 slot(这些 slot 之后会组成一个区块),然后由提议者从中选出出价最高者。一旦某个构建者被选中负责某个 slot,处理整个区块的责任就落在了他们身上。
在某些情况下,预言机也有可能承担区块构建者的角色。根据 Ethereum 团队的说法,采用这种设计的主要原因,是为了遏制矿工目前所拥有的两种不公平权力——也就是最大可提取价值(Maximum Extractable Value,MEV)。
首先,矿工可能会通过选择自己或熟人的交易表现出不公平的偏向。其次,矿工可能只挑选出价最高的交易,从而让数以百万计的其他交易滞留在 mempool 中长达数小时甚至数天。
而在 danksharding 中,没有人能知道某个构建者提交的交易排序列表的具体内容。因此,提议者 的权力受到了限制。
区块构建者与提议者有什么区别?
区块构建者负责构建区块,而区块提议者则负责选择应加入区块的交易头,并相应地进行广播。这两者是协同工作的。
区块构建者将交易打包成 slot 或区块以便加入区块,然后将其提交给提议者进行选择。提议者成功选定一个区块后,区块构建者便会处理该区块。
Danksharding 中的数据可用性抽样
区块链的一个基本原则是透明性。如果一个恶意或无效的区块被添加到链上,可能会对整个网络造成损害。
通常,在 Ethereum 生态系统中,全节点可以向轻客户端——乃至整个网络——提交欺诈证明,作为某笔交易无效的证据。但这种方式只在 rollup 场景下运作良好,在 danksharding 中可能并不完全适用。
矿工可以通过对可用数据进行抽样来验证 danksharded 区块。首先,数据可用性意味着某个哈希背后的底层数据已经在链上发布。在今年的 ETH Dubai 上,Protolambda 将数据可用性解释为_无需许可地重建状态的能力_(permissionless)。
在实践中,这种数据可用性抽样是通过纠删码(erasure codes)实现的。纠删码可以被抽样,从而获取添加到 slot 或区块中的实际数据。
在交易处理完成后,关于何时应从 Ethereum 区块链中删除数据以避免造成吞吐量瓶颈,可能仍会存在争论。
目前的计划是,数据将在一个月后被删除。不过,即使过了这个期限,仍可以通过 Graph Protocol 和区块浏览器等多种方式访问这些数据。
什么是 proto-danksharding(EIP-4844)?
就目前情况而言,要实现完整的 danksharding,仍有许多问题需要解决。这促成了 EIP-4844 提案的诞生,它是一种实现 proto-danksharding 的格式。
该提案旨在实现完整分片所需的核心变更——尤其是交易格式方面的变更。proto-danksharding 这一名称同样源自另一位 Ethereum 研究员 Proto Lambda 的名字。
Proto Lambda 为 danksharding 引入的实际变更被称为二进制大对象(Binary Large Objects),通常简称为 "blob"。事实上,blob 在编程中并不是新概念,在 JavaScript 和 Python 中都存在。但真正新的地方在于,blob 有可能与智能合约产生关联。要更好地理解这一点,我们需要先弄清楚:"什么是 blob?"
什么是 blob(二进制大对象)?
Blob 由区块提议者提出。它们可以被比作_大型包裹_,即能够容纳更便宜数据的大型可携带数据束。每个区块只能容纳有限大小的这类_大型包裹_。从结构上看,一个典型的 blob 包含主体(body)和头部(header)。
Blob 的主体始终存储与交易直接相关的数据内容。而头部则包含较少的信息,例如提议者的签名。
在 proto-danksharding 中,每笔交易始终有一个对应的 blob 孪生体,其最终目的是降低交易成本。为了增强可扩展性,proto-danksharding 中的每个 slot 大致会拥有 1 MB 的数据带宽。
注意:Ethereum 虚拟机只能访问被_封装_在 blob 中的更便宜数据,而无法访问 blob 本身,因为 danksharding 中的交易不会进入常规的 mempool,而是进入一个不同的 mempool。
EIP-4844 与 EIP-4488 有什么区别?
区别在于:EIP-4844 提供的解决方案与整个分片路线图相契合,甚至能加速该路线图的推进;而 EIP-4488 仅仅是尝试暂时缓解当下的问题。
从本质上讲,EIP-4488 试图大幅降低 call data 的 gas 成本。虽然这在短期内会有所帮助,但如果实现了完整分片,这种做法就会失去意义,因为分片将使用 blob。而 EIP-4844 则计划在其交易格式中使用 blob。
不过,我们也应当认识到,这两项提案不必被视为相互竞争或彼此权衡的关系。虽然 proto-danksharding 由于一些工程技术上的问题可能需要一段时间才能实现,但 EIP-4488 可以通过 rollup 来实施,从而解决短期的成本问题。
Proto-danksharding 会降低 gas 费用吗
答案很明确:"不会"。Proto-danksharding 不会降低 Ethereum 的 gas 费用,但会降低 Layer 2 协议的交易成本。
事实上,这个问题在关于 proto-danksharding 的讨论中经常被提及。之所以会产生这种误解,是因为 proto-danksharding 将引入 blob。
即便如此,blob 也只会取代 rollup 通常使用的 call data。因此,Ethereum 协议本身的 gas 费用将保持不变。
事实上,多年来一直关注 Ethereum 生态系统动态的开发者都会认同:目前大多数提案都不会直接影响或显著降低 Ethereum 主协议的 gas 费用,即便是 The Merge 也不例外。
Proto-danksharding 的现状
自今年 2 月早些时候 proto-danksharding 改进提案被提出以来,外界一直在关注其进展情况。
尽管 Ethereum 研究团队仍在解决一些关键问题,但要成为完整分片的先驱,proto-danksharding 仍有很长的路要走。
首先,数据可用性抽样目前仍停留在理论层面,尚未付诸实现。部分原因在于,开发者们仍在讨论:该 Ethereum 改进提案是否应仅实现 point evaluation precompile,而放弃将其与 blob verification precompile 相结合的想法。
事实上,blob verification precompile 在 Layer 2 之间是可以自行实现的。因此,Ethereum 社区正在考虑是否仍有必要对其进行正式规定。
Ethereum 团队正在研究最切合实际的 blob 架构,以及应当采取的最合理的安全措施。
Proto-danksharding 的未来
多年来,Ethereum 网络一直在与吞吐量相对较慢、gas 费用较高的问题作斗争,Ethereum 研究人员也提出了包括分片在内的多种技术解决方案。
Proto-danksharding 是实现完整分片路线图的一条途径,其主要目标是通过以 blob 为核心的交易格式,降低 Layer 2 协议的交易成本。
Ethereum 社区一直致力于推进其模块化目标,即为 Layer 2 区块链提供所需的架构,使其能够在 Ethereum 协议之上实现更具可扩展性的构建。
相关概览
Ethereum2026年7月28日
在 Robinhood Chain 上发行 memecoin
使用 Foundry 和 Alchemy RPC,在 Robinhood Chain 主网上编写并部署固定供应量的 ERC20,或者用 Alchemy CLI 把整个发行流程交给编码代理完成。
Ethereum2025年11月18日
什么是 Ethereum Fusaka 升级?12 个 EIP 的开发者指南
对 Fusaka 升级的实用解析,介绍 12 个核心 EIP,以及它们如何改变 Ethereum 技术栈中的数据可用性、密码学、Gas 成本和验证者操作。
Ethereum2025年5月19日
EIP-7702:Pectra 升级后 Ethereum 开发者快速集成指南
Ethereum 即将迎来 EIP-7702 这一重要升级。以下是面向所有开发者的集成注意事项快速指南。

构建区块链应用
Alchemy 将最强大的 Web3 开发者产品和工具与资源、社区及专业支持结合在一起。