拜占庭分叉什么意思 拜占庭分布式
什么是区块链共识机制?
如果说共识是区块链的基础的话,那共识机制就是区块链的关键思想核心。可以用分布式分类账来解释概括。在这个怅本中假如相同时间产生的事物前后顺序进行排序,那么就涉及到区块链技术的重要性的问题。所渭区块链共识机制就是相同的时间内所发生的问题的共同的算法设计问题。
一直都在邀请听泉回答关于区块链的问题,听泉不想动脑筋~但还是回答一下吧~
什么是“共识”
“共识”这种概念,在我们人类开始群体生活之时便已存在。从最基本的层面上说,“共识”是一种让一个由不同成员组成的群体在不发生冲突的情况下作出决策的方法。
如果我们把上面这个概念提炼一下,就可以发现,“共识”的达成需以下三个条件:
(1)群体中所有成员共同接受法律和规则的约束;
(2)群体中所有成员一致认可实施这些法规的机构;
(3)群体中所有成员,均拥有强烈的身份认同感或团体意识,这样群体中所有成员才会承认他们就达成的共识而言是平等的。
什么是计算机领域的“共识机制”
最初,“共识”知识作为社会运作的一个概念,但如今已成为计算机科学的重要组成部分。在过去的几十年里,计算机领域中的共识机制已从一个抽象概念发展成分布式账本技术(区块链就是一种分布式账本技术)的重要支柱。
在分布式账本中,共识机制是大部分(或全部)网络成员就某条数据或拟定交易的价值达成一致,并就此对账本进行更新的机制。换言之,共识机制是在参与节点之间管理一系列连贯事实的规则和程序。
共识算法允许关联机器连接起来进行工作,并在某些成员失效的情况下,工作仍能正常进行。这种容错能力是区块链和分布式账本的一大主要优势,并有内置冗余余量以作备用。
什么是区块链共识机制
所谓区块链共识机制,或者说共识过程,是指如何将全网交易数据客观记录并且不可篡改的过程。目前,在区块链领域分别使用不同的共识算法, 主要有工作量证明PoW(Proof of Work),权益证明PoS(Proof of Stake),授权权益证明DPoS(Delegated Proof of Stake)等等。
以上这些算法都可以称之为“经济学”的算法,所谓经济学的算法,是指让作弊成本可计算,且让作弊成本往往远大于作弊带来的收益,即作弊无利可图,通过这种思想构造一个用于节点之间博弈的算法,并使之趋向一个稳定的平衡。
相对应的我们还有计算机领域的分布式一致性算法,例如:Paxos、Raft等等,这些也可以称为传统分布式一致性算法。
他们之间的最大区别是:系统在拜占庭将军情景下的可靠性,即拜占庭容错(PBFT算法支持拜占庭容错)。
下面是一些传统分布式一致性算法和区块链共识过程的异同点。先来看相同点:
- 只能是附加的
- 强调序列化
- 少数服从多数原则
- 分离覆盖的问题:即长链覆盖短链区块,多节点覆盖少数节点日志
不同点:
- 传统分布式一致性算法大多不考虑拜占庭容错(Byzanetine Paxos除外),即假设所有节点只发生宕机、网络故障等非人为问题,并不考虑恶意节点篡改数据的问题;
- 传统分布式一致性算法是面向日志(数据库)的,即更通用的情况,而区块链共识模型面向交易的,所以严格来说,传统分布式一致性算法应该处于区块链共识模型的下面一层。
共识机制是什么?
由于点对点网络下存在较高的网络延迟,各个节点所观察到的事务先后顺序不可能完全一致。
因此区块链系统需要设计一种机制对在差不多时间内发生的事务的先后顺序进行共识。这种对一个时间窗口内的事务的先后顺序达成共识的算法被称为“共识机制”。
币姐插播
在区块链系统当中,没有一个像银行一样的中心化记账机构,保证每一笔交易在所有记账节点上的一致性,即让全网达成共识至关重要。共识机制解决的就是这个问题。
PoW和PoS优缺点
币姐解释
目前主要的共识机制有工作量证明机制PoW和权益证明机制PoS。
PoW(什么是PoW?)
PoW通过评估你的工作量来决定你获得记账权的机率,工作量越大,就越有可能获得此次记账机会。
PoW即工作量证明,它的优点是:
- 算法简单,容易实现;
- 节点间无需交换额外的信息即可达成共识;
- 破坏系统需要投入极大的成本;
它的缺点:
- 浪费能源;
- 区块的确认时间难以缩短;
- 新的区块链必须找到一种不同的散列算法,否则就会面临比特币的算力攻击;
- 容易产生分叉,需要等待多个确认;
- 永远没有最终性,需要检查点机制来弥补最终性;
PoS(什么是PoS?)
PoS通过评估你持有代币的数量和时长来决定你获得记账权的机率。这就类似于股票的分红制度,持有股权相对多的人能够获得更多的分红。
DPOS与POS原理相似,只是选了一些“人大代表”。 与PoS的主要区别在于节点选举若干代理人,由代理人验证和记账。
PoS即权益证明,它将PoW中的算力改为系统权益,拥有权益越大则成为下一个记账人的概率越大。
这种机制的优点是不像Pow那么费电。
它的缺点:
- 没有专业化,拥有权益的参与者未必希望参与记账;
- 容易产生分叉,需要等待多个确认;
- 永远没有最终性,需要检查点机制来弥补最终性;
币姐插播
随着技术的发展,未来可能还会诞生更先进的共识机制。
如果觉得好,觉得给我点赞哦~!
更多区块链的知识,可以关注币姐的公众号:币姐说(bjiebtc)