这个以太坊,可以认为是一个数据库状态机,每个块就是一个数据库的快照,即数据库的一个状态,这个状态机的输入呢就是交易;每次块打包的那些交易都都会导致数据库进入一个新的状态。这个状态机有一个特点是,只能一直向,就是形成一条链,不会形成闭环,所以我们叫它区块链。
总结一下,我认为可以把以太坊称之为数据库状态机。
第二部,我们把这个系统进行一下分层,分别看一下每一层有啥作用。
dapp层:智能合约,就是区块链上的分布式应用程序。
共识层:共识算法层,例如以太坊现在是pow,通过共识算法,可以使用整个网络达成一致的共识,使系统状态保持一致。
P2P:以太坊的网络层,kademlia协议。
EVM:对交易进行解析,然后存储到数据库中,更新以太坊系统的状态。
存储:系统的存储模块,存储系统的状态,随着交易的不断发生,状态更新,存储的内容也在不断更新。存储会有快照,因为区块链会有分叉或者contract解析出现错误,都会导致状态的回滚。
EVM的作用其实就是对交易和智能合约进行解析,把各种更新到数据库;可以认为EVM就是状态机的核心,更新状态用的;存储只是用来存储状态的;