江卓爾談算力戰(中):天下大義,當混為一 穩定論 vs 演化論

買賣虛擬貨幣

文 | 江卓爾 

這段是補《【天下大義,當混為一】(上)談Hash Vote & Market Vote》的開頭:

零、什麼時候比特幣應該分叉?

比特幣應不應該分叉,要看造成分歧的原因是什麼。

1、如果是目標不同,那就應該分叉,讓市場選擇誰是對的

在擴容之爭中,一派(Bitcoin Core)認為比特幣的目標是數字黃金,一派(Bitcoin Cash)認為比特幣的目標是全球貨幣,目標分歧不可調和,所以自由分叉,競爭,讓市場做選擇是最好的結果。

有些不同目標的分叉,會佔領不同的市場,形成不同的產品。但比特幣的這次擴容分叉,很可能最後還是會統一,因為儲值能力,並不能脫離日常使用而單獨存在

比特幣要能儲值,那就要求你賣出時有 “足夠多的人” 願意買入,但是 “足夠多的人” 並不會憑空從天上掉下來,使用者數、知名度、IP,這些在商業上都是極其昂貴的東西,創造這些昂貴的東西最好的方法,就是流量和高頻使用。

什麼東西才能高頻使用?沒錯,就是——現金。現金並不只是指 “日常買咖啡”,而是指 “高頻、高接觸、高曝光使用”。

同樣是2100萬幣的產品,使用者會選擇用日常使用的、熟悉的產品A做儲值,還是幾乎沒有接觸的產品B做儲值呢?最典型的產品就是房產了,雖然一線大城市的房產更適合儲值,但二三四五線城市的居民,幾乎都還是買本地房產,異地買房少之又少——無他,唯熟爾

2、如果是目標相同,只是達成目標的手段不同,那最好透過仲裁機制解決分歧

過度的自由分叉,會對產品造成損害,任何產品都講究規模效應——BCH社羣分歧的兩派,目標都是讓BCH成為50億人使用的世界貨幣——貨幣更是講究規模效應

過於頻繁的分叉,還會嚴重損害BCH上的應用,例如使用交易的留言欄位(OP_RETUEN)寫微博的memo,分裂後總不可能每一條鏈上都存一遍微博吧?但如果只存了A鏈,然後A鏈最後死掉了,怎麼辦?

所以,沒有有效仲裁機制,防止不必要分裂的BCH,只會導致應用的逃離——這也就意味著使用者的減少,和 “高頻使用” 的現金思想相牴觸

但是,仲裁機制要解決分歧,首先就要保證自己沒有分歧,例如委員會投票,這種仲裁機制並不好,因為委員會自己就可能分裂,那什麼才是有效的仲裁機制?

之前比特幣並沒有仲裁機制,在擴容之爭中,開發團隊Core的核心(有程式碼提交權)五人中,Gavin Andresen和Jeff Garzik支援擴容,並被踢出Core團隊,比特幣也分裂成了Bitcoin Core和Bitcoin Cash。

Bitcoin Core依然沒有仲裁機制,所以可以預期Bitcoin Core未來還會發生進一步的分裂ETH靠創始人Vitalik Buterin,暫時迴避了這個問題,代價則是損失去中心化的 PoV(Proof of Vitalik)。而Bitcoin Cash走在了所有幣的前面,正在形成一套有效的仲裁機制。

後面接上次發的《【天下大義,當混為一】(上)談Hash Vote & Market Vote》
以下是《【天下大義,當混為一】(中)穩定論 vs 演化論》

一、BCH分歧的雙方

BCH本次爭論中,一派以支援 “ABC開發團隊” 的位元大陸為首,另一派以nChain的CSW(Craig S Wright)為首,併發布了BSV客戶端(Bitcoin Satoshi Vision,中本聰願景)。兩派都認為BCH應該成為50億人的世界貨幣,但對於如何達到這一目標,兩派所主張的手段不同

位元大陸派認為BCH應做快速迭代更新,滿足市場和應用需求,吸引更多使用者,並最終達到50億人世界貨幣的目標。CSW派則認為BCH作為貨幣,應該保持底層的穩定,只有穩定的協議才能吸引應用和企業,甚至主張應該恢復到最初的0.1版比特幣、並鎖定協議,認為中本聰已經為比特幣設計了足以承擔世界貨幣功能的底層框架(包括圖靈完備的指令碼),只要在上層做開發即可實現目標。

二、白皮書怎麼設計比特幣?

要討論 “穩定論 vs 演化論”,首先我們應該先了解,白皮書是怎麼設計比特幣的?

