Blockchain Intro

Blockchain

区块链技术萌芽于比特币,诞生在以太坊, 区块链是价值的载体,是一种新型的社会生产关系。基于区块链技术,打通现实世界与网络世界的屏障,将物质虚拟化,将价值实体化.

  • 数字货币
    • BTC:
      1
      2
      > 2008年,金融危机背景下,中本聪看到现代金融体系的不足,创建基于密码学而非信任关系的数字货币系统 -- 比特币
      > 在比特币中,矿工通过计算满足条件的区块获得挖矿奖励,且大概每四年减半,比特币的货币供应随着时间逐渐减少,是一种通缩型数字货币.
    • Etherenum:
      1
      > V神在比特币的基础上,将智能合约于区块链结合,创立去中心化应用平台 -- 以太坊
      • 硬分叉分裂:
        • ETH:
        • ETC:
  • 软分叉: 可兼容的程序版本更新
  • 硬分叉: 不可兼容的程序版本更新
  • 公链圈: 专注于有币的共有开放区块链网络
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # 应用层面:
    - 去中心化金融: Decentralised Finance
    - 金融: 通过重新分配资产来获得资产增值的一种渠道,本质在于信用、风险和杠杆,金融成立的前提就是控制不确定性风险。
    - 去中心化存储:
    > 一种利用分布式存储技术,将文件分块存储在不同存储节点的应用型创新. 相较于中心化存储,拥有更高级别的隐私保护,存储成本更低,且具备更冗余的数据备份副本,能有效避免单点故障
    - 面临的问题:
    - 1. 币价波动导致成本不确定性
    - 2. 受制于网络环境以及硬盘本身,整个去中心化网络存储性能不高,远不如中心化存储,只适用冷数据以及个人数据存储.
    # 技术创新层面:
    > 跨链: 不同区块链网络是独立,是一个个数据孤岛,跨链技术是在这些岛之间构建互通的桥梁,提供不同链之间数据互通的可能性.
  • 联盟链圈: 专注于区块链技术在企业领域的研究
    1
    2
    3
    4
    5
    6
    7
    # 数据存证:
    > 区块链技术具有时间连续,不可篡改,可回溯等特性,非常适合留存证据的数据存储。大多数应用在区块链上存储只是数据证明,而非原始数据。

    # 数据交换:
    > 通过区块链技术解决多方数据交互需求,各方部署区块链节点,只需与自身节点交互,区块链机制自动将数据同步至其他参与方,任一节点数据更新,区块链通知机制自动通知各放

    # 价值转移:

BTC 比特币白皮书 – 阅读

一种P2P电子货币系统,基于密码学原理而不是信任的电子支付系统,该系统允许任何有交易意愿的双方能直接交易而不需要一个可信任第三方。只要诚实节点集体控制的CPU算力大于每一个合作攻击节点群的CPU算力,这个系统就是安全的。

BTC白皮书

  • 交易
  • 事件戳服务器
  • 工作量证明
  • 网络
  • 激励
  • 回收磁盘空间
  • 合并和分割交易额
  • 隐私
  • 计算

