之前社區內有討論, 有沒有可能在 ETH2 中自己實現一個跨鏈, 首先和 ETH1 跨鏈, 然後再和其他鏈跨?有點天方夜譚哈, 不過也是一個設想, 目前看沒有這種可能性。不過 V 神最新的帖子裏(10 月 11 日)卻在另一個層面提到了雙向橋樑的概念, 即升級過程用雙向橋樑以實現一定的互操作性, 主要目的是爲了彼此提供信息給對方, 以保證一致性。

原文標題:《V 神 : ETH1 和 ETH2 之間的雙向橋樑》(Two-way bridges between eth1 and eth2)
作者:Vitalik Buterin
譯者:紅軍大叔(無涯社區)

這篇文章的目的是說明在 eth1 和 eth2 之間建立雙向橋樑的一些挑戰(例如,支持 ETH 的雙向轉換),以及如何實現它。

作爲 eth2 提案的一部分,已經存在一個 eth1 -> eth2 鏈路,這是允許存款發生的必要條件。這個鏈接是使用 eth1data 投票機制 3 實現的。注意,該機制假設 PoS 驗證器是可靠的大多數,並且 PoW 鏈不會受到攻擊 (具體來說,它的恢復時間不會超過 5 小時); 如果任何一個假設失敗了,那麼這兩個鏈將不再一致。至少在開始時就有一個隱含的「社會契約」,如果發生任何一種情況都可以糾正,很可能是通過 PoS 鏈的軟分叉的方式進行糾正 (如果 PoW 鏈確實確實恢復了 5 個小時以上,那麼很有可能達成社區協議,認爲攻擊鏈是非法的)。注意,在這兩種情況中,PoS 鏈的失敗都不會導致 PoW 鏈的軟分叉。

如果我們希望 eth1 鏈瞭解 eth2 狀態(允許 ETH 從 eth2 返回到 eth1 的前提),有兩種方法可以做到這一點。一種是使 PoW 鏈包含 PoS 鏈的輕客戶端, 另一個是要使 PoS 的敲定裏包含 PoW 的敲定 (finality)。後者可以通過添加一種機制來實現,在這種機制中,如果 PoS 塊 BS 通過 eth1 數據投票包含對 PoW 塊 BW 的引用,並且 BS 最終完成,那麼 BW 也被視爲最終完成。但是,這意味着 PoW 礦工(和客戶端)還需要運行 eth2 實現,以便他們瞭解 eth2 鏈的敲定情況。

Vitalik:以太坊 1.0 與 2.0 間雙向橋的搭建與挑戰PoW 鏈包含 PoS 鏈的輕客戶端;PoS 的敲定裏包含 PoW 的敲定

前者需要在 eth1 內部實現的 eth2 客戶端 , 這將需要 Webassembly 或 BLS-12-381 驗證的本機支持,目前預計不會很快發生。另外,它僅提供輕客戶端級別的安全性。

後者更有趣,因爲它爲 eth1 提供了一種本地形式的反轉限制 (通常稱爲 finality gadget 建議)。注意,這個建議與第一個不同,因爲它雖然讓 eth1 fork 選項知道 eth2,但並沒有立即讓 eth1 知道 eth2 的狀態。例如,請注意,兩個相互競爭的 eth2 鏈在理論上有可能完成相同的 eth1 塊( 這意味着 eth2 已經破壞,但在理論上仍然有可能)。

更常見的情況是,可能有兩個 eth2 最終區塊,其中一個是另一個的子代,兩者都支持相同的 eth1 塊,並且一些礦工可能知道這兩個 eth2 塊中的較新者,而另一些礦工則不知道。對於「 eth2 作爲敲定性小工具」來說,這不是問題,但這確實意味着我們需要更多基礎設施,以允許 eth1 明確瞭解 eth2 區塊狀態,以便允許從存款合約中提取款項。

一種可能是在 eth1 內部簡單地創建一個 eth2_data 投票機制;本質上,複製一份讓 eth2 瞭解 eth1 的機制。這可以與上述內容結合起來,以確保一致性, eth1 曠工僅在下述兩種情況下會爲爲 eth2 數據區塊投票:eth1 曠工正在構建的 eth1 數據塊 (i) 已經完成,並且 (ii) 在它們的 eth1 數據塊中引用了它們的 eth1 數據塊 (它們是曠工正在構建的 eth1 數據塊的祖先)

挑戰

這兩項提議都需要對 eth1 進行修改。目前,eth2 路線圖在 the final transition 之前沒有任何 eth1 方面的更改。這兩項建議都要求在 eth2 側發生損壞時,對 eth1 側採取緊急補救行動。後一個建議要求所有的 eth1 曠工也運行一個 eth2 節點。因此,雖然這兩項建議都是絕對可行的,但不應迅速執行。

然而,當 eth2 繼續運行並證明了它的適應性,那麼在某個時刻實現這樣一個橋樑肯定是有意義的。爲了降低風險,可以做以下幾件事 :

  • 在 eth1 上運行 eth2 投票,投票期爲一週,以便在出現問題時爲人工干預留出時間
  • Eth1 鏈通過輕客戶瞭解到 eth2 定稿塊,也可能由於類似原因推遲一個星期才退出
  • 只有當抵押足夠高時 (例如大於 500 萬) 纔打開橋樑
  • 把投票的門檻設得高於 50%(例如。80%); 系統傾向於不包含任何 eth2 塊,除非它們之間有很強的一致性

來源鏈接:ethresear.ch