比特币学习之区块链

 
  

    区块链,顾名思议,就是由区块组成的一条条链条。就像中国的一个族谱,每个人都知道自己的父亲是谁,这样通过每个人的族谱就可以知道这个家族的历史和关系。

       那么什么是区块呢?在族谱中每个家庭就是一个区块,家庭里有家长和家庭成员。在区块链中,区块里包括区块头和交易信息。类似家长和成员。

那我们就对区块头和交易进行简单介绍。

一。区块头

     区块头和三组数据构成:

     第一组:区块版本号和指向自己父亲的地址。

     第二组:难度、时间戳和 nonce,与挖矿竞争相关

    第三组:merkle 树根:总结这个区块中所有交易信息的一个哈希值;就是我们总结一个家庭一样,比如:书香门第或老张家,老李家。具体结构如下:

区块头

二。交易

  比特币中的交易和我们平常概念中的一手交钱一手交货不一样。不过这个交易和我们的支票概念差不多。一笔比特币交易其实是一个有着货币转移目的的工具,这个工具只有在交易被执行时才会在金融体系中体现,而且交易发起人并不一定是签署该笔交易的人

  一个支票有出款和收款信息,比特币交易有输入和输出信息。不过比特币交易的输入值和输出值与账号或者身份信息无关。这也是我们常说的匿名。我们在密钥和比特币地址的文章中有这方面的内容,不多说了。我们就说下交易在区块中的具体结构。

我们在创建一个交易的时候,一个交易也包含三组信息:

第一组:版本和时间戳

第二组:交易输入方的地址

第三组:交易输出方的地址

具体结构如下图:

交易结构

 那么整个区块结构是什么样的呢?我们把区块头和区块包含起来组成一个结构如下图:

区块结构

下面我们再介绍两个概念:创世区块和Merkle 树。

我们通过每个区块头的父亲字段一直向上追溯,直到最后一个就是这个家庭的老祖宗,在区块链中叫做创世区块。在比特币中创世区块被编入到比特币客户端软件里,所以每一个节点都始于至少包含一个区块的区块链,这能确保创世区块不会被改变。每一个节点都“知道”创世区块的哈希值、结构、被创建的时间和里面的一个交易。因此,每个节点都把该区块作为区块链的首区块,从而构建了一个安全的、可信的区块链的根。

在我们的祖谱里会发现每个家庭都是从祖上一个家庭分出来的。区块链中也是这样的。这样的结构类似一棵树,在区块链中这种结构就是Merkle树

Merkle树
作者:ttblack 链接:http://www.jianshu.com/p/7900c3a21117 來源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

你可能感兴趣的:(btc,山寨币,比特币,比特币开发,源码)