技术原理

  • 区块链特征:

    • 去中心化
      1
      2
      3
      4
      > 区块链存在的初衷就是去除中心化的第三方机构,整个网络的数据以及状态是由网络中所有的节点共同维护,任一节点离线不会影响系统的运作.

      > 节点互为彼此的数据生产者及消费者
      > 现阶段区块链去中心化本质是相对去中心化(多中心化)
    • 可追溯性
      1
      > 区块链被认为是时序数据库,对节点数据库存储响应的数据以及日志,且每份数据是按照顺序前后关联在一起,新的数据一定从某一组之前已存在的数据派生而来
    • 不可篡改
      1
      2
      3
      4
      # 密码学
      - 哈希算法: 任意数据转换为固定长度的数据指纹, 形成一条由数据指纹串联的信息链条
      # 共识算法
      - 大多数共识算法遵循少数服从多数的原则
  • 存储:
    区块链存储

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    # 存储冗余
    - 比特币网络累计超过350G的历史数据, 以太坊但节点超过8700G的历史数据
    - 数据归档: 的本质是在保持不可篡改的前提下牺牲部分可追溯性
    - 节点角色:
    - Bitcoin Core 全节点: 路由、链存储、挖矿、钱包
    - 普通全节点: 路由、链存储
    - SPV钱包节点: 路由、钱包
    - 挖矿节点: 路由、链存储、挖矿

    # Transaction: 交易
    > 交易是区块链网络中数据的最小组成部分, 交易提交后只能有两种状态(成功/失败)
    > 区块链中所有的交易基本都是从区块链外部发起,区块链网络只接收交易而不生产交易, 且不对交易做任何改动。
    - 交易属性:
    - From: 交易的发起方
    - To: 交易的接收方
    - 智能合约: 执行智能合约的名称
    - 方法名称
    - 参数列表
    - 签名: 私钥对交易进行签名
    - 时间戳: 交易在客户端构建的时间
    # 区块
    > 区块链是时间段的数据前后关联依次串联整合成的信息链条,而每一个时间段的数据称为区块Block
    > 区块是指将节点一段时间内收到的所有(有效)交易打包而形成的一种数据结构.
    - 区块结构:
    - 区块头:
    - 前置区块哈希: 区块间的关联
    - 交易根哈希: 区块与交易的关联
    - 区块高度: 当前区块在区块链中的位置
    - 时间戳: 区块打包的时间
    - 区块体: 保存交易并按照交易时间排序
    - 区块间关联:
    - 每个区块都会包含前置区块哈希作为逻辑关联两个区块的锚点

    # 莫克尔树:
    > 树状结构,至少三层,分别是叶子结点, 中间节点,根节点
    - 构建逻辑:
    > 相邻叶子结点进行哈希运算,得到哈希值作为两个叶子节点的父节点,这样由哈希值构成的莫克尔树

    # State状态
    - 有限状态机:
    > 在一个封闭的系统中,如果状态起始条件一致,状态改变条件顺序一致,最终一定会得到一致的结果
    > 区块链也是一种有限状态机

    - 状态模型:
    - UTXO(Unspent Trasaction Outputs - 未花费的交易输出)模型:
    - 未花费的交易输入告知货币是从哪里来,未花费的交易输出告知货币往哪里去
    - 账户模型: 实现账户间余额的动态平衡
    - 通用模型: 没有内置状态属性,可存储任意自定义数据
  • 密码学算法

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    # 哈希算法
    > 哈希算法称为散列函数,可以将任意长度的数据转换成短的、固定长度的数据指纹
    - 常用的哈希算法:
    > 哈希算法相当于是对信息提取摘要,是数据的指纹.用于数据完整性校验
    - MD5: 32 byte
    - SHA-256:
    - 哈希算法标准
    - 正向快速:
    - 逆向困难:
    - 输入敏感:
    - 避免碰撞:

    # 非对称加密算法:
    > 非对称分为公钥和私钥, 公钥加密 -> 私钥解密; 私钥加密 -> 公钥解密
    > 区块链中使用的非对称加密算法并不是直接用于数据加密,而是主要用作交易签名, 数字签名集成了哈希算法与非对称加密算法的双重特征,在保证交易完整性的同时,证明交易发起人的身份.
    - RSA:
    - ECC:
    # 对称加密算法:
    > 对称表示加密和解密都使用同一套密钥
    # 数字签名:
    > 区块链中不直接使用非对称加密算法,而是使用数字签名
  • 网络模型

    • 客户端/服务端模型
      1
      > 客户端/服务端模型:属于中心化的网络架构,服务能力取决于中心的服务器
    • 点对点网络模型
      1

    • 网络拓扑结构
      • 中心索引节点
        1
        中心索引节点保存所有节点的接入信息,新节点的加入将自身信息传入中心节点,从而换取已在网络中其他节点的连接信息, 有可能存在单点故障的可能性,一旦中心索引节点宕机,新节点将无法加入网络
      • 无为而治
        1
        新节点选择连接一个已存在网络中的节点,被连接的节点可以告知新节点连接的其他节点信息,这样新节点可以随机选择连接其他节点
      • 整体分散局部集中的混合结构
        1
        整个网络由多个种子节点形成主干网络,其他普通节点则连接到某个子节点,就形成整体分散局部集中的混合结构
      • 有序结构化网络
        1

    • 区块链网络拓扑:
      1
      2
      3
      4
      5
      6
      # BTC
      > 采用混合型的网络拓扑结构,一个新节点的加入需要给节点指定几个已在BTC网络中的相邻节点(普通节点或种子节点)信息, 当建立节点间连接以后,新节点将自身信息发送给相邻节点,相邻节点再将新节点的信息依次转发给各自相邻节点,从而选择性连接更多节点,增强节点自身与整体网络连接的稳定性

      # ETC
      > 以太坊采用结构化网络拓扑,基于分布式哈希表Kademlia算法。
      > 节点间的距离是逻辑距离,而非物理距离.
    • 交易扩散
      1
      2
      3
      > Gossip 八卦协议:
      - ETC: 以太坊网络的节点只与自己最近距离的相邻节点连接,交易的扩散不存在回路的可能性,扩散更像是一种持续向外广播。交易会逐渐远离最初的节点,交易扩散效率较高
      - BTC: 网络拓扑是随机的,交易扩散是扩散到连接节点,扩散前无法指导对方是否已经接收到相同的交易,网络扩散的效率较低
  • 共识算法

    1
    2
    3
    4
    > 共识算法的基础是少数服从多数
    > 区块链引入共识算法保证节点间状态的一致
    > 区块链中对状态的共识实质就是对区块的共识, 只要区块一致状态就一定一致
    # 拜占庭将军问题:
    • 激励共识:
      • PoW - 工作量证明算法
        1
        2
        3
        利用哈希算法计算区块哈希,使得区块哈希以N个0开头,
        比特币网络允许有多条区块链存在,但只认同节点能接收到的最长的那条区块链是全网网络共识的链
        对比特币网络的篡改,实质是对计算资源(算力)的争夺,谁拥有更多的计算资源,睡的话语权就大,就是通常听到的51%攻击
      • PoS - 权益证明算法
      • DPos - 委托权益证明算法
    • BPFT - 拜占庭容错算法
      1
      2
      > 只要共识网络中作恶节点的数量未超过总节点数的1/3,共识依旧可以达成
      > BFT类的共识算法主要用在联盟链中,因为联盟链主要参与对象是企业,有准入机制的存在,一条链的参与方不会很多也很少存在动态增删节点的情形

