京东秒杀
国美-超级5
索尼Xperia旗舰
限时优惠页 - 京东
自营热卖

区块链技术基础学习(一)

习惯后的伤痛 1年前   阅读数 90 0

区块链技术基础学习(一)

目录:

  1. 区块链和比特币
  2. 区块链的特点
  3. 区块链的类型
  4. 区块链的底层架构
  5. 区块链的关键技术点
  6. 区块链存在问题

1、区块链和比特币:

(1)区块链(Block Chain):

  • 多个节点间,基于加密链式区块结构、分布式节点共识协议、P2P网络通信技术和智能合约等技术,组合而成的一种去中心化的分布式数据库,任何一方都无法完全控制这些数据,只能按照严格的规则和共识进行更新,从而实现了可信的多方间的信息共享和监督,对等的价值传输。
  • 密码学技术实现数据的不可篡改性和不可伪造性,如非对称加密方式的椭圆曲线密码算法
  • 解决问题:多方间的信任问题。
  • 本质:区块链源自于比特币的底层技术,是一种分布式数据库。

(2)比特币(Bitcoin):一种基于点对点支付的、由分布式网络系统生成的数字货币。

    • PoW共识过程俗称:挖矿,每个结点称为矿工。
      • 发行:
        • 矿工贡献自己的计算资源来竞争解决一个难度可动态调整的数学问题,成功解决该数学问题的矿工将获得该区块的记账权,并将当前时间段的所有比特币交易打包记入一个新的区块,按照时间顺序链接到比特币主链上,比特币系统同时会发行一定数量的比特币以奖励该矿工,并激励其他矿工继续贡献算力。
        • 部分矿工可能会相互合作建立收益共享的矿池,以便汇集算力来提高获得比特币的概率。
      • 流通:
        • 比特币的流通过程依靠密码学方法保障安全。
        • 持币人可以通过比特币软件平台向商家支付比特币来购买商品和服务。
      • 市场:
        • 每一次比特币交易都会经过特殊算法处理和全体矿工验证后记入区块链,同时可以附带具有一定灵活性的脚本代码(智能合约)以实现可编程的自动化货币流通。

2、区块链的特点:

  • 去中心化:
    • 传统数据库:部署于同一集群,由单一机构管理和维护。
    • 区块链:不存在任何中心节点,由多方参与者共同管理和维护,每个参与者都可提供节点并存储链上的数据,从而实现了完全分布式的多方间信息共享。
  • 去信任化:
    • 在整个系统中的多个参与方无须互相信任就能够完成各种类型的交易和协作。
    • 区块链数据的验证、记账、存储、和传输等过程均基于分布式系统结构,采用纯数学方法而不是中心机构来建立分布式节点间的信任关系,从而形成去中心化的可信任的分布式系统
  • 不可篡改:
    • 区块间哈希指针 + 区块内默克尔树 + 非对称加密算法 -> 链上数据不可篡改。
      • 数字签名 + 验证
        • 公钥:标识和区分一个用户的唯一方法,如应用于比特币中,公钥用于验证签名的有效性,用于验证其哈希值是否和前一笔交易输出脚本中的比特币地址一致,以保证发送者确实拥有这些比特币。
        • 签名算法:椭圆曲线数字签名算法。
    • 共识算法形成的强大算力 -> 单一节点非法篡改无法影响到全网的其他节点。
  • 集体维护:
    • 采用特定的激励机制来保证分布式系统中所有节点均可参与数据区块的验证过程。(如比特币的“挖矿”过程)。系统中的数据块由系统中所有具有维护功能的节点来共同维护,而这些具有维护功能的节点是开源的,任何人都可以参与。
    • 通过共识机制,来选择特定的节点将新区块添加到区块链。
  • 可追溯:
    • 区块链上存储着系统运行以来的所有交易数据,基于不可篡改的日志类型数据,可方便的进行还原和追溯历史操作。
  • 时序数据:
    • 区块链采用带有时间戳的链式区块结构存储数据,从而为数据增加了时间维度,具有极强的可验证性和可追溯性。
  • 匿名性:
    • 除非有法律规范要求,单从技术上来讲,各区块节点的身份信息不需要公开或验证,信息传递可以匿名进行。

3、区块链的类型:

  • 公有链:完全对外公开,用户可自由访问区块网络,在链上广播交易数据和即时参与网络共识。
    • 特点:采用P2P网络实现去中心化,交易信息不可篡改
    • 常见应用:比特币
    • 常见开发平台:以太坊
      • 以太坊(Etherrum):基于内置的以太币实现数字货币交易,首次将智能合约应用到区块链
  • 联盟链:仅联盟成员可加入,按照联盟规则设置读写权限和记账权限。指定多个预选的节点为记账人,每个块的生成由所有的预选节点共同决定(预选节点参与共识过程),其他接入节点可以参与交易,但不过问记账过程,可以通过该区块链开放的API进行限定查询。
    • 特点:一般采用权益证明
    • 常见应用:金融机构的交易、结算或清算
    • 常见开发平台:FISCO金盟链、超级账本
  • 私有链:仅在私有组织内部使用,按照私有组织规则设置读写权限和记账权限。私有链中各个节点的写入权限收归内部控制,而读取权限可视需求有选择性地对外开放。仍然热具备区块链多节点运行的通用结构,适用于特定机构的内部数据管理与审计。
    • 特点:安全性高,可有效防范来自内部或外部对数据的安全攻击
    • 常见应用:企业内部的数据库管理和审计

