区块链上的世界状态
最开始学区块链的时候,就知道区块链有一个称为“世界状态”的东西,还有“世界状态树”之类的。后面虽然有阅读以太坊源码,但是未阅读世界状态的细节代码,依然对世界状态为什么存在一知半解。
直到最近自己写一条链,才发现世界状态确实是必不可少的。区块链账本随着时间的增长不断增加数据,而这些数据大多是离散的,即对同一个对象的多次操作会被分散到多个块中,在每次操作之后,那个对象都会有一个新状态(可能变了,也可能不变)。如果我们想知道某个对象的最新状态,在没有世界状态的前提下,我们就需要从创始块不停地遍历到最新的那个块,这显然是效率低下的。所以需要“世界状态”去存储那个对象的最新状态,以便直接查询。
存疑:而世界状态树的存在,应该是便于链的回滚。