让上帝掷骰子 - 对共识机制的浅层分析

在任何一个组织或社区中,共识至关重要。只有有个共识,才有集体,才可以同行,因此才能带来价值。区块链的创造性在于通过算法、代码实现分钟级,甚至秒级的共识达成,从而极大地提升了效率,实现对传统行业的改造。

目前在各种项目中使用的共识机制花样繁多,包括 POW,POS,DPOS,xBFT(各种拜占庭容错协议),VRF+X, POR, POST, POP, Kafka 等等不一而足,让人眼花缭乱。对于初学者而言,往往无处着手,本文通过浅层分析,希望拨开云雾,见得真章。

基础假设:大多数人目标一致,但坏分子善于隐藏

在一个现实的,非理想化的世界,区块链公链基于这样一个假设:在一个自组织的社区中,多数人(超过一半或2/3)目标一致,为人诚实,懂得趋利避害,但无利不起早;同时,可能存在一部分不诚实,或者是浑水摸鱼,甚至蓄意破坏的分子。这些坏分子可能是任何人,其行为只有通过事后验证才能发现。更糟糕的是,任何人在利益面前都可能禁不住诱惑,由好变坏。

我们可以看到,这是一个完全合理的假设,其中没有主义,没有理想,但反映人性。

在继续讨论之前,还有一个定义要说明一下,那就是交易,在一个区块链的系统中,任何行为都被称为交易,交易的实质就是执行一个事先约定好的规则,并因此带来状态的改变(包括价值的转移)。注意,这里的交易并不只是代表数字货币的转移,其他行为也算(这是智能合约带来的好处),但从本质上来讲,交易总会带来价值的转移,因为任何事物都包含价值。

好了,问题来了:既然任何人都可能是捣乱分子,那么就可能有人构造虚假交易,或不承认已经发生的交易,从中渔利;或破坏系统,达到其他目的。既然如此,那么由谁来记录交易就十分重要。

解决之道:让上帝来掷骰子

既然不能信任任何人,那谁愿意又有谁有权利来记录交易呢?如何保证系统的可靠运行呢?解决办法是:

  • 利诱:给记录交易者有吸引力的费用 (矿工挖矿)

  • 验证:无论交易者是谁,其交易记录必须通过验证,验证人数足够多或随机分散,多或分散到不能被坏分子腐化的程度

  • 随机:让上帝掷骰子,没有人事先知道谁会是记账者

我们讲的共识机制,更多地集中在如何随机选择记账者上面,有一些协议也会涉及到选择验证者。注意,这里说的是让上帝来掷骰子,上帝不是任何一个人,不是任何一个系统中的参与者,没有人有能力影响上帝,因此上帝的选择是没有人事先知道的。

那么,当一个破坏分子希望从系统中获利,他就必须首先腐化记账者或自己称为记账者,由于其不知道谁会成为记账者,这个成本会非常高;其次,他需要腐化或控制验证者,这个成本也会很高,因为他需要腐化或控制超过一半的人。

单纯的POW 和 “聪明”的POS

上帝如何公平地掷骰子呢?比较流行的有两种办法,一种叫POW(Proof of Power,工作量证明),另一种叫POS(Proof of Stake,权益证明)。

POW: 人人可以打工挣钱

毫不客气地说,POW仍然是现在看起来最公平,最安全的一种共识机制。无论你是否已经持有币(或通证),只要愿意参与记账,就有机会获得收益。与出身无关,与资产无关。

以比特币为例,只要愿意参与记账,你就可以加入算力至整个网络,那么你的算力除以全网总算力就是你获得记账权的概率。至于那一笔账由你来记,只有上帝知道。长远来看,这就是一个按劳分配,多劳多得。

但是,POW是根据算力竞争来获取记账权,其最受诟病的也是这一点。因为无论有没有记账,在争夺记账权的过程中,都会消耗大量的算力,当竞争者越来越多,消耗的算力也越来越大。看起来是一种资源的浪费。因为看起来一个人记账其他人验证就可以了,但大量的电力根本就不是花在记账和验证上,而是竞争记账权上面。当然,从经济学上说,这里可以有另一个解释,在这个经济体系里,每一次记账挖出的比特币的价值基本上等于全网消耗的资源成本,这似乎是行得通的。

POS:只是减少能源消耗?背后还有小九九

在POW消耗大量算力的情况下,是不是有其他方式来竞争记账权,一样公平而同时成本低廉呢?POS就是基于此想法而提出来的。POS的原则是,持有代币(通证)越多,记账的机会越多,在这个前提下,竞争记账权的消耗与POW相比要少很多,当然其中仍然需要上帝掷骰子。但这个时候上帝的骰子不是每个人均等的,而是按照资产拥有量的不同而有所不同。

但是,不知大家注意没有,这里有一个问题,如果一个人想获得更大的挖矿收益,他最好是囤币,越多越好。作为一种代币(通证)来说,其最大的价值体现当然是用于流通,流通才产生价值。而囤币或锁币是制造稀缺,是抬高市价。一个代币体系如果要真正为人类带来改变,应该是更大范围内的使用。而锁币是于此相悖的。一个代币体系的机制设置本不应如此,本应该是尽量避免这种情况的。然而,这种情况现在已经变得非常普遍,通过锁币机制,通过囤积居奇来制造稀缺,从而提高币价,给持币人带来利益。只能说这是一个逐利的时代,有利的事情总是趋之若鹜的。

