【技術】萬字長文論述區塊鏈跨鏈技術與機制,跨鏈的四大模式、萬維鏈跨鏈的實現模式都在這裡了

區塊鏈資訊 linjm1227 2018-07-25

【技術】萬字長文論述區塊鏈跨鏈技術與機制,跨鏈的四大模式、萬維鏈跨鏈的實現模式都在這裡了

作者:呂旭軍 楊濤 張英 Demmon, Shi

區塊鏈技術發展至今,誕生了無數條不同的鏈,眾多鏈的信息隔離不可避免的形成了區塊鏈的價值孤島效應。跨鏈從字面上的理解就是把不同的區塊鏈連接起來,就像兩島之間建橋相連一樣。建橋的方案是一方面,但至少要搞清楚這座橋要通行的是什麼,行人、行車、行火車?眾多區塊鏈項目都提到了跨鏈,跨鏈的本質到底是什麼,跨鏈需要解決的是什麼問題卻鮮有探討。

作為一個嚴謹的跨鏈技術項目,我們準備通過本文闡述我們的觀點,並希望引起整個區塊鏈行業對這一問題的深入探討和思考。同時我們也將在本文中公佈Wanchain的跨鏈機制。


什麼在跨鏈

區塊鏈發展至今,創造了無數的token,不同的token本質上是一種記賬符號,某種價值的符號表現。這一符號可以是作為價值尺度的"貨幣"符號(如比特幣),或者是某種"內在價值"的虛擬化符號。暫且拋開貨幣型的token不談,基於區塊鏈token的"內在價值"類似於傳統金融意義上的資產"內在價值":現代金融的重要特徵是實際資產的價值化,實際資產被以貨幣為度量的金融虛擬資產(如股票、金融衍生品等)所表徵,社會實際資產的積累也表現為虛擬資產的積累。區塊鏈為某種"內在價值"提供了更加便捷、透明和公平的記賬方式,區塊鏈上的token可以讓更大範圍的"內在價值"被體現。

簡單來看跨鏈就是解決如何讓一條鏈上的token轉移到另一條鏈上,從技術層面來看token是一段數字信息,很多人會將token理解為信息的傳遞,如果token的傳遞只是簡單信息傳遞的過程,那在分佈式的系統中,中本聰也沒有必要設計精巧的POW機制來解決雙重支付問題。

正如上文中所述,token代表的是某種價值,價值就需要有精確的記賬作為保證,否則價值將煙消雲散。在傳統世界中,中心化的記賬體系下,無論是出於責任、義務還是商業利益,央行、商業銀行、支付機構、證券交易所、證券登記機構、房產登記機構在確保各類價值記賬的精確性。而在區塊鏈世界中,記賬的精確性就由一個個分佈式的區塊鏈賬本保障,所以說跨鏈的不只是信息流,更是信息流背後的需要被精確記賬的價值。


跨鏈不只是信息的傳輸


區塊鏈記錄的是價值,跨鏈的也是價值,如果從記賬的角度,單一區塊鏈解決的是分佈式情況下如何精確記賬的問題,跨鏈解決的是兩個分佈式賬本針對同一用戶或不同用戶控制的賬戶發生token轉移時,如何在兩個賬本中精確記賬的問題。

很多白皮書或者技術文章中把跨鏈稱為協議,但這個協議不完全等同於互聯網的TCP/IP那樣的信息傳輸協議。因為信息傳輸協議只需要確保接收方收到完整信息,發送方得到相應的反饋,在這個過程中如果出現傳輸障礙是可以多次反覆的發送,而不用考慮信息重複發送的問題。

但是在賬本之間同步數據,就需要確保兩個賬本的變動是一致的,否則就會出現雙重支付或者價值丟失的問題。在這過程中信息傳遞只是兩個賬本同步數據的過程,而不是最終的目的和結果。跨鏈本質是在價值守恆定律前提下,價值在不同區塊鏈之間流動的過程。


跨鏈的屬性


由於區塊鏈技術快速發展,每一條鏈的記賬機制、共識機制都有區別,建立通用的跨鏈協議就變的更加複雜。這完全不同於互聯網中所說的"協議"(protocol),而更像是"協定"(agreement)。

如果用現實世界舉例,"協議"(protocol)類似於傳真機和集裝箱,這類協議相對容易達成,而且一旦達成,將被更大範圍內使用,規模效應明顯。而跨鏈"協定"(agreement)更像是雙邊和多邊的貿易協定,在達成和實現過程中個性化更加明顯,大範圍的統一更加困難。如果把每一個區塊鏈生態看成一個經濟體,''協定''就更加貼切了。

現實世界中的"協定"(agreement)不只是一個技術問題,協定的達成是需要參與方協商一致的,但是在區塊鏈的世界中,"協定"(agreement)的對象不是一個主體,而是一個分佈式的網絡,希望通過傳統的主體談判模式達成"協定"基本不可能——因為沒有主體,比特幣生態內部調整內部協議(如擴容)都無法達成共識,與其他區塊鏈網絡達成跨鏈協定更加不可行。

區塊鏈世界的跨鏈"協定"(agreement)變成了一個技術問題,需要通過技術的方法實現兩個賬本的跨賬本精確記賬問題。

分析到此,跨鏈稱為協定(agreement)和協議(protocol)都是不準確的,而是一種機制(mechanism)。

跨鏈的意義


跨鏈本質上是一套鏈和鏈之間的清算機制,而清算的本質就是精確記賬。中本聰把比特幣描述為一套點對點的現金系統,實際上是一套點對點的賬本或者說是一套點對點的清算機制。如果全球只有一套比特幣賬本,中本聰的目標就實現了。而區塊鏈的發展趨勢看,無論是技術實現的角度還是商業應用的角度,一套賬本是不可能實現的。相反無數的區塊鏈出現,區塊鏈世界正在向哈耶克描述的自由市場方向發展。清算能力是任何價值交換市場存在的基礎,沒有便捷的清算,市場就會缺乏流動性,更繁榮的市場就無法出現。

數字貨幣發展至今,交易所功不可沒,交易所除了提供價格發現的能力外,更重要的能力在於增強流動性。但成也蕭何敗也蕭何,交易所中心化的弊端一直伴隨著數字貨幣的發展,黑客攻擊、交易所跑路、後臺不透明等問題成為數字經濟的阿克琉斯之踵。跨鏈的意義之一就在於通過分佈式的方式提供鏈和鏈之間轉賬的清算機制。

很多時候,大家會把交易所的能力與跨鏈提供的能力混為一談。實際上是有區別的,首先交易所本身為token提供價格撮合機制,其次交易所是一個集合了各種token賬本的清算中心,只不過這個清算中心是中心化的。應該說後者是前者的基礎,沒有後者撮合交易是不可行的。而跨鏈機制是通過分佈式的方式提供更基礎的清算能力。分佈式跨鏈清算能力的建立也是分佈式交易所產生的前提。

記賬和清算是一切金融活動的基礎,現代金融業的所有金融活動都是基於銀行系統提供的基礎清算能力而展開的。無論是簡單的轉賬業務、存貸,還是跨國支付,第三方支付,基金,保險、金融衍生品都是基於銀行系統提供的基礎清算能力。類比到區塊鏈世界是同樣的道理,數字世界的泛金融應用創新與跨鏈清算能力密切相關。


跨鏈的應用場景


分佈式交易
當前的區塊鏈世界的清算體系是由一個個分佈式的區塊鏈網絡與一個個中心化的交易所共同構成的。在很多時候,中心化交易所的作用甚至超過了區塊鏈網絡本身,例如很多擁有Token的用戶從始至終都沒有使用過區塊鏈錢包,而是把交易所的機制當成了區塊鏈的全部,甚至根本不關心區塊鏈的意義所在。中心化交易所在放大區塊鏈意義的同時也在扭曲它。

讓我們回顧區塊鏈經濟簡短的交易發展史,在最初只有比特幣的時代,法幣與比特幣的交易機制讓比特幣這個極客圈子的"玩具"有機會與現實世界接軌,讓更多人有機會持有比特幣。隨著更多Token的誕生,法幣交易通道的減少,幣幣交易讓區塊鏈世界快速發展成為了一個相對獨立的經濟體系,比特幣成為了區塊鏈世界中的硬通貨和價值度量尺度。

在整個過程中,中心化交易所居功至偉,他們不但是現實世界與區塊鏈世界的出入口,還是不同區塊鏈網絡的連接器。但是問題也隨之而來,交易所成為了流量的入口,掌握了區塊鏈世界最大的話語權,任何一個獨立的區塊鏈網絡無論大小,都要看交易所的眼色行事,否則無法獲得進入區塊鏈世界的入口,更不可能與傳統世界連接。簡單來說,交易所決定了一個新的token是否有資格接入其他token以及法幣共同構成的清算網絡。很多區塊鏈項目的發展在被扭曲為滿足交易所需求的方向上越走越遠。

