![深入理解以太坊](https://wfqqreader-1252317822.image.myqcloud.com/cover/135/23863135/b_23863135.jpg)
上QQ阅读APP看书,第一时间看更新
1.4 以太坊系统架构
以太坊项目定义了一套完整的软件协议栈。它是去中心化的,也就是说以太坊网络是由多个相同功能的节点组成的,并没有服务器和客户端之分。以太坊协议栈的总体架构图如图1-3所示。
![](https://epubservercos.yuewen.com/D43B8C/12680590203177906/epubprivate/OEBPS/Images/figure_0016_0001.jpg?sign=1738843159-ScD4zLIh8Tul5d4fiXWTv3ur8SZcsz9D-0-aa274d8c3ff06803aca9e2bc3f2d1481)
图1-3 以太坊系统架构
其中最上层是DApp应用模块,实现区块链之上的业务逻辑;其次是智能合约层,通过合约的编写和调用,实现图灵完备的编程操作;再接下来就是EVM和RPC, EVM负责解析和执行合约操作,RPC提供外部访问能力;然后是核心层,分为区块链协议、共识算法、挖矿管理、分布式网络核心组件;最底层就是一些基础库,比如P2P通信协议、加密算法库、LevelDB数据库、Http、Solidy语言支持以及Math运算支持。
从逻辑分层的角度来看,图1-4将以太坊分为应用层、合约层、激励层、共识层、网络层和数据层。其中应用层对应DApp应用模块;合约层对应EVM虚拟机和RPC能力接入;激励层则涉及矿工账户管理,代币转移模块;共识层包含共识算法和引擎;网络层指的是P2P接入和消息交互;最下面是数据层,负责处理链相关数据结构,持久化功能。
![](https://epubservercos.yuewen.com/D43B8C/12680590203177906/epubprivate/OEBPS/Images/figure_0017_0001.jpg?sign=1738843159-bhUZWehk1tM5j6Fba0yCit0hQKX2R5nX-0-12d01150069e96597d00bfc07f244958)
图1-4 以太坊逻辑分层