比特家 > 教程 > 正文

负基础学习区块链丨第三课: 共识机制

这个时代人人都得懂点区块链,这是一篇基础为负也能看懂的学习课程。共识机制作为区块链技术的核心务必深入理解。

在讲解共识机制(consensus)之前先要了解拜占庭将军问题。
拜占庭将军问题是 (Byzantine Generals Problem)Leslie Lamport 1982 年发表的论文中抽象出来描述分布式系统一致性问题的经典故事型案例。
这个故事大概如下:
拜占庭帝国非常强大,征战多年侵吞了很多小国家,所以地域广阔。在拜占庭帝国的周边有10个小国家,他们不堪忍受帝国的欺压,决定奋起反抗,大家一起出兵讨伐拜占庭帝国。可是每个国家的兵力与帝国相比实力相差悬殊,最少需要6个国家的将军带兵同时进攻才能取得胜利。他们之间距离相隔很远,只能依靠骑兵传递信息来统一进攻的时间。可是这里边也会有叛变的将军,他们会给不同的将军不同的进攻时间。
那么问题来了,要怎么才能让忠诚的将军能够在进攻时间上达成一致并且能取得胜利?

为了得出一个普遍的结论,我们延伸假设总共有n个将军,叛徒将军有m个。
Lamport 证明了n>3m+1时,忠诚的将军可以达成命令上的一致。
Lamport这个问题里的将军就代表系统中的每个节点,其中叛徒将军即代表系统中的作恶节点,作恶节点会尽量不让系统达成一致性的意见。但经过算法上的证明,只要满足上式,好的节点是可以在系统中达成共识的。
在系统中恶意节点前后发送不一样的信息,这就是“拜占庭错误”,解决的方法称之为Byzantine Fault Tolerant (BFT) 算法,它具有一定的容错性。
拜占庭将军问题解决的过程相当困难,之所以难度这么大就是因为每个节点可以在不花费代价的情况下提出建议,提案成本相当低。
因为这个经典案例,才演进出区块链里的共识机制。共识机制就是无需中心化机构,在系统预先设定好的规则下,利益不相干的若干节点投票达成共识,那么全网就达成了共识。就如上期文章故事里如果村里有若干个跟你没关系的人都承认你确实放了一瓶酒在村中心,那么全村就可以认定确实有这么一回事。
区块链所用到的主流共识机制有三种:

1.工作量证明(proof-of-work)

比特币所采用的就是POW。POW共识机制中每个节点都可以参与其中,需要耗费电力和电脑配件(CPU、GPU)进行自主挖矿。一个节点在网络中所完成的工作量(可以理解为耗费的电力和电脑配件)越多获得区块的概率越大,得到的比特币就越多。就像平时说的多劳多得一样。比如老师出题要求解方程组,优先解出来的可以得到1个学分。但是方程组难度还是不小,全班人都在解,平均算下来需要10分钟能解出一题。如果你脑瓜子灵光,笔下草稿做得也快,那么你优先将方程组的解求出来,这一个学分就是你的囊中之物了。

2.股权证明(proof-of-stake)

ETH所采用的就是POS。POS共识机制中会统计系统里所有持币的节点,如果你持币的时间和金额(可称为币龄)越久,你的权益就越大,挖矿的难度越低,挖出区块得到代币的几率越大。比如还是上面的例子,可是老师说学分多并且分数持有时间长的同学我给你们另外出了一个更加简单的方程组,那么最后解题速度就不言而喻了。但也不能总这样偏袒学分多且持有时间长的同学吧,所以每次使用过这个权利以后你的“学分龄”(姑且理解成 学分X持有时长)就会被消耗完,只能继续积攒。

3.授权股权证明(delegated-proof-of-stake)

EOS所采用的就是DPOS。DPOS共识机制中,持有代币的节点通过投票推选出一些节点作为代表来进行挖矿,节点可以随时重新推选新代表替代以前的代表,挖出区块后所得代币奖励会按照一定比例分配给这几个代表。这有点类似于董事会,开会投票表决出几个优秀员工来担任公司高层。比如上例,这次老师说难度不会变化了,大家都一样。同学们中已经有学分的今天来投票暂时推选出几个班干部,解方程组就交由他们来共同解,当然解出来后所得的1个学分,就由他们几个按比例分配了。
以上的几种共识机制也是各有优缺点的,我们直接以表格罗列方便对比记忆:
其实这些优缺点也只是一个片面的,理论上的。就拿POW来说,由于矿池矿场的出现导致算力集中,与中本聪去中心化的理念早已背道而驰。所以说任何学习要学有所思,结合实践方能出真知。任何一个行业的学习都靠的是坚持不懈!
学习进阶:
拜占庭将军问题深入探讨——https://www.8btc.com/article/70370
工作量证明概念——https://www.8btc.com/article/4049
POS——https://www.investopedia.com/terms/p/proof-stake-pos.asp

关于负基础学习区块链,区块链,共识机制,拜占庭将军问题的相关新闻

负基础学习区块链丨第四课: 哈希算法

负基础学习区块链丨第二课: 区块链浅谈

负基础学习区块链丨第一课:比特币的来历

主流货币

货币市值最高 24H涨幅最高

主流钱包

币信钱包 轻钱包 教程下载
Jaxx 轻钱包 教程下载
比特派 轻钱包 教程下载
IMTOKEN 轻钱包 教程下载
MyEtherWallet 网页钱包 教程下载

主流交易所

中文 人民币 交易方式
OKEX 币币法币
OTCBTC 币币法币
币安 币币法币
BitMEX 币币法币
火币Pro 币币法币