目录
数据区块链历史状态见证数据节点类型P2P协议
数据
Header
即以太坊协议所定义的Header对象。
Block
一个区块由两部分数据组成:
区块头BlockBody;区块体又由两部分内容组成:TransactionsUnclesBlockBody
就是一个区块中的事务和叔块信息的集合。
事务
即以太坊协议所定义的Transaction对象。
事务的构建
创建一条完全签名的事务的过程:
必须知道发起事务的Account的nonce。一般来说需要使用eth_estimateGas方法来确定该事务需要使用的gas消耗量。需要该账户的私钥,用于生成数字签名。叔块信息
声音 | 90后投资人朱潘:永久退出币圈:最近因为终极账本(ZJLT)的投资人维权风波,币圈新生代投资人朱潘陷入巨大舆论风波,被指拉盘操纵市场、挪用私募资金等。维权者在朱潘公司门口拉横幅围堵。今天下午六点左右,朱潘在朋友圈发布声明称:将永久退出币圈。他也成为第一个公开宣布退出币圈的投资人。[2018/8/8]
即被该区块视作叔块的区块的区块头。
区块链历史
HeaderChain
所有历史区块的区块头的集合
截至2021年1月29日,约有1100万个区块头截至2021年1月29日,全体区块头约占用5GB的存储空间是验证其余大部分链数据所必需的数据如果使用HeaderAccumulator,我们将能证明某个区块头存在于主链上BlockBodyHistory
所有由事务和叔块信息所组成的历史区块的集合
截至2021年1月29日,约有1100万个区块体截至2021年1月29日,所有区块体需占用约120GB的存储空间ReceiptHistory
点付大头成立“区块链反独裁联盟”剑指吴忌寒 并称“江卓尔是币圈郎咸平”:5月20日晚,点付大头在“区块链反独裁联盟”群中,与江卓尔进行了言辞激烈的骂战,骂战的根源是针对区块链领域的独裁和矿霸问题。点付大头质问吴忌寒分叉门罗币的原因,认为这样会出现矿霸的问题,并认为支持小韩分叉门罗币的人是独裁者和利己主义者。江卓尔回应称,分叉是自由,同意小韩分叉门罗币,以及同意任何形式的分叉。点付大头认为,DPOS可以将记账权和投票权进行分离,任何人都可以当矿池,如果有人作恶,矿工就会把他投下去。点付大头称江卓尔是币圈郎咸平,认为莱比特矿池江卓尔与比特大陆吴忌寒是比特币生态系统的癌细胞,并痛斥他们在损害比特币的去中心化共识和信誉。由于江卓尔同意小韩分叉门罗币,以及同意任何形式的分叉,所以点付大头一再强调:江卓尔的特点就是颠倒黑白、搬弄是否、指鹿为马,专门小白用户。目前群内讨论言辞激烈,有些失控。[2018/5/21]
由历史事务所产生的所有收据的集合
松禾资本张云鹏:币圈有些负面影响,掩盖了区块链技术的价值:日前松禾资本张云鹏受访时表示,去年也投了首个区块链项目,他表示“作为一项先进技术,区块链技术是得到业界肯定的,只是之前币圈有些负面的影响,一定程度上掩盖了这项技术的真正价值。”张云鹏也表示,“任何一个新技术都很难在刚开始时看懂看透,但我们都会在有限的能力下去做判断,不能把它当成一个暴富的工具,关键不在于投还是不投,而在于有没有投好。”[2018/3/18]
截至2021年1月29日,约有10亿条收据截至2021年1月29日,所有收据需占用约60GB存储
State
所有账户及contractstorage的集合
账户
由Header.state_root所代表的主状态树的一部分
字段:balance/nonce/state_root/code_hash合约存储项
每个账户的Account.state_root标识的单个存储值
所有数据都以0-2^^256-1范围内的整数作为键ContractCode
合约代码仅使用Account.code_hash来指代;并非状态的显式部分。
ArchiveState
所有历史状态的集合。详见ArchiveNode
使用NaiveDatabaseLayout,存储归档状态需占用约7TB的存储使用一些基于FlatDatabaseLayout的高级技巧,TrubeGeth客户端使用约800GB实现了归档状态存储RecentState
指作为近期状态根一部分的状态。
“近期”一般来说是128~256个区块内维护这一数据需要某种形式的垃圾回收技术,以清除不再是近期状态一部分的状态对象
ColdState
指的是很长一段时间没有被触及的状态对象
DatabaseLayouts
NaiveDatabaseLayout
该数据库实现将所有的状态对象都存储为单个的树节点,通过节点哈希值来访问
导致性能低下以及高硬盘读写开销相对易于理解和实现此方案下的垃圾回收算法更加复杂FlatDatabaseLayout
将所有的状态对象都存储为树的路径,某种程度上有点类似于键值对存储
性能更高、硬盘开销更小更难以理解和实现
Witness
即以一种可验证的形式存储的状态数据
BlockWitness
一种类型的见证数据,提供了执行区块所需的所有状态数据
TransactionWitness
一种类型的见证数据,提供了一笔事务的EVM执行所需的所有状态数据
NodeType
FullNode
指一个满足了下列要求的节点:
存储了所有的区块头存储了全部区块体历史存储了全部收据历史存储着近期状态维护者一个主链区块索引系统维护者一个主链事务索引系统参与ETHDevP2P协议ArchiveNode
其他特点与全节点都一样,但归档节点会存储全部归档状态。一般都需要执行FullSync。
LESLightNode
连接到LESDevP2P协议的客户端,意图是跟上区块链并暴露JSON-RPCAPI。
此类客户端依赖于链接到至少一个LESServer来满足对数据的需求。
StatelessNode
一个仍在计划中的客户端类型,如果能够实现区块见证数据的话,就可使之成真。
此类客户端不需要状态数据来执行区块,因为它们可以使用见证数据
UltraLightNode
增加这个术语只是为了区分当前类型的轻节点和一种新类型的轻节点——Piper一种仅暴露JSO-RPCAPI的节点。
P2P协议
ETHDevP2P协议
DevP2P网络中所用的点对点协议,是所有主网客户端的基石
作为这个点对点网络中的一部分,一个节点需要:
参与TransactionGossip参与BlockGossip拥有近期状态拥有完整的区块链历史LESDevP2P协议
作为轻客户端基础的DevP2P网络所用的点对点协议
LES服务器
参与LES网络、向LES客户端提供数据的节点。
在这个网络中成为一个服务器需要:
完整的近期状态全部区块链历史主链区块索引/事务索引有能力参与事务广播有能力参与区块广播LES客户端
参与LES网络、向LES服务器请求数据的节点。
原文链接:https://github.com/ethereum/stateless-ethereum-specs/wiki/Glossary作者:PiperMerriam翻译:阿剑
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。