1. 程式人生 > >解讀區塊鏈-跨鏈技術

解讀區塊鏈-跨鏈技術

解讀區塊鏈,跨鏈技術
隨著區塊鏈技術的發展,現在越來越多的鏈,包括公有鏈、聯盟鏈、私有鏈都開始層出不窮,那麼鏈與鏈之間的互聯操作,越來越被重視,跨鏈的需求就由此而來,其實目前有不少成功的跨鏈平臺,如:rootstack、BTC relay等。筆者參考網上大神講解和以下這些資料,有興趣的可以參考下:http://www.8btc.com/tan90d84 rootstock根鏈平臺 白皮書
http://ethfans.org/posts/chain-interoperability-report Chain_Interoperability.pdf論文
http://www.doc88.com/p-4621318186080.html

側鏈白皮書

這裡根據自己理解簡單對跨鏈技術做個介紹。
跨鏈技術理解成鏈之間聯通的橋樑。
這裡寫圖片描述
在區塊鏈的世界中,大多數鏈其實都不是不知道鏈外的世界,不具備天然的跨鏈能力,跨鏈是一個複雜的過程,既需要對鏈中節點要有單獨的驗證能力,需要去中心化的輸入,更需要對鏈外世界的資訊的獲取和驗證。
目前主要的三種跨鏈技術:
公證人機制(Notary schemes)、側鏈/中繼(Sidechains/relays)、雜湊鎖定(Hash-locking)
http://ethfans.org/posts/chain-interoperability-report
這裡寫圖片描述
公證人機制(Notary schemes):三種方式中最為簡單,目前使用的也是比較多的一種方式,舉下例子:PBFT協議中,每個節點都是一個公證人,那麼你從節點中獲得超過三分之二的節點簽名,那麼就表示這個公證是有效的。或者,在實現錨錠側鏈的時候,主鏈傳送交易到側鏈時候所擁有的一個多重簽名地址,然後需要花費這個交易的時候必須同時提供8-of-10的multisig的簽名才是有效。現在使用公證技術的有:位元組雪球的witness、ZCASH的6引數生成過程,rootstacke中的semi-trust-free-sidechains(公證方案)。這種方式優點就是簡單,整個過程就是對公證節點的信任,缺點就是你需要去信任一或多個實體節點。
側鏈/中繼(Sidechains/relays):有些人把這個兩個技術分開來說明,這裡就放一塊解釋了。首先有個概念普及下,主鏈是不知道側鏈的存在,側鏈則知道主鏈的存在(其實這個是廢話,不知道他怎麼做側鏈),側鏈的概念就是一個鏈能去讀懂另外一個鏈,用白皮書的定義:sidechain is a blockchain that validates data from other blockchains。側鏈存在的條件,一般來說主鏈通常支援SPV(參考筆者前文比特幣架構),主鏈向側鏈提供SPV proof來驗證主鏈中發生的事件(這個事件理解為區塊的產生,交易的生成等一系列主鏈狀態的變化)。側鏈其實是以錨定比特幣為基礎的新型區塊鏈,以融合的方式實現加密貨幣金融生態的目標,而不是像其它加密貨幣一樣排斥現有的系統。中繼技術,在A.B兩個鏈中,存在第三方資料結構C,那麼這個C就是A和B的中繼,如果C也是區塊鏈結構,那麼就稱relay-chain。舉個例子:著名的比特幣側鏈BTC Relay,一種基於以太坊的智慧合約,將以太坊和比特幣網路以一種安全去中心化的方式連線起來。
這裡寫圖片描述


BTC Relay通過通過以太坊的智慧合約允許使用者在以太坊區塊鏈上驗證比特幣的交易,使用區塊頭建立一種小型版本的比特幣區塊鏈,以太坊DApp開發者可以從智慧合約向BTC Relay進行API呼叫來驗證比特幣網路活動,從而實現了區塊鏈之間的互動。BTC-relay既是中繼又是側鏈。
再舉個上面也有的例子,RootStock 是一個建立在比特幣區塊鏈上的智慧合約分散式平臺。它的目標是,將複雜的智慧合約實施為一個側鏈,為核心比特幣網路增加價值和功能。RootStock實現了以太坊虛擬機器的一個改進版本,它將作為比特幣的一個側鏈,使用了一種可轉換為比特幣的代幣作為智慧合約的“燃料”。在rootstack程式中,把比特幣的相關資訊寫入sidechain,不斷產生的區塊資訊寫入(spv)同時寫入側鏈,在比特幣中任何區塊產生變化都有相應的反應,同時rootstack也有自己的代幣。
這裡寫圖片描述

雜湊鎖定(Hash-locking):雜湊鎖定起源於閃電網路的HTLC,這個可以參看筆者前文閃電網路,雜湊鎖定通過鎖定一段時間猜hash原來的值來兌現支付的一種機制,雜湊鎖定,產生一個隨機數,三人或者多人之間去資訊互動方式,配合閃電網路通過技術加密方式轉賬在安全方式下進行。舉個例子:A和B進行比特幣和以太幣的交易,那麼A首先在比特幣中轉賬給B,A生成一個隨機數值,然後雜湊運算後發給B,A生成HTLC,設定一個超時時間,如果B猜測出來那個隨機數值,那麼就轉賬,然後B在以太坊裡部署了智慧合約,如果在一個超時時間內有人能提供一個隨機數,這個隨機數就是之前A在比特幣中提供的在雜湊運算前的原來的值,那麼提供這個數值的人可以取得B在以太坊中提供的一定數量的以太幣,A呼叫B的智慧合約,取走B的以太幣,B得知了A的隨機數值,在超時時間內可以取走A的比特幣。交易就完成了。

跨鏈技術的主要作用:
資產轉換,atomic swap原子交換(適用於交易所),cross-chain-oracles 區塊鏈中內部資訊互通,但是到外面世界就難以知道,獲取外部資訊,不同鏈之間的資訊互動。asset encumbrance 資產質押:兩種資產之間的互動,鎖定資產,釋放資金。
目前跨鏈的專案還是很多的,借用http://www.docin.com/p-1957161951.html這組PPT詳細介紹了跨鏈技術,同時也有視訊講解,http://www.8btc.com/elwingao-blockchain-8這裡對幾個技術有詳細文字說明。

筆者初學區塊鏈,很多東西也是慢慢摸索,之所以寫下這些基本概念一方面作為自己學習的整理,另一方面也希望更多交流學習的機會。如有興趣可以直接關注公眾號或者加筆者微信。
這裡寫圖片描述
這裡寫圖片描述