以太坊技术黄皮书学习笔记6:区块概述

区块的数学定义比较简单,Bh:区块头信息;Bt:区块内的交易;Bu:叔叔节点的区块头列表。这里需要解释的是,在本区块B生成的过程中,区块B被矿机甲打包了一批交易记录,比如说是{Tx1,Tx2,Tx3};在矿机选择这几条交易记录尝试打包且没有被全网确认之前,其他的矿机乙也在尝试从交易池中选择交易并打包,假设另一个矿机选择了交易组合是{Tx2,Tx4,Tx5},那么因为算力的问题,甲的数据块被加入到区块链中,但是因为乙也在这个过程中付出了算力,并且与甲打包的数据有共同的交易Tx2,因此为了奖励乙的算力付出,会将乙打包的区块作为叔叔节点记录在区块链上,即Bu。区块的数据结构如下图:

区块头的信息由如下数据项组成:

parentHash:父区块节点的hash值,用公式Hp表示

ommersHash:叔叔节点的Hash值,用公式Ho表示

beneficiary:旷工节点的地址,本区块生成时会给予旷工奖励。Hc

stateRoot:当所有交易处理完毕且区块本区块状态确定后,状态树的树根,公式:Hr

transactionsRoot:当前区块打包的交易的hash树根,公式:Ht

receiptsRoot:交易收据的hash树根公式:He

logsBloom:从交易收据中找出日志的地址和主题,然后对他们进行索引,公式:Hb

difficulty:当前区块的难度,用来调节出块时间间隔的数值,此值的修改可以使的矿机计算难度改变,公式:Hd

number :表示此区块之前区块的个数,可以把此值理解为区块高度,公式:Hi

gasLimit:表示该区块包含交易的gas的最大值,公式:Hl

gasUsed:执行该区块内交易已经消耗的gas的数量,公式:Hg

timestamp:时间戳,区块生成的unix时间,公式Hs

extraData:区块附加数据,最多32字节,公式Hx

mixHash:256比特位的hash值,与nonce一起证明本数据块花费了一定数量的算力,公式:Hm

nonce:64比特位的hash值,与mix一起证明本区块消耗固定数量的算力,公式:Hn

区块头的代码如下:

本节的内容比较简单,这是简单罗列区块的基本构成和区块头的数据内容,并没有讲解器生成逻辑和具体的功能,接下来的章节会对这些信息进行详细讲解。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、快速术语检索 比特币地址:(例如:1DSrfJdB2AnWaFNgSbv3MZC2m74996JafV)由一串...
    不如假如阅读 16,100评论 4 87
  • 我是胆小鬼,躲在破陋的房子里,我没钱交房租, 我没钱交水电,但是我用脆弱的身体去扛饿。 我的身体在哪里,我就是...
    奇迹山林阅读 216评论 0 0
  • 睡梦里依稀感受到阳光 我走走回回 一直钟爱停留 你在远方 眯着眼带着笑 告诉我等待 你会走来 带着我的期盼和喜爱 ...
    暮元阅读 185评论 0 0
  • 黄国健《单方应用大全》单方一味气死名医 赤沙糖 【基原】为禾本科植物甘蔗SaccharumsinensisRoxb...
    黄国健博士阅读 263评论 0 0