區塊鏈經濟網絡急需分佈式的清算機制加入,他的意義不在於要迅速替代中心化的交易所,而是帶來一種新的選擇與制衡,讓被扭曲的部分有被矯正的可能,讓區塊鏈的真正價值被再次發掘,讓用分佈式的方式解決分佈式的問題成為可能。

所以我們認為跨鏈能力實現後的最重要的應用場景是分佈式交易,這裡包括分佈式交易所、分佈式場外交易、中心化競價撮合與分佈式清結算混合模式的交易所等多種實現模式。

數字金融創新


以太坊的白皮書中,Vitalik提到的最重要的應用場景之一就是金融衍生品或者類金融合約應用,這也是智能合約似乎可以發揮最大價值的應用場景之一。我們依然相信Vitalik的判斷和理想,只是現實發展情況出現了一些變化。

大量的競爭鏈(無論是公鏈還是聯盟鏈)的出現,讓無論是數字資產,傳統上鍊金融資產存在於很多條不同的鏈上,也就是記賬的基礎賬本不同。在此情況下,要實現數字金融創新的前提條件除了智能合約之外,還需加上分佈式的清算能力(跨鏈能力)。否則基於智能合約的應用場景將十分有限。

舉個例子,如果一個傳統的金融資產在某個銀行聯盟鏈中,一個數字資產在以太坊網絡,一個穩定貨幣在Wanchain網絡,要基於這兩個基礎資產創設一個以穩定貨幣作為對價的金融合約(以智能合約的方式而非中心化的方式),在沒有跨鏈能力的時候是完全不可行的。因為要創建這樣一個智能合約,需要首先將上述三個資產轉移到一個區塊鏈網絡中,然後在該網絡中部署智能合約,才能實現通過合約控制三個資產的相互關係。簡單解釋就是先把三個資產放到一個賬本中,再通過智能合約統一控制這個賬本。

具體的應用場景會十分豐富,單純從技術上來看傳統金融可以實現的,數字金融可以實現的更多。描述類似場景的文章很多,在此不再一一展開。

打通兩個平行世界


Wanchain在白皮書中就提到過,區塊鏈技術在傳統資產上鍊和數字資產兩個領域的發展如同兩個平行的世界。從長遠來看,區塊鏈帶來的社會經濟變革總會讓這兩條平行線交匯在一起。

從技術上來看,無論是已經出現的以傳統資產上鍊為代表的商業聯盟鏈,還是以穩定幣、虛擬資產上鍊為代表的公鏈項目,甚至是國家數字貨幣為代表的主權公鏈,最終要發揮更大的商業價值和產生更多的創新應用,都需要跨鏈能力作為支撐。

跨鏈能力是推動基於區塊鏈的數字經濟全面發展和融合的技術驅動力。我們無法預知未來基於區塊鏈的金融是怎樣的一番景象,但是回看歷史,互聯網技術催生的第三方支付、科技金融創新正在以巨大的力量重新雕刻著傳統金融的輪廓,深刻的影響著人類金融的進程。


跨鏈的難點


跨鏈從Blockstream提出側鏈概念以來,一直是區塊鏈技術的重點攻關方向。目前並沒有被普遍認可的跨鏈機制,原因除了在此之前需求的強烈程度沒有那麼高之外,技術上的難點也是一大障礙。

跨鏈需要解決的兩個難點問題。一個是如何通過分佈式的方式驗證原鏈上的交易狀態。原鏈上的交易信息對於另一條鏈來說是一個外部信息(Oracle),如何保證這個外部信息進入另一條鏈時是正確的就是整個跨鏈機制的重要環節。如果要考慮到使用POW機制的區塊鏈上沒有終局狀態(始終存在分叉的情況,只是隨著確認塊的增加,概率逐漸變小),這個問題的複雜度會更高。為了後文描述的便利性,本文把這個難點定義為難點Alpha。

