側鏈協議本質上是一種跨區塊鏈解決方案。 通過這種解決方案,可以實現數字資產從第一個區塊鏈到第二個區塊鏈的轉移,又可以在稍後的時間點從第二個區塊鏈安全返回到第一個區塊 鏈。 其中第一個區塊鏈通常被稱為主區塊鍊或者主鏈,每二個區塊鏈則被稱為側鏈。 最初,主鏈通常指的是比特幣區塊鏈,而現在主鏈可以是任何區塊鏈。 側鏈協議被設想為一種允許數字資產在主鏈與側鏈之間進行轉移的方式,這種技術為開發區塊鏈技術的新型應用和實驗打開了一扇大門。
02
—
產生背景
2012年,在比特幣聊天室中,首次出現了關於側鏈概念的相關討論。 當時比特幣的核心開發團隊正在考慮如何可以安全的升級比特幣協議,以增加新的功能,但是直接在比特幣區塊鏈上進行功能添加比較危險,因為如果新功能在實踐中發生軟件故障, 則會對現有的比特幣網絡造成嚴重影響。 另外,由於比特幣的網絡結構特性,如果進行較大規模的改動,還需要獲得多數比特幣礦工的支持。 這時,比特幣核心開發者便提出了側鏈方案。 這種技術允許開發人員將新功能附加在其他的區塊鏈,但是這些區塊鏈仍然附著在現有比特幣區塊鏈上。 這些區塊鏈中新功能可以充分利用現有比特幣的網絡特性,而不會對現有的比特幣網絡造成危害。
2014年,這時已經出現了許多具有新功能的區塊鏈,並產生了各種競爭幣,如萊特幣、狗狗幣等。 這時,比特幣的核心開發團隊擔心這些競爭幣的產生會稀釋比特幣的價值。 他們認為,應該把比特幣作為一種儲備貨幣,並將新功能添加到側鏈上。 這樣如果用戶想使用其他的新的區塊鏈功能,就不需要購買其他代幣。 為了將側鏈由概念轉化成現實,Adam Back、Matt Corallo等比特幣核心開發者共同發起成立了Blockstream公司,並在同年十月,發布了白皮書《Enabling Blockchain Innovations with Pegged Sidechains》,首次明確提出了 側鏈的概念及其協議實現方案。
通過側鏈,可以在主鏈的基礎上,進行交易隱私保護技術、智能合約等新功能的添加,這樣可以讓用戶訪問大量的新型服務,並且對現有主鏈的工作並不造成影響。 另外,側鏈也提供了一種更安全的協議升級方式,當側鏈發生災難性的問題時,主鏈依然安然無恙。
03
—
實現方案
側鏈實現的技術基礎是雙向錨定(Two-way Peg),通過雙向錨定技術,可以實現暫時的將數字資產在主鏈中鎖定,同時將等價的數字資產在側鏈中釋放,同樣 當等價的數字資產在側鏈中被鎖定的時候,主鏈的數字資產也可以被釋放。 雙向錨定實現的最大難點是協議改造需兼容現有主鏈,也就是不能對現有主鏈的工作造成影響,其具體實現方式可以分為以下幾類:
(一)單一託管模式
最簡單的實現主鏈與側鏈雙向錨定的方法就是通過將數字資產發送到一個主鏈單一託管方(類似於交易所),當單一託管方收到相關信息後,就在側鏈上激活 相應數字資產。 這個解決方案的最大問題是過於中心化。 圖1給出了以比特幣為主鏈的單一託管模式的工作原理示意圖:
(二)聯盟模式
聯盟模式是使用公證人聯盟來取代單一的保管方,利用公證人聯盟的多重簽名對側鏈的數字資產流動進行確認。 在這種模式中,如果要想盜竊主鏈上凍結的數字資產就需要突破更多的機構,但是側鏈安全仍然取決於公證人聯盟的誠實度。 圖2給出了以比特幣為主鏈的聯盟模式的工作示意圖:
單一託管模式與聯盟模式的最大優點是它們不需要對現有的比特幣協議進行任何的改變。
(三)SPV模式
SPV(Simplified Payment Verification)模式是最初的側鏈白皮書《Enabling Blockchain Innovations with Pegged Sidechains》中的去中心化雙向錨定技術最初設想。 SPV是一種用於證明交易存在的方法,通過少量數據就可以驗證某個特定區塊中交易是否存在。 在SPV模式中,用戶在主鏈上將數字資產發送到主鏈的一個特殊的地址,這樣做會鎖定主鏈的數字資產,該輸出仍然會被鎖定在可能的競爭期間內,以確認相應的 交易已經完成,隨後會創建一個SPV證明並發送到側鏈上。 此刻,一個對應的帶有SPV證明的交易會出現在側鏈上,同時驗證主鏈上的數字資產已經被鎖住,然後就可以在側鏈上打開具有相同價值的另一種數字資產。 這種數字資產的使用和改變在稍後會被送回主鏈。 當這種數字資產返回到主鏈上時,該過程會進行重複。 它們被發送到側鏈上鎖定的輸出中,在一定的等待時間後,就可以創建一個SPV證明,來將其發送回主區塊鏈上,以解鎖主鏈上的數字資產。 SPV模式存在的問題是需要對主鏈進行軟分叉。 圖3給出了以比特幣主鏈的SPV模式的工作流程示意圖:
(四)驅動鏈模式
驅動鏈概念是由Bitcoin Hivemind創始人Paul Sztorc提出的。 在驅動鏈中,礦工作為‘算法代理監護人’,對側鏈當前的狀態進行檢測。 換句話說,礦工本質上就是資金託管方,驅動鏈將被鎖定數字資產的監管權發放到數字資產礦工手上,並且允許礦工們投票何時解鎖數字資產和將解鎖的數字資產發送到何處 。 礦工觀察側鏈的狀態,當他們收到來自側鏈的要求時,他們會執行協調協議以確保他們對要求的真實性達成一致。 誠實礦工在驅動鏈中的參與程度越高,整體系統安全性也就越大。 如同SPV側鏈一樣,驅動鏈也需要對主鏈進行軟分叉。 圖4給出了以比特幣為主鏈的驅動鏈模式的工作流程示意圖:
(五)混合模式
上述所有的模式都是對稱的,而混合模式則是將上述獲得雙向錨定的方法進行有效的結合的模式。 由於主鏈與側鏈在實現機制存在本質的不同,所以對稱的雙向錨定模型可能是不夠完善的。 混合模式是在主鍊和側鏈使用不同的解鎖方法,例如在側鏈上使用SPV模式,而在主鍊網絡上則使用驅動鏈模式。 同樣,混合模式也需要對主鏈進行軟分叉。
04
—
典型範例
目前,比較著名的側鏈包括基於比特幣網絡的側鏈BTC Relay、Rootstock的Liquid,以及非比特幣的側鏈如Lisk和國內的Asch等。
BTC Relay是由ConsenSys的推出的基於以太坊區塊鏈的智能合約的側鏈解決方案。 BTC Relay把以太坊網絡與比特幣網絡以一種安全去中心化的方式連接起來。 BTC Relay通過使用以太坊的智能合約功能允許用戶在以太坊區塊鏈上驗證比特幣交易。 以太坊DApp開發者可以從智能合約向BTC Relay進行API調用來驗證比特幣網絡活動。
Liquid是Blockstream的開源側鏈項目,使用了比特幣雙向錨定技術,Liquid目的是實現使得比特幣可以在主鍊和側鏈中互轉,旨在提高隱私性、降低成本、加速交易所和經紀 商之間的價值轉移及結算流程。
Lisk是一個致力於為JavaScript開發者提供創建分佈式應用程序的區塊鏈平台,由德國的Max Kordek和Oliver Beddows於2016年初成立。 它把每一個分佈式應用程序都會在其自己且獨一無二的區塊鏈,也就是側鏈上運行,這種封裝使得主要的Lisk的主網高效,迅速和精簡
Asch是國內推出的一個基於側鏈技術的去中心化應用平台,由單青峰於2016年初成立。 Asch平台提供的服務包括一個主鍊和一套應用軟件開發工具包。 Asch的主鍊主要負責構建基礎設施、應用間的數據共享以及資產路由,應用軟件開發工具包內置了側鏈協議,主要負責構建具體的應用,通過側鏈協議可以與主鏈進行資產互通。
05
—
總結
側鍊是以融合的方式實現加密貨幣金融生態的目標,而不是像其它數字資產一樣排斥現有的系統。 側鏈技術進一步擴展了區塊鏈技術的應用範圍和創新空間,使傳統區塊鏈可以支持多種資產類型,以及小微支付、智能合約、安全處理機制、財產註冊等,並可以增強區塊 鏈的隱私保護。 利用側鏈,我們可以輕鬆的建立各種智能化的應用如金融合約,股票、期貨、衍生品等。