• 【转】区块链测试简介


    1.前言

    最近因为工作需要,后期会做区块链相关的底层测试。
    而且随着2017年比特币的爆发式升值,也引起了大家对于区块链的关注。
    随着不断的了解发现,区块链技术,并没有特殊创新的技术,而是有机组合了已有领域的已有成果,所以,了解区块链,重要的是从思路上理解它的运行机制和理念。

    备注:写此文章,主要是为了记录所学当做笔记,肯定会有理解错误的内容,请大家多多指正。
    感觉自己写的好差,有时间的可以多看看
    阮大师的区块链科普文章http://www.ruanyifeng.com/blog/2017/12/blockchain-tutorial.html
    从概念到底层技术架构:http://www.8btc.com/ebook-blockchain
    官方学习资料:https://github.com/chaozh/awesome-blockchain-cn

    2.什么是区块链?

    用一句话说,区块链就是首个自带对账功能的数字记账技术实现。(其实就是一个分布式存储系统)

    区块链的基本概念包括:

    • 交易(Transaction):一次成功的交易,会导致账本状态的一次改变,如添加一条记录;
    • 区块(Block):记录一段时间内发生的交易和状态结果,是对当前账本状态的一次共识;
    • 链(Chain):由一个个区块按照发生顺序串联而成,是整个状态变化的日志记录

    2.1 区块链分类

    根据参与者的不同,可以分为公开(Public)链、联盟(Consortium)链、私有(Private)链。

    • 公开链:任何人都可以参与和维护,典型的比如比特币区块链,信息是完全公开的。
    • 引入许可机制,包括私有链和联盟链:
      • 私有链:集中管理者进行限制,只能得到内部少数人可以使用,信息不公开。
      • 联盟链:由若干组织一起合作维护一条区块链,该区块链的使用必须是有权限的管理,相关信息会得到保护,典型如银联组织。

    3. 区块链工作原理(以比特币为例)

    在进行更深入的了解之前,先来大体了解一下区块链的运行过程,如下图所示:

     

    从宏观到微观,区块链是由一个一个的区块组成的,每个区块又包含多笔交易信息,每笔交易又是由客户端发起的。

    (1)合法的未确认交易是如何形成的?

          节点1所做的事情就是一笔合法的未确认交易的形成过程。客户端发起交易信息到网络中,网络中的节点收到交易信息后,会进行如下检查:
    • 交易是否已经处理过;
    • 交易是否合法。包括地址是否合法、发起交易者是输入地址的合法拥有者、是否是 UTXO;
    • 交易的输入之和是否大于输出之和。

    检查都通过,则将交易标记为合法的未确认交易,并在网络内进行广播;

    一笔完整的交易包含内容如下图所示:

     

    (2)交易又是怎么变成区块的呢?

          请看节点2所做的事情。节点将10分钟之内获取到的交易信息(长度需要控制,每个区块不大于1MB),打包生成Merkle树根的hash值,节点暴力尝试计算出Nonce串,然后加上其他信息,生成候选区块。然后判断候选区块头的hash值是否满足一定条件(小于某个值),如果满足,就进行全网广播,候选区块变成了提案区块。
    一个完整的区块数据结构如下图所示:
     

    (3)区块如何上链?交易如何被最终确认?

          请看节点3所做的事情。节点从网络中收到 提案区块后,对提案区块头的hash进行验证,如果符合条件,提案区块成为合法区块,添加到链上。然后再等待6个块的可信确认后,交易最终被确认,交易生效。

    4. 区块链基础架构模型

     

    首先先来简单的一层一层进行了解:
    • 数据层:数据层其实从数据结构的角度看待,会更加有效。如下图所示: 内容太多,未完待续
  • 相关阅读:
    一键保存网页为PDF
    Redis使用总结之与Memcached异同
    wxWidgets的安装编译、相关配置、问题分析处理
    python抓取网页图片
    bootstrap插件学习-bootstrap.popover.js
    CC.NET模板简化配置
    密码技术应用系列之开篇
    【Cocos2d-X开发学习笔记】第05期:渲染框架之布景层类(CCLayer)的使用
    ImageMagick还是GraphicsMagick?
    RESTClient 控件 从服务器获得数据集 REST
  • 原文地址:https://www.cnblogs.com/Ronaldo-HD/p/9914998.html
Copyright © 2020-2023  润新知