初視 Polkadot 與 Cosmos 覺得兩個項目挺像的,都是基於中繼鏈 / 側鏈的跨鏈解決方案,後來爲了寫這篇對比文章找了很多資料,逐漸的發現設計哲學對項目後續發展不同的影響,得出了一點心得,歡迎大家一起討論,。

每個人看項目的角度都不一樣,安全重要?擴展重要?生態重要?哪一個要先發展?

在 Polkadot 與 Cosmos 開發人員的問答直播裏,答案明顯呼之欲出,兩個項目一致共識從安全出發,這給我很大的體悟,從安全爲起點思考這兩個項目纔是正確的方向。

原文標題:《從設計哲學對比 Polkadot 與 Cosmos》

沒有安全就沒有根基,爲什麼早些時候貨幣是金銀,因爲很難僞造,爲甚麼政府要在紙鈔上做出這麼多花樣,因爲假鈔擾亂了真鈔,正如這些貨幣,區塊鏈上的加密貨幣一樣如此,一條鏈出現了雙花攻擊,憑空造幣等安全問題,那這條鏈大概率就聲譽全毀,技術及遠景再牛逼都是一場空。

以下開始正題:

第一個不同點:Cosmos 與 Polkadot 兩個跨鏈項目在安全上不同的設計哲學

Cosmos 強調自治,希望能有一個更自由更自主的跨鏈生態,白話說如果一條鏈是一個國家,Cosmos 這個大世界裏,每個國家都有自己的軍隊與主權維護安全,所以在中心 Hub 和區域 Zone 上各自的驗證人節點不同,自行維護安全。

Polkadot 強調團結,希望更多的項目團結來增加跨鏈生態的安全,白話說在 Polkadot 這個大世界,大家共同建立一個聯合政府,聯合政府會指派軍隊去保護各個區域安全,所以在 Polkadot 上,中心 Relaychain 與區域 Parachain 的驗證人節點統一由 Polkadot 系統分配。

第二個不同點:這樣的安全設計理念下兩者各自會遇到什麼樣的惡意攻擊呢?

Cosmos 下,中心 Hub 與區域 Zone 各是不同國家,每個國家負責安全的軍隊都不同,當跨鏈場景從 ZoneA 到 Zone B 發生時,外部人怎麼知道 ZoneA 與 Zone B 的軍隊(驗證人)是善良誠實的?在高速複雜的跨鏈場景下,某一個 Zone 被攻擊後,可以發出虛假信息進而擾亂整個 Cosmos 大系統。

Polkadot 下,所有軍隊(驗證人節點)由 Polkadot 隨機挑選並分發到不同區域(Parachain)上,如果隨機分配到 Parachain 上的一羣節點,是互相勾結的壞人,那外部人就有理由懷疑上面發生的跨鏈交互是有問題的。

如何解決呢?兩者各有應對方案,在理想情況下

Cosmos 本身團隊是 Tendermint 出身,Tendermint 團隊深耕於在區塊鏈上實現拜占庭容錯,拜占庭容錯能容許一定節點作惡下,系統依然不崩潰而正常運行,所以 Cosmos 有底氣設計這樣的自治生態,同時 Cosmos 的 Hub 中心會有一個全局觀的代幣狀態,在最重要幣的安全上,中心 Hub 有責任去檢驗不同區域 Zone 上的操作是否真的有這麼多數量的代幣,如果發現全局觀的代幣記錄與分區上代幣記錄不一致,可以將中心 Zone 與區域 Hub 間的聯繫中斷,有效遏止作惡引起的系統崩潰,具體實現等 Cosmos 上線後將會有更多的討論。

Polkadot 通過隨機挑選驗證人節點,維護每一條圍繞 Polkadot 的鏈,當可以被隨機挑選的驗證人池子越大,那就會越公平與安全,想作惡的一羣人被劃分在一起的概率會下降,所以 Polkadot 官方希望有 1000 個節點來維護 Polkadot 這條鏈 , 同時加入釣魚人 Fisherman 這項角色,作爲系統內警察,通過揪出作惡操作獲得獎勵來進一步加強系統安全。

PS: 真實的攻擊和變化肯定更多,我不是安全專家,只是舉了最容易瞭解的攻擊形式

