區塊鏈研究實驗室|構建主鏈與側鏈之間無信任的雙向橋接網絡

概述

我們提出了一種新穎的方法,用於在主鏈和側鏈之間構建無信任的雙向橋樑。 通過永久停止側鏈,即使在樂觀的情況下,我們也不再需要嚴格的同步要求和長時間的退出延遲。而代之的是,只有在側鏈暫停很長一段時間後才允許提款。 一旦停止了側鏈,就可以通過流動性提供者網絡使用原子交換立即提取資金以進行使用。 可以同時啓動新的側鏈,以終止舊的側鏈以接受並開始處理掉期後的資金。

 

現有提案存在的問題

目前的側鏈建議有幾個問題,我們在這篇文章中解決。我們將在本節中討論一些更常見的建議:

 

合併挖礦(Merge-Mined)側鏈

 

合併挖礦涉及通過允許礦工同時開採兩個或更多鏈條來重複使用工作量證明。這用於像Rootstock這樣的系統,作爲引導側鏈啓動的一種方式。

 

不幸的是,合併挖礦僅提供針對外部哈希率的安全性,而在一般情況下則不提供安全性。另外,它在任何情況下都無法實現不信任的雙向資金橋樑(即在不信任第三方的情況下,將代幣/代幣從主鏈和側鏈轉移到主鏈和側鏈)。

 

Federated Peg(聯邦掛鉤)側鏈

 

federated peg聯邦掛鉤)實現主側鏈之間的互相轉賬,通過多個集體構成的聯盟共同監督和維護主側鏈之間的轉賬。如果聯盟的大多數成員未通過多重簽名對此表示同意,則該聯盟無法從側鏈向主鏈釋放資金。即使聯盟不直接控制實際資金,用戶也可以將其資金無限期地停留在側鏈中,直到大多數人決定解鎖資金爲止。因此,用戶應聯邦的要求。

 

通常在主鏈的智能合約功能(例如比特幣腳本)的表達能力不足時使用。爲了有效地鎖定和解鎖側鏈和主鏈之間的資金,需要在鏈上驗證證明,這可能需要廣泛的功能。這就是Liquid 1和Rootstock等系統的工作方式。

 

還有另一種稱爲Drivechain的2-way federated peg(雙向聯邦掛鉤)系統,其中聯邦是主鏈礦工的隱式子集。即使在這種情況下,加入聯盟是未經許可的,我們仍然遇到與上段所述相同的問題,即大多數礦工可以任意竊取或鎖定資金。

 

Plasma鏈

 

受早期CoinWitness的啓發,Plasma Cash使用基於代幣的數據模型(不同於比特幣的UTXO數據模型或以太坊的賬戶數據模型)。這具有很好的功能,即側鏈上的所有代幣對主鏈都是已知的-類似於打開的通道。通過使用複雜的退出博弈來維護不信任的雙向掛鉤,無論在側鏈上發生什麼情況(包括操作員扣留區塊或產生無效區塊),都必須維護該掛鉤,這是維持雙向交易所必需的。

 

這些退出遊戲產生的問題是它們是交互式的,必須在一個實時的、不斷變化的側鏈上執行。因此他們需要考慮用過的代幣和無效支出的可能的欺詐性退出,這最終阻止了監視塔的有效使用,並要求用戶持有狀態(代幣歷史)。這迫使用戶進入嚴格的同步要求,並要求每個用戶運行一個完整的節點。

 

停止的雙向橋接

 

假設與要求

 

這篇文章使用了“側鏈”一詞,儘管它可以等效地替換爲“具有延遲狀態執行的執行環境”,我們將在後面的文章中介紹。

 

資金通過單向橋存入側鏈(即資金被鎖定在合約中,沒有立即取回的方式)。側鏈上的執行按正常情況進行。儘管我們要求側鏈區塊標頭在鏈上可用,並且對無效區塊和不可用數據都提供解決方案,但這種方式通常是正向的。無效的數據區塊可以通過有效性證明或欺詐證明解決(儘管首選欺詐證明),而不可用的數據可以通過按請求始終將所有數據作爲調用數據發佈在鏈上或通過使用非交互式鏈上數據可用性證明來解決

 

任何數據模型都可用於側鏈,包括UTXO數據模型(如比特幣),賬戶數據模型(如以太坊)或基於代幣的數據模型(如Plasma Cash實際上這裏提出的方案可用於增強Plasma結構)。執行模型還可以通過任意斷言和程序擴展到廣義狀態執行。

 

雙向橋接

 

我們注意到,側鏈退出遊戲的複雜性、成本和安全假設的大部分允許無可信的雙向橋(即Plasma)源於這樣一個事實,即在每一個退出嘗試中,通過永久性的、在非常緊迫的時間窗口內,必須執行有效性。這使得這些方案特別容易受到鏈擁塞攻擊,並且大大限制了它們的安全容量。

 

我們可以通過簡單地拒絕提款來減少這種複雜性,直到側鏈已經停止並且足夠長的時間已經過去(比如,幾個月或一個系統參數)。在此之前,任何人都可以發佈欺詐證明或數據不可用證明來使任何數量的側鏈區塊失效。

 

停止側鏈

 

現在最大的懸而未決的問題是“誰來決定何時停止側鏈?”多重簽名聯合會可能具有過多的控制權或者可能永遠不會停止。基於權益的投票是可操縱的,也可能導致側鏈永不停止。

 

事實證明,最簡單的答案是最優雅的:側鏈在預定數量的固定塊之後簡單地停止。這也具有阻止側鏈僵化的良好效果:用戶將撤回資金,然後將其存入新的側鏈中,這可能會改善規格或減少安全漏洞。可以在錢包級別將其抽象出來,因此不是一個重要的UX阻止程序。

 

快速提款:流動性提供者

 

爲了避免提款延遲,流動性提供者可以通過原子交換購買側鏈上的資金所有權。這與爲Plasma提議的代幣化快速退出類似,儘管沒有資金被提取。流動性提供者將承擔欺詐和資本鎖定成本的相關風險,並將其轉移給用戶以獲取利潤以換取流動性。但是通過運行側鏈完整節點,他們將能夠對基礎資產的有效性充滿信心地進行購買。

 

快速提款只需要一個流動性提供者,而無需執行無信任的雙向橋樑。成爲流動性提供者只需要提供流動資金而無其他許可。激勵流動性提供者以確保他們交換有效資金,並因此通過任何必要手段確保與之交換的側鏈技巧有效。

 

快速恢復:跨側鏈發生

 

儘管現在我們有了讓用戶能夠通過流動性提供商迅速提取其資金以使用的方法,但用戶資金現在已處於主鏈上,這速度可能會很慢,昂貴,擁擠,或者涉及昂貴的gas費用。爲了解決這個問題,我們可以在舊的側鏈停止後立即啓動一個新的側鏈,可能會使用新規則(類似於硬分叉)。

 

新的側鏈可以立即接受存款,因此用戶可以從舊的側鏈進行原子交換資金,然後將其無縫地存入新的側鏈(具有UI集成)。在舊的側鏈經過很長時間發佈欺詐證明之後,新的側鏈也可以接受批量取款到存款。

 

藉助正確的錢包集成和無許可的流動性提供商網絡,幾乎在所有情況下,這都使用戶甚至不知道自己使用的是特定的側鏈情況下進行資金轉移。

本文轉載公衆號:區塊鏈研究實驗室,專注區塊鏈技術,產品社羣,經濟模型等全方位的知識體系輸出,爲大家帶來不一樣的社羣學習體驗。歡迎加入作者微信社羣:csschan1120

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章