區塊鏈跨鏈機制詳述 — Wanchain的跨鏈機制

買賣虛擬貨幣
當傳統區域網被打通後,人類迎來了網際網路浪潮的大爆發。而當不同區塊鏈連線在一起時,人類必將徹底改變價值傳遞方式。Wanchain正構建分散式金融基礎設施,讓價值交換完全去中心化,讓傳統資產和數字資產這兩個平行世界能夠交織在一起。 ——呂旭軍,Wanchain創始人去年今日,Wanchain跨鏈團隊發表了一篇區塊鏈跨鏈機制詳述的文章,不僅詳細介紹了Wanchain的跨鏈機制,也介紹了當時的跨鏈背景和現狀。光陰荏苒,一年的光景在變幻莫測的區塊鏈行業是漫長的,很多紅極一時的概念如今早已無人問津,但跨鏈,註定會成為區塊鏈行業永恆的話題,除非未來某一天,我們真正迎來了那個萬鏈互連的大千世界。——編者按下面,讓我們一起重溫這篇由Wanchain跨鏈團隊出品的經典文章吧!區塊鏈技術發展至今,誕生了無數條不同的鏈,眾多鏈的資訊隔離不可避免的形成了區塊鏈的價值孤島效應。跨鏈從字面上的理解就是把不同的區塊鏈連線起來,就像兩島之間建橋相連一樣。建橋的方案是一方面,但至少要搞清楚這座橋要通行的是什麼,行人、行車、行火車?眾多區塊鏈專案都提到了跨鏈,跨鏈的本質到底是什麼,跨鏈需要解決的是什麼問題卻鮮有探討。作為一個嚴謹的跨鏈技術專案,我們準備透過本文闡述我們的觀點,並希望引起整個區塊鏈行業對這一問題的深入探討和思考。同時我們也將在本文中公佈Wanchain的跨鏈機制。1. 什麼在跨鏈
區塊鏈發展至今,創造了無數的token,不同的token本質上是一種記賬符號,某種價值的符號表現。這一符號可以是作為價值尺度的“貨幣”符號(如比特幣),或者是某種“內在價值”的虛擬化符號。暫且拋開貨幣型的token不談,基於區塊鏈token的“內在價值”類似於傳統金融意義上的資產“內在價值”:現代金融的重要特徵是實際資產的價值化,實際資產被以貨幣為度量的金融虛擬資產(如股票、金融衍生品等)所表徵,社會實際資產的積累也表現為虛擬資產的積累。區塊鏈為某種“內在價值”提供了更加便捷、透明和公平的記賬方式,區塊鏈上的token可以讓更大範圍的“內在價值”被體現。簡單來看跨鏈就是解決如何讓一條鏈上的token轉移到另一條鏈上,從技術層面來看token是一段數字資訊,很多人會將token理解為資訊的傳遞,如果token的傳遞只是簡單資訊傳遞的過程,那在分散式的系統中,中本聰也沒有必要設計精巧的POW機制來解決雙重支付問題。正如上文中所述,token代表的是某種價值,價值就需要有精確的記賬作為保證,否則價值將煙消雲散。在傳統世界中,中心化的記賬體系下,無論是出於責任、義務還是商業利益,央行、商業銀行、支付機構、證券交易所、證券登記機構、房產登記機構在確保各類價值記賬的精確性。而在區塊鏈世界中,記賬的精確性就由一個個分散式的區塊鏈賬本保障,所以說跨鏈的不只是資訊流,更是資訊流背後的需要被精確記賬的價值。2. 跨鏈不只是資訊的傳輸區塊鏈記錄的是價值,跨鏈的也是價值,如果從記賬的角度,單一區塊鏈解決的是分散式情況下如何精確記賬的問題,跨鏈解決的是兩個分散式賬本針對同一使用者或不同使用者控制的賬戶發生token轉移時,如何在兩個賬本中精確記賬的問題。很多白皮書或者技術文章中把跨鏈稱為協議,但這個協議不完全等同於網際網路的TCP/IP那樣的資訊傳輸協議,因為資訊傳輸協議只需要確保接收方收到完整資訊,傳送方得到相應的反饋,在這個過程中如果出現傳輸障礙是可以多次反覆的傳送,而不用考慮資訊重複傳送的問題。但是在賬本之間同步資料,就需要確保兩個賬本的變動是一致的,否則就會出現雙重支付或者價值丟失的問題。在這過程中資訊傳遞只是兩個賬本同步資料的過程,而不是最終的目的和結果。跨鏈本質是在價值守恆定律前提下,價值在不同區塊鏈之間流動的過程。3. 跨鏈的屬性
由於區塊鏈技術快速發展,每一條鏈的記賬機制、共識機制都有區別,建立通用的跨鏈協議就變的更加複雜。這完全不同於網際網路中所說的“協議”(protocol),而更像是“協定”(agreement)。如果用現實世界舉例,“協議”(protocol)類似於傳真機和集裝箱,這類協議相對容易達成,而且一旦達成,將被更大範圍內使用,規模效應明顯。而跨鏈“協定”(agreement)更像是雙邊和多邊的貿易協定,在達成和實現過程中個性化更加明顯,大範圍的統一更加困難。如果把每一個區塊鏈生態看成一個經濟體,‘’協定‘’就更加貼切了。現實世界中的“協定”(agreement)不只是一個技術問題,協定的達成是需要參與方協商一致的,但是在區塊鏈的世界中,“協定”(agreement)的物件不是一個主體,而是一個分散式的網路,希望透過傳統的主體談判模式達成“協定”基本不可能——因為沒有主體,比特幣生態內部調整內部協議(如擴容)都無法達成共識,與其他區塊鏈網路達成跨鏈協定更加不可行。區塊鏈世界的跨鏈“協定”(agreement)變成了一個技術問題,需要透過技術的方法實現兩個賬本的跨賬本精確記賬問題。分析到此,跨鏈稱為協定(agreement)和協議(protocol)都是不準確的,而是一種機制(mechanism)。4. 跨鏈的意義跨鏈本質上是一套鏈和鏈之間的清算機制,而清算的本質就是精確記賬。中本聰把比特幣描述為一套點對點的現金系統,實際上是一套點對點的賬本或者說是一套點對點的清算機制。如果全球只有一套比特幣賬本,中本聰的目標就實現了。而區塊鏈的發展趨勢看,無論是技術實現的角度還是商業應用的角度,一套賬本是不可能實現的。相反無數的區塊鏈出現,區塊鏈世界正在向哈耶克描述的自由市場方向發展。清算能力是任何價值交換市場存在的基礎,沒有便捷的清算,市場就會缺乏流動性,更繁榮的市場就無法出現。數字貨幣發展至今,交易所功不可沒,交易所除了提供價格發現的能力外,更重要的能力在於增強流動性。但成也蕭何敗也蕭何,交易所中心化的弊端一直伴隨著數字貨幣的發展,駭客攻擊、交易所跑路、後臺不透明等問題成為數字經濟的阿克琉斯之踵。跨鏈的意義之一就在於透過分散式的方式提供鏈和鏈之間轉賬的清算機制。
很多時候,大家會把交易所的能力與跨鏈提供的能力混為一談。實際上是有區別的,首先交易所本身為token提供價格撮合機制,其次交易所是一個集合了各種token賬本的清算中心,只不過這個清算中心是中心化的。應該說後者是前者的基礎,沒有後者撮合交易是不可行的。而跨鏈機制是透過分散式的方式提供更基礎的清算能力。分散式跨鏈清算能力的建立也是分散式交易所產生的前提。記賬和清算是一切金融活動的基礎,現代金融業的所有金融活動都是基於銀行系統提供的基礎清算能力而展開的。無論是簡單的轉賬業務、存貸,還是跨國支付,第三方支付,基金,保險、金融衍生品都是基於銀行系統提供的基礎清算能力。類比到區塊鏈世界是同樣的道理,數字世界的泛金融應用創新與跨鏈清算能力密切相關。5. 跨鏈的應用場景· 分散式交易當前的區塊鏈世界的清算體系是由一個個分散式的區塊鏈網路與一個個中心化的交易所共同構成的。在很多時候,中心化交易所的作用甚至超過了區塊鏈網路本身,例如很多擁有Token的使用者從始至終都沒有使用過區塊鏈錢包,而是把交易所的機制當成了區塊鏈的全部,甚至根本不關心區塊鏈的意義所在。中心化交易所在放大區塊鏈意義的同時也在扭曲它。讓我們回顧區塊鏈經濟簡短的交易發展史,在最初只有比特幣的時代,法幣與比特幣的交易機制讓比特幣這個極客圈子的“玩具”有機會與現實世界接軌,讓更多人有機會持有比特幣。隨著更多Token的誕生,法幣交易通道的減少,幣幣交易讓區塊鏈世界快速發展成為了一個相對獨立的經濟體系,比特幣成為了區塊鏈世界中的硬通貨和價值度量尺度。在整個過程中,中心化交易所居功至偉,他們不但是現實世界與區塊鏈世界的出入口,還是不同區塊鏈網路的聯結器。但是問題也隨之而來,交易所成為了流量的入口,掌握了區塊鏈世界最大的話語權,任何一個獨立的區塊鏈網路無論大小,都要看交易所的眼色行事,否則無法獲得進入區塊鏈世界的入口,更不可能與傳統世界連線。簡單來說,交易所決定了一個新的token是否有資格接入其他token以及法幣共同構成的清算網路。很多區塊鏈專案的發展在被扭曲為滿足交易所需求的方向上越走越遠。
區塊鏈經濟網路急需分散式的清算機制加入,他的意義不在於要迅速替代中心化的交易所,而是帶來一種新的選擇與制衡,讓被扭曲的部分有被矯正的可能,讓區塊鏈的真正價值被再次發掘,讓用分散式的方式解決分散式的問題成為可能。所以我們認為跨鏈能力實現後的最重要的應用場景是分散式交易,這裡包括分散式交易所、分散式場外交易、中心化競價撮合與分散式清結算混合模式的交易所等多種實現模式。· 數字金融創新在以太坊的白皮書中,Vitalik提到的最重要的應用場景之一就是金融衍生品或者類金融合約應用,這也是智慧合約似乎可以發揮最大價值的應用場景之一。我們依然相信Vitalik的判斷和理想,只是現實發展情況出現了一些變化。大量的競爭鏈(無論是公鏈還是聯盟鏈)的出現,讓無論是數字資產,傳統上鍊金融資產存在於很多條不同的鏈上,也就是記賬的基礎賬本不同。在此情況下,要實現數字金融創新的前提條件除了智慧合約之外,還需加上分散式的清算能力(跨鏈能力)。否則基於智慧合約的應用場景將十分有限。舉個例子,如果一個傳統的金融資產在某個銀行聯盟鏈中,一個數字資產在以太坊網路,一個穩定貨幣在Wanchain網路,要基於這兩個基礎資產創設一個以穩定貨幣作為對價的金融合約(以智慧合約的方式而非中心化的方式),在沒有跨鏈能力的時候是完全不可行的。因為要建立這樣一個智慧合約,需要首先將上述三個資產轉移到一個區塊鏈網路中,然後在該網路中部署智慧合約,才能實現透過合約控制三個資產的相互關係。簡單解釋就是先把三個資產放到一個賬本中,再透過智慧合約統一控制這個賬本。具體的應用場景會十分豐富,單純從技術上來看傳統金融可以實現的,數字金融可以實現的更多。描述類似場景的文章很多,在此不再一一展開。· 打通兩個平行世界
Wanchain在白皮書中就提到過,區塊鏈技術在傳統資產上鍊和數字資產兩個領域的發展如同兩個平行的世界。從長遠來看,區塊鏈帶來的社會經濟變革總會讓這兩條平行線交匯在一起。從技術上來看,無論是已經出現的以傳統資產上鍊為代表的商業聯盟鏈,還是以穩定幣、虛擬資產上鍊為代表的公鏈專案,甚至是國家數字貨幣為代表的主權公鏈,最終要發揮更大的商業價值和產生更多的創新應用,都需要跨鏈能力作為支撐。跨鏈能力是推動基於區塊鏈的數字經濟全面發展和融合的技術驅動力。我們無法預知未來基於區塊鏈的金融是怎樣的一番景象,但是回看歷史,網際網路技術催生的第三方支付、科技金融創新正在以巨大的力量重新雕刻著傳統金融的輪廓,深刻的影響著人類金融的程序。6. 跨鏈的難點跨鏈從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跨鏈的實現模式時進一步論述。7. 跨鏈的不同模式繁雜的跨鏈技術分析文章都試圖對跨鏈技術進行分類,經常被提到的如中繼模式(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白皮書展示了一個巨集偉的框架,但其也承認只是一個框架性的描述,對於細節性的實現邏輯還未展開和進行可行性的驗證。· CosmosCosmos在某些理念上與Polkadot相似,也是希望創造一個異構的系統解決跨鏈問題。其引入了Hub與Zone的概念,但同樣的問題是跨鏈要面臨的兩個難題並不會因為是一個異構設計而變的容易解決。根據Cosmos目前最新的進展,我們並未看到解決如上問題的細節方案。由於篇幅原因,更多的跨鏈專案在此不詳細展開。無論是架構上的新思路還是引入很多新的概念,跨鏈都無法繞開我們提到的兩個難點。讀者在剖析跨鏈時,可以更好的從如上兩個點去分析,更容易理解到本質並且不被一些新的名詞或概念所迷惑。8. 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保持反方向記賬的邏輯,以確保整個交易過程中任何一個環節的原子性。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;