Skip to content

Latest commit

 

History

History
57 lines (56 loc) · 2.81 KB

basic.md

File metadata and controls

57 lines (56 loc) · 2.81 KB

区块链技术综述

  1. 区块链是从比特币中脱离出来的。
  2. 加密货币
  3. 分布式共识
    • 想要生成一个加密货币,还要所有人去承认它
  4. ecash 盲签名技术
  5. hashcash 解决邮件系统中 DoS 攻击问题
    • 提出使用「工作量证明」(POW Proof of Work)机制来获取额度
  6. B-money 引入数字货币生成过程。
  7. 比特币
    • 加密基础理论发展:RSA 算法 & 公钥私钥加密体系 PPKC
    • P2P 技术开发成熟
    • hash 现金解决双重支付问题(痛点)
  8. 量子计算机对 RSA 有破坏性
  9. 分布式数据库存储
    • 没有中心系统
  10. 如何保证每个节点的数据一致性问题?
    • 如果有中心系统的话,只需要保证中心系统这一个节点的数据一致性就好了。
    • 为什么要引入分布式?
      • 高可用、稳定性问题
    • 一致性 hash
    • 冗余存储
    • 强一致性、弱一致性、最终一致性。根据业务特征去选择
    • FLP 不可能性原理
      • 在一个分布式系统中不可能在同一个时刻保证数据一致性(强一致性
    • 通过「共识算法」解决
      • 拜占庭问题。打不打这个仗,需要五个将军来投票,超过 1/2 就打,而不是让一个将军自己去决定,防止被策反。
      • 通过 POW 算法进行优化
    • POW:工作量证明,通过计算来猜测一个数值,得以解决规定的 hash 问题。保证在一段时间内,系统中只能出现少数合法提案。
  11. hash 算法
  12. 加解密算法
    • 解决我发给你的消息,只有你才能知道
  13. 数字签名
    • 解决大家都知道这个消息是我发的
  14. 密钥、地址和钱包
    • 密钥 => 私钥,不需要在网络上进行传播
    • LevelDB
    • 钱包不存钱,钱包存的是交易记录,谁给你转了钱,你给谁转了钱
    • 基于椭圆曲线的公钥、私钥
    • 私钥丢了就是丢了!!!没人知道这个私钥是你的私钥
  15. 交易
    • 创建一个交易
    • 在网络上广播这个交易
    • 比特币找零:别人给我输入了 15 个比特币,我给别人输出 13 个比特币,还剩 2 个比特币再输入给自己。产生三笔交易
    • 交易的确认
      • 确认 A 是 A,通过 A 的签名
  16. 挖矿
    • 把交易写入区块链,就是挖矿
    • 交易不产生比特币,挖矿产生比特币
    • 挖矿的过程中,回去监听比特币网络,正在挖 78 这个块时监听到其它矿工已经挖完了 78 这个块,自己必须要立马放弃,因为要让自己利益最大化,去挖 79 这个块。
    • 博弈论。
  17. 贪心算法
  18. 哈希二叉树。用作快速归纳和椒盐大规模数据完整性的数据结构,包含加密哈希值。
  19. 图灵不完备系统
  20. 智能合约