Bitcoin Magazine:Rollup面臨什麼困境?

robot
摘要生成中

來源:Bitcoin Magazine;編譯:五銖,金色財經

Rollups 近來已成為比特幣擴容的焦點,成為第一個真正從閃電網絡“搶走風頭”的東西,在更廣泛的關注度方面。 Rollups 旨在成為一個不受閃電網絡核心流動性限制約束或限制的鏈下第二層,即最終用戶需要有人提前分配(或“借出”)資金才能收到錢,或者中間路由節點需要通道餘額來促進支付金額從發送者到接收者的全程流動。

這些系統最初是在以太坊和其他圖靈完備系統上運行的,但最近重點已轉移到將它們移植到基於 UTXO 的區塊鏈(例如比特幣)。本文不打算討論目前在比特幣上實施的現狀,而是討論人們長期追求的理想化Rollup的功能,這取決於比特幣目前不支持的功能,即直接在比特幣上驗證零知識證明 (ZKP) 的能力。

Roll 的基本架構如下:單個賬戶(在比特幣中為 UTXO)保存 Rollup 中所有用戶的餘額。此 UTXO 包含一個承諾,該承諾以 Merkle 樹的 Merkle 根的形式存在,承諾 Rollup 中現有賬戶的所有當前餘額。所有這些賬戶均使用公鑰/私鑰對進行授權,因此為了提出鏈下支出,用戶仍必須使用密鑰簽署某些內容。該結構的這一部分允許用戶隨時無需許可即可離開,只需製作交易證明其賬戶是 Merkle 樹的一部分,他們就可以單方面退出 Rollup,而無需運營商的許可。

Rollup 的運營者必須在交易中包含一個 ZKP,以便在完成鏈下交易的過程中更新鏈上賬戶餘額的 merkle 根,如果沒有這個 ZKP,交易將無效,因此不能包含在區塊鏈中。此證明允許人們驗證對鏈下賬戶的所有更改是否得到了賬戶持有人的適當授權,以及運營者是否沒有惡意更新餘額以竊取用戶的資金或不誠實地將其重新分配給其他用戶。

問題是,如果只有 merkle 樹的根發佈在鏈上,用戶可以查看和訪問它,那麼他們如何將他們的分支放在樹中,以便能夠在他們想要的時候無需許可就退出?

合適的Rollup

在適當的Rollup中,每次確認新的鏈下交易並且Rollup賬戶的狀態發生變化時,信息都會直接放入區塊鏈中。不是整個樹,那樣太荒謬了,而是重建樹所需的信息。在一個簡單的實現中,Rollup中所有現有賬戶的摘要將包含餘額,並且賬戶只是在更新Rollup的交易中添加的。

在更高級的實現中,使用餘額差異。這本質上是對在更新過程中哪些賬戶增加了或減少了資金的摘要。這使得每個Rollup更新僅包含發生的賬戶餘額更改。然後,用戶可以簡單地掃描鏈並從Rollup的開頭“進行計算”以得出賬戶餘額的當前狀態,這允許他們重建當前餘額的默克爾樹。

這樣可以節省大量開銷和區塊空間(從而節省資金),同時仍允許用戶保證訪問單方面退出所需的信息。rollup 規則要求將這些數據包含在使用區塊鏈向用戶提供的正式 rollup 中,即不包含賬戶摘要或賬戶差異的交易被視為無效交易。

有效期

處理用戶提取數據可用性問題的另一種方法是將數據放在區塊鏈之外的其他地方。這引入了微妙的問題,rollup 仍然需要強制確保數據在其他地方可用。傳統上,其他區塊鏈用於此目的,專門設計為作為 rollup 等系統的數據可用性層。

這造成了安全保障同樣強大的困境。當數據直接發佈到比特幣區塊鏈時,共識規則可以保證它絕對正確。然而,當它被髮布到外部系統時,它能做的最好的就是驗證 SPV 證明,即數據已發佈到另一個系統。

這需要驗證數據存在於其他鏈上的證明,這最終是一個預言機問題。比特幣的區塊鏈無法完全驗證除了發生在自己區塊鏈上的事情之外的任何事情,它能做的最好的就是驗證 ZKP。然而,ZKP 無法驗證包含 rollup 數據的區塊在生成後是否真的被公開廣播。它無法驗證外部信息是否真的對所有人公開。

這為數據扣留攻擊打開了大門,即創建對發佈數據的承諾並將其用於推進rollup ,但數據實際上並未可用。這導致用戶無法提取資金。唯一真正的解決方案是完全依賴比特幣之外的系統的價值和激勵結構。

進退維谷

這給 rollup 帶來了一個困境。當涉及到數據可用性問題時,基本上存在將數據發佈到比特幣區塊鏈還是其他地方的二元選擇。這一選擇對 rollup 的安全性和主權以及其可擴展性都具有重大影響。

一方面,使用比特幣區塊鏈作為數據可用性層會給 rollup 的可擴展性設置一個硬性上限。區塊空間是有限的,這為一次可以存在的 rollup 數量以及所有 rollup 總共可以在鏈下處理的交易數量設置了上限。每次 rollup 更新都需要與自上次更新以來餘額發生變化的賬戶數量成比例的區塊空間。信息論只允許數據被壓縮到一定程度,在這一點上,就沒有更多的擴展潛力了。

另一方面,使用不同的層來實現數據可用性會消除可擴展性增益的硬性上限,但它也帶來了新的安全性和主權問題。在使用比特幣實現數據可用性的 Rollup 中,如果用戶需要提取的數據沒有自動發佈到區塊鏈上,Rollup 的狀態就不可能發生變化。使用 Validiums,這種保證完全取決於所使用的外部系統抵禦欺騙和數據隱藏的能力。

現在,外部數據可用性系統上的任何區塊生產者都能夠通過生產區塊而不是實際廣播該區塊來劫持比特幣Rollup用戶的資金,從而讓數據可用。

那麼,如果我們真的在比特幣上實現理想的Rollup實現,真正實現單方面用戶提款,那會是怎樣的呢?

查看原文
  • 讚賞
  • 留言
  • 分享
留言
暫無留言