
跨鍊是公鏈領域正在著手解決的問題之一。從業者普遍認為,未來公鏈/ 聯盟鏈眾多,不同鏈之間的資產需要有一個可信的交換場所或機制(去中心化交易所),同時跨鏈也有助於擴大數字貨幣的使用場景。比如比特幣本身不支持智能合約,但是如果在另一支持智能合約的鏈商支持比特幣,則擴大了BTC 的流通場景。
Odaily 最近接觸到主攻跨鏈資產交換和流通的區塊鏈平台Wanchain 萬維鏈。創始人呂旭軍認為,原來互聯網上的各個後台信息都是可以相互傳遞,但問題在於沒有也無需驗證;由於區塊鏈的資產屬性尤其明顯,使得其跨鏈不同於傳統互聯網信息傳遞,參與者說謊的動機增強。因此,相較於信息跨鏈,萬維鏈認為資產跨鍊是更亟待解決的命題。
本文先整體介紹萬維鏈的跨鏈過程,再介紹技術細節。假設小明要將1 個BTC 轉移到萬維鏈上來用,小明需要先在BTC 鏈上發送1 個BTC 到鎖定賬戶;驗證完畢之後,萬維鏈上小明的賬戶會在生成等值的錨定幣WBTC,小明可以用這些錨定幣使用萬維鏈上的任何應用,比如在去中心化交易所買小紅的10 個WETH(ETH 的錨定幣),WETH 也可以轉到小明自身的以太坊賬戶中,變成ETH。除了原鏈賬戶,用戶還需要擁有萬維鏈的錢包,並繳納wan token 支付gas 和手續費。
在這個過程中,原鏈資產移入或者移出萬維鏈,有點像往這條鏈上充值和提現。不同公鏈的錨定幣就有點像萬維鏈上的ERC20 資產,可以與萬維鏈原生幣wan 交換。一旦支持的公鏈足夠多,意味著部署在萬維鏈上的DApp 可以支持各幣種,一個幣種也可以用於多應用。不同於閃電網絡等狀態通道只需交易雙方簽名,萬維鏈自身是一條公鏈,交易需要經過POW(未來改成POS)共識確認。
上述跨鏈過程需要解決的難點主要有二。萬維鍊錶示,這也是大多數跨鏈項目需要解決的問題:
一是保證跨鏈信息是正確的,即如何驗證原鏈上的交易狀態。如果要考慮到使用POW 機制的區塊鏈上沒有終局狀態(始終存在分叉的情況,只是隨著確認塊的增加,概率逐漸變小),這個問題的複雜度會更高。
二是保證原鏈Token 總量恆定。萬維鏈採用了鎖定和解鎖的方式能保證總量恆定,如何管理“鎖定” 和“解鎖“是一個關鍵。另一個關鍵是保證交易的原子性,即如果交易處理的某個環節停止,整個交易能夠撤銷;否則,部分成功的情況可能會導致雙花。
萬維鏈計劃通過分佈式共識組Voucher(交易證明節點)來驗證原鏈上的交易。假設Alice 在以太坊上將ETH 發送到鎖定賬戶,Voucher 既是原鏈節點也是萬維鏈節點,它驗證原鏈交易確認之後,向萬維鏈上的Validator(驗證節點)發送“true” 信號,則Validator 所維護的公共賬戶就會往Alice 的萬維鏈賬戶發放等值WETH。一旦或後面任何一步失敗,則原鏈的鎖定賬戶會將ETH 解鎖並還給Alice。該賬戶私鑰也是由多個節點持有,名為Storeman(賬戶管理節點)。
萬維鏈中,Storeman 管理私鑰的機制使用安全多方計算+ 門限秘鑰的技術,Storeman 必須共同參與計算才能生成鎖定賬號的公私鑰,而私鑰只是理論存在,從未出現在網絡中,而是以碎片的方式分散在各Storeman 手中,交易時參與方要再次合力才能共同構造簽名,且互不洩露碎片。為了保證可用性,只需要一定比例的Storeman 參與計算即可構造簽名。
小紅也從wan 上的合約中得知密碼,憑密碼到ETH 合約中拿走10 個ETH。
小紅也從wan 上的合約中得知密碼,憑密碼到ETH 合約中拿走10 個ETH。
假設小明要轉10 個ETH 給小紅,小紅要轉10 個wan 給小明;
小明在以太坊一智能合約裡鎖了10 個ETH 加上一個密碼的哈希值,並置入條件:如果小紅在10 小時內提供了密碼,合約驗證之後小紅就能獲得10 個ETH,否則回滾;
小紅在萬維鏈一智能合約裡鎖了100 個wan 並把密碼的哈希值放在裡面,並置入條件如果小明在5 小時內提供了密碼,就能獲得100 個wan;
小明看到小紅在wan 也鎖了錢,就憑密碼到wan 上拿走了100wan;
小紅也從wan 上的合約中得知密碼,憑密碼到ETH 合約中拿走10 個ETH。
我們可以把小紅換成萬維鏈的Storeman,用戶(小明)只需要在發起交易、釋放密數、撤銷交易的環節進行操作。對於參與跨鏈的Storeman,萬維鏈會提供專門的客戶端,客戶端根據協議進行無需值守的自動化運行。
對話比特幣側鏈RSK:擴容且加入智能合約後的BTC能成為金融基礎設施嗎?
對話比特幣側鏈RSK:擴容且加入智能合約後的BTC能成為金融基礎設施嗎?
我是Odaily編輯盧曉明,探索真實區塊鏈,爆料、交流請加微信lohiuming,煩請備註姓名、單位、職務和事由。
參考文章: