理解共识算法真谛,让你不再被忽悠

2018 年 5 月 10 日 待字闺中 陈老师

在白皮书里,经常有人会提出或创造各种五花八门的新的共识算法,Proof of something,听着高大上,云山雾罩。其实,所有的天花乱坠的共识算法,无不可以根据我们看本质,找真谛的方法来鉴别它们,让忽悠者无处遁身。



所有的共识算法都是生活中现象的总结,都无一不落入这三种见真谛的本质类型上,而且这三种类型一看就能理解。


挑战证明(Proof of Challenge)



简单的说,就是给所有的参与者一个挑战性的问题,谁能在限定的时间内找到答案,那么他就是这轮公认的决策者,这次的决定就由他来做。区块链中的工作量证明(POW,Proof of Works)就是一个典型的例子。每个参与者都给一个挑战性的问题,就是计算一个块的哈希,但哈希值必须小于一个指定的阈值。谁先找到这个哈希值,谁就成为这一轮的决策者,然后他做出的决定没有问题就成为所有参与者的共识。对应于现实生活中的例子,就是时势造英雄,当社会出现巨大的问题或困难(挑战)的时候,突然有个英雄揭竿而起,带领大家度过了难关,解决了问题,于是这个英雄就被大家公认为新的领袖,新的决策者,之后的一段时间就由他来治理国家和社会。


权益证明(Proof of Stake)



简单的说,就是根据参与者所拥有的某种资产,或是授予的权利,标志在转盘上,表示每个部分的大小,然后开始转转盘,转到的部分的那个参与者,就是这一轮的决策者,这次的决定就由他来做。现在的系统,有的是根据拥有的币(或是愿意抵押的币)的多少,有的是根据贡献的存储空间(或是使用中)的大小,有的是根据对社区的贡献的多少,有的是根据积分奖赏的多少,有的是根据一天步行的多少,有的是根据使用时长的多少,等等,千奇百怪,总之,是某种可以计量的东西,作为权益来证明参与者决策的可能性,这些,虽然披着不同的羊皮,但他们都是狼,本质都是权益证明。在现实生活中,民主投票选举领导人就是这么一个逻辑,但权益证明引入了一定的随机性。


协商证明(Proof of Negotiation)



简单的说,就是所有参与者坐在一起,通过多轮对话,协商出一个新的决策者,这一轮的决定就由他来做。像PBFT,Tendermint,Algorand,等,都是属于这种类型,它们都类似于Paxos,需要设计多轮交互的协议,需要形式化证明协议的可靠性安全性,问题是交互的次数太多引入了复杂性,给系统的网络带宽和计算资源带来很大的负担,也影响了决策的时长。现实生活中的民主协商制,就是这种类型的体现。


所以,我们看到,各种共识算法的思想和背后的逻辑,其实在现实生活中早已存在,只是它们被总结出来了,让它们在数字世界也能发挥光大。


最后,为了提高上述各种类型的效率,引入了


代表机制(Delegated)


当参与者很多的时候,前面那些方法类型,都会产生效率的问题,或是浪费资源的问题,所以,就发明了代表机制。不要所有的参与者都参与最后的决策,而是先选出一些代表,每个代表代理一部分的参与者行使权力。这样,上面的各种算法,只要代表们来执行。在区块链世界,DPOS是被人们最常提及的。依此类推,我们也可以将其它共识方式代表化,比如,POW,可以做成DPOW,这样不是所有的矿工在每一轮都参与哈希的计算,只是选择部分的矿工,这样,也许可以少浪费一些电,节约不少资源。现实生活中,广大群众先选出人民代表,然后再由人民代表来代理行使权力,民主集中制就是如此。


到此为止,共识算法背后的真谛,和现实生活一类比,是不是一下就明白了,就理解了。下次,就不会轻易被人忽悠了。

登录查看更多
0

相关内容

【硬核书】不完全信息决策理论,467页pdf
专知会员服务
340+阅读 · 2020年6月24日
【干货书】现代数据平台架构,636页pdf
专知会员服务
250+阅读 · 2020年6月15日
【2020新书】如何认真写好的代码和软件,318页pdf
专知会员服务
63+阅读 · 2020年3月26日
终于有人把云计算、大数据和人工智能讲明白了
Python开发者
3+阅读 · 2018年6月13日
我是一个爬虫
码农翻身
12+阅读 · 2018年6月4日
终于有人把云计算、大数据和人工智能讲明白了!
大数据技术
7+阅读 · 2018年4月2日
通俗理解粒子群优化算法
机器学习研究会
9+阅读 · 2017年12月1日
最可怕的不是被机器淘汰,而是……
全球创新论坛
18+阅读 · 2017年10月28日
Arxiv
4+阅读 · 2018年10月5日
Arxiv
25+阅读 · 2018年1月24日
Arxiv
5+阅读 · 2018年1月23日
Arxiv
5+阅读 · 2015年9月14日
VIP会员
相关VIP内容
【硬核书】不完全信息决策理论,467页pdf
专知会员服务
340+阅读 · 2020年6月24日
【干货书】现代数据平台架构,636页pdf
专知会员服务
250+阅读 · 2020年6月15日
【2020新书】如何认真写好的代码和软件,318页pdf
专知会员服务
63+阅读 · 2020年3月26日
Top
微信扫码咨询专知VIP会员