比原鏈設計哲學:計算之中無算計

比特幣 挖礦 長鋏 2018-07-24

電影《岡仁波齊》中有個有意思的細節,朝聖者運送行李的小貨車的車頭撞壞了,男人們於是把車頭拆下來扔掉,繼續靠人力拉著車廂,拉一段距離後放下車廂,又返程回到起點,繼續磕長頭完成這一段距離。原來,即使拉車走過的路程也是不算數的,朝聖之旅容不得半點作弊。有幣圈的朋友說:看,磕長頭不就是工作量證明嗎?

磕長頭為等身長頭,五體投地匍匐,雙手前直伸。每伏身一次,以手劃地為號,起身後前行到記號處再匍匐,如此周而復始。遇河流,須涉水、渡船,則先於岸邊磕足河寬,再行過河。晚間休息後,需從昨日磕止之處啟程。

工作量證明是比特幣的共識機制,俗稱挖礦。

在普通人看來,比特幣礦工就跟朝聖者一樣不可理喻,兩者都是投入龐大的精力與成本去完成一些毫無意義的工作量。如果說朝聖者還能給世俗者帶來精神的衝擊與哲學上的美感,那麼挖礦簡直是一無是處了。是的,自比特幣誕生以來,挖礦機制就一直飽受批評,他們認為這是一種極大的電力與硬件浪費。還有人認為挖礦之旅其實可以走捷徑,比如通過虛擬挖礦,這些人提出 PoS、DPoS 等替代方案。這些方案更高效,也能保障分佈式網絡上的交易安全性,很可惜,它們犧牲了去中心化。

在分佈式系統中實現一致性,需要考慮各節點“投票權”問題:允許誰參與,某些節點是否有更多的投票權,是否每個人都平等,以及我們如何強制執行這些規則?如果只需要一個特定的私鑰就可以簽名投票,那麼惡意用戶就可以簡單的生成無限新私鑰充斥網絡(女巫攻擊)。如果因為硬件錯誤、網絡堵塞與惡意攻擊而導致消息丟失,分佈式系統如何處理這些失效(拜占庭將軍問題)?女巫攻擊與拜占庭將軍問題的本質都是因為分佈式系統中每個節點都彼此不信任,我們需要假定其中存在所能想象的一切算計。

那麼,如果我們讓投票的步驟變得昂貴,使得攻擊者像不得不消耗更多的精力、時間或金錢,情況會怎樣呢?

於是,我們得到了工作量證明背後的核心思想:

  • 1、生成有效投票對發起者來說是“昂貴的”;
  • 2、但對於接收者來說,驗證成本仍是微不足道的。

可見,區塊鏈對計算的引入,恰恰是為了消除共識中的算計。因為在工作量證明機制中,信任其實並不是一個人性問題,而是一個數學問題。通過計算,你可以清楚的明白,需要投入多少計算量(成本),有多大概率去逆轉一個區塊上的交易。而這個過程,並不需要對人的誠實度進行考量。

關於這個問題,一位谷歌工程師 Ilya Grigorik 用倒推法給出對最小可行區塊鏈方案的證明。但是,使用“第一性原理”思維,可以讓這個證明得以簡化。下表是我用納西姆·塔勒布式二分法所歸納的:

計算之中無算計

比特世界與原子世界各具涇渭分明的屬性,在原子世界,事物都是競爭性的,獨佔性的,天底下沒有兩片相同的樹葉,事物符合正態分佈,並沿熱力學箭頭走向熵增,一切過程都是隨機過程;在比特世界則相反,事物都是非競爭性的,一切東西皆可複製,複製的邊際成本近於零,信息大爆炸(負熵增),事物遵循冪律分佈,具非尺度性,一切過程都偽隨機過程(確定性)。

在原子世界,要複製一模一樣的東西是非常困難的,因為這個問題可以轉述為你是否可以製造出完美晶體,如果你能製造出完美晶體,當然你也能複製一樣東西。但熱力學第三定律告訴我們,要實現完美晶體,需要接近絕對零度,這需要投入巨大的能源。

相反,在比特世界,要防止一樣東西被複制也是非常困難的,這也是凱文·凱利《失控》裡所記載的那些加密貨幣先驅為什麼失敗的原因。中本聰之所以取得成功,正是因為對哈希現金機制的引入,我們投入龐大的計算消耗,來換取分佈式賬本的安全性,從而實現不可複製的競爭性資源(比特幣),從而實現不可逆轉的交易。

所以,去中心化的本質並不是字面意義上的分散、無中心,而是熱力學箭頭,是布朗運動的分子(自由市場),是分佈式網絡中每個節點參與共識的自由度。而 PoS、DPoS 等替代方案正是犧牲了這種自由度。我在《區塊鏈“去中心化”到底是指什麼?》一文中也闡述了:在一 IP 一票制的 CPU 友好型加密貨幣中,黑客可以非常低的成本控制大量肉雞,不管殭屍網絡中的節點在地理上、網絡拓撲結構上有多麼分散,只要它們的行為具有一致性,那麼這仍是中心化網絡。

《岡仁波齊》中父親對兒子的一段告誡可以送給這些走捷徑者:父親說,有兩個人被一道山溝攔住了,一個是喇嘛,一個是獵人。獵人縱身一躍,跳了過去。喇嘛心想,獵人殺生都能跳過去,我天天唸經修行,難道跳不過去嗎?於是他也一躍,摔死了。

相關推薦

推薦中...