
本文來自橙皮書本文來自
橙皮書
(ID:chengpishu)作者:Dave Kajpust,翻譯:orangefans · Eric,經授權轉載。
一級標題
一級標題
一級標題
區塊鏈互操作性允許僅通過區塊鏈協議本身發送ETH或接收BTC,而不需要第三方機構(如交易所)介入。這個願望很簡單,但目前還未實現。
一級標題
一級標題
Polkadot和Cosmos都致力於在區塊鏈之間構建網絡協議,以實現安全可靠的交互。基於這些協議產生的新區塊鏈可以在鏈之間發送交易和傳遞訊息。
一級標題
它為何如此重要?
它也允許私有鏈,公鍊和聯盟鏈的接入。最終,區塊鏈甚至可以與法定的銀行系統(如SWIFT)進行交互。
在解決區塊鏈互操作性問題上,它們採取類似的策略,但在協議和設計上存在細微的差別。這些差異具體表現在安全性,隱私性,效率,靈活性和易用性之間的權衡。
一級標題
一級標題
一級標題
Cosmos團隊正在構建基於Tendermint的Cosmos網絡。 Tendermint和Cosmos都隸屬於InterChain基金會。下面兩張圖將簡單解釋他們是如何設計網絡的。
一級標題
一級標題
技術設計和協議
一級標題
Tendermint(共識和網絡)
應用區塊鏈接口(ABCI)
Cosmos的交互性
ABCI是定義了複製引擎(Tendermint)和狀態機(區塊鏈)兩者邊界的接口。 ABCI是區塊鏈狀態更新的唯一通道,而只有Tendermint才具有區塊鏈狀態更改功能。這種設計是一種非常棒的安全策略,因為改變狀態只有一個接入通道。
下圖解釋了Tendermint的堆棧設計,展現了在點對點網絡中節點的連接方式,以及每個節點的組件。
Peg Zones
Cosmos的交互性
鏈間通信(IBC)
Cosmos 網絡可以基於IBC協議實現鍊鍊交互功能。以Cosmos 網絡為中心樞紐,網絡中的鏈通過IBC進行通信。區塊鏈以分支的形式連接到Cosmos Hub,網絡中的分支又被成為“Zone”,如下圖所示。
IBC的技術性術語又叫“Chain Relay”。 Chain Relay允許區塊鏈讀取和驗證其他鏈上的事件。例如,A鏈上的智能合約想知道B鏈上發生的事件,則B鏈上的智能合約需要採用A鏈的塊頭,並驗證其是否達成共識以及最終性。
本質地說,Cosmos正在構建一個網絡體系,其中新區塊鏈可以輕易創建,並從創立之初就可以通過Chain Relay進行交互。每條鏈都將在Tendermint上運行,只要新鏈遵循IBC協議,就可以加入該網絡,包括公鍊和私有鏈。如下圖所示。
Peg Zone允許實時的區塊鍊網絡(如以太坊主網)連接到Cosmos網絡中。能夠連接到實時區塊鍊是區塊鏈可交互網絡的主要要求。 Peg Zone很複雜,但我們可以試著用簡單的術語來解釋它的工作原理。
你必須有一個共享的安全模型,並且Cosmos Peg Zone的驗證人也在運行以太坊主網節點。特殊驗證人會批准兩條鏈之間的交互。這是個複雜繁瑣的基礎架構,你還必須信任運行Peg Zone的團隊。
實現兩條鏈之間的互操作
Cosmos Hub
Ethermint設計的天才之處在於團隊計劃實現的“hard spoon”。他們將在某個時間點對所有以太坊賬戶進行快照,並用該狀態創建新的Ethermint分區。這將幫助他們引導現有的以太坊開發者網絡,同時為每個人發放新的代幣,並提供更快的交易速度。
一級標題
一級標題
選擇Ethermint而不是Peg Zone來“映射”以太坊主網,是因為它在技術上更加容易實現。但是,對於區塊鏈來說,Peg Zone的存在至關重要。無論對於Cosmos還是Pokaldot,比特幣和以太坊背後有太多的動量,忽視它們都是極其冒險的。
一級標題
在Cosmos 網絡中,Cosmos Hub是主鏈,充當其他所有區塊鏈的中央連接點。它是Tendermint驅動的多資產證明的PoS區塊鏈。 Cosmos Hub的主要代幣是Atom,其主要用於抵押和鏈的治理。 Cosmos Hub啟動之初有100個驗證人,並將逐年增加。
Atom持有者既可以是驗證人也可以是委託人。驗證人需要設置一個完全節點,用於維護網絡安全和處理交易。委託人則可以根據他們對驗證人的信賴度和節點運行能力的判斷,將代幣委託給驗證人。驗證人會代理Atom資產,並從每個出塊中獲得Atom獎勵。這些獎勵會惠及委託人,只是其中一小部分將被扣留,以用於驗證節點的日常運行。
為了保證驗證人的誠實性,向區塊鏈發布不正確數據的惡意驗證人會失去他們的Atom代幣作為經濟處罰。這種機制稱為“slashing”。這些遊戲理論規則都是為了在PoS證明的區塊鏈中激勵良好行為。
Cosmos SDK
代幣也可用於治理。一個Atom就可以作為網絡任何提案的一票,例如軟件升級。 Cosmos的治理協議相當簡單。委託人可以自己投票,也可以將他們的投票權轉讓給他們所委託的驗證人。驗證人必須給每個提案投票,否則他們會受到懲罰。
主網啟動的當前狀態
Cosmos團隊目前正在使用部分功能對測試網進行測試,但他們已經非常接近於功能完備的軟件版本測試。團隊將在2019年Q3的某個時間點發布實時主網。但是,在主網穩定運行前,Cosmos團隊會凍結交易。一旦主網上線並穩定運行,Cosmos團隊將執行IBC,並為Ethermint進行Ethereum的“hard spoon”。想要對Cosmos路線圖更深入了解,請點擊這裡。
Cosmos上的開發構建
開發者有兩種方法進行基於Cosmos 網絡的開發工程:構建IBC交互的新區塊鍊和在Cosmos Zone中創建智能合約。 Cosmos團隊創建了Cosmos SDK以便開發人員可以輕鬆地在Cosmos網絡上發布新的區塊鏈。
Cosmos團隊發布了“Cosmos SDK”,其允許開發人員使用簡單的模塊化方案在Cosmos網絡上設計自己的區塊鏈。 SDK正用於構建Cosmos Hub,因此當主網啟動時,SDK也可供開發者構建自己的區塊鏈。 Cosmos Hub可以構建運行於Cosmos 網絡的基礎應用程序,之後將為股權代理,治理和IBC添加相應的模塊。
這將允許開發者自己使用SDK,選擇基礎區塊鏈應用程序,添加治理或股權代理等模塊,甚至創建屬於自己的模塊,並發布可交互的區塊鏈。這是個激動人心的機會,因為它將為開發人員創建一個全新的去中心化平台,而不僅僅是以太坊風靡全球的代幣模式。
SDK是用Golang語言編寫的, 並將支持未來語言。但在第一年前後,網絡中的區塊鏈必須用Go編寫。
在Cosmos上構建dApp
Polkadot是另一個由強大的技術團隊領銜,並致力於解決區塊鏈間交互性的項目。 Polkadot由Parity開發,後者是Web3基金會的成員。他們因以太坊客戶端Parity(由Rust語言編寫)而聞名遐邇。
圖片描述
圖片描述
Parachain
Polkadot的互操作性
然而,在最近的Youtube視頻中,Polkadot團隊提到他們計劃使用Aurand和Tendermint for PBFT的混合共識機制。 Aurand允許隨機選擇驗證人出塊,而不需要2/3成員的共識。混合共識引擎的設計使得共識形成更快,但是,如果驗證人存在惡意行為,區塊也有可能被回收。
Bridges
圖片描述
Polkadot的互操作性
Cosmos和Polkadot實現交互的策略也十分相似。 Polkadot網絡有個“Relay Chain”,是一個功能類似於Cosmos Hub的中心連接器。它也有連接到“Relay Chain”的區塊鏈,這些區塊鏈被稱為Parachain。 Cosmos Zone和Parachain的用途相同。 Polkadot還將配備連接實時區塊鏈的Bridge,其也跟Cosmos Peg Zone的作用類似。
Parachain和Cosmos Zone都使用鏈中繼來實現區塊鏈間的交互。但在具體實現上兩者有所不同。最大的區別在於如何與鏈相連及實現安全共享。在Polkadot中,網絡安全可以匯集和共享。這就意味著,單一的鏈可以利用集體安全性來增強自身的吸引力和信任度,而不需要從零開始。
這個方案是通過綁定Dots以創建新的Parachain,或者取消Dots綁定以移除無用的Parachain來實現的。而Cosmos不要求綁定Atom來創建一條新鏈,他們用治理的方法決定中央的Cosmos Hub是否應該連接到Cosmos Zone。
Bridge和Peg Zone在各自網絡中的作用相同。它們都可以來連接到實時的區塊鍊網絡,例如以太坊主網。 Cosmos和Polkadot都希望在啟動時能夠快速地連接到以太坊主網。
實現兩條鏈之間的互操作
如前所述,第一條與Cosmos Hub交互的鍊是Ethermint。很有可能,Polkadot也會創建一條類似Ethermint的鏈。對此,Polkadot團隊應該能夠輕鬆應對,畢竟他們在以太坊Parity客戶端上積累了相當多的經驗。
Polkadot 網絡
Polkadot 網絡是PoS證明的區塊鏈,其原生代幣是“Dots”。 Dots可以提供治理,以及在理論規則上激勵代幣持有人誠實行事。網絡的中心部分是“Relay Chain”,其作用類似於Cosmos Hub在Cosmos 網絡中的功能。 Polkadot 網絡擁有四種主要股權利益人:驗證人,提名人,校對人和漁夫。 Polkadot也會通過“slashing”來懲罰作惡行為。
Polkadot上的驗證人和Cosmos中的驗證人作用相同,提名人和Cosmos中的委託人類似。下面的圖表來自Polkadot白皮書,顯示了每個股權利益人之間如何相互關聯。
驗證人並不會維護所有Parachain上完全同步的數據庫,因為存儲的數據量過於龐大。因此,驗證人把存儲和驗證新的Parachain區塊的任務交給第三方,我們稱之為“校對人”。校對人的主要任務是生成有效的Parachain區塊。他們必須維護一個完整節點。校對人還需對未封裝的塊進行零知識證明,並將其提供給一個或多個負責向Relay Chain提交Parachain區塊的驗證人。校對人和驗證人會從這些任務中收取一定的費用。
Substrate
漁夫會像自由賞金獵人一樣,尋求大筆的獎勵。可以預料的是,僅僅他們的存在就能使作惡行為極少發生。因為驗證人和校對人都知道,一旦他們作惡就會被漁夫抓到並接受懲罰。漁夫會在Polkadot 網絡上發送驗證人或校對人的任何非法活動證據。
治理分為幾個層次,主要是在網絡上通過Dots投票。 Polkadot團隊還計劃設立一個12-24個賬戶組成的理事會,對沒有得到股權利益人重視的提案進行投票。這是一個對低選民投票率提案的備用解決方案。他們還承諾加入自適應仲裁偏差,並為選票賦予不同的投票權重指標,例如為長期持有人或驗證人,甚至是長期為網絡做出貢獻的dApp開發團隊賦予更多的投票權重。但是,目前這些想法只停留在概念階段。
主網啟動的當前狀態
Polkadot團隊的第一個概念證明(proof of concept)已經能夠驗證區塊,並實現狀態轉換。他們已經實現通過測試網絡發送Dots代幣。概念證明是用Rust寫成的,之後將支持WebAssembly。他們計劃將在2019年Q3發布主網,並一直表示他們正在努力實現這一目標。
Polkadot上的開發構建
Substrate是一個用於構建區塊鏈的技術堆棧。它與Cosmos中Cosmos SDK的作用十分相似。 Polkadot網絡建立在Substrate之上,就像Cosmos網絡建立在Cosmos SDK之上。你並不用擔心共識或網絡性,而只需要專注於區塊鏈應用本身。
Substrate是用Rust寫成的,但是狀態機的核心功能將會被編譯成WebAssembly。它可以直接使用編譯的Rust代碼,或者通過WebAssembly翻譯器運行。詳見下圖。
在Polkadot上創建dApp
比較Cosmos和Polkadot
共識協議
讓我們來看看這兩個網絡的主要組件,以及它們是如何相互競爭的。這是本文最有價值的部分,你可以比較兩個項目的不同,並自行判斷哪個網絡未來可能會更成功。
它們都使用Tendermint進行PBFT共識,儘管Polkadot承諾將使用與Aurand相輔的混合共識協議。混合共識方案加速了共識的形成,但它也導致了區塊回收的可能。兩種方案都還需要在實時區塊鍊網絡中經受實踐檢驗。當然,兩種共識協議也遠快於以太坊和比特幣網絡的PoW共識。
治理
它們都有用於治理和股權代理的代幣。兩個網絡都有保護網絡安全的驗證人,和可將代幣委託給驗證人的委託人/提名人。 Polkadot 網絡中還加入了校對人(用於幫助處理Parachain)和漁夫(用於密切監視網絡中的作惡者)。兩個項目都有對作惡者的懲罰措施,並在主網上線時,相應的懲罰指標可能會進行調整和測試。總結來說,Polkadot的PoS共識設計更為精妙,但也更加複雜。
治理
治理
治理
安全性
實時區塊鏈中的PoS治理在很大程度上未經過測試。我們可以期望,這兩個項目團隊都能夠提出對應的解決方案,以便在測試之初調整治理協議。這兩種設計模型都足夠簡潔,可以通過小規模的迭代和改進,過渡到一個更強大的去中心化治理系統。一開始就強加一堆製度和規則的方法不可取,還不如從簡單的開始,逐漸增加複雜性。這也是這兩個項目的高明之處。
安全性
安全性
網絡也需要足夠得去中心化,以防止某些惡意的驗證人控制整個網絡。值得慶幸的是,這將使他們能夠避免EOS主網啟動時所面臨的問題:由於21個BP節點的限值過低而導致網絡過於中心化。
安全性
Polkadot允許Parachain和Relay Chain共享“池安全”(pool security),而Cosmos則由Zone來保護自己的網絡安全。這就意味著開始一個新的Parachain,就必須積累大量的Dots,並質押這些代幣以便將Parachain連接到Polkadot 網絡。因此每條Parachain的安全性根植於Dots本身,這樣也就是在整個網絡中創建了一個共享安全模型。
Cosmos允許Zone來管理自己的安全模型,也就是所謂的“Sovereign Zone”。這意味著,Cosmos Hub將使用治理決定哪些Zone可以接入Cosmos Hub。這個方案理論上可行,但是,如果惡意的Zone成功欺騙驗證人相信它們是合法的,那它也確實可以接入網絡。而一旦惡意的Zone連接到網絡中,它就可能有多種方式攻擊中央的Cosmos Hub,並從Cosmos網絡中提取Atom。
但是,Cosmos團隊也宣稱,他們計劃在主網上線後不久支持共享安全模型。一旦他們實現這個計劃,將會給開發者帶來極大的靈活性。因為開發者可以在Cosmos上共享基於Atom的安全性,或者創建自己的代幣和安全體系。採取兩種安全模型所作的取捨就是通過治理將Sovereign Zone添加到網絡中,這也為惡意Zone連接到網絡中提供了可能,儘管這種情況不大可能發生。
可互操作性
開發人員
可互操作性
開發人員
開發人員
兩個網絡都通過鏈中繼(chain-relays)連接到一個中央樞紐。它們都通過Peg Zone/Bridges連接到以太坊主網,並致力於使這種連接更加迅速。另外,它們都可以快速、便捷地在各自網絡上運行EVM Zone/EVM Parachain。 Cosmos將在主網穩定後發布Ethermint,Polkadot可能也有類似的計劃。
開發人員
Cosmos SDK和Polkadot Substrate都是為了開發平台而設計的。它們使得開發者可以更方便地在網絡上創建自己的區塊鏈。兩方團隊都致力於構建開發者友好型的新型開發平台,就像當初以太坊用智能合約和代幣所做的那樣。
在這兩個平台上開發的不同之處主要在於,Polkadot使用WebAssembly和Rust語言,而Cosmos使用Golang語言。
Polkadot遠見性地支持WebAssembly,以更好地面向未來。 WebAssembly得到了Google, Apple, Microsoft 和Mozilla的支持,很有可能在未來十年內得到廣泛應用。 Rust也一直努力成為可編譯入WebAssembly的主要語言之一。在未來5年的展望中,Polkadot似乎在長期吸引開發者方面邁出了正確的一步。
然而,正如我們在以太坊上所看到的那樣,有時首先進入市場甚為重要。還有其他支持智能合約的區塊鏈允許使用其他語言編寫智能合約,但以太坊幾乎覆蓋了所有的智能合約活動。正是因為他們建立了圍繞Solidity和EVM的生態系統,而俘獲了許多早期開發者的心。
一級標題
總結
一級標題
總結
總結
總結
source
[1] Chain Interoperability— Vitalik Buterin, September 2016
[2] Tendermint Whitepaper
[3] The Cosmos Network Website
[4] Understanding the Value Proposition of Cosmos — Cosmos Network Blog
[5] Cosmos Whitepaper
[6] A Beginners Guide to Ethermint — Cosmos Network Blog
[7] The Internet of Blockchains — How Cosmos Does Interoperability, Starting with the Ethereum Peg Zone — Cosmos Network Blog
[8] Latest in Cosmos Critical Community Update May — Cosmos Network Blog
[9] Introducing the Hard Spoon — Cosmos Network Blog
[10] Polkadot Network website
[11] Polkadot Whitepaper
[12] EH18 Gavin Wood — Tech Talks: The Energy Blockchain — Tech Update
[13] Polkadot Lightpaper
[14] How Polkadot Tackles the Biggest Problems Facing Blockchain Innovators — Polkadot Network Blog
[15] Gavin Wood Edcon 2018 Polkadot Presentation
[16] Now Live — Polkadot Proof of Concept — Polkadot Network Blog
[17] WebAssembly Wikipedia