美文网首页我爱编程区块链技术深度剖析
比特币区块头中的Merkle Root生成

比特币区块头中的Merkle Root生成

作者: bjgpdn | 来源:发表于2018-05-28 12:16 被阅读0次

  比特币区块链中,每个区块都有一个Merkle Tree,区块头中的Merkle Root(也称为Merkle树的根哈希值)是由区块体中所有交易的哈希值生成的:

  (1)如果一个区块仅有一个CoinBase交易(例如创世区块),这个CoinBase交易的哈希值Hash_Tx0就被用作Merkle树的根哈希值。

  (2)如果一个区块有两个交易:CoinBase交易和一个其它交易,那么就将CoinBase交易的哈希值Hash_Tx0和其它交易的哈希值Hash_Tx1,按照顺序拼接在一起,然后进行SHA256(SHA256(Hash_Tx0 | Hash_Tx1))计算,得到Merkle树的根哈希值。

  (3)如果一个区块有3个以上的交易,交易哈希值按顺序排列并配对。CoinBase交易的Hash_Tx0排在第一位,每一对拼接在一起,然后进行SHA256(SHA256(HashTxi | Hash_Txj))计算,形成第二排哈希排列。如果有奇数个交易哈希值,则最后一个交易哈希值复制自己组成一对,然后进行SHA256(SHA256())计算。如果第二排有超过2个以上的哈希值,则重复上一步的操作。直到只剩2个哈希值的时候,再拼接,最后进行SHA256(SHA256())计算,得到Merkle树的根哈希值。

  注:CoinBase交易为区块的第一个交易,由矿工创建,也被称作:创币交易(新挖出比特币的交易)。

相关文章

  • 比特币区块头中的Merkle Root生成

    比特币区块链中,每个区块都有一个Merkle Tree,区块头中的Merkle Root(也称为Merkle树的根...

  • 比特币相关技术

    哈希加密 merkle tree 公钥私钥、非对称加密、数字签名 区块链结构、 比特币基于栈的脚本语言 比特币依赖...

  • 比特币探究之MerkleTree

    在比特币区块里,所有交易都按照Merkle Tree的格式组织起来,再跟区块头里的hashMerkleTreeRo...

  • aaa

    比特币地址生成算法详解 比特币钱包地址生成代码-go实现 区块链以太坊以及hyperledger总结区块链技术 默...

  • 2.BTC-数据结构

    本篇文章主要介绍比特币中的数据结构:Merkle Tree。 一、Merkle Tree Merkle Tree翻...

  • RSA累加器,区块链瘦身神器?

    我们知道,默克尔树结构(Merkle tree)对于区块链项目而言是非常重要的,无论是比特币区块链还是以太坊区块链...

  • 比特币学习笔记-区块验证与交易验证

    区块校验 比特币区块的校验标准如下:1、区块头的的哈希值满足当前目标值(工作量证明)2、重构Merkle树得到的树...

  • 区块链和比特币基础技术原理

    前言:区块链和比特币的基本概念和技术原理:存储结构、区块头结构、Merkle 树,解锁脚本、挖矿过程、P2P 网络...

  • 比特币多长时间生成一个区块链?

    比特币多长时间生成一个区块链?比特币的区块产生速度被设定为10分钟。比特币有很多神奇的数字,这些数字到最后都被...

  • 《精通比特币》读书笔记之区块链下

    今天的越写越快乐系列文章继续为大家带来《精通比特币》的读书笔记中有关区块链的下半部分,也就是从Merkle树和比特...

网友评论

    本文标题:比特币区块头中的Merkle Root生成

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