對rollup 最常見的批評之一是,它們“破壞了可組合性”。這一直是大多數單體鏈最大化主義者的主要論點。然而,“一條鏈來控制一切”是不可能的,多鏈生態系統是唯一的出路。
考慮到這一點,在主要基於rollup 的生態系統中,可組合性意味著什麼?
雖然可組合性的概念看起來很簡單,但在多ChainLink境中探索,它存在更多的細微差別。
可組合性:一個智能合約讀取和寫入另一個智能合約狀態的能力。
簡單地說,當應用程序可以與其他應用程序交互時,它們就是可組合的。例如,一個自動化Uniswap v3 流動性頭寸的應用程序可以與Uniswap 組合,因為它可以讀取Uniswap 流動性礦池的當前數據並為其用戶執行增加或刪除流動性頭寸。如果Uniswap 和流動性應用程序位於同一條鏈上,它們可以同步組合。
同步可組合性:智能合約之間的可組合性,其中交互在已知和有限的時間內發生。
同步可組合性只是在單個區塊的時間跨度內發生的應用程序之間的交互。例如,閃電貸要求借款人在單次交易中藉入和償還貸款。由於單個事務不能跨越多個區塊,所以它必鬚髮生在單個區塊內。通常,在同一條鏈上相互組合的應用程序都是同步進行的。以太坊上的所有DeFi 應用程序彼此同步組合。然而,同步可組合性並不是唯一的可組合性類型。
異步可合成性:智能合約之間的可組合性,其中交互發生在未知且不受限制的時間內。
與同步可組合性(應用程序之間的交互必鬚髮生在一個區塊內)不同,異步可組合性使應用程序之間的交互跨越多個區塊。雖然異步交互可以花費無限的時間,但實際上沒有人願意永遠等待。超時可以通過在預定的時間內停止交互來緩解這種情況。重要的是,異步可組合性使不同鏈上的應用程序能夠相互交互。但是,如果應用程序位於不同的鏈上,它們將如何進行組合?
橋(Bridges)
在不同的區塊鏈之間傳遞數據需要一個橋。雖然許多橋只是為了在鏈之間轉移代幣而存在,但異步可組合性的優點使用戶能夠與不同鏈上的應用程序進行交互,而無需任何代幣橋接。例如,假設Uniswap v3 和我們第一個示例中的流動性應用程序位於不同的鏈上。當用戶在鏈A 上與流動性應用程序進行交易時,它將與鏈接到鏈B 的橋進行交互。流動性應用程序將向橋指定它想要與鏈B 上的哪個應用程序交互,以及它想進行什麼類型的交互。在這種情況下,我們會說它在Uniswap 上創造了流動性頭寸。然後,橋將數據轉發至鏈B 以在Uniswap 上創建流動性頭寸,並將結果返回給鏈A,包括來自Uniswap 的一個LP NFT。
要使橋能夠實現異步可組合性,它需要通用的數據傳遞功能。通用數據包含區塊鏈可以中繼的任何任意類型的數據,如應用程序狀態、有效性證明或區塊頭。
匯總
存在於同一Rollup 中的應用程序可以彼此同步組合。但是,不同rollup 上的應用程序需要一個橋來進行異步組合,這與不同單體鏈上的應用程序的要求相同。由於不可能使用單個區塊鏈來擴展所有web3 活動,因此具有異步可組合性的多鏈生態系統是唯一的解決方案。 rollup“破壞”可組合性的論點是短視的,因為:
應用程序本質上不可能都生活在單個區塊鏈上。因此,它們必須跨越多個鏈。
儘管存在於不同的鏈上,但應用程序可以組合。
因此,多鏈生態系統有其自身的一系列基本問題。
每個區塊鏈都需要引導自己的安全驗證器集。
區塊鏈需要安全的橋接。
除了rollups 可以擁有的可擴展性屬性之外,它們還解決了這兩個基本問題。 Rollups 不需要自己的驗證器,只需要一組序列器來生成區塊。基礎層提供安全驗證器集。共享一個結算層的Rollups 可以在它們之間建立信任最小化的橋,因為它們的狀態轉換可以通過結算層輕鬆驗證。
最後,異步可組合性部分緩解了多鏈生態系統的另一個基本問題,即碎片化,因為應用程序可以從不同的鏈上獲取流動性。例如,跨多個鏈上聚合和路由交易的DEXs 將減少對大型交易的價格影響,因為增加了獲得流動性的機會——對於穩定幣和質押衍生品來說甚至更好。