1. 区块链 基础

* 比特币
* 以太坊
* Linux基金会   Hyperledger
* EOS
* 各厂商自研区块链技术

1.1. 技术名词

  • 交易(Transaction) 一次状态转移操作(一次转账)
  • 区块(Block) 交易的集合
  • 链(Chain) 区块的顺序排列 典型的单链表结构

1.2. 区块链类型

  • 公有链
  • 联盟链 所有的节点不是随意加入退出
  • 私有链

1.3. 区块链特点

  • 去中心化
  • 去信任化
  • 数据共享
  • 不可篡改

1.4. 区块链平台

  • 1.0 数字货币
  • 2.0 智能合约
  • 3.0 EOS
  • 超级账本(Fabric)

1.5. 应用场景

  • 去信任(去中介)
  • 价值转移!=拷贝
  • 数据共享 (之前的方式,由中介机构保存、有相互之间的API调用、有公共存储的地方)

1.6. 区块链技术

P2P网络协议 区别于完全不同的P2P投资 使用场景:BT下载

  • 历史: 中心化 分布式 去中心化
  • P2P网络实现
    • Hyperledger Fabric–>gRPC对等服务 区别于P2P协议
    • Ethereum–>Kad DHT技术

密码学

  • 哈希(Hash)
    • 将不定长度的数据转换成固定长度的哈希值
    • MD5、SHA1、SHA2(SHA2-256)
    • 正向快速、逆向困难
    • 输入敏感
    • 抗碰撞
  • 加解密算法 U盾
    • 对称加密
    • 非对称加密 RSA、椭圆曲线

共识算法(分布式一致性算法)

  • 强一致性 (很难保障、效率低)
  • 最终一致性

共识算法–CAP原理

  • 一致性(Consistence)
  • 可用性(Availability)
  • 分区容忍性(Partition Tolerance)

共识算法–ACID原理

  • 原子性 一致性 隔离性 持久性

共识算法分类

  • Paxos 解决故障节点
  • 拜占庭容错(PBFT) 既能解决故障节点 也能解决恶意攻击节点
  • 小结:一般的分布式节点 Paxos能够胜任解决
  • 延伸:公有链和联盟链核心的区别就是共识算法的不同

1.7. 拓展阅读

  • 比特币白皮书
  • 区块链技术指南《杨宝华yeasy》
  • Hyperledger Fabric官方文档