美文网首页
【区块链】浅入深出谈谈对区块链理解

【区块链】浅入深出谈谈对区块链理解

作者: 一个测试员的日常 | 来源:发表于2017-07-11 06:50 被阅读0次

    笑来老师在github写了一篇文章《INBlockchain 的开源区块链 ICO 投资原则 》,区块链定义是:

    区块链指的是一种公开的,由去中心化网络共同维护的账务系统,提供开放的、不可篡改的底层数据服务。

    看到这句话想:要学习区块链有什么指导意义呢?想了半天不知道如何理解这句话。

    后面在看《精通比特币》一书时,在第七章看到对区块链定义是:

    区块链是由包含交易信息的区块从后向前有序链接起来的数据结构。

    看到这句话时找出关键词:区块、有序链接。如果能把这些关键词搞明白了,也算跨过入门区块链的门槛。

    1.区块

    区块是一种被包含在公开账簿(区块链)里的聚合了交易信息的容器数据结构。

    关键词:交易,数据结构

    对交易定义使用比特币来说明,定义:

    把比特币从一个地址转到另一个地址。

    交易定义是很容易理解,如果理解有困难的话,用日常生活熟悉的网银转账来理解,把钱从A账号转到B账号,这就构成一笔交易。

    而数据结构是计算机存储、组织数据的方式。可以理解通过某种方式把数据有效组织起来。

    区块结构:

    大小 字段 描述
    4字节 区块大小 用字节表示区块大小
    80字节 区块头 区块头信息,包含6个字段
    1-9字节 交易数量 交易信息的个数
    可变 交易列表 记录在区块里的交易信息列表

    没有学过计算机编程,看到区块结构感到很抽象。下面通过结构图来表示:

    Screen Shot 2017-07-02 at 11.31.11 AM.png

    结构图更加形象表示区块组成结构。

    如果说区块链是公开账簿,那么区块就是账簿其中一页。账簿每一页包含区块大小,区块头,交易数量,交易列表。

    那如何把一页页链接起来变成有序账簿呢?

    是通过区块头的父区块哈希值链接起来

    下面展示区块头结构:

    大小 字段 描述
    4字节 版本 版本号,用于跟踪软件/协议的更新
    32字节 父区块哈希值 引用区块链父区块的哈希值
    32字节 Merkle根 该区块中交易的merkle树根的哈希值
    4字节 时间戳 该区块产生的时间(精确到秒的Unix时间戳)
    4字节 难度目标 该区块工作量证明算法的难度
    4字节 Nonce 用于工作量证明算法的计数器

    区块头结构的字段和描述涉及计算机专业术语,暂时先忽略。先把区块头的结构理解后。区块头的结构图如下:

    Screen Shot 2017-07-02 at 12.31.09 PM.png

    一个完整区块组成结构图如下:

    Screen Shot 2017-07-02 at 1.42.19 PM.png

    2.区块标识符

    每个区块都有一个区块标识符,区块标识符包含区块头哈希值(区块主标识符)和区块高度,区块头哈希值是唯一、能明确标识一个区块。

    当一个节点从网络接收传入的区块时,它会验证这些区块信息,然后链接到现有的区块链上。为了建立链接,一个节点将检查传入的区块头的“父区块哈希值”,该区块的“父区块哈希值”与现有区块链的最后一个区块的区块标识符的头哈希值相等,然后使用链条方式链接起来,如下图:

    Screen Shot 2017-07-02 at 1.50.50 PM.png

    成功地把区块写入到区块链中,类似往账簿写入一页账本信息。对区块链的形成做了大致说明,现在再看看《精通比特币》对区块链定义,相信大家都有初步认识和理解。

    现在再看回文章第一个的区块链定义:

    区块链指的是一种公开的,由去中心化网络共同维护的账务系统,提供开放的、不可篡改的底层数据服务。

    主要关键词:去中心化、财务系统。

    3.去中心化

    在了解去中心化前,先说说P2P网络。在P2P网络中,多个计算机或节点共同组成一个网络,而不需要中心服务器来协调各个计算机。P2P网络如下图:

    200px-P2P-network.png

    P2P网络中,每台计算机是服务提供者也是服务使用者。在传统的B/C(服务端/客户端)应用,服务端其通常为客户端提供服务,客户端是服务端使用者。

    在去中心化网络中,任何拥有算力的用户都可以竞争参与记账,无须集约化的机构来垄断和管理账簿。

    是通过什么能做到不依赖中心机构管理账簿呢?

    用户在区块链成功写入区块时获得奖励

    奖励包括创建新区块的新币奖励和区块所含交易的交易费,促使用户通过算力竞争进行记账。不依赖任何用户来记账实现去中心化的目的。

    Screen Shot 2017-07-03 at 2.05.17 PM.png

    同时,获得创建新区块的新币奖励也是挖矿过程。

    4.财务系统

    理解成账簿,记录所有交易信息。

    总结,区块链由一个个区块组成,区块是由一笔笔交易组成,通过链条把区块链接起来,形成公开账簿。通过使用算力竞争写入区块获得奖励实现去中心化。

    相关文章

      网友评论

          本文标题:【区块链】浅入深出谈谈对区块链理解

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