可能對區塊鏈分佈式機制不熟悉的讀者會難以理解這個難點,因為在中心化機制下,這個難題簡單很多。舉個例子,如果Alice用A銀行的信用卡在B銀行的POS機上進行消費,POS機上的指令會通過Visa這樣的組織將刷卡信息傳遞到A銀行確認,當Visa收到A銀行確認信息後,跨行支付就完成了。A銀行確認的就是Alice的交易合法,這時候B銀行或者Visa不用考慮這筆交易是否真的合法,因為這時候A銀行已經承擔了付款的責任,無論Alice是否真有足夠的餘額還是A銀行的系統錯誤,都是A銀行與Alice的事情了。而在區塊鏈分佈式記賬的情況下,沒有一箇中心化A銀行來確認並承諾付款。如果將A、B銀行替換為A、B鏈,確認A鏈上Alice的與跨鏈有關的付款交易是否完成就變成了一個難題。

如果驗證跨鏈交易的是分佈式的節點,這個難題會衍生為如何確保處理跨鏈的節點不作惡。節點作惡就會導致鏈之間信息驗證的錯誤,進而產生雙重支付而給跨鏈用戶造成損失,這與在單一賬本中記賬的節點作惡面臨的情況類似,但是當這個問題放在兩條互不識別的鏈上時,問題的複雜性就變高了。

另一個難點是跨鏈交易要確保原鏈上的token總量不會因為跨鏈而減少或增多(即價值守恆定律定義為難點Beta)。原鏈上Token總量減少的後果是當token需要跨回原鏈時,原鏈無法產生新的token,也就是隻能單向跨鏈。原鏈token增多是名義上的增多,實際上是本來已經跨到另一個賬本的token在原鏈上被雙重支付了,這種情況違背了精確記賬的原則,是在任何時候都無法接受的。因此當token跨出原鏈時,原鏈上的token必然需要進入"鎖定"的狀態,當token跨回原鏈時,這些token需要被解鎖。如何通過去信任的管理機制完成"鎖定""解鎖"的過程就成為了跨鏈的關鍵。

確保難點Beta實現的的另一個關鍵是保證交易的原子性。交易的原子性,簡單來說是指交易處理的某個環節停止,整個交易能夠撤銷,而不會存在部分成功,部分失敗的情況。無法保證原子性會造成雙重支付。

以上問題將在後文描述Wanchain跨鏈的實現模式時進一步論述。

跨鏈的不同模式


繁雜的跨鏈技術分析文章都試圖對跨鏈技術進行分類,經常被提到的如中繼模式(Relay),側鏈模式(Sidechain)等,這些分類文章往往沒有弄清楚不同模式解決的是跨鏈中的什麼難題,不同的模式往往只是解決了跨鏈中的某一難題而存在的,放在一起分類不夠嚴謹和科學。下文中我們將詳細介紹和分析目前跨鏈中常用的模式,而不是簡單、粗暴的去做分類。


Relay中繼


BTC-Relay是一個在以太坊上部署的Relay合約,其目標是通過第三方提交BTC的區塊頭,為以太坊上的跨鏈等其他應用提供一個可信的BTC數據源。在Relay合約會校驗區塊頭的合法性,由於BTC強大的算力保證,第三方偽造合法區塊頭幾乎不可能,因此理論上BTC-Relay能夠提供一個客觀的比特幣鏈上的數據。但是BTC-Relay的問題在於,由於存儲區塊頭和驗證合法性需要大量的Gas,第三方提交區塊頭將花費大量的手續費,而調用Relay的交易較少無法覆蓋提交區塊頭花費的手續費,如果提交方將調用手續費提高,則調用Relay的交易會變少,最終仍然無法覆蓋手續費,對於數據的提交者是不經濟的。

BTC-Relay是平均10分鐘提交一次(比特幣出塊速度),如果是提交出塊速度很快的鏈的區塊頭,提交所有區塊頭本身將是一筆巨大的開銷。

Relay本身並不是一個完整的跨鏈方案,而是為解決跨鏈中的原鏈數據的客觀性問題(難點Alpha),該機制不涉及交易的處理。


側鏈


跨鏈概念的鼻祖毫無疑問是Sidechain的提出者,Blockstream團隊。其論文中對於跨鏈涉及到的難題,提出使用雙向錨定(two-way peg)的方法:為了將父鏈幣轉移為側鏈幣,父鏈幣被髮送到父鏈上的一個特殊輸出中,該輸出只能由側鏈上擁有的一個SPV證明來解鎖。SPV是一個包含了交易所在的區塊頭和交易本身的密碼信息。

