Polkadot跨鏈方案剖析
伴隨著web3.0的發展,區塊鏈技術也進入到了下一個階段。為了能打破各個區塊鏈之間的壁壘,更好的拓展區塊鏈的邊界,跨鏈技術得到了大家的重視,也有了較好的發展。PolkaDot就是其中一個備受期待的跨鏈解決方案,目前它由前以太坊CTOGavinWood率領團隊開發。那么在互聯網科技的新一輪變革悄然開始的背景下,Polkadot到底是什么?它的出現到底解決了什么問題?以及它又是如何解決的呢?我們會在這篇文章中嘗試給出答案。
Polkadot概覽
基本介紹
Polkadot是一種異構多鏈技術,主要由中繼鏈、平行鏈和轉接橋組成。它的建立是為了連接公有鏈、聯盟鏈、私有鏈以及未來可能出現在web3.0生態系統中的所有技術。它希望使各個獨立的區塊鏈網絡都能夠通過Polkadot的中繼鏈實現信息的交換和無需信任的交易。旨在實現區塊鏈一直在努力實現的3個目標:互操作性、可擴展性、共享安全性。
Polkadot也是一個協議,它允許獨立的區塊鏈之間互相交換信息。Polkadot是一種鏈間區塊鏈協議,它與傳統互聯網的消息傳輸協議不同,Polkadot還會驗證各個鏈之間在進行消息傳輸時的消息順序以及消息的有效性。
愿景
Polkadot希望能夠連接各個區塊鏈網絡,主要關注在解決以下三個層面的問題:
互操作性
當前區塊鏈的生態中,各個區塊鏈網絡之間是孤立存在的,它們之間沒有任何通信以及互操作的可能性。在未來區塊鏈的世界中也將會存在各種為了滿足于某些特定需求的區塊鏈,但若它們仍然彼此孤立將會非常不利于區塊鏈生態的發展。為了能夠打破這個壁壘,拓展區塊鏈網絡之間的邊界,區塊鏈之間的互操作性是一個必須要解決的問題。
而Polkadot的設計目的之一就是讓區塊鏈上的DApp和智能合約可以無縫地與其他鏈上的數據或資產進行交易。
可拓展性
在當前大多數區塊鏈中,交易都是在節點中一個一個的處理,因此當交易量逐漸增多的時候,由于網絡的限制很容易遇到性能上的瓶頸。
而Polkadot提供了可以運行多個平行鏈的能力,每個平行鏈可以并行處理多筆交易,在這種情況下Polkadot網絡就相當于獲得無限的可拓展性。在測試中,Polkadot網絡中的一條平行鏈每秒大約可以處理1000筆交易,通過平行鏈的創建,就可以成倍的增加每秒交易的數量,從而使Polkadot網絡具有較高的性能。
圖片來源于:https://polkadot.network/Polkadot-lightpaper.pdf
共享安全性
基于PoW共識的區塊鏈之間存在算力競爭,這樣不僅會造成算力等資源的浪費,且一些算力較少的區塊鏈還會非常容易受到攻擊,因此各個區塊鏈具有的安全性是不相同的。
且若各個區塊鏈之間想要互相通信的話,還會由于各個區塊鏈之間的算力不同導致了各個區塊鏈之間不能平等的信任對方,這就比較不利于資產等信息的跨鏈通信。
在Polkadot網絡中,將由中繼鏈整體負責整個網絡的安全,每個加入Polkadot網絡中的平行鏈之間都具有同等程度的安全性,因此它們之間在進行跨鏈通信時可以充分信任對方的平行鏈。且由于Polkadot將網絡的安全都集中在中繼鏈上,因此,要想攻擊整個Polkadot網絡的難度是非常大的。
圖片來源于:https://polkadot.network/Polkadot-lightpaper.pdf
架構解析
圖1(圖片來源于:https://polkadot.network/PolkaDotPaper.pdf)
如圖1所示為Polkadot網絡的整體架構,從中我們可以看到中繼鏈處于網絡的中心位置,它會處理網絡中整體的共識和安全性;還有許多平行鏈通過連接中繼鏈以接入Polkadot網絡中;同時還可以看到在該圖的下方有一個轉接橋,這也是Polkadot網絡中連接了獨立區塊鏈的方式。此外還可以看到許多的參與者,例如:收集人、驗證人、釣魚人等。那么接下來我們就分別介紹一下在Polkadot網絡中的主要鏈角色和不同的參與者。
NEM的Symbol利用區塊鏈技術解決葡萄酒假冒問題:NEM新區塊鏈項目Symbol開發了一種區塊鏈解決方案,可以實時跟蹤和驗證大量交易,解決葡萄酒篡改和假冒問題,為葡萄酒行業節省數百萬美元。(cointelegraph)[2020/7/6]
主要的鏈角色
中繼鏈
中繼鏈是Polkadot網絡的中心鏈,它為整個網絡提供了統一的共識和安全性保障。
Polkadot網絡中所有的驗證人都會在中繼鏈上質押DOT代幣,從而參與Polkadot網絡治理。
由于在Polkadot網絡中大多數業務相關的操作都會由各個平行鏈來實現,那么在中繼鏈上就只會發生和網絡治理、平行鏈拍賣等少量的交易類型,因此中繼鏈上的交易手續費通常會高于平行鏈上的交易手續費。
平行鏈
整個Polkadot網絡中大部分計算工作都將委托給各個平行鏈進行處理,平行鏈會負責具體業務場景的實現。Polkadot對平行鏈的功能不作任何限制,平行鏈可以作為應用鏈實現任何應用場景,但它們自身卻不具備區塊的共識能力,它們將共識的職責渡讓給了中繼鏈,所有平行鏈會共享來自中繼鏈的安全保障。平行鏈之間可以通過ICMP(InterchainMessagePassing)進行彼此通信,同時它們還會由分配給它的驗證人進行區塊驗證。
但平行鏈有可能不是一條具體的鏈,Polkadot中對其定義是:平行鏈是特定于某些應用程序的數據結構,它在全局上是一致的,并且可以由Polkadot中繼鏈的驗證人進行驗證。一些平行鏈可能是某些Dapp特定的鏈,也可能是專注于諸如隱私或可拓展性等特定功能的平行鏈,可能還會存在一些實驗性質的平行鏈,總之平行鏈在本質上不一定必須是區塊鏈。
圖片來源于:https://wiki.polkadot.network/docs/assets/network/one_parachain.png
轉接橋
橋在區塊鏈的鏈間通信中有著重要作用。在Polkadot中關于轉接橋的具體實現還有許多待確定的地方,后續官方應該還會有更具體的更新,截止目前在Polkadot中轉接橋主要由三種不同的含義:
轉接橋合約(BridgeContracts):通過在Polkadot的平行鏈和外部的區塊鏈上部署智能合約來達到橋的效果,以實現跨鏈的價值轉移。
跨鏈通信(Cross-ParachainCommunication):由于平行鏈之間是可以通過ICMP進行鏈間通信的,而無需智能合約承擔橋接的功能。且基于ICMP的鏈間通信將是Polkadot原生支持的方案。
內置橋接模塊(In-builtBridgingModules):在Polkadot網絡中,從非平行鏈中接收平行鏈上的消息很可能會在Polkadot的內置模塊中完成。這樣的話就不需要在非平行鏈中部署智能合約扮演“虛擬平行鏈”了,收集人就可以直接收集整理該區塊鏈上的交易,并提交給中繼鏈了,就像對平行鏈所做的那樣。當前內置的橋接模塊可能會考慮基于特定的鏈進行開發,這就意味著只要是內置交接模塊支持的區塊鏈就都可以直接橋接到Polkadot網絡中了,而無需通過智能合約進行橋接。但對于內置橋接暫不支持的區塊鏈,就還要采用轉接橋合約的方法實現了。
主要參與者
圖2(圖片來源于:https://polkadot.network/PolkaDotPaper.pdf)
由圖2中可知在Polkadot網絡中,共存在4種主要的參與者,分別為驗證人、收集人、釣魚人和提名人。簡單來看他們的職責是這樣的:收集人會從各個平行鏈中收集交易信息并打包為待驗證的區塊,接下來一組驗證人會對平行鏈上的區塊進行驗證;同時網絡中的釣魚人會監控驗證人的行為,若釣魚人發現非法行為就會向其他的驗證人進行舉報;而提名人會通過向自己信任的驗證人質押token來參與網絡治理。那么他們之間的異同如下分析:
驗證人
驗證人會負責Polkadot網絡的出塊,它會運行一個中繼鏈節點,在每一輪區塊產生中對其提名的平行鏈出的塊進行驗證。當平行鏈出的塊都被他們的驗證人集合確定好之后,驗證人集合會將所有平行鏈的區塊頭組裝到中繼鏈的區塊中并進行共識。
在Polkadot網絡中,驗證人是以組的形式存在的,它們不是來自于平行鏈,而是由中繼鏈統一管理的驗證人池,通過隨機分組指定給平行鏈的。
動態 | 支付寶使用區塊鏈技術解決商家原創圖片被盜糾紛:金色財經報道,作為阿里爸爸原創保護計劃的行動之一,支付寶的區塊鏈技術首次應用在淘寶商家服務平臺上,上線了商家可信數字存取證工具——鵲鑿。該工具為商家提供電子數據存證、侵權取證和電子數據證據核驗的一站式線上自助服務。使用這項服務的淘寶店主,如果發現自己的原創圖片被盜,在產生糾紛之后可以一鍵要求對方刪圖。[2019/11/8]
收集人
收集人會幫助驗證者收集、驗證和提交備選的平行鏈區塊,它會維護一個平行鏈的全節點。
釣魚人
釣魚人主要靠舉報非法交易或者區塊以獲取收益。在Polkadot中釣魚人是一個軟件進程,它會監控Polkadot網絡中的非法行為,一旦發現就會向Polkadot網絡舉報非法交易。釣魚人在舉報非法交易的時候也需要先質押token才行,且舉報的交易也要經過共識的過程,只要通過2/3及以上其他驗證人的驗證,就會被打包進區塊,若舉報的交易是有效的,釣魚人就會獲得相應獎勵,若發現釣魚人進行了虛假的舉報,就會沒收它質押的token作為懲罰。同樣對釣魚人的懲罰和獎勵也都是區塊鏈交易。
提名人
提名人是擁有token的相關方,且他希望能通過質押token獲益。但是它要么是由于token份額較少,或者是缺乏維護中繼鏈節點的專業技能,因此他并沒有直接作為驗證人。
但是系統還提供了另一種參與網絡治理的途徑,它不必維護一個中繼鏈節點,但是它可以選擇至多16個他信任的驗證人,并將自己的stake通過那個驗證人來質押,以此來分享驗證人的收益。
鏈間通信-ICMP
在Polkadot網絡的平行鏈之間,它們通過ICMP進行彼此通信。ICMP意為Inter-ChainMessagePassing,即鏈間消息傳遞。以平行鏈A向平行鏈B發送一筆交易為例,簡要說明該過程如下:
平行鏈A將需跨鏈的交易放到自己的消息輸出隊列中。
平行鏈A的收集人在收集交易時會同時拿到這筆跨鏈交易,并提交給平行鏈A的一組驗證人。
若平行鏈A的這一組驗證人驗證成功后,會將本次平行鏈A的區塊頭信息以及平行鏈A中的egress隊列內的信息提交到中繼鏈上。
中繼鏈會運行共識算法進行區塊的確認以及跨鏈交易路由,中繼鏈上的驗證人會將平行鏈A的相應交易從平行鏈A的egress隊列中移動到平行鏈B的消息輸入隊列中。
平行鏈B會執行該區塊,將ingress隊列中的相應交易執行并修改自身的賬本。
以上便是Polkadot中基于ICMP進行跨鏈交易的主要步驟。
ICMP是Polkadot網絡中的一個協議,它定義了在平行鏈和/或中繼鏈之間無需額外信任的消息傳遞的方式。它非常依賴Polkadot網絡中的中繼鏈存在,若沒有了中繼鏈ICMP也就無任何意義了。同樣,ICMP并不是一種消息或者格式的標準。
就Polkadot網絡中的共識機制而言,ICMP協議包含了對消息進行隊列處理、轉發和排序的機制。通過和Polkadot網絡中繼鏈的結合,它可以實現數據的可用性。通過和Polkadot網絡中平行鏈的結合,它也實現了消息的輸入和輸出。但ICMP協議并不包含較底層的網絡,以及消息語義自身。
總之,ICMP并不是也不太可是傳統意義上的“標準”,它將會是一個依賴于Polkadot的專有技術領域。
共識
在Polkadot網絡中,同樣需要所有的節點達成共識后才能使區塊鏈上的所有狀態繼續構建并演進,這是一種在共享狀態上達成協議的方法。通過共識機制可以使Polkadot網絡中的節點狀態保持彼此同步,它旨在為網絡的參與者提供所有狀態的客觀事實,而針對這個客觀事實每個網絡參與者又都有自己的主觀判斷,通過他們之間的溝通并最終達成協議,以此來構建一個新的區塊。
什么是概率確定性和可證明的確定性?一個運行了PoW共識的純中本聰共識區塊鏈,它只能實現概率上的確定性并最終達到確定性的狀態。概率確定性意味著在網絡中的某些參與者之下,我們看到了多個區塊都連接在了某個區塊后,即最長鏈原則,那么我們就認為它是確定的了。這時最終確定的共識就意味著在將來的某個時刻,網絡中所有的節點都將對一組數據的真實性達成共識。而達到這個最終確定的共識可能需要很長時間,并且我們根本無法估算這個時間是多久。但是,諸如GRANDPA或以太坊的CasperFFG之類的確定性工具,它們旨在為區塊的確定性提供更強大、更快速的保證。并且在經過拜占庭協議的某些過程之后,它們將永遠無法被還原。這種不可逆共識的概念又被稱為可證明的確定性。
在Polkadot網絡中共有兩種不同的共識,分別為GRANDPA和BABE。之所以會有兩種不同的共識是由于Polkadot采用了混合共識的方式。這里混合共識將區塊的產生和區塊的最終確定分離開來,其中BABE共識用于區塊的產生,GRANDPA共識用于區塊的確定。
聲音 | 吳鵬:可用區塊鏈技術解決圖片授權信息問題:據澎湃新聞消息,4月26日,國家版權局舉辦2019中國網絡版權保護與發展大會。財經媒體版權保護聯盟副秘書長、原本區塊鏈CEO吳鵬在會上表示:“對于圖片來說,如果我們用這樣一個機制設計它,圖片就包含識別信息,我們可以看到身份、可信時間以及內容指紋。同時上面會有版權信息、授權證明以及信用評價。在互聯網上無論這張圖片傳播到哪里,都可以通過區塊鏈技術找到它所有的相關信息。”[2019/4/28]
混合共識是在Polkadot網絡中獲得概率確定性和可證明的確定性好處的一種方式。通過采用這樣的混合共識機制,Polkadot可以快速生成區塊,而速度較慢的確定性機制可以在一個獨立的進程中運行以完成區塊的確認,而整體不會導致網絡交易速度的減慢或阻塞。那么BABE和GRANDPA到底是什么樣的共識機制呢?
圖3BABE共識中的出塊時間間隔
BABE
BABE(BlindAssignmentforBlockchainExtension)是一個基于PoS的共識協議。它在驗證人節點之間運行,并確定由哪個驗證人產生新的區塊。BABE和OuroborosPraos算法是比較類似的,只是在“鏈的選擇規則”和“slot時間”上有所更改。
以創世區塊為起始,我們將創建區塊的后續時間劃分為不同的epoch,再將不同的epoch劃分為更小時間間隔的slot,如圖3所示。BABE共識協議中的要點就在于挑選不同的驗證人,在每一個slot內生成一個區塊。
BABE會根據驗證人質押的token總量,并在每個epoch周期內隨機為驗證人分配slot進行區塊的生成。在每個slot中,Polkadot中的驗證人都會參加一次“抽獎”,抽獎的結果將會告訴驗證人他是否是該slot中生成區塊的候選人。在Polkadot中,一個slot有6秒鐘的時間。由于在每個epoch的周期內驗證人的選擇具有隨機性,由此就可能導致一個slot中存在多個驗證人,也有可能導致某些slot中一個驗證人都沒有,這就可能導致出塊時間的不一致,如圖4所示,有些slot中有兩個甚至三個驗證人,但某些slot中卻沒有驗證人。那么要如何處理這兩種不同的情況呢。
圖4
slot有多個驗證人
在一個slot中有多個驗證人作為生成區塊的候選人的時候,每個驗證人都會產生一個區塊并將其廣播到網絡中。這時就像是一場比賽一樣,誰的塊先傳播到網絡中更多的節點誰就會取得勝利。由于網絡的拓撲和網絡延遲的影響,可能多條鏈都會持續向后生成區塊,直到最終被確定為止。如圖5所示,可能會有多條鏈在同時向后生成區塊,而其中最長的鏈最終可能會被確認。
圖5
slot中沒有驗證人
當一個slot中沒有任何驗證人在一次抽獎中獲勝時,這個slot看起來就不能生成區塊了。這時Polkadot會在后臺通過round-robin方法選擇一個驗證人,讓他生成一個次級區塊。但是一個slot中如果已經有了在抽獎中獲勝的驗證人的話,那么他就會生成一個主要區塊,就不會再有次級區塊了。因此,我們會看到每一個slot中必定會有一個區塊,它要么是主要區塊,要么是次級區塊。如圖6所示,在臨時分叉的鏈中可能既有主要區塊也有次級區塊。
圖6
GRANDPA
GRANDPA(GHOST-basedRecursiveANcestorDerivingPrefixAgreement)是為Polkadot中繼鏈實現的用來最終確定區塊的方法。
只要有2/3的節點是誠實的,并且可以在異步的情況下應付1/5的拜占庭節點,那么它就可以在部分同步的網絡模型中工作。其中有一個顯著的區別就是,即使在長期的網絡分區中或者其他的網絡故障之后,GRANDPA協議仍然會就某一條鏈達成共識,而非對某一個區塊達成共識,這就極大的加快了區塊最終確定的過程。在GRANDPA協議中,所有的節點會為他們所能看到的所有父節點投票,在這種情況下,鏈上所有的區塊就都有了一個票數,如果某個區塊所得的票數超過了全網2/3的節點,那么就可以最終確定這個區塊在最終鏈上。
聲音 | 英美反人口販運大使:支持使用區塊鏈等新技術解決人口販運問題:據Cointelegraph消息,近日,英國和美國反人口販運大使John Richmond表示,支持使用手機應用程序和區塊鏈等新技術來解決人口販運問題。[2019/4/9]
換句話說,只要有超過2/3的驗證人證明了某條鏈包含了某個確定的區塊,就可以立即最終確定該區塊所在的那條鏈為最終確定的鏈。
分叉選擇
通過將BABE共識和GRANDPA共識結合在一起,在面臨分叉時Polkadot的選擇就變得很明確了。BABE共識會始終在GRANDPA最終確定的鏈上生成區塊。在最后確定的區塊后面可能會有分叉,BABE共識會通過在具有最多主要區塊的鏈上創建區塊以提供概率確定性。
如圖7所示,其中黑色的區塊是已經被最終確定的區塊。圖中標有1的區塊代表主要區塊,標有2的區塊代表次級區塊。在該圖中,即使最上面的一條鏈是最長鏈,但是它的主要區塊確是最少的,因此它就不符合條件。而第二條鏈中它的區塊總數雖然短,但其主要區塊數確是最多的,因此應該選擇第二條鏈。
圖7
激勵與懲罰
在每個區塊鏈生態中都會有一個經濟系統,以使所有的網絡參與者能夠更好的參與網絡的貢獻。那么在Polkadot中這個經濟系統是什么樣呢。
DOT代幣
DOT是Polkadot網絡中的原生代幣。DOT也是持有人在進行投票、驗證或委托給其他驗證人的許可證明,同樣它也可以用來進行交易時支付交易費用。DOT在Polkadot中主要有四個用途:
Governance/治理
DOT的持有者一定程度上決定著Polkadot網絡的未來。類似的在其他平臺中礦工擁有的特權都將給予中繼鏈的參與者,也即DOT的持有者。他們可以管理網絡中出現的重要事件,例如:協議的升級和修復。
Operation/運營
博弈論會激勵DOT持有者在網絡中做好事。沒有作惡的參與者將會通過這種機制獲得相應的回報,而在網絡中作惡的參與者就會失去他們的DOT。這樣也可以一定程度上保證網絡的安全。
Inter-operability/互操作性
對于要從一條區塊鏈發送到下一條區塊鏈的消息,發送者可以支付一定的DOT作為交易費用,但這并不是必須的。
Bonding/質押
新的平行鏈需要通過綁定DOT來加入網絡中。且無人維護的和無用的平行鏈也可以通過解除綁定DOT以從網絡中刪除。這也是PoS的一種形式。
DOTtoken將會在主網上線之后才能使用。
平行鏈的插槽拍賣
根據目前的估算,平行鏈的數量上限為100條,不過未來有可能減少或增加。
Polkadot網絡通過拍賣機制來競拍平行鏈的使用權——出價最高的人需要在PoS系統中鎖定一定數量的DOT,才可以在一定時間段內擁有所拍得平行鏈的使用權。
這意味著要想使用Polkadot上的平行鏈,需要購買并鎖定大量DOT,直到不想再使用這條平行鏈為止。
參與者激勵和懲罰
驗證人激勵
驗證人通過質押token在中繼鏈上進行區塊的確認,當區塊被確認時,它會收到對應的獎勵。如果作惡,被釣魚人舉報并且驗證為真實作惡的話,就會對該驗證人進行懲罰。
收集人激勵
收集人會收集平行鏈中的交易,這些交易中的手續費會作為收集人的獎勵。
釣魚人激勵
釣魚人對Polkadot網絡中的驗證人進行監控,若發現非法的交易,它就會通過質押token來舉報給其他組的驗證人進行驗證,若其他驗證人證明了舉報是真實的,釣魚人就會獲得相應的獎勵,反之,若為虛假舉報,釣魚人就會受到相應懲罰,他所質押的token也會被沒收。
提名人激勵
提名人最多可以支持16個他們信任的驗證人候選人,并將自己的token通過自己所信任的驗證人進行質押,這樣就可以和驗證人共享其收益。
在Polkadot的質押機制中,所有驗證人將會獲得相同的獎勵,而所有參與質押的提名人將會等驗證人減去所設置的傭金后,再按他們的抵押比例分配獎勵。
生態
概述
如圖8所示是PolkaProject發布的關于Polkadot生態中的所有項目,可以看到Polkadot生態中的項目還是蠻多的,其中錢包、區塊鏈瀏覽器、基礎設施項目,還有一些論壇等。其中的優秀項目還是比較多的,比如:ChainX、Edgeware、Darwinia、Cdot等。稍候我們會對這些優秀的項目做一些簡要的介紹。在這之前,我們先來看下Polkadot的開發者生態如何。
聲音 | 網信將采用區塊鏈等技術解決小微企業息不對稱問題:據鳳凰網消息,近日,網信普惠風險官周龍在“2018零壹財經新金融夏季峰會”上表示,“為了解決小微企業的信息不對稱問題,網信通過采用區塊鏈、云計算技術為處于供應鏈末端的小微企業提供真實的數據管理技術,將金融科技與供應鏈相結合。通過對信息流、物流、資金流的風險把控與價值固化,實現“三流”合一。借助先進的算法與區塊鏈技術,實現高效的數據收集與處理,實現實時動態智能化監控,解決供應鏈生態圈中各節點的信任問題,從而提升供應鏈金融服務中小微企業的能力。”[2018/7/23]
圖8
從Polkadot在GitHub中的開源項目來看,幾乎每天都有代碼相關的更新,且大多數更新都是Gavin的commit。而同樣由其開發的區塊鏈開發框架Substrate更是每天都有足量的代碼更新。如下面兩張圖所示,我們有理由相信Polkadot生態中的核心項目目前均是處于正常的維護中的。且在Riot聊天軟件中,有「SubstrateTechnical」和「PolkadotWatercooler」兩個聊天室,且在Telegram中也有「PolkadotNetwork(Official)」聊天室,該聊天室中差不多有五千人,每天都會有不少小伙伴在里面提問技術問題和Polkadot相關的問題,且都能得到及時的回應。因此,Polkadot還是有一個比較活躍的開發者生態的。
Substrate
提到Polkadot生態,就不得不提Substrate了。Substrate是Parity公司在開發Polkadot過程中的抽象出來的區塊鏈開發框架。他們在開發Polkadot的過程中慢慢發現,有許多機制可能是每一個區塊鏈都應該具有的,比如:共識、質押、賬戶等等,他們就逐漸將這些模塊抽象出來,直到最終抽象出了Substrate這個下一代區塊鏈開發框架。
Substrate由Rust語言開發,我們可以通過Substrate框架創建一條完整的、可配置的區塊鏈。通過Substrate,我們可以獲得許多開箱即用的功能,同樣還可以添加自定義功能:
一條基于PoS的區塊鏈
可升級的運行時環境
可插拔的共識(PoS,PoW,PoA)
P2P網絡層
內置的基本加密工具
支持輕客戶端
目前,Substrate已經是獨立于Polkadot的項目了,現在由單獨的團隊進行開發維護。盡管Polkadot是一個基于Substrate構建的項目,且任何基于Substrate其他的項目都接入Polkadot網絡運行。我們現在就可以使用Substrate構建一條新的區塊鏈,而不用等待Polkadot開發完成,就可以開始使用此框架開發區塊鏈了。
ChainX
ChainX是Polkadot生態中的一款明星項目,它的愿景是打破鏈間資產壁壘,以實現多幣種融合的公鏈生態。ChainX的系統架構中主要包含三個步驟:
ChainX1.0主要實現一個單鏈系統,基于區塊鏈框架Substrate實現,目的是為了成為Polkadot的一條平行鏈。且ChainXv1已經早于Polkadot在2019年5?上線,它現在已經作為獨?鏈運?并發?了ChainX原生Token名為PCX。但由于Polkadot的開發延時,Polkadot尚未主網上線,因此ChainX現在仍然處于單鏈運行狀態,無法作為平行鏈接入Polkadot中。
ChainX2.0主要為了實現一個雙鏈系統,即新增?條轉接橋鏈作為Polkadot的平?鏈,現在ChainX2.0開發過的功能就包含BTC轉接橋,以及支持BTC的WASM智能合約平臺。ChainXv2預計于Polkadot發布v1后再上線。
ChainX3.0主要是想實現一個多鏈系統,在3.0階段,ChainX將拆分為多鏈架構,作為Polkadot的第?層中繼?絡運?。其中Polkadot專注于底層消息跨鏈,而ChainX專注于實現其內部的資產跨鏈。如下圖所示。其中:
ChainX中繼鏈:是ChainX全系統的最?安全性保障,負責第?層?絡的整體共享安全共識。
轉接橋平行鏈:用于將各個轉接橋拆分為獨立的平行鏈,用于分擔壓力。
交易平行鏈:為全系統的資產提供免費撮合服務,提升交易吞吐量。
DAPP平行鏈:社區開發的各類應用可以獨立運行,并保持跨鏈通信能力。
圖片來源于:https://chainx.org/static/1326c0c531c7770e90eb72ef364585ca/f4193/section3_3.png
DarwiniaNetwork
Darwinia在其官網中說自己是為面向用戶的區塊鏈應用開發者打造的Polkadot平行鏈。在業務場景中,達爾文網絡主要專注于游戲區塊鏈的跨鏈問題。
達爾文網絡希望使用區塊鏈技術和框架來構造一個開放的網絡和應用開發套件。這個網絡和開發套件將應用于區塊鏈可信技術和Web3的基礎設施,同時又能夠具備以下特征,即:分層的網絡設計、支持跨鏈交互、對開發者友好、擁有最佳的用戶體驗,且高度可定制。在這種愿景的驅使下,他們希望能夠打造達爾文網絡和達爾文應用鏈SDK。
達爾?網絡是基于Substrate框架構建的區塊鏈網絡,它在架構的設計上參考了Polkadot的跨鏈?絡框架,其中包括中繼鏈,平行鏈,轉接橋等設計。達爾文網絡是Polkadot?態中的?員,但同時又區分于Polkadot的是,達爾文網絡主要專注于游戲和應用方向的跨鏈和應?鏈業務上。它的技術架構圖如下圖所示。而達爾文中繼鏈會在將來Polkadot主網上線時作為平行鏈接入Polkadot網絡中。
圖片來源于:https://darwinia.network/static/media/architecture.389ccdfd.png
達爾文網絡目前處于測試網階段,它的整體發展路線圖如下。可以看到達爾文網絡預計2019年12月主網上線,到2020年2月發布其應用鏈SDK。
圖片來源于:https://darwinia.network/
Edgeware
Edgeware是Polkadot生態中第一個基于WASM的智能合約平臺,它也是Polkadot網絡中的一條平行鏈,擁有Polkadot網絡的拓展性和安全性。
Edgeware基于Substrate框架開發。由于Substrate實現了啟動工作區塊鏈所需的幾乎所有代碼,包括libp2p網絡、WebAssembly運行、PBFT共識以及運行驗證節點的客戶端。因此,Edgeware的工作主要包含區塊鏈治理系統的構建,用于編寫可編譯為以太坊WebAssembly的C/C++/Rust智能合約,并移植現有EVM智能合約,最終在Ewasm上運行。
CdotNetwork
CdotNetwork希望打造Polkadot生態中的跨鏈樞紐,即CdotHub,用以將Polkadot中的平行鏈和一些主流的公鏈連接起來。
CdotHub基于Substrate框架開發,采用Tendermint共識,并將實現IBC跨鏈協議,這使得應用鏈只要低成本接入Cdot就可以獲得跨鏈互操作能力。我們可以看到Cdot希望能夠實現IBC協議,因此,相信將來Cdot上線后是有希望成為連接Cosmos生態和Polkadot生態的橋梁項目的。
評估
Polkadot作為一個跨鏈的技術解決方案,它同樣會面臨跨鏈本身所需要解決的問題,包含跨鏈交易的原子性、可驗證性、數據一致性以及安全性問題。在Polkadot中,主要通過中繼鏈、平行鏈以及ICMP機制解決這些問題。Polkadot網絡中所有的平行鏈會通過中繼鏈共享網絡整體的安全,通過ICMP協議由驗證人實現不同消息在不同平行鏈間的轉移。且在Polkadot網絡中還有相應的激勵和懲罰措施,以提高驗證人作惡的成本,保證網絡的安全。
以上我們分別介紹了Polkadot網絡的基本結構,包含所有的鏈角色和網絡中參與者的角色,以及它的共識機制和激勵懲罰措施等,那么總體上來看Polkadot怎么樣,又有什么優劣勢呢。
優勢
Polkadot網絡由中繼鏈統一管理網絡的共識,所有平行鏈共享安全,且所有平行鏈都具有同等級別的安全,在共享安全性模型下的跨鏈通信更容易解決數據可用性問題。
由于Polkadot中的共享安全性,應用鏈的開發就不需要自己維護區塊鏈的安全,能夠降低區塊鏈的開發成本。
Polkadot將區塊生成的共識和區塊確認的共識分離開來,采用BABE和GRANDPA的混合共識模式,能夠加快網絡中的共識效率。
開發者可基于Substrate區塊鏈開發框架構建一條應用鏈,該區塊鏈將原生支持Polkadot生態內的跨鏈功能,且其中包括各種開箱即用的模塊,例如治理模塊、質押模塊和認證模塊等,可以用來快速搭建一條區塊鏈,并接入Polkadot網絡。
在Polkadot網絡中,由中繼鏈維護著網絡整體的worldstate,平行鏈之間通過ICMP實現跨鏈通信。且平行鏈之間不僅僅可以進行跨鏈轉賬,還可以進行任意信息的通信。這就意味著一個平行鏈可以對另外一個平行鏈發起智能合約調用。但還未實現。
劣勢
平行鏈的加入成本較高。根據web3foundation(Polkadot背后的基金會,它們會對Polkadot生態做技術研究和營銷)對平行鏈租賃的解釋來看,平行鏈上的資源是有限的,所以一開始的平行鏈會以拍賣的形式做,后續會以租賃的形式繼續維護。而要想拍賣或者租賃平行鏈是需要用DOT進行質押的,這樣就可能導致平行鏈的維護成本太高,只有擁有大量DOT的鏈才能進入Polkadot網絡中。
同樣是由于Polkadot網絡的共享安全性,導致了整個網絡具有一定的“連坐性”,若Polkadot網絡中繼鏈遭受攻擊,就會導致整個網絡受到傷害。
ICMP協議還未實現,且截至目前主網還未上線,因此許多想法還未得到驗證。
總結
綜上,Polkadot是一個創新型的跨鏈項目,提出了中繼鏈、平行鏈等概念,并將區塊的產生和確定共識區分開來,同時發布了Substrate框架用來構建區塊鏈平臺,以及通過ICMP來實現平行鏈間的跨鏈通信。通過我們在這段時間對Polkadot的學習和研究,我們發現對于跨鏈機制ICMP來說,它還處在一個較為前期的階段,最近在社區中剛剛得知,官方接下來才準備發布關于ICMP相關的paper,從實現上來看也是同樣還處于暫未完成的狀態。但同時我們也看到有許多項目在向Substrate框架遷移,比如:Shift。在GitHub中可以看到Substrate的代碼庫每天都有巨量的代碼更新,且Substrate還擁有較為活躍的開發者社區。因此,我們相信Substrate是一個具有前景的區塊鏈開發框架。對于Polkadot生態中跨鏈方案ICMP前景的看法,我們目前是比較保守的,但我們會持續關注它的發展動態。
互聯互通是大勢所趨,任何一個生態如果選擇孤立發展,就會被區塊鏈互聯網產生巨大的網絡效應所擠壓,最終遭受淘汰。總體上,Polkadot大大降低了應用鏈的開發成本,共識等模塊都不需要自己實現,可以直接依賴中繼鏈,且只要平行鏈在Polkadot網絡中上線就可以和所有的平行鏈享受平等級別的安全等級,看起來這會是一個很吸引人的點。但Polkadot中有限的平行鏈資源以及拍賣入場的方式,又未免會讓DOT持有量少的參與者望而卻步,這就加大了Polkadot網絡的入場門檻。總之,我們應當保持一個開放的心態,在跨鏈解決方案百家爭鳴的時代什么都有可能發生,我們更應該對技術本身進行深入了解,了解其優劣,架構方式等。
Glossary
ICMP:Inter-chainMessagePassage,是Polkadot中用于解決跨鏈通信的協議。
中繼鏈:Polkadot網絡中的一條鏈,主要負責Polkadot網絡的共識和平行鏈之間的通信。
平行鏈:在Polkadot網絡中運行的一條區塊鏈,它實現了某些具體的應用場景,但不具備共識能力,是一條應用鏈。
轉接橋:在Polkadot網絡中充當中繼鏈和外部區塊鏈之間的中介,通過轉接橋,可以使外部區塊鏈作為一個“虛擬平行鏈”接入中繼鏈,以使外部區塊鏈和Polkadot網絡中的鏈進行網絡通信。
Collator:它是一個節點,通過收集平行鏈上的交易并為驗證者生成狀態轉換證明來維護平行鏈的節點。
Validator:它是一個節點,通過質押DOT來驗證平行鏈上的來自于收集人的狀態轉換證明并與其他驗證人一起確定共識來維護中繼鏈。
釣魚人(Fisherman):它們負責監視網絡中的驗證人和收集人,只要他們作惡,釣魚人就可以通過質押少量的DOT來進行舉報,但是如果他們真的發現了作惡行為,就可以得到大量的收益回報。
Epoch:epoch是BABE協議中的一段用于出塊的時間,它又被劃分為不同的slot,每個slot是一個更小的時間間隔,在Polkadot中默認為6秒,且在一個slot中會有一個區塊的產生。
Ewasm:WebAssemblyforEthereum,是以太坊下一代虛擬機。
綁定:是一個將token“凍結”的過程,通過“凍結”token,才可以使平行鏈接入到中繼鏈中。
參考文獻
Polkadot·PolkadotWiki
Parachains·PolkadotWiki
Bridges·PolkadotWiki
https://polkadot.network/Polkadot-lightpaper.pdf
https://github.com/paritytech/polkadot/wiki/ICMP
PolkadotConsensus·PolkadotWiki
PolkadotConsensus·PolkadotWiki
PolkadotNetwork
抵押·PolkadotWiki
跨鏈天王Cosmos、Polkadot的深層區別
ChainX:CryptoAssetGatewayforPolkadotEcosystem
DarwiniaNetwork-達爾文網絡
作者:宋嘉吉、孫爽 來源:吉時通信 摘要 芝商所正式上線基于比特幣期貨的期權產品。該期權的價值基于受監管的CMECF比特幣參考匯率,并以實際交易的比特幣期貨結算.
1900/1/1 0:00:001月7號20:00,BlockManiaAMA直播第40期暨BlockMania「全球視角」第3期繼續進行,本期BlockMania聚焦神奇的非洲大陸,本期主題為「非洲也有區塊鏈嗎?」.
1900/1/1 0:00:00中國在其他領域吃的專利的虧,似乎都要在新技術方面補回來。5G如此,區塊鏈更如此。2019年結束,互鏈脈搏統計了截至2019年12月底的區塊鏈專利申請情況,中國去年新增區塊鏈專利4488件,數量上.
1900/1/1 0:00:00作者:程瀟熠 來源:未來汽車日報 林霖在區塊鏈一行里工作了3年,但依然覺得,在現在的出行領域,“區塊鏈沒用”。這不是因為區塊鏈技術本身的不成熟,也不是因為車企對區塊鏈不感冒.
1900/1/1 0:00:00據Cointelegraph1月10日報道,畢馬威會計師事務所美國區塊鏈負責人ArunGhosh預測,到2020年,區塊鏈與物聯網將被用于應對氣候變化.
1900/1/1 0:00:00來源:中新網 工業和信息化部信息技術發展司副司長董大健9日表示,2019年我國區塊鏈領域標準建設取得重大進展,2020年將籌建好全國區塊鏈和分布式計算技術標準化委員會.
1900/1/1 0:00:00