文章介绍了以太坊的EIP-4844提案,即Proto-Danksharding,旨在通过引入新的交易类型和数据字段(blob)来优化以太坊的扩展性,特别是对Layer 2 Rollup解决方案的益处。
信息
EIP-4844 已于 2024 年 3 月 13 日通过 Dencun 升级在以太坊主网上实现。
2022 年以太坊最大的变革之一是从工作量证明(PoW)过渡到权益证明(PoS)。现在,以太坊的下一项重大改进 EIP-4844(Proto Danksharding) 计划在今年晚些时候实施。本指南将介绍 EIP-4844 是什么,以及它将如何使以太坊和其他 Layer 2 Rollup 解决方案受益。
在介绍 EIP-4844 之前,你应该了解以太坊当前的架构及其瓶颈。
在之前的工作量证明(PoW)中,存在一条包含共识(即 PoW)和 EVM 逻辑的单一链来运行区块链。后来,在 2020 年,信标链诞生了,这是以太坊向权益证明架构迈出的第一步。直到去年(2020 年 9 月)的巴黎升级(The Merge),以太坊才完全过渡到权益证明共识机制。这包括使执行客户端能够从共识客户端接收指令,并添加了一个新的引擎 API,其中包含用于在执行客户端和共识客户端之间通信的内部 API 方法,因为它们现在是独立的软件。
尽管向权益证明的过渡是扩展以太坊及其兄弟 L2 链(即 Optimism、Arbitrum)的重要进展,但这并不是终点。通过 EIP-4844,以太坊正在采用一种称为分片(Sharding)的架构。这将添加一个数据层(用于存储),它将与执行客户端(EVM)和其他 L2 链交互。该 EIP 的主要好处包括降低 Layer 2 Rollup 解决方案的交易费用。
以太坊的目标是在不牺牲去中心化和安全性的情况下扩展计算能力。为了实现这一目标,数据需要高效存储并易于最终用户检索。提出了一种称为分片的架构来帮助实现这一目标。
分片是一种将数据分布在多台机器上的方法,由于可以更快地处理更多数据,因此可以提高效率。在区块链的背景下,分片指的是将网络划分为更小的组或“分片”,这些组可以并行处理交易。这允许更高的吞吐量,因为网络上的每个参与节点不需要处理每笔交易。分片是以太坊扩展的主要目标之一。扩展也将使其他区块链受益,例如必须将数据提交到以太坊的 Layer 2 Rollup,这可能会变得昂贵。为了在以太坊上实现分片,预计以太坊开发团队将首先实现另一种版本的分片,称为 Proto-Danksharding,我们将在接下来讨论。
EIP-4844,也称为 Proto-Danksharding,提议实现构成完整 Danksharding 规范的大部分“脚手架”和逻辑(例如交易格式和验证程序),但尚未实现任何分片。该 EIP 的目标是使 Layer 2 Rollup 解决方案在不等待完全分片实现的情况下更高效地扩展。
EIP-4844 将实现一种新的交易类型,该类型将包含一个称为 blob 的附加数据字段。Blob 可以被认为是一个不透明的字节字符串,大小可达约 125 kB。这些 blob 使用一种称为 KZG 的新型密码学(一种固定大小的向量承诺方案)进行提交,并且与数据可用性采样向前兼容,可以帮助减轻网络因不断增长的区块大小和不可持续的交易 gas 成本而承受的负担。你可以在此处找到有关这些 KZG 承诺的更多信息。
携带 blob 的交易允许 Layer 2 解决方案在可管理的时间范围内检索数据,并以比 calldata 更便宜的方式查询它(因为数据更小)。请注意,blob 将仅在共识层(即信标节点)中保留一段时间。此外,未来的工作不需要与执行层(即 EVM)进行组合。在交易中添加 blob 将暴露一个新的费用市场,该市场与用于支付交易的 gas 市场是分开的。
一旦 EIP-4844 实施,Layer 2 解决方案将从中受益最大,因为发布到 Layer 1 的交易将便宜 10-100 倍,从而帮助最终用户。
在下一节中,我们将介绍 EIP-4844 实施后以太坊在短期和长期内应该看到的好处。
EIP-4844 是迈向分片的第一步。这最初将最有利于 Layer 2 Rollup 解决方案,并最终帮助以太坊降低其 gas 费用并吸引下一百万用户。
要在以太坊上构建,你需要访问一个节点。你可以使用公共节点或部署和管理自己的基础设施;但是,你也可以将繁重的工作交给我们,并通过使用 QuickNode 端点获得优化的响应时间。
创建一个免费账户并创建一个端点。
然后你可以前往 QuickNode 文档 并使用其中一个现成的代码示例来测试针对以太坊网络的不同 RPC 方法。
以下是一个检索最新区块中交易的示例请求。
curl <YOUR_QUICKNODE_HTTP_ENDPOINT> \
-X POST \
-H "Content-Type: application/json" \
--data '{"method":"eth_getBlockByNumber","params":["latest",false],"id":1,"jsonrpc":"2.0"}'
请记住将上面的 YOUR_QUICKNODE_HTTP_ENDPOINT 占位符替换为你的实际 HTTP 提供者 URL。
如果你想了解 EIP-4844 Proto-danksharding 的最新动态,请查看以下资源:
如果你想在 Devnet 上尝试运行 EIP-4844,请查看此仓库。
在 Twitter 或 Discord 上告诉我们你对 EIP-4844 的看法!
如果你对本指南有任何反馈,请告诉我们。
- 原文链接: quicknode.com/guides/eth...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!