DPOS,Kafka:中心化和半中心化记账

上帝本是不受任何人差遣的,所谓上帝掷骰子实际上是一种算法设计。都是通过大量的算力,通过统计概率以及密码学的方法来获得不可预知的随机选举。这种消耗使得整个系统效率很低,很难应付大规模的应用。
有没有办法提高呢?办法之一就是不搞完全地去中心化,搞半中心化或中心化。EOS的DPOS机制就是半中心化的例子。其实质就是减少协调成本,不让低端节点接入记账拉低整个系统效率。21个超级节点在处理能力和运算能力上都有很高的要求,从而提升整个系统的效率,但是,我们可以看到,这里上帝就是这些超级节点组成的群,个人已经被排除在外。

还有更进一步的做法,往往在联盟链或私有链之中,比如Hyperledger Fabric采用Kafka集群来体现共识机制,这基本上就是中心化记账了。上帝已经被抛弃。

VRF, POR/POST:让上帝开挂

抛开中心化和半中心化的共识机制不谈,那么完全去中心化的共识机制到底有没有更好的、更节能的方法呢?关于这一点,业界一致在做积极的探索。

VRF+PBFT:让POW轻快起来

麻省理工学院教授、图灵奖得主 Silvio Micali教授及其同事一起提出了一种可以让POW轻快起来的办法。这个办法就是“Scaling Byzantine Agreements for Cryptocurrencies” (用于加密货币的可扩展的拜占庭协议)。

我们知道比特币的POW共识机制是让每一个人都同等地参与运算,谁找到一个满足条件的随机数谁就夺得记账权。而这个随机数是只能猜的,完全没有规律可言。相当于是上帝安排了。那么当网络中有太多的人参与的时候,而只有一个幸运儿,其他人的计算就是陪衬。算力被“浪费”掉了。那一个自然而然的想法就是,能不能每一轮都只让一部分人加入竞争,这样没有加入竞争的人就不用算了。Silvio Micali说,这是可以的,而且可以是公平的。办法就是,让上帝掷两次骰子。

  1. 每一轮都通过算法来随机选取出参与竞争的记账者 (要上帝掷骰子决定)

  2. 只有被选出竞争者才可以通过竞猜随机数来争夺记账权(上帝还要掷一次骰子)

这其中的关键是什么?就是每一步都要公平,都是在目前的认知水平上完全随机的,只有上帝知道。其中的第一步就用到了可验证的随机函数。Silvio Micali教授创建了 Algorand项目,近日募得约4.5亿(人民币)资金。对一个不发币的项目,引起如此的重视。其技术实力和影响力可见一斑。

Filecoin 的 POR/POST:解决POS的不足

近日,V神提到与IPFS网络结合来解决POS记账的问题。这是一个很大的进步。前面我们提到POS的一个副作用就是认为制造稀缺,路子走得有点歪。但IPFS之上的激励层,采用的是与POS相似的共识算法,称为POR(Proof of Replication:复制证明)和 POST(Proof of Space&Time:时空证明。也就是说,矿工的记账权与矿工提供的用于服务的存储空间是直接挂钩的,是成正比的。

这才是真正的POS(Proof of Service/Storage:服务证明,而不是 Proof of Stake:权益证明)。Proof of Service 和 Proof of Stake最大的区别在哪里?前者是劳动和付出证明,而后者是资产证明。也就是说,前者是付出即有所得,而后者是资本家收取利息。两者都能大大降低资源的消耗,对于一个现代文明而言,我们当然希望选择前者。


共识机制是去中心化系统最关键的环节,希望通过业界的共同努力,能有更高效、更节能、更安全的算法推出,得到验证和被采用。当共识算法的效率得到解决,去中心化的平台和应用必将发生翻天覆地的变化,得到普及。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,911评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,014评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 142,129评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,283评论 1 264
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,159评论 4 357
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,161评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,565评论 3 382
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,251评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,531评论 1 292
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,619评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,383评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,255评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,624评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,916评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,199评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,553评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,756评论 2 335

推荐阅读更多精彩内容

  • 转载声明:本文来自微信公众号:火龙果园长,仅供学习交流,禁止用于商业用途,转载需关注公众号取得文章作者同意。 写在...
    火龙果园长阅读 7,282评论 0 18
  • POW:Proof of Work,工作量证明 共识是一个多维博弈过程 1,共识越分散(节点多,参与度高),效率越...
    rectinajh阅读 15,827评论 1 5
  • 渐行渐远。在失去他们之后,我又渐渐的将它们遗忘了。 遗忘了早春的淡淡的烟雾,袅袅的炊烟,鲜嫩的草芽,蔓延的梨花。遗...
    青灯先生阅读 864评论 1 5
  • 是晴还是雨呢? 我和你说。 这样而已, 想和你谈谈天气。 想和你谈谈日期。 想和你谈谈爱情。 但你的耳, 不拥有我...
    易安阅读 182评论 0 1