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