Eth1.x 术语表(上)
即以太坊协议所定义的 Header
对象。(译者注:区块头包含一个区块的元信息)
一个区块由两部分数据组成:
就是一个区块中的事务和叔块信息的集合。
即以太坊协议所定义的 Transaction
对象。(译者注:事务可视为触发以太坊协议状态变更的操作的基本单元)
事务的构建
创建一条完全签名的事务的过程:
nonce
(流水号)。eth_estimateGas
方法来确定该事务需要使用的 gas
消耗量。即被该区块视作叔块的区块的区块头。(译者注:对于任一区块来说,叔块指的是那些上溯 7 代及以内、并非其祖先区块的有效区块;一个区块可标记两个叔块;标记叔块可使区块挖出者获得额外的 “侄块奖励”,也会使叔块挖出者获得奖励,奖励大小随叔块与侄块之间的代际距离递减;叔块内的所有事务视作没有上链,除非另一些区块中包含了这些事务,否则都回到待打包事务的内存池中)
所有历史区块的区块头的集合
所有由事务和叔块信息所组成的历史区块的集合
由历史事务所产生的所有收据的集合
所有账户及 contract storage(合约存储项)的集合
账户
由 Header.state_root
所代表的主状态树的一部分
balance/nonce/state_root/code_hash
合约存储项
每个账户的 Account.state_root
标识的单个存储值
0 - 2^^256-1
范围内的整数作为键 (该整数也被当作存储槽的序号)Contract Code(合约代码)
合约代码仅使用 Account.code_hash
来指代;并非状态的显式部分。
所有历史状态的集合。详见 Archive Node(归档节点)
指作为 近期 状态根一部分的状态。
维护这一数据需要某种形式的垃圾回收技术,以清除不再是近期状态一部分的状态对象
指的是很长一段时间没有被触及(访问 及 修改)的状态对象
Naive Database Layout
该数据库实现将所有的状态对象都存储为单个的树节点,通过节点哈希值来访问
Flat Database Layout
将所有的状态对象都存储为树的路径,某种程度上有点类似于 键值对 存储
即以一种可验证的形式存储的状态数据
一种类型的见证数据,提供了执行区块所需的所有状态数据
一种类型的见证数据,提供了一笔事务的 EVM 执行所需的所有状态数据
指一个满足了下列要求的节点:
ETH
DevP2P 协议(译者注:该协议用于在以太坊网络的对等节点之间传输数据,如区块、事务、状态数据等;以太坊交易的广播就是靠这个协议实现的)其他特点与全节点都一样,但归档节点会存储全部归档状态。一般都需要执行 Full Sync(全量同步)。
连接到 LES
DevP2P 协议的客户端,意图是跟上区块链并暴露 JSON-RPC API。
此类客户端依赖于链接到至少一个 LES Server(LES 服务器)来满足对数据的需求。
一个仍在计划中的客户端类型,如果能够实现区块见证数据的话,就可使之成真。
(TODO:还需增加对其他功能所需技术的描述)
Ultra Light Node(极轻节点)
增加这个术语只是为了区分当前类型的轻节点和一种新类型的轻节点 —— Piper
一种仅暴露 JSO-RPC API 的节点。
ETH
DevP2P 协议DevP2P 网络中所用的点对点协议,是所有主网客户端的基石
作为这个点对点网络中的一部分,一个节点需要:
LES
DevP2P 协议作为轻客户端基础的 DevP2P 网络所用的点对点协议
LES 服务器
参与 LES 网络、向 LES 客户端提供数据的节点。
在这个网络中成为一个服务器需要:
LES 客户端
参与 LES 网络、向 LES 服务器请求数据的节点。
(未完)
原文链接: https://github.com/ethereum/stateless-ethereum-specs/wiki/Glossary 作者: Piper Merriam 翻译: 阿剑
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!