這種方法存在兩個問題,一個是SPV證明的大小和驗證過程的複雜性都要遠大於普通交易的驗證。另一個是,現有區塊鏈的協議中是不包含SPV驗證的,兩條鏈都需要更改協議才能實現跨鏈,也就是說需要通過協議的更改讓一條鏈能夠讀懂另一條鏈,甚至進行聯合挖礦。對於後者,前文中我們已經論述過,這幾乎是不可能完成的任務。

無論如何Sidechain是第一個將跨鏈的定義清晰描述的,其提出的方案中包含了如何保證交易的原子性(難點Beta),以及如何通過SPV去驗證另一條鏈上的交易狀態(難點Alpha),整個方案是完整的而且在理論上也十分合理。

Sidechain還提到了另一種更為簡易的方案:原子交換(Atomic Swap),利用時間鎖及一個密數,直接在需要跨鏈的兩人之間完成交易。這種模式在閃電網絡和ripple的機制中也被應用到,原子交換是一種非常巧妙的跨鏈設計。當然可以說閃電網絡和ripple本身也是一種跨鏈的機制。Wanchain在2.0版本實現跨鏈的過程中也應用了該機制,後文中我們將詳細描述。


Polkadot


Polkadot擁有一個比任何跨鏈方案更加宏偉的設想,他提出的機制不只是要解決跨鏈的問題,還是要創造一種異構的,具有可擴展性(Scalability)的架構。相比於Sidechain方案只是解決了比特幣與其側鏈的跨鏈問題,Polkadot的提出者Gavin Wood希望用一條中繼鏈(Relay-chain)來實現其他所有鏈的交易的驗證工作(難點Alpha),在通過平行鏈的創建實現與原鏈的交易與通信(難點Beta)。

對於中繼鏈,通過多種角色的劃分與分組來實現去信任的驗證機制。而其驗證過程本身並沒有超出Sidechain提出的基本的驗證理論。Polkadot白皮書展示了一個宏偉的框架,但其也承認只是一個框架性的描述,對於細節性的實現邏輯還未展開和進行可行性的驗證。


Cosmos


Cosmos在某些理念上與Polkadot相似,也是希望創造一個異構的系統解決跨鏈問題。其引入了Hub與Zone的概念,但同樣的問題是跨鏈要面臨的兩個難題並不會因為是一個異構設計而變得容易解決。根據Cosmos目前最新的進展,我們並未看到解決如上問題的細節方案。

由於篇幅原因,更多的跨鏈項目在此不詳細展開。無論是架構上的新思路還是引入很多新的概念,跨鏈都無法繞開我們提到的兩個難點。讀者在剖析跨鏈時,可以更好的從如上兩個點去分析,更容易理解到本質並且不被一些新的名詞或概念所迷惑。

【技術】萬字長文論述區塊鏈跨鏈技術與機制,跨鏈的四大模式、萬維鏈跨鏈的實現模式都在這裡了

Wanchain跨鏈的實現模式
設計理念
Wanchain在進行跨鏈設計及實現的過程中,無疑借鑑和參考了眾多前人的經驗並在此基礎上以可用性為目標,進行了理論和工程上的創新。如果說每一篇關於跨鏈的論文都在為跨鏈理論做出貢獻,Wanchain希望基於理論創新在工程上為區塊鏈的跨鏈做出貢獻,並推動跨鏈技術的落地。


Wanchain的跨鏈機制遵循如下設計原則:


基於密碼學原理的安全保障
前文提到跨鏈的本質是價值的轉移,因此安全性是考慮的重中之重。Wanchain的跨鏈機制通過巧妙設計和使用密碼學機制解決難點Alpha和Beta,整個跨鏈流程的安全性基於密碼學原理,這樣從根本上給予了萬維鏈跨鏈機制安全支撐。

異構性與延展性:
從架構上來看,Wanchain是一個異構跨鏈框架,也就是說Wanchain跨鏈的機制不只針對某一條具體的鏈,而是希望搭建一個可以不斷延伸拓展的通用機制。這個通用機制確保未來通過社區的開發力量,可以不斷與更多的鏈和鏈上的多種Token實現跨鏈交易。

可用性:
Wanchain的跨鏈機制不單純的追求純粹的理論創新和概念設計,而是讓理論設計能夠與工程實現有機結合,在開發過程的每個階段體現出工程上的開發成果以及對於最終用戶或者開發人員的可用性。

