前言:隨著ETH2.0的分片到來,有人擔心,以太坊的DeFi中的重要屬性“可組合性”還會繼續保持嗎?V神認為不用擔心。可以先“yanking”拉取分片,然后在同一分片上同步執行操作。
最近有人擔心,以太坊的“可組合性”的屬性,也就是不同的應用可以輕易相互交談的能力,在ETH2.0的分片環境下是否還會繼續保留。本文認為,基本上會維持這種能力。
分片會發生什么變化?
分片內的交易跟之前一樣。分片之間的交易仍然可以發生,且會很快,但它們會是異步的,使用收據的方法。通常來說,“在這邊的做事將很快會影響到那邊”的工作流形式會很容易;而“在這邊做事,然后在那邊做事,接著基于那邊事情的結果在這邊做更多的事情”這種工作流形式不太容易實現。
進行這種形式的操作通常需要首先將合約從“那邊”的分片“拉取”到“這邊”的分片,然后在一個分片上同步執行整個操作。
然而,正如我們從下面的案例中看到的一樣,大多數用例將不會受到嚴重破壞,或者可以輕微重寫以在跨分片的模式中生存下來。
代幣
ERC20標準將需要修改。代幣將能在所有分片上存在,且可以無縫地從一個分片移至另一個分片,正如ETH一樣。這可以通過收據來完成,跟ETH從一個分片移至另外一個分片的方式一樣,我們可以將代幣從一個分片移至另外一個分片。這里沒有根本上的困難。
可組合性案例1:Uniswap 《-》 代幣
幾乎所有DeFi應用都在使用可組合性,因為代幣是一種類型的應用,因此任何使用代幣的DeFi應用都是跟其他應用交互的應用。
以Uniswap為例子,在Uniswap中,用戶發送一定數量的代幣A到Uniswap合約,合約向用戶返回一定數量的代幣B。Uniswap要求所有與之交互的交易之間嚴格依賴:第N個交易必須清楚第N-1個交易的輸出,因為這是價格更新算法的工作方式。
因此,Uniswap合約將需要在一個單一的分片上進行,(存在多分片Uniswap的設計,但這更加復雜)。尋求交易的用戶將執行兩個步驟:
1.用戶將其代幣A發送到Uniswap所在的分片
2.跟之前一樣,與Uniswap進行交易(將交易與步驟1的“索要”收據交易結合在一起,因此算是一個步驟)
還有可選的一步,如果需要,將Uniswap給他們的代幣B移至其他分片。(藍狐筆記注:比如在Compound上執行借貸操作。)
可組合性案例2:在Compound上進行借貸(包括cDAI等)
Compound也可存在于單個分片上(如果Compound變得流行,代表不同代幣對的Compound的不同實例可以放置于不同的分片上。擁有一種代幣的用戶將其代幣移至特定Compound實例所在的分片上,并且像之前一樣創建杠桿頭寸。
可組合性案例3:L2擴展解決方案中的代幣(Rollup,Plasma。)
將代幣移至有合約的L2擴展解決方案的分片上,存入合約。搞定。
可組合性案例4:rDAI、gDAI等
將你的DAI移至[此處插入DAI樣式]合約中。從[此處插入DAI樣式]取出,并移至所需的任何分片。為了方便起見,[此處插入DAI樣式]合約本身只能與DAI的Compound實例位于同一分片。
可組合性案例5:Set協議
將代幣移至Set協議合約所在的分片(不同的實例可能會在不同的分片中,如Compound)。將它們發送至Set協議合約,取出Set代幣,將Set代幣移至所需的任何分片。
可組合性案例6:預言機
不支持同步跨分片交易,因此,“調用合約并立即得到答案”的工作流將無法起作用。不過,你可以簡單地提供Merkle 證明來顯示在上一個區塊的其他分片上合約的狀態價值(或者在最新區塊,應用的分片知道預言機合約的分片的狀態根)。
可組合性案例7:非同質資產和市場
非同質資產包括NFT,游戲內資產,ENS名稱,MakerAO CDPs,Compound的頭寸等,都可以“拉取”到其他分片,在那里它們可以跟其他應用進行無縫地交互(例如原子互換市場,拍賣),跟之前一樣。
疊加工具(如Instadapp)
通常來說,使用專門智能合約跟dApp互動的疊加工具將需要為其支持的每個功能創建合約,用戶可以拉取到所需的分片中,然后在該分片上執行所需的任何功能。
來源: 藍狐筆記?
評論
查看更多