原标题:干货 | Eth1.x 术语表(上)
数据
区块链历史
见证数据
节点类型
即以太坊协议所定义的 Header 对象。(译者注:区块头包含一个区块的元信息)
一个区块由两部分数据组成:
Block Body(区块体);区块体又由两部分内容组成:
Transactions(交易,事务)
Uncles(叔块信息)
就是一个区块中的事务和叔块信息的集合。
即以太坊协议所定义的 Transaction 对象。(译者注:事务可视为触发以太坊协议状态变更的操作的基本单元)
事务的构建
创建一条完全签名的事务的过程:
必须知道发起事务的 Account(账户)的 nonce(流水号)。
一般来说需要使用 eth_estimateGas 方法来确定该事务需要使用的 gas 消耗量。
需要该账户的私钥,用于生成数字签名。
即被该区块视作叔块的区块的区块头。(译者注:对于任一区块来说,叔块指的是那些上溯 7 代及以内、并非其祖先区块的有效区块;一个区块可标记两个叔块;标记叔块可使区块挖出者获得额外的 “侄块奖励”,也会使叔块挖出者获得奖励,奖励大小随叔块与侄块之间的代际距离递减;叔块内的所有事务视作没有上链,除非另一些区块中包含了这些事务,否则都回到待打包事务的内存池中)
巴西证券监管机构要求修改加密货币法案:金色财经报道,巴西证券监管机构CVM的新指令现在要求对加密货币法案进行具体修改,等待国会讨论。该组织希望纠正当前文件中的一个漏洞,其中一些代币不会被视为证券,包括代币化的实物商品和碳信用额。[2022/9/12 13:23:48]
所有历史区块的区块头的集合
截至 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
腾讯主机安全捕获Ks3_Miner木马通过爆破SSH入侵云服务器挖矿:腾讯主机安全(云镜)捕获Ks3挖矿木马攻击云服务器,攻击团伙通过扫描网络中大量开放的SSH服务,对其进行爆破攻击。成功后植入挖矿恶意脚本进行门罗币挖矿。因挖矿木马主脚本名为ks3,腾讯安全将其命名为Ks3_Miner,腾讯安全全系列产品已支持对Ks3挖矿木马的检测和查杀。
该挖矿木马作业时,会大量占用服务器资源,使云服务器无法提供正常的网络服务。同时,该木马也会结束其他挖矿木马进程,删除其他挖矿木马文件,以独占服务器资源。
Ks3_Miner恶意代码托管在ftp(144.217.45.47)地址内,地址内除挖矿模块外,还存在扫描工具、用于扫描的目标IP地址池超过1300万个,以及反弹shell脚本。观察其相关文件修改日期可知,该挖矿木马最早于2020年6月已开始活动。
Ks3挖矿木马执行成功后,会尝试进一步读取机器内历史登录凭据信息进行横向传播扩散。同时在主机内留下用于后门操作的免密登录配置项,添加名为.syslogs1q的后门账户,以方便后续继续远程登录控制失陷主机。(腾讯安全威胁情报中心)[2020/12/16 15:23:46]
合约存储项
每个账户的 Account.state_root 标识的单个存储值
所有数据都以 0 - 2^^256-1 范围内的整数作为键 (该整数也被当作存储槽的序号)
Contract Code(合约代码)
合约代码仅使用 Account.code_hash 来指代;并非状态的显式部分。
Archive State(归档状态)
所有历史状态的集合。详见 Archive Node(归档节点)
使用 Naive Database Layout,存储归档状态需占用约 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翻译: 阿剑
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。