迭代開發:
考慮到跨鏈機制的複雜性,在跨鏈實現上Wanchain進行迭代開發,一方面在確保最小可用功能的情況下完成每一個版本的升級直到最終實現較為完美的解決方案,另一方面確保代碼的可拓展性,保證每一次迭代的平滑進行。

下文中我們將通過描述Wanchain是如何解決跨鏈的兩個難點來說明我們的跨鏈實現方案。

解決兩個難點的方案:


難點Alpha


如何去信任的驗證另一條鏈上的交易,Wanchain在白皮書中提出了一個角色Voucher,Voucher不是單一的個體,而是一個共識組,通過共識去驗證另一條鏈的交易合法性和終局性。

Voucher共識的模式目前正在理論驗證和工程驗證的階段,Voucher面臨的主要障礙在於工程上和經濟上。工程上Voucher信息的提交和驗證如果上鍊,需要耗費較高的鏈上資源,會嚴重限制交易的吞吐量;經濟上,如何通過更合理的激勵機制讓Voucher成員積極參與並消極作惡。

在Voucher機制沒有完美實現之前,基於可用性與迭代開發原則,我們在即將上線的2.0方案中引入了原子互換完成跨鏈的過程。

原子互換的基本原則是不需要第三方公證人,而是讓交易的參與雙方自行判定對方的交易是否完成,通過哈希時間鎖(hash time lock)和密數(Secret)控制,實現交易雙方"一手交錢一手交貨",也就是兩種不同token的互換。這種方式能夠有效的規避第三方公證人不完美的問題。

在Wanchain的跨鏈過程中,兩種互換的token分別是指原鏈token與Wanchain上的映射token. 當原鏈上的某個用戶需要發送一筆跨鏈交易使原鏈token能夠轉移到Wanchain上時,用戶的錢包會構造一筆原鏈交易,這筆原鏈交易被哈希時間鎖鎖定,Wanchain上負責處理跨鏈交易的Storeman在檢測到這筆跨鏈交易後,會在Wanchain上發起一筆跨鏈的合約交易,該筆交易負責產生映射token並轉移到用戶指定的跨鏈接收賬戶,此時該筆交易被跨鏈合約鎖定。

當用戶的錢包檢測到被跨鏈合約鎖定的交易後,主動釋放密數到跨鏈合約中,Storeman通過該密數獲得鎖定賬戶中對應的原鏈token的控制權,用戶獲得Wanchain上映射token的控制權。如果這個過程中,用戶在哈希時間鎖的時間範圍內沒有釋放密數,則哈希時間鎖到期後,用戶重新獲得原鏈token的控制權,跨鏈合約中的交易自動失效。

以上跨鏈過程看似複雜,但多數功能都由錢包和合約完成,用戶只需要在發起交易、釋放密數、撤銷交易的環節進行操作。對於參與跨鏈的Storeman,Wanchain會提供專門的客戶端,客戶端根據協議進行無需值守的自動化運行。

難點Beta


對於原鏈鎖定賬號的去信任管理機制,Wanchain採用了首創的安全多方計算+門限祕鑰的方式,鎖定賬號的管理者命名為Storeman。相關內容詳見Wanchain白皮書及黃皮書。簡單描述,對於鎖定賬號的生成到轉賬操作,我們通過密碼學安全多方計算和門限的方法實現了一種小型的共識,參與方必須共同參與計算才能生成鎖定賬號的公私鑰,而鎖定賬戶的私鑰嚴格來說只是理論存在,從沒有實際出現在網絡中,而是以碎片的方式分散在各Storeman手中,通過多方計算的方式參與賬戶控制,當需要進行交易時,參與方要再次合力才能共同構造簽名,為了保證可用性,構造簽名的參與方並不需要完全參與,而只需要達到一個門限值即可(N個參與者中的M個,M<=N)。

理論上N與M的數量越大,安全性越高,計算代價越大。經過我們理論和工程上的驗證,我們在2.0版本中暫時選取N=21,M=16的參數運行(與EOS的21個超級節點數量相同完全是巧合)。經過測試,以如上參數進行交易簽名的吞吐量遠遠大於所需要連接的主流的區塊鏈,也就是說安全多方計算和門限祕鑰方法不會是跨鏈的吞吐量瓶頸。