第三個不同點:安全設計哲學下如何影響代幣價值與生態發展

幣價和安全性有什麼關係?

我們都知道比特幣裏一部分的安全是由礦工運行礦機來保證,算力成本的高低和幣價有一定關聯性(雖然不是直接因果關係),在 PoS 共識下,沒有實體礦機,大家手中的幣就是礦機,幣通過委託代理 Stake 進行挖礦,同時維護鏈的安全,如果要攻擊一條 PoS 的鏈,攻擊代價就是控制 1/2 甚至要到 2/3 比例的代幣。

先說 Polkadot 共享安全 shared security 的概念(就是前面提到的團結哲學),Polkadot 認爲不是每一個新的區塊鏈都可以找到這麼多節點來維護安全(事實也是如此,很多新公鏈最大問題就是節點不夠,不夠就代表不去中心化不夠安全),Polkadot 說我提供大家安全性,大家的鏈接入到我整個系統,所以 Dot 代幣將來提供的不僅僅是 Polkadot 自身安全,還包掛圍繞在 Polkadot 旁 Parachain 的安全,可想而知 Dot 用途更廣了,價值也擴大了。

Cosmos 強調了自治思想,所以每個區域 Zone 需要自己的驗證人節點提供安全,在 PoS 共識架構下,每個自治 Zone 的代幣都承擔了安全保護的功能與價值,但同時 Cosmos 原生代幣 Atom 的用途也相對 Dot 減少了。

反過來想 Polkadot 的模式其實是搶奪了其它鏈原生代幣安全保護的功能與價值,建立在 Polkadot 上的鏈就只剩下本身業務場景才能撐起幣的市值(打了一個大大折扣),所以我猜測一個希望自己做大(市值高),有自主權的鏈,會選搭建在 Cosmos 之上。

當然 Cosmos 也有在討論提供共享安全性的想法,以現階段區塊鏈還在早期的階段,市場上確實沒有足夠且去中心化的驗證人節點來爲新的區塊鏈服務(必須要有足夠的經濟誘因),我認爲共享安全性是一個不錯的點子。

第四個不同點:瞄準場景的不同

Cosmos 專注在代幣流動的領域,還有支持跨鏈下使用代幣進行的物件化模塊功能調用。

Polkadot 專注在整個信息的流動,其它 Parachain 的最終共識由 Polkadot 提供,使 Polkadot 的中心 Relaychain 在記錄整個網絡的所有信息狀況更容易,Polkadot 上可以做到直接調用其它鏈上的智能合約。

兩個項目其實都可以向外擴展,或是向某個方向專注,特化下自然會形成兩者各自的特色而吸引各自的項目開發者與使用者。

最後一些有趣的討論

1、不管是 Cosmos 和 Polkadot 都要面臨驗證人節點不足的問題,從我們參與社區的觀察,一條鏈擁有超過 100 個不同背景的驗證人節點現階段是很難的(短期內區塊鏈還沒有發展那麼廣爲人知,可能由基金會自己運行,投資機構運行,或同一個團隊運行多個節點來滿足)

2、Cosmos, Polkadot 及 Tezos, 這三個項目的驗證人節點有很大一部分重疊,作惡問題,壟斷問題可能發生,是一個有趣的事實。

3、項目開發進度與迴應速度,我會比較擔心 Cosmos,Cosmos 項目已經延期,而且從我們遞交給官方信息的反饋速度來看,Polkadot 遠勝 Cosmos。

4、跨鏈項目不會這麼快,觀察他們如何完美的解決連接以太坊及比特幣再說,這兩個最主要的區塊鏈社區,互相連接上了纔會有更多的交互的創意與應用,連接以太坊是這兩個項目上線後最主要的目標,同時他們也提到連接比特幣更困難,但還沒有確定時間軸。

5、Cosmos 團隊提到 2019 年要開始宣傳可組合型 Composibility,Cosmos SDK 是一個可以節省開發者大量時間的工具包,內置委託代理,治理,跨鏈等基礎功能模塊,Polkadot 也做了一個類似工具包 Substrate。除了設計哲學,誰能更好的說服及宣傳自己的工具包,誰就能掌握更多的開發者。