區塊鏈的分叉究竟是什麼?本質上說,分叉指的是系統源代碼 (功能) 的遷移和轉換所帶來的多重鏈。以比特幣爲例,比特幣共識的算法是,節點最終會 follow 最長的無非法區塊的鏈條,在大家使用用一套系統代碼的時候,是不會有分叉的,因爲,進入分短暫叉鏈條的節點最終會在算法指引下,毫不猶豫地拋棄短鏈條,加入到長鏈條的康莊大道上。但是,如果大家使用的系統代碼版本不同的時候,尤其是在規則上有巨大改變,導致新版本代碼和舊版本代碼互不承認各自生成的新區快的合法性的情況出現時,如果此時,雙方的算力也不互相妥協,就會出現分叉,兩個鏈條都有算力支撐產生新的區塊,發行了新的不同代幣,這就是當前 BTC 和 BCC 的來源。

如果是中心化應用,比如微信 1.0 升級到微信 2.0,我們一覺醒來就會發現,騰訊通過中心服務器的版本替換,就悄悄地更新了我們的 APP,是個平滑的悄無聲息的過程;而對於區塊鏈應用來說,尤其是加載了代幣在其中的區塊鏈,情況就會相當複雜。更新代碼必須達成共識,要求所有人 / 節點在同一時間停機,更新軟件,並同步上線從操作流程角度來說就是個異常艱難的事情,畢竟不是個集中管理的公司;另外,因爲利益考量,有多少節點願意在一個統一話語的指揮下去完成系統的版本更新,在社區當中會有相當長時間的爭論與不可避免的分歧出現。

這裏我們不得不說,純粹的無政府民主社會的決策效率是相當值得懷疑,並且存在巨大分裂風險的。

事實上,非常巧合的是,有一部名字就叫做 Source Code(源代碼) 的科幻電影已經描述過分叉,而這裏的「分叉」叫做平行宇宙,在電影中,每一次源代碼的更改、重啓、循環都創造了一個新的宇宙,在新的宇宙之中,選擇造就的命運可以有巨大的差異,但是死亡與新生卻永恆存在。

比特幣源代碼的規則性修改,理論上來說都存在着分叉的可能,無非是分叉後的舊宇宙會不會得到主角的選擇而成爲超越瞬間的獨立存在,而這裏的主角究竟是礦工,核心研發者還是普通用戶,並不重要,因爲這裏的選擇仍然是一種共識,信仰的共識,或者從根本上說,是利益的共識。

舊宇宙會存在嗎?這個答案已經被現實解答,存在本身也已經合理化了。那麼舊的宇宙會持續多久?從理論來說,分叉之後的其中一條鏈是有缺陷的鏈,舊的終究會被新的取代,這看起來是自然規律,不過在多長時間維度上,以及,那永恆存在的死亡和新生呢?在我看來,這個問題很難在現有知識體系內得到解答。

我非常不喜歡硬分叉,因爲共識的分裂,因爲承諾 (代幣發行總量) 的消解,所以我才如此欣賞 EOS 優雅的 DPOS 設計帶來的 0 硬分叉可能。

但是我又不得不支持硬分叉的權利,因爲,選擇,似乎是嚴苛的物理規則之下,我們所能擁有的最好的話語權了。

無論你對硬分叉的哲學觀點是什麼,重要的是要記住,比特幣不僅僅是貨幣;它也是一種軟件開發項目,致力於確保這種貨幣的安全。在工程方面,尤其具有相當大的風險價值,爲最壞的情況做好打算非常重要。我們不能簡單地假設用戶會盲目地跟隨礦工並更改他們的軟件——特別是因爲他們不應該。即使礦工在算力方面表現的非常理性,這並不意味着礦工支持硬分叉的決議的假設是正確的。硬分叉的風險無法保證它能夠作爲一種共識賬本底層的軟件更新機制。

比特幣和其他基於代幣的共識網絡都是經濟體。不幸的是,宏觀經濟學中的因果關係是並且可能會繼續是一個謎。正如大衛·休謨(DavidHume)所說,

沒有可以展示出來的論點來證明這些情況。

我們永遠無法預先知道如何解決一個能夠分裂網絡的硬分叉。

我們必須採取風險導向的方法,避免硬分叉可能會帶來的最壞情況。特別是,如果出現多個比特幣網絡,並且能夠進行跨網絡重複支付的情況,那麼這對於比特幣的重複支付保護來說將是一個毀滅性的失敗。另外,還會導致比特幣網絡執行基本規則的能力永遠受到質疑,例如比特幣的受限制的供應量。

來源鏈接:www.jianshu.com