根據如上機制,16個以上的Storeman成員合謀會造成原鏈Token丟失。為了避免這一問題,類似POW或者POS的設計,任何參與者都需要付出參與的代價並獲得參與的回報,如果發生合謀行為,不但整個網絡受害,其自身的投資和未來的收益都將損失。在POW中這個代價是購買礦機,在POS中這個代價是鎖定一定數量的Token。我們在Storeman機制中引入了類似機制,任何Storeman的參與者(Storeman menbers)都必須繳納一定數量的WAN到管理Storeman的智能合約中鎖定,Storeman能夠處理的跨鏈token數量與繳納的鎖定金相關。同時Storeman作為保證跨鏈機制運行的參與者,會同時獲得系統獎勵和跨鏈手續費。

必須指出的是,當Storeman繳納的鎖定金WAN相對原鏈token的市場價值出現長期的巨大的貶值時,Storeman依然有合謀的動機。最大限度的避免這一情況,我們引入了兩個機制,一個機制是Storeman從申請退出到完全退出,有一個較長的時間週期。在這個週期內,Storeman無法準確預測市場的波動,也就無法準確判斷是作惡還是按規則遊戲獲得的收益(或者遭受的損失)更大,短時的市場波動就不會造成影響。另一個機制是,通過Oracle輸入調整鎖定金的比例。這個Oracle輸入在2.0版本中會通過基金會完成,之後的版本會通過節點投票的形式完成。

對於保證交易的原子性,我們通過智能合約控制Storeman的交易行為,Storeman在Wanchain上有一個跨鏈的額度(Credit),當從原鏈跨出時,相應額度被凍結,交易完成時,額度轉換為等量的Wanchain上的映射token(以太坊的映射token用WETH表示),如果交易撤銷,額度解鎖。當映射token返回原鏈時,映射token銷燬後解鎖Storeman額度。在這個過程中,嚴格遵循原鏈token與Storeman額度保持同方向記賬,Storeman額度與映射token保持反方向記賬的邏輯,以確保整個交易過程中任何一個環節的原子性。

在2.0中我們會實現的功能及應用場景


2.0是Wanchain跨鏈功能的第一個版本,這個版本的意義在於從工程上驗證我們理論設計的可行性以及瓶頸障礙,便於後期的迭代。2.0跨鏈功能並非一個相對完美的跨鏈版本,但肯定是一個可用的跨鏈版本。為了保證安全性,我們會謹慎的推進,包括在初期限制Storeman的數量,限制跨鏈的金額等。

2.0實現與Ethereum的跨鏈,基於此我們會推出:
1、Storeman客戶端(Command Line模式)
2、同時支持Ethereum和Wanchain的雙幣種錢包,能夠進行兩條鏈的鏈內轉賬和跨鏈轉賬
Storeman調用的RPC接口
3、與Ethereum網絡和Wanchain網絡交互的節點API接口(供輕錢包等發送和查詢交易)
4、能夠查詢Ethereum與Wanchain跨鏈交易的官方瀏覽器
5、針對開發者的開發文檔及針對普通用戶的操作文檔

2.0實現後可以使用的應用場景:
部署WAN,ETH與Wanchain上其他token的分佈式交易合約
部署能夠同時支持WAN與ETH 的投資
部署WAN,ETH與Wanchain上其他token的借貸合約

Wanchain跨鏈的發展路徑
2018年
Wanchain將在即將發佈的2.0版本中支持Ethereum到Wanchain的跨鏈。在之後的2.x版本中,隨著跨鏈功能的穩定,我們將逐步開放Storeman的註冊機制。最終形成分佈式的、大規模的Storeman參與跨鏈生態。

在Storeman註冊機制開放之後,我們將預留給節點獎勵的WAN中預置10%作為Storeman的系統獎勵。獎勵每10,000個區塊結算一次。經過更嚴格的測算和測試後,我們將公佈獎勵的具體規則。

Wanchain將在今年年底前支持BTC的跨鏈,並爭取完成一到兩種以太坊ERC20token的跨鏈。

Wanchain將在今年繼續完善Storeman的共識機制,包括完善對於Storeman的作惡,不作為等惡意行為的懲罰機制。

2019年
在2.0版本穩定之後,我們將鼓勵更多的開發者,利用Wanchain的跨鏈機制,開發更多的其他鏈上的Token的跨鏈,並對於開發者給予獎勵,以加快Wanchain與更多的公鏈實現跨鏈的進展。

明年的重點研發方向將在Wanchain的POS機制及普通交易性能及跨鏈交易性能的提升上。

相關推薦

推薦中...