深蓝说区块学习笔记
深蓝说区块
开题
- 基础知识
- 基础概念
- 密码学
- P2P
- 数据结构
- 技术细节
- 智能合约
- 共识
- 存储
- 网络
- 发展趋势
- 性能
- 跨链
- 新技术融合
- 应用场景
- 公链场景
- 联盟链场景
- 政策解读
- 国际政策
- 国内政策
- 地方政策
区块链基础概念及关键技术
基础概念
-
2.区块链的定义解读
- 定义:区块链(Blockchain)是一种有多方共同维护,使用密码雪保证传输和访问安全,能够实现数据移植性存储、难以篡改、防止抵赖的记账技术,也称分布式账本技术(Distribute Ledger Technology,简称DLT)
-
3.区块链的五大要素
-
加密
- 通过加密及数字签名确保数据安全
-
不可篡改
-
分布式
- 多台机器,每台一个账本
-
去中心化
-
通证化
- 价值网络
- 价值可以传输,不能复制
-
关键技术
-
4.哈希算法
-
哈希算法(Hash、杂凑算法、散列算法
-
特点
-
正向快速
- 给定明文和hash算法,在有限时间有限资源内能计算出hash值
-
逆向困难
- 给定(若干)hash值,在有限时间内(基本不可能)逆推初明文
-
输入任意长度,繁华固定长度
-
输入敏感
- 原始输入信息修改一点信息,产生多hash值看起来都有很大不同
-
冲突避免
- 很难找到两段不同都明文,使得他们的hash值一支(发生冲突)
-
-
常用哈希算法
-
区块链常用都哈希算法
- SHA256
- SHA3
- RIPEMD160
- 国密SM3
-
不推荐都已经被破解都哈希算法
- MD5
- SHA1
-
哈希算法都作用
- 区块链账户地址都生成
- 交易ID、区块ID都生成
- POW共识算法
-
-
-
5.数字签名算法
-
非对称加密(私钥、公钥)
- 私钥、公钥成对匹配
- 私钥加密内容,公钥揭秘
- 公钥加密的内容,私钥解密
- 公钥对外公开,通过公钥无法得到私钥
- 私钥对消息产生签名,公钥验证消息和签名
-
签名不可伪造、不可抵赖
-
常用的对签名算法
-
区块链中常用对签名算法
- ECDSA(基于椭圆曲线)
- ED25519
- 国密SM2
-
不推荐对签名算法
- RSA
- 同等安全需要对密钥长度高
- 计算耗费CPU
- RSA
-
签名算法的作用
- 对交易对数据对签名,防止伪造或篡改交易
- 私钥(钱包)及代表持有者本人
-
-
-
6.点对点网络
- 点对点(P2P)网络也叫对等网络
- 无中心节点
- 消息已广播对方式传播(泛洪传播)
核心数据结构
-
7.交易的结构
-
数据的写入--交易(Transcaction)
-
主要包含三要素
- 发起人(ID、公钥、地址)
- 行为(转账、合约调用、存证)
- 发起人的签名
-
没有签名的交易无法在区块链P2P网络中传播,更无法被打包
-
比特币交易结构
-
-
8.区块的结构
-
区块(Block)
- 区块头
- 交易集(树型结构)
-
链(Chain)
- 通区块头中“上一去快哈希”字段,组成链式数据结构
-
为什么区块链数据难以篡改
- 交易集中数据的改动将导致节点的哈希值变动
- 交易集任意一个节点的哈希值是根据所有子节点的哈希值计算出来的
- 交易集中任意一个数据变动最终会导致根哈希变动,从而导致该区块的哈希值变动,导致下一个节点的 “上一区块哈希” 无法对应
- 变动下一节点 “上一区块哈希” ,将导致下一节点哈希值变动,后续节点无法对应
- 修改一笔交易,需要本区块和后面所有区块的哈希值重算
-
区块链技术细节
9.交易的生命周期
-
s1.用户A
- 发送签名交易A
- 广播
-
s2.邻居节点
-
验证合法性
- 非法则丢弃
-
合法加入交易池(内存池)
-
进一步P2P网络广播
-
-
s3.记账节点
-
产块时
- 打包交易A和其他交易(如果有)到新的区块中
- 广播新区块
-
-
s4.所有节点
- 收到新区块
- 验证
- 验证通过更新本地数据库(账本)
10节点的类型
11.分布式系统
12.节点数据库的构成
13.智能合约
14.多个节点记账-去中心化
-
当记账节点大于一个,而且记账节点不全部掌握在一个人手中是,就实现链去中心化(或者多中心化)
-
比特币:成千上万当人参与争夺记账全,完全当去中心化
-
某银行联盟链:几个银行共同个记账,多中心化
-
某单位内部链:只有该单位控制记账节点,中心化
-
优势
- 预防单机故障
- 防止某个或少数节点做恶行为
15.交易的冲突-双花问题
- 双花(Dobule-Sending)
- 一笔交易还没被正是打包的时候,同时有发起链另一笔交易
- 简单来说,就是同一笔钱,花费链两次
- 更通用的来说,就是状态数据的版本冲突
16.交易的冲突-共识算法
- 新区块的产生,区块由谁产生,其中包含哪些交易,交易的顺序,谁说链算?记账全的争夺--共识算法
- 场景的共识算法包括
- POW工作量证明——谁算的快谁记账
- POS权益证明——谁钱多谁记账
- DPOS代理权益证明——投票选举代表,有代表轮流记账
- POA授权证明——创世或管理员指定谁记账
- PBFT实现拜占庭容错——相互合作共同记账
17.工作量证明
-
2.8POW工作量证明共识
- 按劳分配,谁运输的次数多,谁又更大的机率记账
- 基于哈希结果随机的特效,要求每个区块的哈希以n个0开头
- 节点只有尝试成千上万(亿)此哈希运输,才可能找到满足条件的哈希
18.最长链共识
- 2.9POW之最长链共识
19.51%攻击
-
51%攻击
- 攻击者控制全网50%的算力
- 发起双花交易
-
表现
- B筹款后交易被打包,后又消失
-
解决办法
- B等等大于6个区块的确认
三、区块链发展趋势
20.从区块链1.0到3.0
-
1.0货币与交易-可编程货币
- 比特币
- 性能低3~4TPS
-
2.0智能合约-可编程金融
-
智能合约
- 股票
- 债券
- 期货
- 代课
- 智能支持
- 非货币应用Def
-
以太坊
-
-
3.0自治和管理-可编程社会
21.公有链、联盟链和私有链
22.区块链发展趋势
-
核心挑战
- 吞吐率不足-性能瓶颈
- 扩展性不足
- 存储成本难控
- 实时性差
-
三角平衡
- 去中心化
- 安全性
- 可扩展性
-
各层趋势
-
基础设施
-
融合发展
23.扩容技术
-
链上扩容(Layer 1)
- 增加区块大学、减小产块间隔
- 隔离见证SegWit
- 共识改进:DPOS、dBFT
- 分片、分区、子链
- DAG、XXTree
-
链下扩容(Layer 2)
- 状态通道:闪电网络、雷电网络
- Plasma
- zk Rollup
- Truebit
24.跨链技术
- 公证人模式
- R3 Corda
- Interledger
- 侧链/中继模式
- BTC Relay
- RootStack
- Cosmos
- Polkadot
- 哈希锁定模式
- 闪电网络
- 雷电网络
- 分布式私钥控制
- WanChain
- FUNSION
25.预言机技术
26.隐私包含技术
27.小结:区块链技术到几个特点
区块链在各行业的应用
28.区块链应用条件
29.金融行业应用
30.区块链在商业模式上的应用
31.区块链在民生行业的应用
32.政务应用
-
区块链技术具有不可篡改、可追溯、可加密共享、可交叉验证等特性,实现了政务区块链的三大优势
- 政务服务数据是可信互信的
- 政务服务全流程安全可控
- 真正达到降本增效的目的
-
应用场景
- 政务服务
- 电子证照
- 电子签章
- 一网通办
- 政务监管
- 司法存证
- 精准工艺
- 商品溯源
- 便民服务
- 健康档案
- 汽车摇号
- 时间银行
- 政务服务