• 風險提示:防范以虛擬貨幣/區塊鏈名義進行的非法集資風險。 ——銀保監會等五部門

    Polygon 聯創:深入探討聚合區塊鏈理論,與共享排序器有何不同?

    白話區塊鏈 2024-02-07 22:29:09
    微信分享

    掃碼分享

    L1/L2鏈無法滿足互聯網規模需求,擴展性挑戰;聚合層解決多鏈可擴展性問題,提供跨鏈交易低延遲和安全性。

    作者:Brendan Farmer

    翻譯:白話區塊鏈

    正文開始之前我想提出兩個觀點:

    無論是L1還是L2鏈,都無法支持達到互聯網規模所需的吞吐量。

    擴展區塊鏈意味著擴展對流動性和共享狀態的訪問。如果通過多個鏈增加區塊空間,而導致流動性瓦解,則這種方法行不通。

    這對于模塊化和單體化的區塊鏈可擴展性觀點都構成了挑戰。

    (1)對于單體化觀點構成了挑戰,單體化觀點認為單一高吞吐鏈是擴展的最佳方式。

    (2)對于模塊化觀點構成了挑戰,因為這意味著在有意義實現層面,多鏈或多Rollup生態系統并不足以實現擴展:需要增加對共享狀態和流動性的訪問。

    如果 (1) 和 (2) 成立,那么解決可擴展性問題就需要在多個鏈之間擴展對共享狀態和流動性的訪問。Polygon的解決方案是聚合層(Aggregation Layer),或稱為“AggLayer”。聚合層為幾乎即時的跨鏈交易提供安全性,并實現了鏈間的統一狀態和流動性。

    本文將深入探討聚合層是什么,它是如何工作的,以及它與共享順序器或證明者的區別。

    image.png

     

    1、當前存在問題

    L2存在一個問題:流動性和狀態在Rollup和L1之間是分散的。

    從可用性的角度來看,這是不好的,因為它引入了復雜性,而且也很昂貴。流動性的分散意味著更高的滑點和執行效果更差。樂觀Rollup(OR)要求用戶支付昂貴的第三方橋接費用,以避免七天的提款延遲。即使是零知識Rollup(ZKR),用戶也需要往返到以太坊進行無信任的跨鏈交易。

    以下是目前無法實現低延遲、無信任的跨鏈交易的原因。

    假設有兩個Rollup,ChainA和ChainB,它們共享與L1的橋接。ChainA上的Alice想要向ChainB上的Bob付款,因此Alice在ChainA上鎖定或銷毀Token以進行轉賬到ChainB。

    ChainB要安全地將這些Token歸屬于Bob,需要滿足兩個條件:

    包含Alice交易的批次必須在以太坊L1上得到最終確認。

    ChainB必須能夠驗證Alice交易后ChainA的狀態是否有效。

    image.png

    如果包含Alice交易的批次在以太坊上沒有最終確認,那么Chain A可能會向Chain B發出虛假信息,并通過在Chain A上保留Alice的資金并在Chain B上鑄造Bob的資金來進行雙重支付。同樣,如果Chain B沒有對Chain A的有效性證明進行檢查,那么Chain A可能會包含一個無效交易,并從Chain B中竊取資金。

    (1)和(2)意味著無信任的跨鏈交易無法實現低延遲。(1)目前需要12分鐘,而(2)則需要等待OR的挑戰期限和ZKR的幾分鐘來生成證明。

    良好的用戶體驗與20分鐘的延遲不兼容。聚合層旨在解決這個問題。

     

    2、聚合層

    Polygon是一個采用ZK技術的L2生態系統,可以向以太坊結算。聚合層是一個去中心化協議,由質押節點操作,旨在確保跨鏈交易的低延遲和統一橋接的安全性。

    在這種情況下,“安全性”指的是以下內容:如果一個鏈的狀態依賴于另一個鏈的無效或者尚未最終確定的狀態,或者包含一個在所有其他鏈上尚未成功執行的原子捆綁交易,那么該鏈的狀態將無法最終確定或結算到以太坊。換句話說,如果鏈A的狀態依賴于鏈B的無效或者尚未最終確定的狀態,那么鏈B的狀態就無法最終確定到以太坊上。

    這一保證非常重要,因為它允許鏈B在鏈A的狀態最終確定到以太坊上或者證明已經生成之前,以極低的延遲安全地與鏈A進行互操作。

    image.png

     

    3、聚合層的工作原理

    聚合層的功能可以分為三個階段,以下是一個例子來說明這個過程。假設鏈A是在Polygon生態系統中運行的一個基于零知識技術的鏈。

    1)預確認階段:鏈A向聚合層提交一個新區塊/批次的頭部,并提供一個輕客戶端證明。頭部包含了所有依賴于該區塊/批次的其他區塊和捆綁的承諾。當新批次被接受但還沒有被驗證為有效時,聚合層將其視為"預確認"。

    2)確認階段:鏈A或者鏈A上的任何完整節點生成一個對第一個區塊的證明,并將其提交給聚合層。一旦聚合層驗證了該證明,并且確認了所有依賴于第一個區塊的批次,那么第一個區塊就被確認了。

    3)最終確定階段:在第一個區塊被確認后,它的證明與其他批次的證明一起被聚合成一個單一的證明,然后發布到以太坊。這個聚合證明確保了依賴鏈狀態和捆綁的一致性。

    鏈可以根據自己的需求在延遲和活性保證之間進行權衡。例如,一條鏈可以選擇在預確認階段之后與另一條鏈進行互操作,以實現超低延遲的跨鏈交易。但總體來說,這個設計模型與等待確認或最終確定的鏈是兼容的。

    為了確保跨鏈交易的安全性,安全保證是在第三個階段執行的。聚合層的設計通過整合證明的方式來實現安全的跨鏈交互。

    異步互操作性

    讓我們以一個跨鏈轉賬的實例來說明。在ChainA上,Alice希望在區塊1中鎖定或銷毀一些Token,以便將Token鑄造并轉賬給ChainB上的Bob。但如果ChainB不等待區塊1在以太坊上得到有效證明和最終確認,那么ChainA可能會發出虛假信息,或者給ChainB提供一個無效的狀態。

    聚合層通過一種簡單的方法解決了這個問題。ChainB可以暫時假設區塊1是有效的,并將在以太坊上最終確認,甚至無需等待證明。在提交給聚合層之前,ChainB的順序器將聲稱的ChainA狀態根1作為區塊1的依賴項包含在頭部中(表示為根1)。這樣一來,ChainB構建區塊1所需的延遲從20分鐘減少到最多幾秒鐘。

    image.png

    原子互操作性

    安全機制可以擴展到原子情況。假設用戶將一組原子交易提交到多個鏈上。這些交易是有序的,因此在Chain A上執行的交易結果傳遞給ChainB,ChainB的更新狀態傳遞給ChainC,以此類推。如果所有交易在所有鏈上都成功執行,那么交易包將被接受;否則,它將被拒絕。

    在理想情況下,我們希望能夠在不滿足以下條件的情況下包含原子交易:

    1)不要求ChainB的操作者為交易包中涉及的所有其他鏈運行一個完整的節點;或者

    2)不依賴于共享的順序器。

    這引發了與異步情況類似的安全問題:ChainA可能會發出虛假信息,并提交一個實際上不包含原子交易包的批次,或者向ChainB發送一個無效的結果。

    幸運的是,異步情況下的相同機制可以在原子情況下重復使用。ChainB承諾捆綁包并接收來自其他鏈的交易結果。聚合層(和證明聚合電路)檢查捆綁包在各個鏈上的一致性。只有在捆綁包中的所有交易都成功執行時,才能在以太坊上最終確認/結算包含來自Chain B的捆綁包的批次。

    跨鏈可組合性

    聚合層通過異步跨鏈調用實現了超低延遲的跨鏈可組合性。這是一種非常強大的原語:合約可以在超低延遲下安全地調用其他鏈上的合約,無需等待以太坊的最終確認。用戶可以通過Polygon上的OK鏈入金,并在點擊一次的操作中立即將資金存入另一條鏈上的高流動性借代市場(例如Aave),而不需要將其換成封裝的合成資產。

    新興的協調基礎設施

    聚合層旨在簡化跨鏈交互,以確保安全性并提供基礎設施來促進活力。鏈操作者可以根據他們的信任假設選擇不同的協調機制,如中繼、共享的證明基礎設施或共享的有效性順序器集群,以保護鏈免受活力問題的影響。

    在Polygon生態系統中,鏈的選擇和主權是優先考慮的。鏈可以自行修改執行環境,使用自己的Token進行質押和支付gas費用,并選擇數據可用性機制。此外,鏈需要決定如何權衡互操作性和活力故障風險。以下是幾種選擇:

    1)Chain B可以選擇退出快速互操作性和聚合層,直接將批次和證明提交到以太坊以避免延遲最終確認。

    2)Chain B只有在Chain A的狀態經由聚合層確認時才接受Chain A的狀態,只有在聚合層發出虛假信息時才會延遲。

    3)Chain B只有在聚合層預確認Chain A時才接受Chain A的狀態,只有在聚合層發出虛假信息或Chain A無法提供證明時才會延遲。

    在點對點環境中,Chain B可以接受Chain A的狀態,而無需檢查Chain A是否在聚合層上預確認,只有當Chain A發出虛假信息或無法提供證明時才會延遲。

    需要注意的是,用戶不會引起活力故障,只有不端行為或故障的鏈才會引發問題。通過削減或剔除鏈的聚合層參與權,并阻止其無縫互操作能力,可以對虛假信息和提交無效區塊進行嚴厲懲罰,因此活力故障應該非常罕見。

    鏈可以采取額外的預防措施來最大限度地減少活力問題的風險,例如維護與其互操作的其他鏈的白名單或黑名單,并對參與任何批次的鏈的數量設置限制。它們還可以依賴第三方運行完整節點,以確保如果一條鏈在能夠生成證明之前離線,就有備份證明者。

    鏈之間協調接受原子捆綁包的機制也是靈活的。例如,一些鏈可以在共享的有效性順序器集群中進行低延遲的互操作性,或者它們可以依賴中繼機制。

    image.png

    通過為Chain A和Chain B同時運行完整節點,并驗證每個鏈的狀態是否有效,加密經濟安全的中繼器可以實現Chain A和Chain B之間的互操作性。即使Chain A或Chain B預先確認了一個新的批次然后離線,共享的證明基礎設施可以介入生成一個證明。

    可以想象,在AggLayer提供的安全基礎之上,新的協調基礎設施將不斷涌現,實現新的、更好的互操作性和共享流動性形式。重要的是,整個Polygon生態系統不需要共享相同的基礎設施或信任假設。它不需要在單一共享的順序器或證明者下運行。這是相對于ORs的一個極其重要的優勢。

     

    4、總結

    聚合層基本上讓我們能夠創建一個感覺上像是使用單一鏈的多鏈生態系統。它是整體和模塊化論題的綜合:統一的狀態、流動性和可組合性,以及多鏈生態系統的無限可擴展性。

    聚合層與共享順序器的比較

    這個愿景從根本上只適用于基于零知識的系統。我將在以后的文章中詳細闡述這一點,但希望實現快速互操作性的樂觀生態系統必須依賴共享順序器。這對于鏈來說是個壞交易:它限制了它們重新分配順序器費用和MEV,共享有效性順序器迫使鏈使用同質化的執行環境,并且共享順序器在施加更高延遲的同時代表著可擴展性瓶頸。

    聚合層不是一個共享順序器。它不需要接收或處理發生在各個鏈上的交易,因此它不會成為可擴展性瓶頸。你可以將其大致看作是鏈狀態或批次的共享順序器,但每個批次可以包含的交易數量沒有實際限制,因此聚合層不是一個瓶頸。

    此外,跨鏈互操作性打破了ORs的一個重要屬性。對于單鏈ORs,任何人都可以運行一個OR的完整節點,并在交易發布到L1時立即確認交易是否有效和最終化。但在多鏈情況下,這不再成立——現在需要為OR與之互操作的每個鏈運行一個完整節點。

    相比之下,Polygon的愿景是鏈是主權的。它們可以使用任何執行環境,可以依賴任何集中化或去中心化的順序器,并且可以自行權衡跨鏈延遲和活性。

    這是一個與現有互聯網相類似的愿景。互聯網是一個具有彈性可擴展性、無需許可和統一環境的地方。同樣,聚合層是可擴展和無需許可的——它對參與鏈沒有任何限制——并且允許用戶在生態系統中無縫移動資產和狀態,為互聯網的價值層提供統一界面。

    這就是Polygon的未來:不是整體化的,也不是完全模塊化的,而是聚合的。

    確保流動性的統一的一部分是消除橋接上封裝合成Token的可怕用戶體驗。Polygon的LxLy橋接的用戶可以在不損失同質性的情況下在鏈之間無縫轉移資產。然而,為了安全地進行操作,我們需要防止最薄弱鏈接安全問題——即攻擊者破壞一個鏈并在橋接的所有鏈上轉移所有資金。我將在以后的文章中討論如何做到這一點,但聚合層可以利用證明聚合步驟來強制執行鏈級賬務,避免最薄弱鏈接安全問題。

    當我提到原子跨鏈交易時,我指的是用戶能夠在多個鏈上提交一個“捆綁”或一組交易的能力。原子捆綁具有這樣的特性:僅當所有交易成功執行時,相關鏈上的交易才會被包含在內。如果單個交易失敗,捆綁將無法在任何鏈上被包含。

    最基本的例子又是我們的跨鏈轉移。假設Alice想要將1個ETH發送給Bob,但Alice在Chain A上,而Bob在Chain B上。假設存在兩個Rollup的共享本地橋接,Alice可以在Chain A上銷毀她的ETH,并在Chain B上鑄造ETH并轉移到Bob那里。但關鍵是要確保她不能在沒有銷毀ETH的情況下鑄造ETH,也不能在沒有鑄造ETH的情況下銷毀它——否則她可能會失去ETH或者在橋接中資產不足。

    這就是為什么原子交易如此重要。為了允許鏈之間的低延遲交互,并使使用Polygon生態系統感覺像使用單一鏈,需要原子保證。

    這是一個微妙的問題,但從生態系統的角度來看,聚合層提供了安全性,但從單個鏈的角度來看,這種設計更注重活性而不是安全性,因為Chain B可能依賴于來自Chain A的無效鏈狀態。在這種情況下,聚合層將不接受Chain B(由證明聚合電路強制執行),并且需要在沒有對A的依賴的情況下構建一個新的區塊。

     

     

    本文鏈接:http://www.zhucexiangganggs.com/kp/du/02/5025.html

    來源: https://mirror.xyz/0xfa892B19c72c2D2C6B10dFce8Ff8E7a955b58A61/TXMyZhhRFa-bjr7YHwmJpKBwt2-_ysirbh_VpNy3qZY

    白話區塊鏈

    區塊鏈世界入口,人人都能看懂的區塊鏈;24 小時熱點實時追蹤。

    毛片免费看