当人们谈论区块链时,常常会问到一个问题:“它到底使用了什么数据库?” 对于像比特币这样相对简单的区块链,答案或许可以简化为一种键值存储,但对于以太坊这个复杂的、可编程的区块链世界来说,答案则要深刻和有趣得多,以太坊并没有使用我们传统意义上理解的、像MySQL或PostgreSQL那样的关系型数据库,它的“数据库”是一个由多种技术精心组合而成的、专为去中心化环境设计的独特状态存储系统。

以太坊的“数据库”核心是一个分布式、持久化的键值存储数据库,但它的巧妙之处在于,这个数据库的数据结构访问方式是由以太坊虚拟机(EVM)和其共识规则严格定义的。

下面,我们将深入探讨构成以太坊状态存储的几个关键组成部分。

随机配图