比特币学习之区块链

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

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

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

一。区块头

     区块头和三组数据构成:

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

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

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


区块头

二。交易

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

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

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

第一组:版本和时间戳

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

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

具体结构如下图:

交易结构

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

区块结构

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

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

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


Merkle树




作者:区块链研习社比特币源码研读班,black

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

推荐阅读更多精彩内容

  • 导语:比特币作为近年来最成功的数字加密货币,引起了全球高度关注,不同于其它数字货币,比特币使用由众多节点构成的去中...
    点融黑帮阅读 5,059评论 1 31
  • 成都是有灵性的城市,它把你想要的东西藏在普通人的生活里面,你错过,它不觉遗憾,你欣喜地发现,它便回应你温柔。 01...
    荔荔枝阅读 3,975评论 0 2
  • 不要以为我没有努力,那些内心的挣扎,不是看的见的刀光见影,而是灵魂的血流成河
    夜阑静有谁共鸣阅读 2,481评论 0 1
  • 1 概要 1.1 简单介绍 GCD是Grand Central Dispatch的简称,它是基于C语言的。如果使用...
    哆来阅读 3,106评论 0 0
  • 上图中,TCP/IP协议中的四层分别是应用层、传输层、网络层和链路层,每层分别负责不同的通信功能,接下来针对这四层...
    Mango_yes阅读 5,087评论 0 0