Vitalik:如何實現跨Rollup DEX
ECN以太坊中国
2021-03-10 13:44
本文约2342字,阅读全文需要约9分钟
當僅有目標地址完全支持智能合約時,如何實現跨rollup。

作者| Vitalik Buterin

作者| Vitalik Buterin

提案

提案

提案

一級標題

提案

假設我們有一個交換中介Ivan (在實現時有許多中介可供選擇)。 Ivan 在rollup A 中擁有一個(完全由他控制的賬戶) IVAN_A。同時,Ivan 還在rollup B 的智能合約IVAN_B 中存了一些資金。

智能合約IVAN_B 具有以下規則:

➤ 如果任意用戶發送了一筆交易(發送某代幣交易值TRADE_VALUE 至賬戶IVAN_A) ,(交易中還附上了一個目的地址B DESTINATION 作為備註),則在最小償還延遲MIN_REDEMPTION_DELAY 區塊之後,該用戶就可以返還一筆交易至賬戶IVAN_B 中(其中包括之前的轉賬證明),然後這筆交易就會排隊等候提款至地址DESTINATION 中。

➤ 等待一定的延遲(例如一天) 後,按照轉賬打包進rollup A 的批次和索引順序處理提款。

➤ 當Ivan 發現其賬戶IVAN_A 收到款項時,他就可以親自發送TRADE_VALUE * (1 - fee) 代幣至DESTINATION 中。他可以用IVAN_B 的方法發送交易來完成上述操作,這個方法保存了一個記錄,防止合約中的自動發送條款觸發該交易。

預期的行為很簡單:

第二筆交易緊接著第一筆交易發生。如果Ivan 可以證明第一筆交易和第二筆交易之間的時間戳差異非常小,那麼合約甚至有規則允許提高費用fee 。

一級標題

一級標題

一級標題

資本成本

該方案的主要限制是,IVAN_B 需要持有大量的資金,以確保所有交易發送者都能得到支付。尤其是,假設出現以下情況:

➤ 我們將交易上限設置為TRADE_LIMIT (所以當發送至IVAN_A 的交易超出限額value > TRADE_LIMIT 時,交易無效)

➤ 每個rollup 批次最多可以包含TXS_PER_BATCH 筆交易

注意,這個設計中還包括隱含的費用,因為交易額超過0.1 ETH 的任意用戶都需要浪費區塊空間。這與資本要求相權衡,也就是說,如果用戶消耗了一半的區塊空間,那麼其資本要求將翻倍,反之亦然。如果想要獲得合適的平衡,那麼隱含的費用要比市場上明確的費用少幾倍。

一級標題

一級標題

上述設計基於一個假設:Rollup A 上的交易有一個備註字段,Alice 可以通過該備註指定ALICE_B 作為她接收代幣的目的地址。如果rollup 沒有這種特性,那麼我們可以使用以下解決方案。 Alice 可以在rollup B 上的一個以順序登記的合約上註冊賬號ALICE_B ,並獲得一個按順序分配的ID (因此Alice 的ID 等於在她之前註冊的用戶數量)。

一級標題

一級標題

一級標題

從Rollup B 到Rollup A 的交易

點擊“閱讀原文”獲取文章內部鏈接!

ECN的翻譯工作旨在為中國以太坊社區傳遞優質資訊和學習資源,文章版權歸原作者所有,轉載須註明原文出處以及ETH中文站。若需長期轉載,請聯繫eth@ecn.co進行授權。

點擊“閱讀原文”獲取文章內部鏈接!

原文鏈接:https://ethresear.ch/

ECN的翻譯工作旨在為中國以太坊社區傳遞優質資訊和學習資源,文章版權歸原作者所有,轉載須註明原文出處以及ETH中文站。若需長期轉載,請聯繫eth@ecn.co進行授權。

ECN以太坊中国
作者文库