网络中节点之间的共识,机器与机器之间的共识。
区块链:一个分布式管理的只能添加记录不能删除记录的数据库。
每次添加记录时需要在网络节点之间达成共识。
概念
传统交易难点:先付款还是先出货?
如何解决的信任问题?
区块链通过技术解决了信任的问题
共识机制 解决存储数据的问题和通过数据的问题
各个节点达成一致的策略和方法。区块链的核心。
不同的共识机制适用于不同的场景
常见的共识机制
pow pos Dpos PBFT
pow
proof of work 工作量证明
中心思想:所有节点通过竞争完成一个有难度的任务来决定区块记账权
在比特币系统中
给定一个字符串 :hello easthome;
在这个字符串后面添加一个叫做nonce(随机数)的整数值
对变更后的字符串进行双重的SHA-256哈希运算
如果得到的哈希结果是以一定数量的0开头,则验证通过
否则循环进入第二步
优点:
算法简单 容易实现
节点间无需交换额外的信息即可达成共识
破坏系统需要投入极大的成本
缺点:
浪费能源
区块的确认难以缩短
容易产生分叉,需要等待多个确认
pos
Proof of stake 权益证明
pos是以节点特有的权益作为权重来获取记账权的机制
共识
网络中节点之间的共识,机器与机器之间的共识。
区块链:一个分布式管理的只能添加记录不能删除记录的数据库。
每次添加记录时需要在网络节点之间达成共识。
概念
传统交易难点:先付款还是先出货?
如何解决的信任问题?
区块链通过技术解决了信任的问题
共识机制 解决存储数据的问题和通过数据的问题
各个节点达成一致的策略和方法。区块链的核心。
不同的共识机制适用于不同的场景
常见的共识机制
pow pos Dpos PBFT
pow
proof of work 工作量证明
中心思想:所有节点通过竞争完成一个有难度的任务来决定区块记账权
在比特币系统中
给定一个字符串 :hello easthome;
在这个字符串后面添加一个叫做nonce(随机数)的整数值
对变更后的字符串进行双重的SHA-256哈希运算
如果得到的哈希结果是以一定数量的0开头,则验证通过
否则循环进入第二步
优点: 算法简单 容易实现
节点间无需交换额外的信息即可达成共识
破坏系统需要投入极大的成本
缺点: 浪费能源
区块的确认难以缩短
容易产生分叉,需要等待多个确认
pos
Proof of stake 权益证明
pos是以节点特有的权益作为权重来获取记账权的机制
节点特有的权益越多,获取记账权的难度就越小。
思想
根据参与者手中持有代币的多少以及持有的时间长短来决定获得出块记账权的概率。
在pow中,不同节点通过hash难度计算获取下一个区块的记账权
在pos中,没有“挖矿”这个概念,它的矿池区块是已经造好的,每个节点抵押已有的Token获得股份权益和利息。
安全性比较差,节点可以相对低成本
Dpos
Delegated proof of stake 委托权益证明
弱中心化的共识机制
思想:
由被社区选举的可信账户(受托人)来创建区块
受托人: 用户在社区投票,获得足够多的其他用户的节点
类似于股份制公司
作为代表来管理公司
优点
提升了传播速度,因为参与验证的节点少了
节省了大量的算力资源
节省了大量的能源消耗
缺点
选举的可靠性和安全性存在隐患
PBFT
practical Byzantine Fault Tolerance 拜占庭容错
思想:
采用许可投票,少数服从多数的方式来选举领导者,并由领导者进行记账
高度容错性
常用于私有链和联盟链