织梦CMS - 轻松建站从此开始!

币安中文网站_币安网页版_币安官网app_币安官方app_币安苹果下载_币安官网下载

当前位置: 主页 > 币安官网app >

知识点来了 Eth1.x 术语你都了解吗?(上)

时间:2021-02-25 05:00来源:未知 作者:admin 点击:
广告位API接口通信错误,查看德得广告获取帮助

原标题:干货 | Eth1.x 术语表(上)

数据

区块链历史

见证数据

节点类型

即以太坊协议所定义的

Header

对象。(译者注:区块头包含一个区块的元信息)

一个区块由两部分数据组成:

区块头

Block Body(区块体);区块体又由两部分内容组成:

Transactions(交易事务)

Uncles(叔块信息)

就是一个区块中的事务和叔块信息的集合。

即以太坊协议所定义的

Transaction

对象。(译者注:事务可视为触发

以太坊

协议状态变更的操作的基本单元)

事务的构建

创建一条完全签名的事务的过程:

必须知道发起事务的 Account(账户)的

nonce

(流水号)。

一般来说需要使用

eth_estimateGas

方法来确定该事务需要使用的

gas

消耗量。

需要该账户的私钥用于生成数字签名。

即被该区块视作叔块的区块的区块头。(译者注:对于任一区块来说叔块指的是那些上溯 7 代及以内、并非其祖先区块的有效区块;一个区块可标记两个叔块;标记叔块可使区块挖出者获得额外的 “侄块奖励”也会使叔块挖出者获得奖励奖励大小随叔块与侄块之间的代际距离递减;叔块内的所有事务视作没有上链okex注册除非另一些区块中包含了这些事务比特币否则都回到待打包事务的内存池中)

所有历史区块的区块头的集合

截至 2021 年 1 月 29 日约有 1100 万个区块头

截至 2021 年 1 月 29 日全体区块头约占用 5 GB 的存储空间

是验证其余大部分链数据所必需的数据

如果使用 Header Accumulator(区块头累加器)欧科我们将能证明某个区块头存在于主链上

所有由事务和叔块信息所组成的历史区块的集合

截至 2021 年 1 月 29 日约有 1100 万个区块体

截至 2021 年 1 月 29 日所有区块体需占用约 120 GB 的存储空间

由历史事务所产生的所有收据的集合

截至 2021 年 1 月 29 日约有 10 亿条收据

截至 2021 年 1 月 29 日所有收据需占用约 60 GB 存储

所有账户及 contract storage(合约存储项)的集合

账户

Header.state_root

所代表的主状态树的一部分

字段:

balance/nonce/state_root/code_hash

合约存储项

每个账户的

Account.state_root

标识的单个存储值

所有数据都以

0 - 2^^256-1

范围内的整数作为键 (该整数也被当作存储槽的序号)

Contract Code(合约代码)

合约代码仅使用

Account.code_hash

来指代;并非状态的显式部分。

Archive State(归档状态)

所有历史状态的集合。详见 Archive Node(归档节点)

使用 Naive Database Layoutokex注册存储归档状态需占用约 7 TB 的存储

使用一些基于 Flat Database Layout 的高级技巧Trube Geth 客户端使用约 800 GB 实现了归档状态存储

Recent State(近期状态)

指作为

近期

状态根一部分的状态。

“近期” 一般来说是 128~256 个区块内

维护这一数据需要某种形式的垃圾回收技术以清除不再是近期状态一部分的状态对象

Cold State(冷状态)

指的是很长一段时间没有被触及(访问 及 修改)的状态对象

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 的节点。

DevP2P 网络中所用的点对点协议是所有主网客户端的基石

作为这个点对点网络中的一部分一个节点需要:

参与 Transaction Gossip(事务广播)

参与 Block Gossip(区块广播)

拥有近期状态

拥有完整的区块链历史

作为轻客户端基础的 DevP2P 网络所用的点对点协议

参与 LES 网络、向 LES 客户端提供数据的节点。

在这个网络中成为一个服务器需要:

完整的近期状态

全部区块链历史

主链 区块索引/事务索引

有能力参与事务广播

有能力参与区块广播

参与 LES 网络、向 LES 服务器请求数据的节点。

(未完)

https://github.com/ethereum/stateless-ethereum-specs/wiki/Glossary

Piper Merriam

翻译:

阿剑

okex注册 (责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
广告位API接口通信错误,查看德得广告获取帮助