编按:本文为QuarkChain创始人兼CEO周期博士撰写的技术文章,并以此文章为基础,在DApp Learning进行了技术分享讲座。
背景
近年来,DeFi、GameFi等去中心化应用的迅猛发展,对低交易费用且高性能的区块链提出了更高的要求。然而,构建高性能区块链面临着一个关键挑战 — 存储容量限制。以下是取自 Etherscan 的图标,显示了以太坊全节点(存档)的链数据大小。
从图中可以看出,节点的链数据规模稳步增长,现在已经达到 ~9TB。这会让普通配置的计算机难以承受。
分解存储开销
如果我们进一步分析存储开销,我们可以发现区块数据只占了约300GB的数据(从区块高度0到13.6M),这一数字远小于9TB。那么剩下的8.7TB数据从何而来呢?实际上,节点保留了每个区块的所有历史数据,包括区块,状态和交易收据。其中,状态是这8.7TB的主要部分,因此我们将这种存储现象称为“状态爆炸”。
什么是以太坊状态?
以太坊状态是一个Merkle Patrica树(MPT),其中叶子节点是地址(0x...) => 帐户的映