概述
我們提出了一種新穎的方法,用於在主鏈和側鏈之間構建無信任的雙向橋樑。 透過永久停止側鏈,即使在樂觀的情況下,我們也不再需要嚴格的同步要求和長時間的退出延遲。而代之的是,只有在側鏈暫停很長一段時間後才允許提款。 一旦停止了側鏈,就可以透過流動性提供者網路使用原子交換立即提取資金以進行使用。 可以同時啟動新的側鏈,以終止舊的側鏈以接受並開始處理掉期後的資金。
現有提案存在的問題
目前的側鏈建議有幾個問題,我們在這篇文章中解決。我們將在本節中討論一些更常見的建議:
合併挖礦(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整合)。在舊的側鏈經過很長時間釋出欺詐證明之後,新的側鏈也可以接受批次取款到存款。
藉助正確的錢包整合和無許可的流動性提供商網路,幾乎在所有情況下,這都使使用者甚至不知道自己使用的是特定的側鏈情況下進行資金轉移。