“波卡知識圖譜”是我們針對波卡從零到一的入門級文章,我們嘗試從波卡最基礎的部分講起,為大家提供全方位了解波卡的內容,當然這是一項巨大的工程,也充滿了挑戰,然而我們希望通過這樣的努力讓大家能夠正確認知波卡,也讓不了解波卡的人方便快速掌握波卡相關知識,今天是該欄目的第8期,了解一下波卡跨鏈的原理究竟是怎樣的,
我們之前提到,由于Substrate框架的誕生,開發者可以高效、安全地完成一條鏈從無到有的過程,這為區塊鏈的生態帶來了一次革新的同時,也為區塊鏈帶來了更多的可能。
近幾年新興公鏈層出不窮,各自發展出特有的生態,另一方面,基于Substrate的技術,各種各樣的波卡平行鏈項目也開始蓬勃發展,各家公鏈各顯神通,生態欣欣向榮好不熱鬧。然而這份熱鬧之下,隨之而來的就是鏈與鏈之間的資訊孤島問題了。而跨鏈作為波卡最擅長的解決方案,正逐漸成為當下的熱門話題,那么跨鏈背后的原理究竟是什么呢?
波卡中的三大角色
首先我們需要搞清楚在波卡的架構中的三個非常重要的角色,分別是驗證者,提名者,整理者。
1、驗證者(Validator)
驗證者是要維護波卡網路的安全共識和穩定的一類人,需要運行波卡的全節點,質押DOT,負責打包波卡網路中的新區塊,為網路提供服務之后,會獲得一些獎勵。這些驗證者是被那些持有DOT的提名者投票選舉出來的,獲得投票票數最多的節點就可以充當驗證者,
2、提名者(Nominator)
DOT的持有者可以選擇成為提名者,他們會質押自己的DOT來為節點投票,可以通過提名一個或多個驗證者來獲得DOT的獎勵。不過提名者需要仔細挑選驗證者——如果驗證者行為不當,他們將被懲罰,提名者也會失去DOT。
提名者在投票后會獲得投票獎勵,而獎勵的多少取決于驗證者所獲得的節點獎勵,以及驗證人所收取的傭金,傭金是驗證者在獎勵分配給提名者之前獲得的驗證者獎勵的百分比,作為提名者,可能認為最低的傭金是最好的。然而,這并不總是正確的,
因為驗證者必須能夠在盈虧平衡點運行,以便可持續地繼續運行。依靠傭金來支付服務器成本的獨立驗證器有助于保持網路去中心化。反之,提名者也不必擔心驗證者設定的傭金比例過高,因為這樣會導致提名者將會投票給其他的驗證者。
3、整理者(Collator)
整理者通過從用戶那里收集平行鏈交易,并為中繼鏈驗證者生成狀態轉換證明來維護平行鏈。換句話說,整理者通過將平行鏈上的交易整合為平行鏈的一個候選區塊,并基于這些區塊為驗證者生成狀態轉換證明來維護平行鏈,在他們向中繼鏈驗證者提出的候選區塊得到驗證之前,整理者不能繼續在平行鏈上構建區塊,
整理者既為中繼鏈維護一個全節點,也為其特定的平行鏈維護一個全節點,這意味著他們保留了所有必要的資訊,以便能夠像礦工在當前的PoW區塊鏈上所做的那樣(收集交易并創建到區塊中),創作新的區塊并執行交易,在正常情況下,他們會整理和執行交易以創建一個未密封的區塊,并將其與狀態轉換證明一起提供給一個或多個負責提出平行鏈區塊的驗證者。
另外,整理者也將負責審查,防止驗證者作惡,如果被抓到現行,作惡的驗證者將會失去他們所質押的DOT以示懲罰,
請注意,最初設計中有四個角色驗證者,提名者,收集者和釣魚者,之后收集者和釣魚者的功能被整合到一起,現在被統一稱為整理者,其實之前的收集者的英文也是Collator,但是由于其作用還有整理交易的部分,所以筆者覺得以整理者來命名會更合適一些,
波卡中的XCMP是怎么運轉的
跨鏈其實并不是把A公鏈上的資產轉到B公鏈上的資產。而是說A公鏈的某些資訊可以傳遞到B公鏈上,并在B公鏈上執行某個行為,反之B公鏈也可以傳遞資訊到A公鏈上,并使得A公鏈上發生某些行為,而這就是互操性,也就是跨鏈,所以,跨鏈的關鍵點在于安全、且去中心化的在不同的鏈之間傳遞消息,而這就是波卡的跨鏈消息傳遞XCMP的重要作用了,
XCMP作為波卡跨鏈系統重要的組成部分,解決了不同鏈之間的數據通信的難題,保證了資訊處理的一致性,簡單來說,跨鏈資訊傳遞XCMP是兩條不同鏈之間的橋,保證資訊可以被有序、及時、公平的傳遞和處理,在資訊被另一方接收到并執行了相關操作之后,由中繼鏈幫助驗證執行的結果,同時對驗證結果提供共識的安全保障,
打個比方,假如張三在平行鏈A上有10個AToken,李四在平行鏈B上有30個BToken,那么,李四需要在平行鏈A上創建一個地址,而張三則需要在平行鏈B上創建一個地址,之后,張三會將10個AToken轉到李四在平行鏈A上的地址上,并且生成一個狀態轉換證明,在這個證明上是要求李四在平行鏈B上把30個BToken轉移給張三在平行鏈B上的地址,
平行鏈A上的整理者準備將這個資訊聯通目的地與時間戳一并傳到平行鏈B上,不過這些資訊會先放置在平行鏈A的輸出隊列中,傳遞之前需要經過平行鏈A的驗證者確認這筆交易后,就會經過中繼鏈將該資訊從平行鏈A的輸出隊列放置到平行鏈B的輸入隊列中。
當平行鏈B的驗證者收到該資訊后,通過平行鏈B的整理者會執行資訊中的要求,也就是通過執行智能合約并按預期完成資產轉移,將李四在平行鏈B上把30個BToken轉移給張三在平行鏈B上的地址。
整理者隨后會將此區塊交給驗證者,驗證者將驗證此消息是否已處理,如果消息已經被處理了,并且區塊的所有其他方面都是有效的,則驗證者會將平行鏈B的這個區塊包含到中繼鏈中,由此完成了整個過程。
有人會說這種交換資產通過交易所不就可以做到不同鏈之間的資產互換了嗎?其實這里面有明顯的區別,交易所則是中心化的,而波卡跨鏈的整個過程是全部由區塊鏈和智能合約執行,是以去中心化的方式做到鏈間通訊,
請注意,XCMP目前正在開發中,細節可能會發生變化,具體情況以最終實際推出的版本為準。
后記
隨著區塊鏈行業的發展,未來一定會出現多種區塊鏈并存,并且不同的區塊鏈有不同的功能和特點以滿足不同的需求,而一條滿足所有需求的區塊鏈,達到“一勞永逸”的想法是不切實際的。因此鏈與鏈之間的互操性變得尤為重要,這樣的未來正在臨近,波卡作為不同于一般只做單向跨鏈的項目,其目標是成為能鏈接所有區塊鏈的區塊鏈網路,將會是區塊鏈未來發展中舉足輕重的角色,
*Polkadot生態研究院所提供的資訊不代表任何投資暗示,所發布文章僅代表個人觀點,僅供參考學習,鑒于大陸尚未出臺數字資產相關政策及法規,請大陸用戶謹慎關注Crypto的發展,
鑒于波卡生態項目層出不窮,但其中劣質項目,騙局項目充斥其中,值得警惕,而另一方面只在波卡項目方的群又很難了解到波卡整個生態發展的全貌,錯失許多機會。所以,我們決定建立一個波卡生態群,可以開放式地討論所有波卡生態項目,大家可以客觀的分享對各個項目的觀點,了解波卡各個項目的發展情況,又可以互通資訊共同把握機會,
關注公眾號”Polkadot生態研究院“,回復“ 進群”,可與眾多愛好者暢談波卡。