坎昆升级
以太坊扩容的关键一步
坎昆(Dencun)升级是即将到来的以太坊主网的一个大升级,它包含了若干个新的功能以及最为重要的 Proto-Danksharding(通过 EIP-4844),该功能将会降低 L2 的存储成本,因而可以降低 L2 的交易 Gas Fee 以及接受更高复杂度的应用。
前言
什么是坎昆升级?
为什么叫坎昆升级?其实坎昆升级的英文名称为 Dencun,是由两个名字合并组成:Deneb 和 Cancun,其中 Deneb 是以太坊共识层(Consensus Layer)的升级而 Cancun 则是以太坊执行层(Execution Layer)升级。
在以太坊转向 PoS 之后,原有的以太坊拆分层了两层,即共识层和执行层。那么这两个层分别有什么区别呢?
共识层
负责网络的共识机制,即针对哪些交易有效以及交易顺序达成一致,将其加入到区块链中。经过升级之后,以太坊从工作量证明(PoW)转变成了权益证明(PoS)。
执行层
处理所有关于状态变化的计算,比如检查交易是否合法、智能合约执行、账户余额更新等,并且维护以太坊的状态树。执行层同时也包括 Calldata 等永久存储空间。
相关 EIP 升级
升级关键 EIP-4844 详解
EIP-4844 升级提供了一种全新的交易类型 BlobTx 和新的存储空间 Blob。这种存储空间位于以太坊共识层(Consensus Layer)因此无法被执行层的 EVM 获取,因此,存储于该位置的数据将无法被智能合约调用。
区块链作为去中心化的账本,存储一直是一个比较重要的话题。如果每个区块存储容量过小,将会导致交易容量、数量减少,竞争带来的压力会导致 Gas fee 上涨而不可用。如果每个区块存储容量过大,则将会增加节点的压力,需要每个节点提升硬件的质量,从而导致更少的节点运行带来去中心化网络的安全性。
该升级新增了 blob 存储,每个 blob 将有不超过 128KB 的空间来存储额外信息,每一个以太坊区块将支持最多挂载 6 个 blob,即最大不超过 768KB,这将意味着每个以太坊区块将会最大扩容 ~0.7MB。按照 12s 左右一个以太坊区块来计算,每个区块默认挂载 3 个 blob,这样每天将会有 21600 个 blob,节点将会新增 ~2.6 G 的数据。因此,blob 根据其应用场景设计了 ~18 天(4096 epochs)的生命周期,节点将会在 18 天后删掉 blob。因此,存储在 blob 的数据 Gas fee 非常低。
下面简单对比下几类存储的差别:
Name | Storage | Calldate | Memory | Blod |
---|---|---|---|---|
说明 | 以太坊存储,包括最核心的状态 World State | 不可变的存储位置 | EVM 执行时的临时内存 | 新增的外挂存储 |
位置 | 执行层 | 执行层 | 执行层 | 共识层 |
Gas fee | $$$$$ | $$$ | 0 | $ |
生命周期 | 永久 | 永久 | 方法执行完成立即销毁 | ~18 天后删除 |
无法被 EVM 的智能合约读取和使用,而且经过一段时间还会被删除,Blob 有什么用呢?目前受益最大的是 Layer 2。
Layer 2 工作原理解读
这里以 Optimistic Rollup 为例,发生在 Layer2 上面的交易,将会被 Layer2 的 Sequencer 抓取并且合并压缩(Rollup)成更为紧凑的数据,通常包括状态根(State root)、压缩的交易数据、证明信息等等,将其上传到以太坊主网上。这些信息并不会被以太坊或者智能合约解析和读取,主要用于确保 L2 的数据安全性,证明其交易真实可靠,同时在一些紧急关头可以恢复一些状态。
例如在 Optimistic Rollup 中,提取资金等操作需要等待 7 天的时间,这段时间就是让验证者根据相关数据进行验证,发现 Sequencer 是否存在作恶的情况。经过七天挑战期之后,即可认为这个交易安全且经过确认。 目前这些信息在以太坊主网以 Calldata 的方式进行存储,这样可以实现最安全可靠的存储,但是需要支付比较多的 Gas fee。因为以太坊每个区块的容量有限,因此也限制了 L2 的扩容和发展。但是 blob 正好可以缓解这个问题。L2 可以将用于验证的相关数据剥离存储到 blob 中,因为它们并不需要永久存储,只需要在挑战期内可以访问即可,因此可以极大的降低 Gas fee。
下面是升级前后的流程图和对比:
未来展望
虽然 L2 的 Gas fee 已经相比以太坊主网降低了数倍,坎昆升级将 L2 继续降低 10 倍(估算),这将极大的促进 L2 上面的应用层的活动和创新:
DeFi 交易效率提升,交易手续费下降
全链游戏的性能、游戏体验、玩法更好
开发者可以开发更加复杂应用而无需在乎用户使用的手续费
大规模交易(例如 Visa)变得可实现
让我们期待和一起见证以太坊的未来!