擴容派經常指出Core的路線違反了白皮書的目標,而Core派則反擊說,BCH分叉時增加的EDA/DDA難度調整演算法違反了白皮書,白皮書里根本沒有DDA難度調整演算法。

實際上在白皮書裡,不要說DDA難度調整演算法了,甚至連大家習以為常的 “區塊10分鐘一塊” 都沒有,只是在第4章:工作量證明(Proof-of-Work)裡設計了 “區塊平均n分鐘一塊”:

The proof-of-work difficulty is determined by a moving average targeting an average number of blocks per hour. If they're generated too fast, the difficulty increases.
工作量證明的難度將採用移動平均目標的方法來確定,即令難度指向令每小時生成區塊的速度為某一預設的平均數。如果區塊生成的速度過快,那麼難度就會提高。

然後在第7章:回收硬碟空間(Reclaiming Disk Space)裡舉了10分鐘一塊的例子:

……If we suppose blocks are generated every 10 minutes……
……如果我們設定區塊生成的速率為每10分鐘一個……

白皮書其實非常剋制,僅做了目的性描述,哪種設計更好地滿足白皮書的目標,就更符合白皮書。BCH的DDA難度調整演算法,能在算力大幅變化時,讓區塊時間更滿足 “平均n分鐘一塊” ,所以更符合白皮書。

在11月15日的算力戰中,我們將能直觀地看到什麼叫 “BCH的DDA難度調整演算法更符合白皮書” ,如果雙方都從Bitcoin Core上大量調算力到Bitcoin Cash上進行算力戰,那Bitcoin Core的區塊時間將明顯延長,長時間不能恢復,併發生嚴重擁堵,而Bitcoin Cash不管算力怎麼變化,都能穩定 “平均10分鐘一塊” 

三、如何滿足白皮書的目標?

我們堅持白皮書中比特幣作為 “電子現金系統” 和 “世界貨幣” 的目標不變,那在外界環境改變時,我們也就必然要改變手段,才能保證目標不變。就像上文所舉例的,當分叉發生時,Bitcoin Cash將原來比特幣 “2016個塊調整一次” 的難度調整演算法,修改為 “每個區塊調整一次” 的DDA難度調整演算法。

那麼,這種協議層的修改,是否讓比特幣的底層變得不穩定?如果主張 “穩定底層協議” 時,應如何看待這樣的修改?

目前我們可以看到,有不少人都支援 “穩定協議論”,這和 “穩定協議論” 的簡單、清晰、易理解有很大關係。CSW甚至在一開始提出的是更極端的 “鎖死協議論”:把比特幣恢復到0.1版並鎖死,這個主張實際上無法實行,比特幣在0.1版後做了大量功能性和安全性的協議層修改,這些修改——例如多重簽名——已經不可能刪除。

為什麼CSW會提出這樣無法實施的主張?這和這樣的主張簡單清晰,更容易理解、宣傳、獲得支援認同有關,但獲得這樣的認同,並不意味著這種主張的正確

最典型的例子就是中國1958年的大鍊鋼鐵運動,“我們要超英趕美”,“今年鋼產量要翻倍到1070萬噸” 這樣的口號簡潔有力,在宣傳和發動群眾上有著巨大的優勢,但最後卻造成了巨大的經濟災難。

而一個合理的鋼鐵發展計劃,必然複雜瑣碎,充滿調整反饋,在大部分情況下,都要根據經濟和市場的情況進行修正,甚至無法落到紙面上,更不用說 “簡潔有力的宣傳口號” 了。

四、一個 穩定論 vs 演化論 的例項:DSV操作碼

DSV操作碼(OP_CHECKDATASIGVERIFY)是本次硬分叉的爭論焦點,也是典型的,穩定論 vs 演化論 兩派的分歧點。

DSV的目的是將外部資訊引入區塊鏈中。現在的BCH區塊鏈是一個孤立系統,它不知道巴西vs阿根廷的球賽結果,不知道今天的股票價格是多少,甚至不知道BCH自己的價格。但如果有了DSV,BCH使用者就可以約定資訊的釋出方式,由某一個資料釋出主體,透過簽名的方式,生成可被BCH鏈上DSV操作碼解析的資料。

這樣某兩(多)個使用者,就可以無需透過第三方機構(股票交易所、體彩中心等),在BCH鏈上建立可靠的智慧博弈合約。例如兩個人要賭巴西vs阿根廷的球賽結果,只要把幣打入一個多重簽名地址,然後球賽結果經簽名釋出後,幣就會自動轉到贏家的地址中

