走进区块链

什么是区块链?

区块链(Blockchain), 是一种加密的、防篡改的、 去中心化的分布式账务管理系统。

它并不是单一的、全新的技术,而是多种技术整合的结果。

货币的演化

从数字货币说起
纸币 比特币
便携
防伪 依赖于设计的方法 依赖于密码学
辨伪 容易误判 不易出错
匿名 强(准匿名)
交易 简单 靠算法机制保证
资源 制造成本 算力消耗(电力)
发行 第三方机构 算法保证

为什么会有区块链?

技术特征

解?
区块 & 链

复式记账法

  • 资产=负债+所有者权益
  • 任何一项经济业务都会引起资产与权益之间至少两个项目发生增减变动
  • 每一笔经济业务的发生,都可以以相等的金额在两个或两个相关账户中作等额双重记录
  • 将对账验证功能引入记账过程,提升了记账的可靠性

Chain

Block...

区块链分叉

  • Mining......

Solutions:

  • 通过贡献算力来创建新的区块,不止一个节点能计算出当前区块
  • 在区块链中篡改数据会产生链条分叉,篡改难度极高。
  • 最长的链条才被全网公认。
  • 区块链的不可篡改性由工作量证明机制共识机制共同保证。

共识机制
分布式系统要求

理想的分布式系统一致性应当满足.

  • 可终止性( Termination ):一致的结果在有限时间内能完成;
  • 共识性( Consensus):不同节点最终完成决策的结果应该相同;
    • 把事物进行排序,并且这个顺序得到大家的认可
  • 合法性( Validity):决策的结果必须是其它进程提出的提案。
    • 结果由节点得出,并验证

    强一致性要求.

  • 顺序一致性(Sequential Consistency)
    • 保证所有进程看到全局顺序执行一致
    • 并且每个进程看自身的执行跟实际发生顺序一致
  • 线性一致性(Linearizablility Consistency)
  • 共识算法

    把故障(不响应)的情况称为―非拜占庭错误,恶意响应的情况称为―拜占庭错误

  • 非拜占庭错误算法
    • Paxos:分布式的系统中存在故障(fault),但不存在恶意(corrupt)节点场景(即可能消息丢失或重复,但无错误消息)下的共识达成(Consensus)问题。
      • 两阶段提交
    • Raft:Paxos算法的简化版
      • Leader、candidate、follower
  • 拜占庭错误算法
    • PBFT(Practical Byzantine Fault Tolerant):当系统中有三分之二的节点正常工作,则可以保证一致性
    • PoW(Proof of Work):工作量证明,限制一段时间内整个网络中出现提案的个数(增加提案成本)。
    信任的基础
    数学
    为什么要数据加密?
    维度 描述 常见算法
    保密性 特定的接收者才能查看内容 DES、AES,RSA
    完整性 确保数据不被篡改 数字摘要:MD5、SHA
    认证 数字签名提供认证服务 HMAC、盲签名、群签名
    不可抵赖性 数字签名证明信息交换确切发生 HMAC、RSA
  • 数字证书(CA):为确保公钥的有效性
  • PKI(Public Key Infrastructure):为确保数字证书的有效性
  • Merkle 树:

    应用

    区块链分类

  • 公有链:无官方组织及管理机构,无中心服务器,参与的节点按照系统规则自由接入网络,不受控制,节点间基于共识机制开展工作。
  • 私有链:部署在某个企业内部,系统的运作规则根据内部要求进行设定,修改甚至是读取权限仅限于少数节点。
  • 联盟链:由若干机构联合发起,介于公有链和私有链之间,兼具部分去中心化的特征。
  • 应用领域变迁

    疯狂的比特币

    区块链技术成熟度

    Thank You!

    Q&A