ONC:以太坊的区块和存储:区块头_PIXEOS

以太坊的整个实现机制比比特币复杂得多,所以它的区块结构也比比特币的复杂,而且它的存储不止区块这一种方式,咱们花几天的时间来好好学习一下以太坊的区块和存储。

先从区块开始。跟比特币一样,以太坊的区块结构也分为区块头和区块体,这一篇我们先讲区块头。以太坊的区块头包含15个字段:

ParentHash

这是上一个区块的哈希值,跟比特币一样,我们可以把它看成一个指针,指向上一个区块,正是有这个指针,区块和区块才串联起来,才有区块链。

Coinbase

在比特币里也有一个coinbase,但那个coinbase是指一笔特殊的交易,就是系统奖励比特币给区块创建者的那笔交易。但在以太坊这里,是区块创建者留下的以太坊地址,用于接收系统奖励和交易手续费。

以太坊Layer2上总锁仓量为95.21亿美元:金色财经报道,L2BEAT数据显示,截至目前,以太坊Layer2上总锁仓量为95.21亿美元,近7日跌9.64%。其中锁仓量最高的为扩容方案Arbitrum One,约63.70亿美元,占比66.90%,其次是Optimism,锁仓量19.37亿美元,占比20.35%。[2023/4/23 14:20:43]

UncleHash

以太坊有一个独特的东西,叫叔区块,咱们下一篇会仔细讲讲。现在只要知道这个字段就是所有叔区块用RLP编码后再哈希出来的值即可。

Root

这是一棵MPT树的根哈希,这棵树存储了所有以太坊账户。

Cathie Wood:比特币和以太坊可以跑赢其他资产类别:金色财经报道,Ark Invest首席执行官Cathie Wood近日表示,比特币和以太坊作为无风险资产发挥作用,是投资者面对宏观经济不确定性的“安全场所”。最近银行业的动荡表明,市值最大的两种加密货币可以跑赢其他资产类别。?

Wood认为,随着该行业获得更多的认可和监管,加密最终将成为一个选择问题。从我们的角度来看,与传统金融工具不同,许多加密资产没有重大故障点:它们是去中心化的、透明的和可审计的。

对此,对冲基金Bridgewater Associates的创始人Ray Dalio表达了相反的意见。据他介绍,比特币不能成为一种“高效货币”,因为它波动太大,央行不接受它。[2023/4/17 14:08:17]

TxHash

NFT项目DigiDaigaku 24小时交易额涨幅超400%:8月24日消息,据NFTGO数据显示,NFT项目DigiDaigaku24小时交易额达297,059.35美元,涨幅达426.19%。该项目曾于8月9日采取Free Mint形式发售,当前地板价暂报3.42ETH,24小时涨幅达32.05%。

DigiDaigaku首席执行官Gabriel Leydon于8月22日在个人社交媒体平台发起关于DigiDaigaku接下来能为社区做什么投票,其中空投以59.1%支持率胜出。[2022/8/24 12:45:31]

这也是一棵MPT树的根哈希,这棵树存储了所有的交易信息。

V神:以太坊可以达到100000 TPS:以太坊联合创始人Vitalik Buterin分享了新的以太坊路线图细节,Vitalik强调,新的以太坊扩容战略将会把区块链生态移至rollups、Plasma、状态通道,此外,其估计,一旦optimistic rollups完全部署,以太坊开始向2.0转移,以太坊每秒钟将能处理100000笔交易(ETH1.5阶段)。在ETH2.0阶段,以太坊有了分片基础设施,网络吞吐量可以达到1000-5000。[2020/10/3]

ReceiptHash

这还是一棵MPT树的根哈希。对于以太坊账户和交易我们都已讲过,MPT我们也讲过,用MPT树来存储它们好理解。那这棵树又是存什么的呢?其实,这棵树存储的是收据信息。什么是收据?就是交易完成后会提供一个清单给你,告诉你一些信息:比如这笔交易被哪个区块打包了,这笔交易最终花费了多少gas、执行交易时创建的一些日志等等。

Bloom

我们可以在合约中通过定义“事件”来生成日志。上面说了,在收据树里会存储一些日志,这个bloom其实是一个过滤器,通过这个过滤器可以快速搜索和判断某个日志是不是存在于收据中。

Difficulty、Nonce、mixHash

这三个字段都和以太坊的挖矿有关,以太坊和比特币一样,也是POW模式,所以它也有一个挖矿难度系数,这个系数会根据出块速度来进行调整。以太坊第一个区块的难度是131,072,后面区块的难度会根据前面区块出块的速度调整,出得快难度就调高一点,出得慢就调低一点。

Difficulty就是区块的难度系数,Nonce是目标值,Nonce值小于等于2^256/Difficulty。所以,难度值越高,目标值的范围越窄,要找到符合的就越难。以太坊具体的挖矿计算比比特币复杂得多,但大概的流程就是不断尝试不同的mixHash来获得符合条件的Nonce。所以,mixHash可以简单理解为比特币区块头里的随机值。

Number

区块的序号,每个区块的序号就是在父区块的序号上加1。

Time

区块生成的时间。这个时间不是那么精确地就是区块真正生成的时间,有可能就是父区块的生成时间加上10秒,有可能就是区块产生时的“大概”时间。

GasLimit

区块内所有Gas消耗的理论上限。这个理论值与父区块有关,它允许打包区块的矿工根据父区块的情况对这些值做些微调。每个区块在产生时就必须设定这么一个gas消耗的理论上限,这个上限值限定了一个区块打包交易的总量,比如一个区块的上限值设定为10000,现在有3笔交易的gas设定分别都是5000,那么这个区块就最多打包其中的两笔交易,如果硬要打包3笔,其他节点就不会认这个区块的。

可以这么说,这个字段限定了一个区块的存储规模,但仍保有一定弹性。这一点与比特币不同,比特币的一个区块是多大,直接写死在比特币软件里,要更改的话只能通过硬分叉。

GasUsed

区块内所有交易执行完后所实际消耗的gas总量。

extraData

这个字段是留给区块的创建者,让他可以记录一些与该区块有关的信息,长度小于等于32字节即可。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

区块博客

[0:15ms0-5:84ms