导图社区 区块链综述
区块链是一种 广泛应用于新兴数字加密货 币的去 中心化基础架构 ,本导图从一篇综述论文中总结的区块链基础知识。
编辑于2019-09-24 09:50:07区块链
引入
一种成功的数字加密货币
比特币-2016年百亿美元资本市场
其数据存储结构-区块链
交易不需要第三方
基本性质
本质形式
一系列的区块,像传统公共分类账簿一样的完整的交易记录清单
结构
区块头
区块版本
遵循的块验证规则
Merkle tree root hash
整个块内全部交易的hash值
时间步
从1970年1月1日开始的全局时间中的当前时间(以s为单位)
nBits
target threshold of a valid block hash
Nonce
共4位的hash值计算的总共次数
Parent block hash
256位的指向父结点的hash值
区块体
交易计数
交易记录
概要
结构图
关键特征
去中心化/分散化
传统交易需要可信的第三方中介,这会导致额外成本和性能瓶颈,区块链中不需要中介,使用共识算法来保证分布式网络中的数据一致性
持久性
交易可以被快速验证并且无效交易不会被诚实的矿工接受,因此载入区块链的交易几乎不可能被删除或撤销,并且载入无效交易的区块可以被迅速发现
匿名性
每个用户都可以用一个生成地址与区块链交互,避免泄露用户信息,但由于内部约束,区块链目前还无法实现完美的隐私保护
可审计性
比特币用未花费交易输出(UTX-O/Unspent Transaction Output)模型保存用户余额,每有一个相关交易记录都会产生消耗旧的未花费交易输出并产生新的未花费交易输出,因此交易可以被轻易追踪和证实
概要
高效
廉价
安全
可靠
分类
私人区块链
只有一个特定组织的结点可以加入共识过程
中心化
共同体区块链/联盟区块链
只有一组预先选定的结点可以加入共识过程
部分去中心化
公共区块链
所有人都可以加入共识过程(Consensus process)
去中心化
概要
比较表
相关技术
asymmetric cryptography mechanism/非对称加密算法机制
作用
用于验证交易的有效性
实例
数字签名(基于非对称加密算法机制)
每个用户持有一组公钥和私钥
典型数字签名包括两个阶段
加密阶段
发送方用自己的私钥加密数据并把加密结果和原始数据发送给接收方
验证阶段
接收方用发送方的公钥验证收到的值,确认数据是否被更改
分布式共识算法
引入
拜占庭将军问题
一组拜占庭建军各率部分军队包围一座城市
部分将军想进攻,部分想撤退
只有一部分进攻的话无法成功
需要达成共识
在去中心化网络中,必须选择几个结点去记录交易,最简单的方法是随机选择,但随机选择易受到攻击,故如果一个结点想记录交易,必须证明它不是想要攻击网络,证明方法是共识算法的核心内容
实例
PoW (Proof of work)
比特币用
基本原理
网络中的每个结点需要计算一个块标题的hash值,通过改变标题内的nonce值获得不同的hash值,直到获得一个等于或小于特定目标值的结果。得到合适结果的结点将相应块进行广播,验证有效后被其他结点记录
进行哈希值计算的结点称为矿工,整个POW过程称为挖矿
分支处理
在去中心化网络中,有效的块可能被同时算出,产生多个分支,但多个分支继续同时算出下一个有效块的概率极小,故出现分支后先暂存,在某个分支率先的得到下一个有效块后设定最长的链为有效链
概要
图
缺点
资源浪费
改进方向
使用一些附加应用进行计算
To mitigate the loss, some PoW protocols in which works could have some side-applications have been designed. For example, Primecoin searches for special prime number chains which can be used for mathematical research.
PoS (Proof of stake)
节约能源
矿工依靠货币所有量的大小决定获得区块所有权的可能性
缺点
不公平,富者容易获得整个网络的支配权
改进方向
基于资产使用特殊方程确定
基于资产和持币时间确定
概要
许多区块链从POW开始逐渐转为POS机制
适用于公共链
DPOS (Delegated proof of stake)
与POS的不同
POS由各个结点独立参与竞争
DPOS由每个结点几个一组选出代表参与竞争, 代表可以改变块的大小等参数,并且可以随时被投票替换
效率更高
是比特股的基石
PBFT
三阶段定权,每阶段候选者均需获得全部结点中三分之二结点的同意
dBFT
仅由对几个特定结点的投票决定记录权
Tendermint
三阶段定权,第一阶段:各个验证者决定是否广播一个待定块的委托书,第二阶段:当某个验证者收到超过三分之二的委托后广播一个预提交命令,当某个结点收到超过三分之二的预提交命令后进入第三阶段:结点验证块并广播一个提交命令,当某个结点收到超过三分之二的提交命令后记录该块。
与PBFT最大的不同在于结点需要锁定各自的币以成为验证者,当某个结点被发现不诚实后会受到惩罚
概要
需要验证许可,适用于商业应用
Ripple
使用大网络中的子网络进行决策,将结点分为server和client两类,只有server参与共识机制,client只用于资金转移,对于每一个server设定一个唯一结点列表/Unique Node List (UNL),每当决定一个新块的所有权时,server都需要得到其UNL内80%的同意
概要
联盟链常用机制
概要
比较表
Node identity management
PBFT选择结点成为候选者
Tendermint选择结点成为委托人(同时也为潜在受理人)
其他方式中各结点自由加入竞争
Tolerated power of adversary
反映了作弊的难易程度
改进方向
方向
更高效
更安全
更方便
实例
论文内的位置:Ⅲ末
当前挑战
可扩展性
约每十分钟产生的一个区块的大小限制在1MB以下
每秒至多可以提交7个交易
无法支持高频次的交易请求
提高每个区块容量会导致更大的存储空间和更慢的网络传输速度
更少的人愿意维护区块链
导致区块链逐渐集中
概要
块的大小与安全性存在矛盾
改进方向
区块链存储优化
使用新的加密货币机制,遗弃无余额的交易记录,用新的数据库保存所有非空地址的余额
区块链重定义
标题与内容分离的下一代比特币
隐私安全问题
已发现即使用户只用公钥和私钥进行交易也可能出现隐私泄露
概要
改进方向
mixing
用中介实现多路输入多路输出提高安全性
anonymous
改变验证方式避免与个人信息联系起来
自私的挖矿策略
已证实可以通过改变挖矿策略来获得比合理份额更高的收益,但这种策略往往会导致区块链的分支化,阻碍区块链的发展
实例
算力高的矿工在算出某个块的合适值后不广播,而是保存为自己的私人链,继续计算延长私人链的长度,达到一定程度后才广播,此时由于私人链长于公共链而使其无效化,该矿工则可以获得无竞争对手的中间结点的较高收益
概要
改进方向
修改出现分支后的分支选择策略
使每一个块只能在产生后的一定时间间隔内被接受
区块链共识算法存在问题
工作证明制度(挖矿过程中付出的工作越多收益越大,机器性能越好收益越大)会浪费大量的电能
权益证明制度(持矿越多挖到矿后收益越大)容易出现富者更富的现象
发展方向
区块链测试
标准化
验证区块链的基本属性的真实性和有效性
测试
验证某个专用区块链的某个特定参数的特定特征
阻止中心化趋势
大数据分析
数据管理
安全地存储大量数据
数据分析
对区块链存储的交易的分析可以确定贸易模式
应用
财务服务
数字资产
汇款
在线支付
概要
区块链不可改变
一旦载入区块链交易记录就无法被更改
智能合约
可以让计算机自动执行的设定好的条款
IoT/物联网-Internet of Things
公共服务
信誉系统
需要高可靠度和诚信度的公司可以用区块链吸引用户
安全服务
可以避免单点故障
总结自论文: An Overview of Blockchain Technology: Architecture, Consensus, and Future Trends BY Zibin Zheng, Shaoan Xie, Hongning Dai, Xiangping Chen, and Huaimin Wang