編者按
之前社區(qū)內(nèi)有討論, 有沒有可能在 ETH2 中自己實現(xiàn)一個跨鏈, 首先和 ETH1 跨鏈, 然后再和其他鏈跨?有點天方夜譚哈, 不過也是一個設(shè)想, 目前看沒有這種可能性。不過 V 神最新的帖子里(10月11日)卻在另一個層面提到了雙向橋梁的概念, 即升級過程用雙向橋梁以實現(xiàn)一定的互操作性, 主要目的是為了彼此提供信息給對方, 以保證一致性。
概要
這篇文章的目的是說明在eth1和eth2之間建立雙向橋梁的一些挑戰(zhàn)(例如,支持ETH的雙向轉(zhuǎn)換),以及如何實現(xiàn)它。
問題和方案
作為eth2提案的一部分,已經(jīng)存在一個eth1 -》 eth2 鏈路,這是允許存款發(fā)生的必要條件。這個鏈接是使用eth1data投票機制3實現(xiàn)的。注意,該機制假設(shè)PoS驗證器是可靠的大多數(shù),并且PoW鏈不會受到攻擊(具體來說,它的恢復(fù)時間不會超過5小時); 如果任何一個假設(shè)失敗了,那么這兩個鏈將不再一致。至少在開始時就有一個隱含的“社會契約”,如果發(fā)生任何一種情況都可以糾正,很可能是通過PoS鏈的軟分叉的方式進(jìn)行糾正 (如果PoW鏈確實確實恢復(fù)了5個小時以上,那么很有可能達(dá)成社區(qū)協(xié)議,認(rèn)為攻擊鏈?zhǔn)欠欠ǖ模?注意,在這兩種情況中,PoS 鏈的失敗都不會導(dǎo)致 PoW 鏈的軟分叉。
如果我們希望eth1鏈了解eth2狀態(tài)(允許ETH從eth2返回到eth1的前提),有兩種方法可以做到這一點。一種是使PoW鏈包含PoS鏈的輕客戶端, 另一個是要使PoS 的敲定里包含PoW 的敲定(finality)。后者可以通過添加一種機制來實現(xiàn),在這種機制中,如果 PoS 塊 BS 通過 eth1數(shù)據(jù)投票包含對 PoW 塊 BW 的引用,并且 BS 最終完成,那么 BW 也被視為最終完成。但是,這意味著PoW礦工(和客戶端)還需要運行eth2實現(xiàn),以便他們了解 eth2 鏈的敲定情況。
前者需要在eth1內(nèi)部實現(xiàn)的eth2客戶端, 這將需要Webassembly或BLS-12-381驗證的本機支持,目前預(yù)計不會很快發(fā)生。另外,它僅提供輕客戶端級別的安全性。
后者更有趣,因為它為eth1提供了一種本地形式的反轉(zhuǎn)限制(通常稱為finality gadget建議)。注意,這個建議與第一個不同,因為它雖然讓eth1 fork選項知道eth2,但并沒有立即讓eth1知道eth2的狀態(tài)。例如,請注意,兩個相互競爭的eth2鏈在理論上有可能完成相同的eth1塊(這意味著eth2已經(jīng)破壞,但在理論上仍然有可能)。
更常見的情況是,可能有兩個eth2 最終區(qū)塊,其中一個是另一個的子代,兩者都支持相同的eth1塊,并且一些礦工可能知道這兩個eth2塊中的較新者,而另一些礦工則不知道。對于“ eth2作為敲定性小工具”來說,這不是問題,但這確實意味著我們需要更多基礎(chǔ)設(shè)施,以允許eth1明確了解eth2 區(qū)塊狀態(tài),以便允許從存款合約中提取款項。
一種可能是在eth1內(nèi)部簡單地創(chuàng)建一個eth2_data投票機制;本質(zhì)上,復(fù)制一份讓eth2了解eth1的機制。這可以與上述內(nèi)容結(jié)合起來,以確保一致性, eth1 曠工僅在下述兩種情況下會為為 eth2 數(shù)據(jù)區(qū)塊投票:eth1 曠工正在構(gòu)建的eth1數(shù)據(jù)塊(i)已經(jīng)完成,并且(ii)在它們的eth1數(shù)據(jù)塊中引用了它們的eth1數(shù)據(jù)塊(它們是曠工正在構(gòu)建的eth1數(shù)據(jù)塊的祖先)
挑戰(zhàn)
這兩項提議都需要對eth1進(jìn)行修改。目前,eth2路線圖在the final transition 4
之前沒有任何eth1方面的更改。這兩項建議都要求在eth2側(cè)發(fā)生損壞時,對eth1側(cè)采取緊急補救行動。后一個建議要求所有的eth1 曠工也運行一個eth2節(jié)點。因此,雖然這兩項建議都是絕對可行的,但不應(yīng)迅速執(zhí)行。
然而,當(dāng) eth2繼續(xù)運行并證明了它的適應(yīng)性,那么在某個時刻實現(xiàn)這樣一個橋梁肯定是有意義的。為了降低風(fēng)險,可以做以下幾件事:
· 在eth1上運行eth2投票,投票期為一周,以便在出現(xiàn)問題時為人工干預(yù)留出時間
· Eth1鏈通過輕客戶了解到 eth2定稿塊,也可能由于類似原因推遲一個星期才退出
· 只有當(dāng)?shù)盅鹤銐蚋邥r(例如大于500萬)才打開橋梁
· 把投票的門檻設(shè)得高于50%(例如。80%);系統(tǒng)傾向于不包含任何eth2塊,除非它們之間有很強的一致性。
來源: Ourea無涯社區(qū)?
評論
查看更多