4、区块链的底层架构:

  • 数据层:数据区块(区块头 + 区块体) + 默克尔树 + 哈希函数 + 非对称加密
    • 数据结构:
      • 区块头:版本号、父区块哈希值、时间戳、随机数、默克尔树根
      • 区块体:以默克尔树为组织形式的交易数据
    • 数据存储:
      • 文件存储:方便日志形式的追加操作
      • LevelDB数据库:以太坊的区块链与索引都存储在LevelDB数据库,同时存储账户余额或业务状态数据
      • 常用关系型数据库
    • 默克尔树:用于快速校验区块数据的存在性和完整性
    • 数据模型:
      • 基于交易:每笔交易由表明交易来源的输入和表明交易去向的输出组成,所有交易通过输入与输出链接在一起,似的每一笔交易都可追溯
      • 基于账户:可快速查询到当前余额或状态
  • 网络层:对等网络 + 数据验证机制 + 消息传播机制
    • P2P对等网络:每个节点承担相同角色,具备路由发现、验证交易信息、广播交易信息和发现新节点等功能
      • P2P特点:
        • 完全分布式、可容忍单点故障
        • 网络节点平等、自治、分布
    • 数据验证机制:签名 + 时间戳
    • 消息传播机制:广播,通过验证的节点进行存储并继续转发广播
  • 共识层:共识机制:工作量证明机制(Proof of Work,PoW) + 权益证明机制(Proof of Stake,PoS) + 股份授权证明机制(Delegated Proof of Stake,DPoS) + 分布式一致性算法(Paxos和Raft算法)
    • PoW共识协议:通过算力证明,存在51%攻击问题。(牺牲性能换取数据的一致性和安全性)
      • 要求只有完成一定计算工作量并提供证明的节点才可生成区块,每个网络节点利用自身计算资源进行哈希运算以竞争区块记账权
      • 51%:只要全网可信节点所控制的计算资源高于51%,即可证明整个网络是安全的。
      • 51%攻击问题:若要篡改和伪造链中的某一区块,就必须针对该区块及其后的每个区块重新寻找块头的随机数,并且计算速度还要超过主链,这需要至少掌握全网51%以上的算力,才能使攻击成为可能。
      • 常见应用:如比特币
    • PoS共识协议:权益证明(币龄和代币数量),挖矿难度随拥有资源数量增多而减小
      • 区块生成难度与节点所占股权成反比
      • 常见应用:如点点币
    • DPoS共识协议:节点将权益授予节点代表,节点代表轮流记账的形式生成新区块,能实现秒级共识验证
      • 获股东投票数最多的几位代表按既定时间段轮流产生区块
      • 常见应用:如比特股
  • 激励层:发行机制 + 分配机制​​​​​​​
    • 发行机制:
      • 比特币系统中每个区块发行比特币的数量是随着时间阶梯性递减的。比特币稳定的上限数量:2100万。
      • 交易过程产生手续费,手续费默认:万分之一个比特币,这部分费用也会记入区块并奖励给记账者。
        • 记账者:成为节点的所有人共同抢夺记账权,抢到的人记账,广播给其他节点。接到广播的节点一起记录发生的所有交易,不管自己是否参与。
    • 分配机制:
      • 比特币系统中,大量的小算力节点通常会选择加入矿池,通过相互合作汇集算力来提高挖到新区块的概率,并共享该区块的比特币和手续费奖励。
      • 分配方式:
        • 每N股支付
        • 每股支付
        • 按比例支付
  • 合约层:智能合约 + 算法机制,区块链底层的商业逻辑和算法
    • 智能合约:用算法和程序编写的商业合约、部署在区块链上且可按照规则自动执行的数字化协议,在预定条件满足时,能够自动强制的执行合同条款,为数据层的数据赋予可灵活编程的机制,担任机器代理的角色
    • 可同时运行在全网节点,任何机构和个人都无法将其强行停止
  • 应用层:可编程货币 + 可编程金融 + 可编程社会
    • 区块链1.0:可编程数字加密货币体系,支持虚拟货币相关应用,如比特币等去中心化电子货币应用
    • 区块链2.0:可编程金融系统,增加智能合约,可广泛应用于金融行业
    • 区块链3.0:可编程社会,去中心化思想配置全球资源,如医疗等

5、区块链的关键技术点:

  • 公共的区块链账本
  • 分布式的点对点网络系统
  • 共识机制:去中心化的共识算法
  • 适度的经济激励机制
  • 智能合约:可编程的脚本代码

6、区块链存在问题:

  • 安全问题。PoW共识协议中,51%攻击问题,掌握51%算力可篡改或伪造区块
  • 隐私问题。每次交易使用不同的数字证书和账户地址,但在数据传输时仍然给出了一个地址,可能被识别和定位
  • 吞吐效率。交易验证、数据验证、区块的哈希运算
  • 资源浪费。算力证明导致出现大量矿池。搜索随机数消耗算力
  • 去中心化的自治组织。目前本质上未达到完全的去中心化,只是一种弱中心化或多中心化。

参考文献:

[1]谭营. 人工智能知识讲座. [M]北京:人民出版社,2018.04;
[2]孙善勇、张玉清. 区块链技术. 期刊文献:首都师范大学学报(自然科学版),2020年4月;
[3]邵奇峰、金澈清、张召、钱卫宁、周傲英. 区块链技术:架构及进展. 期刊文献:计算机学报,2018年5月;
[4]袁勇、王飞跃. 区块链技术发展状况与展望. 期刊文献:自动化学报,2016年4月;

原创文章 173 获赞 557 访问量 40万+

注意:本文归作者所有,未经作者允许,不得转载

全部评论: 0

    我有话说: