最近,區塊鏈技術引起了廣泛關注。雖然區塊鏈技術目前正在快速發展,但是傳統區塊鏈技術要落地到商業應用,特別是金融應用,仍然存在很多問題需要解決,如交易性能、隱私保護等。解決這些問題的一種做法是重新開發新的區塊鏈,但是這種做法會造成大量重複性工作,並且需要不斷的發行新的數字資產。那麼是否存在在不影響原有區塊鏈工作的基礎上,依託於原有區塊鏈進行技術升級的解決方案,側鏈就是在這種需求背景下被提出的。本文首先介紹了側鏈的基本概念,接着分析了側鏈的產生背景與工作原理,最後對目前主要存在的側鏈進行了介紹。

基礎概念

側鏈協議本質上是一種跨區塊鏈解決方案。通過這種解決方案,可以實現數字資產從第一個區塊鏈到第二個區塊鏈的轉移,又可以在稍後的時間點從第二個區塊鏈安全返回到第一個區塊鏈。其中第一個區塊鏈通常被稱爲主區塊鏈或者主鏈,每二個區塊鏈則被稱爲側鏈。最初,主鏈通常指的是比特幣區塊鏈,而現在主鏈可以是任何區塊鏈。側鏈協議被設想爲一種允許數字資產在主鏈與側鏈之間進行轉移的方式,這種技術爲開發區塊鏈技術的新型應用和實驗打開了一扇大門。

來自【知乎用戶:張小樓 】的理解:
技術上的細節比較難理解。我的理解是目前的交易所、在線錢包等等實際上也屬於所謂的側鏈應用,只不過它們是中心化的、封閉的獨立網絡。想象一下,你把自己本地錢包裏的比特幣轉賬到交易所地址上,那麼交易所這個封閉網絡得到了這些幣,於是交易所以自身信用爲擔保在平臺上 1:1 等價地給你交易所賬戶上添加這些數目。然後你可以在交易平臺上用交易所發行的“比特幣”實時地與人進行交易、抵押借貸等等。交易所是比特幣生態的重要應用,但它們存在這樣那樣的問題(跑路、被黑、虧空等等),它們是中心化的、封閉的獨立網絡。你的幣充值到交易所以後實際上你就不能掌控這些幣了,雖然它們名義上還是屬於你的。而現在的側鏈概念則實質上是一個類似於比特幣的獨立的、開放的分佈式網絡,與交易所這樣的中心化的、封閉網絡相反。鏈接:https://www.zhihu.com/question/27256432/answer/36976108

產生背景

2012 年,在比特幣聊天室中,首次出現了關於側鏈概念的相關討論。當時比特幣的核心開發團隊正在考慮如何可以安全的升級比特幣協議,以增加新的功能,但是直接在比特幣區塊鏈上進行功能添加比較危險,因爲如果新功能在實踐中發生軟件故障,則會對現有的比特幣網絡造成嚴重影響。另外,由於比特幣的網絡結構特性,如果進行較大規模的改動,還需要獲得多數比特幣礦工的支持。

這時,比特幣核心開發者便提出了側鏈方案。

這種技術允許開發人員將新功能附加在其他的區塊鏈,但是這些區塊鏈仍然附着在現有比特幣區塊鏈上。這些區塊鏈中新功能可以充分利用現有比特幣的網絡特性,而不會對現有的比特幣網絡造成危害。

2014 年,這時已經出現了許多具有新功能的區塊鏈,併產生了各種競爭幣,如萊特幣、狗狗幣等。這時,比特幣的核心開發團隊擔心這些競爭幣的產生會稀釋比特幣的價值。他們認爲,應該把比特幣作爲一種儲備貨幣,並將新功能添加到側鏈上。這樣如果用戶想使用其他的新的區塊鏈功能,就不需要購買其他代幣。

“側鏈最大的優勢是可以讓用戶訪問大量的新型服務。例如,你可以將比特幣移動到另一個區塊鏈上,從而利用相應區塊鏈的隱私特性、更快的交易速度和智能合約。”

爲了將側鏈由概念轉化成現實,Adam Back、Matt Corallo 等比特幣核心開發者共同發起成立了 Blockstream 公司,並在同年十月,發佈了白皮書《Enabling Blockchain Innovations with Pegged Sidechains》,首次明確提出了側鏈的概念及其協議實現方案。