進一步瞭解,可參見閃電的這篇文章:《Oracle真實世界資料鏈——將現實世界和區塊鏈世界相互打通》。

“演化論” 認為,DSV增強了BCH的功能,這是一個相當有用的功能,能為BCH帶來更多的應用和使用者。而 “穩定論” 則認為,不應為了上層應用或需求,去修改操作碼這種底層協議,底層協議應儘量保持穩定,能不改就不改

五、觀點的邏輯自洽

當我們面對兩個對立觀點時,首先要思考觀點是否邏輯自洽。

1、“演化論” 的觀點是邏輯自洽的,BCH要成為50億人的世界貨幣,所以BCH應考慮如何獲取更多使用者,而增強鏈功能,是一個吸引更多應用和使用者的有效手段。這也和 “現金”  “高頻、高接觸、高曝光使用” 的邏輯一脈相承

有用則加,若錯則改,小步迭代,快跑前進。在BCH使用者數(和總市值)明顯落後BCE(Bitcoin Core)的情況下,增加BCH使用者數,是最重要的任務。

2、而 “穩定論” 的邏輯首先會面臨一個問題:BCH的最高目標到底是穩定,還是獲取50億使用者?兩個目標並不一定能保持一致。有可能穩定可以獲取更多使用者,但也有可能適應市場需求,增加功能才能獲取更多使用者。如果競爭對手修改了底層協議,增加了功能,確實可以獲取大量使用者,那我們改不改?

如果不改,那最後在競爭中落敗,使用者歸零,都滅絕了,還有資格討論對錯嗎?如果也改了,那不變成 “演化論” 了?

3、實際上,Core拒絕擴容的觀點,就是一種典型的 “穩定論”:比特幣應儘量保持去中心化,節點應儘量保持小,交易擁堵可透過第二層閃電網路解決。
而BCH擴容分叉的觀點,則是 “演化論” :使用者的體驗非常重要,不反對第二層網路,但現在區塊容量已滿,需要立即擴容,否則會導致使用者流失到其它幣上。

六、如何處理開發中的爭議?

“演化論” 邏輯上很漂亮,但對區塊鏈而言,卻有一個致命問題:快速迭代需要頻繁的修改,在一個去中心化的系統中,誰能做這樣的決策?

ETH可以做快速迭代、頻繁修改,那是因為創始人Vitalik Buterin的存在,能裁決不同的修改意見,Vitalik Buterin是ETH系統中 “天下大義,當混為一” 的 “一”,而比特幣系統中的 “一”,則是算力

但算力和Vitalik Buterin還是有巨大區別,算力無法直接參與開發,算力甚至不能介入開發。我曾設想過,所有的開發修改都形成BIP提案,然後由算力投票決定BIP提案是否透過,但經過推演,發現實際不可行。

證明不可行只需要有一個反例就足夠了:位元大陸曾經提議礦工統一捐出挖礦產出的一小部分給開發,但因有政府強制稅收的影子,被社羣大部分人反對,提案因此而流產。但如果算力能直接決定開發提案,那位元大陸就能直接以優勢算力,透過實施礦工捐助提案。這並不是社羣大部分人願意看到的結果。

我們知道暴力決定元規則,元規則決定一切規則,但這不等於 “暴力直接決定一切規則”,大部分規則是在元規則下,各方力量博弈的結果。算力是比特幣系統的 “一”,是最終裁決力量,但 “最終裁決力量” 並不等於 “直接裁決一切”。

比特幣具體的開發提案,應該由開發組和各方博弈決定,只有在各方無法談攏,比特幣面臨分叉時,才是算力這個 “最終裁決力量” 上場的時間

算力如何做裁決,將在《【天下大義,當混為一】(下)算力戰》中做闡述,這也是大家最關心的內容,明天再見:)

總結:

1、比特幣在目標一致,只是手段不同時,應透過算力仲裁機制,減少削弱力量的、無必要的分叉。 

2、白皮書對比特幣多為目的性描述,實踐中重點是滿足白皮書的目標。

3、如果堅持白皮書目標不變,為了滿足不變的目標,在變化的市場環境中,必然採用變化的 “演化論”。

4、“穩定論” 主張簡單清晰,更容易理解、宣傳、獲得支援,但並不意味著主張正確。“穩定目標” 和 “使用者數目標” 在邏輯上相沖突。

5、“演化論” 必然產生衝突分叉,此時應透過算力做分叉裁決,避免無必要的分叉。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;