深入理解以太坊
上QQ阅读APP看书,第一时间看更新

1.4 以太坊系统架构

以太坊项目定义了一套完整的软件协议栈。它是去中心化的,也就是说以太坊网络是由多个相同功能的节点组成的,并没有服务器和客户端之分。以太坊协议栈的总体架构图如图1-3所示。

图1-3 以太坊系统架构

其中最上层是DApp应用模块,实现区块链之上的业务逻辑;其次是智能合约层,通过合约的编写和调用,实现图灵完备的编程操作;再接下来就是EVM和RPC, EVM负责解析和执行合约操作,RPC提供外部访问能力;然后是核心层,分为区块链协议、共识算法、挖矿管理、分布式网络核心组件;最底层就是一些基础库,比如P2P通信协议、加密算法库、LevelDB数据库、Http、Solidy语言支持以及Math运算支持。

从逻辑分层的角度来看,图1-4将以太坊分为应用层、合约层、激励层、共识层、网络层和数据层。其中应用层对应DApp应用模块;合约层对应EVM虚拟机和RPC能力接入;激励层则涉及矿工账户管理,代币转移模块;共识层包含共识算法和引擎;网络层指的是P2P接入和消息交互;最下面是数据层,负责处理链相关数据结构,持久化功能。

图1-4 以太坊逻辑分层