科普 | 以太坊区块大小是如何确定的
作者:NEST爱好者_CryptoV12
随着区块链行业的发展,基于以太坊网络构建的生态系统越来越庞大,除了满足基于以太坊网络发行的各类资产的交易打包外,还需满足各种各样的智能合约的打包交易,比如 DeFi 协议( Uniswap )、 预言机协议( NEST Protocol )、游戏( Decentraland )等相关的业务合约。这使得以太坊网络需要处理的交易越来越多,以至于我们在行情波动时经常看到以太坊拥堵、矿工费大幅度升高的情况。
EthGasStation:以太坊网络GAS 费消耗排名
按照现在以太坊区块链状态的自然增长速度,用不了多久,以太坊网络将会面临一些问题。 因为,随着以太坊区块数据的持续增长,我们运行以太坊全节点的门槛会越来越高,这便会导致以太坊网络也会变得更加中心化。 (当前运行一个以太坊节点大概需要 220GB 的存储空间)随着网络延迟的增加,它的速度可能会越来越慢;随着 “状态膨胀” 的出现,区块验证可能变得愈发困难。最终,随着交易 TPS 达到上限,且客户端改进更加难以实现, 以太坊终端用户与核心开发者都将备受打击,进而影响以太坊生态的可持续发展。
图二,Etherscan:以太坊网络每日待打包交易数量
宏观层面来讲, 以太坊 1.0 网络正在面临的问题是以太坊区块链正在变得越来越大!细分来看的话,致使该问题愈发突出的变量主要是 数据存储、交易状态、区块大小 3 个影响因子。今天,我们主要来分析一下 「以太坊区块大小」 这一核心因素,具体了解一下以太坊网络的区块大小是如何确定的。与比特币网络不同,以太坊不会明确地按内存限制每个区块的大小,而是通过区块 GasLimit 强制规定每个区块的大小。
以太坊的区块 GasLimit 设置有效的限制了一个区块中可以打包的交易量。GasLimit 参数由以太坊矿工集体决定,即通过投票的方式来动态地增加或降低 GasLimit 数值。 最近的一次投票是 2019 年下半年,矿工们群体投票同意将以太坊的区块 GasLimit 由原来的 800 万 Gas 单位提高至 1000 万,使每个区块相比之前区块的大小增加了 25% 左右,这从理论上提高了以太坊网络的 TPS 。
图三,BTC.COM 显示,以太坊网络 TPS:8 ~ 14
提高区块的 GasLimit 上限意味着单个区块打包交易的数据量提高,区块变大,进而使得信息传播速度变慢,这会导致叔块的出块概率增加。 即使以太坊叔块也有部分 ETH 挖矿奖励,但矿工们也不想遇到它。所以,单个区块的 GasLimit 上限与矿工群体之间存在着一种制衡关系。(注释:在以太坊系统中,如果在同一区块高度,多名矿工都挖出了新的区块,这些区块中,其中一个将成为最长链上的区块,而其他区块,如果被后续区块引用,将被称为叔块 Uncle Block)所以,以太坊网络单个区块的 GasLimit 也不能在短时间内大幅度提示, 而是要根据以太坊网络的发展状态进行动态调节,以平衡生态发展所需的效能与矿工群体之间的利益。
到目前为止,有关 “安全的” 区块大小上限数据还有一个科学的定论,但我们普遍认为,提高单个区块 GasLimit 上限带来的 TPS 的提升不足以在未来 3 年内实现以太坊的发展。除此之外,还伴随着很多其他相关的问题。
最后,期待 ETH 2.0 早日到来!