美文网首页金马带你定投区块链区块链研习社程序员
以太坊技术黄皮书学习笔记6:区块概述

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

作者: 西二旗李老师 | 来源:发表于2018-05-16 15:41 被阅读11次

    区块的数学定义比较简单,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

    区块头的代码如下:

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

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/tdnpdftx.html