通過側鏈,可以在主鏈的基礎上,進行交易隱私保護技術、智能合約等新功能的添加,這樣可以讓用戶訪問大量的新型服務,並且對現有主鏈的工作並不造成影響。另外,側鏈也提供了一種更安全的協議升級方式,當側鏈發生災難性的問題時,主鏈依然安然無恙。

側鏈機制,簡單的說,就是一種使貨幣在兩條區塊鏈間移動的機制。

小明:我有一個比特幣地址和一個萊特幣地址,我可以把比特幣發到萊特幣地址麼?
小亮:莫開玩笑,比特幣,萊特幣是兩條獨立的區塊鏈,這怎麼可能?
老師:小亮同學說的對,比特幣,萊特幣是兩條獨立的區塊鏈,現在比特幣不能發到萊特幣地址,小明同學的想法很有創意,如果萊特幣塊鏈成爲比特幣的一個側鏈後,比特幣就可以發到萊特幣地址。同理如果比特幣成爲萊特幣的側鏈,萊特幣也可發送到比特幣地址。(作者:黃洪清)

實現方案

側鏈實現的技術基礎是雙向錨定(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 模式,而在主鏈網絡上則使用驅動鏈模式。同樣,混合模式也需要對主鏈進行軟分叉。

典型範例

目前,比較著名的側鏈包括基於比特幣網絡的側鏈 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 的主鏈主要負責構建基礎設施、應用間的數據共享以及資產路由,應用軟件開發工具包內置了側鏈協議,主要負責構建具體的應用,通過側鏈協議可以與主鏈進行資產互通。

總結

側鏈是以融合的方式實現加密貨幣金融生態的目標,而不是像其它數字資產一樣排斥現有的系統。側鏈技術進一步擴展了區塊鏈技術的應用範圍和創新空間,使傳統區塊鏈可以支持多種資產類型,以及小微支付、智能合約、安全處理機制、財產註冊等,並可以增強區塊鏈的隱私保護。利用側鏈,我們可以輕鬆的建立各種智能化的應用如金融合約,股票、期貨、衍生品等。

補充閱讀

幾點說明
1、比特幣在側鏈裏流通時還是比特幣,側鏈的比特幣與主鏈的比特幣通常是 1 比 1 的匯率,也可能有預定的匯率。
2、側鏈的挖礦不能產出比特幣,側鏈可能有自己的幣,也可能沒有自己的幣,僅是爲了比特幣的流通。
3、側鏈可能是對等的和非對等的。對等的側鏈獨立存在,其也可成爲主鏈。主側是相互的,如果有足夠的需求,比特幣也可成爲萊特幣的側鏈。非對等側鏈依賴主鏈而存在。
4、去中心化沒改變,每個人或公司都可創建自己的比特幣側鏈,用戶和礦工認同的會成爲主流。
5、當然側鏈要有足夠的算力保證側鏈的可靠和安全。
6、側鏈白皮書提出了清晰的側鏈框架,具體側鏈怎麼實現容許設計者自由發揮。

側鏈可能實現的一些創意想法

1、滯留費
即長期不移動的幣隨着時間的推移將減值,減去的金額回饋礦工。
比如超過 1 年不動的幣,每年減值 10%。
現在的比特幣網絡,時常有大戶丟失密鑰,相應的幣也就丟了。
這將降低比特幣經濟體貨幣的充足性和流動性,被認爲是比特幣潛在的一個風險。
通過滯留費,鼓勵貨幣流動,激勵礦工,也可回收一些因丟失密鑰丟掉的幣。

2、新的挖礦所得約定
礦工的算力如果威脅到網絡安全,將扣發挖礦所得。比如,算力超過 50% 的礦工沒有獎勵,這樣可約束礦工節制算力,防止 51% 攻擊。

3、挖礦所得延期支付約定。
現在,礦工挖到礦後立即得到獎勵和交易費。這個約定把挖礦所得延期支付。 比如:在挖到礦的 100 個區塊後支付挖礦所得。
這有助於激勵礦工維護網絡的正常運作。

4、定期可動用地址。
新增一種與時間有關的地址。只有到了特定的時間纔可動用該地址的幣。
比如人們可以把 10 個幣發到這類型地址,設定 10 年後用。時間沒到時,任何人,包括擁有者,也不能動裏面的幣。

原文作者:王曉韡