智能合约

1
2
3
传统意义上的合同协议的约束力来自于权威机构背书
智能合约实质是一段计算机程序代码
智能合约的标准化是价值网络落地的前提
- NTF - 非同质化代币
1
> NTF - 一种手段将虚拟与现实的价值锚定.
- 元宇宙
1
2
元宇宙代表的是一个沉浸式的虚拟世界,玩家能在其中进行文化、社交、娱乐等活动
元宇宙是由区块链、游戏、网络和显示四大技术融合而成的虚拟世界

量子计算

  • 经典计算机与量子计算机存储数据区别
    1
    2
    > 经典计算机存储具体的值
    > 量子计算存储值的概率

区块链+

  • 可信上链
    1
    2
    3
    1.确保区块链上链数据的真实性?
    - 权威机构的信息发布
    - 摆脱数据的认为干预
  • 预言机
    1
    > 将外界真实的信息输入到区块链网络中,实现链外与链内的数据互通.
  • 5G 物联网
    1
    > 5G 依托全新的网络架构,具备高速率、低延迟、高可靠性、大带宽等优势,可以满足人与人之间的通信需求,解决物与物的通信连接问题.
  • 数字人民币
    1
    2
    3
    4
    5
    6
    7
    8
    > 数字人民币是中国人民银行发行的法定货币的数字化,是由国家信用在背后作支撑,其发行权属于国家.
    > 数字人民币的定位是现金类支付凭证,意味着数字人民币和纸币、硬币的定位是一致的

    - 不计利息
    - 无手续费
    - 可控匿名: 小额匿名、大额依法可溯

    - 数字人民币的发行是不比使用区块链技术的
  • 数字社会
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    - 云计算:
    - 云计算利用虚拟化技术将物理服务器、存储和网络等硬件以服务的形式提供给用户使用
    - 区块链:
    - 区块链与云计算的结合催生出区块链即服务平台
    - Baas, Blockchain as a Service
    - Paas, Platform as a service
    - 大数据:
    - Volume: 数据量大,通过大数据的数据量是以TB,PB来计算
    - Volocity: 高速, 大数据需要用较高的速度接收甚至是处理数据
    - Variety: 多样性, 大数据的数据源很多,且大多数属于非结构化的数据
    - Value: 价值, 大数据所面对的数据是海量的,但并不是所有的数据都有价值,需要通过数据清洗、过滤出有价值的数据
    - Veracity: 真实, 需要保证数据的真实性、准确性,才能提高数据质量
    - 人工智能:
    - 语音识别
    - 图像识别
    - 自然语言处理