原文編譯:Captain Hiro
原文編譯:Captain Hiro
原文編譯:Captain Hiro
原文編譯:Captain Hiro
原文來源:Defi之道
Eric Wall前幾天在推特上發布了這個消息。
我從EricaDAO的實驗中得到的一些令人不安的技術教訓:
以太坊L2(第二層網絡)上有一些不常被討論的限制(至少我沒看到有科學家討論過這些問題)。雖然用戶可以直接在L2上進行交易,但部署合約卻沒有那麼輕鬆。
它促使我考慮如何將一個代幣(或dapp,去中心化應用程序)完全部署在一個L2上,併計劃以後擴展到L1(主網)或其他L2上。顯然,Eric在帖子中提到的體驗並不友好,所以在弄清楚他的遭遇之前,我們需要首先先搞明白在這個新世界裡L2第一(L2-first)到底意味著什麼。
實際上,Eric和他基友遇到的問題是:當他們在L2上先創建一個代幣時,他們不能將其“提現”到L1上。
我們在@arbitrum上部署了一個ERC20合約,但卻不知道如何將代幣提取到L1上。
通常情況下,如果你想把你在L2上的代幣提現到L1(很可能你會這樣做,對嗎?),你需要先在L1上部署智能合約,隨後將代幣充值到L2上。但這樣你就要支付全部的鏈上費用和過橋費。
Eric帖子中提到的“提現”一詞非常重要,它有一個非常具體的含義。讓我們首先看一下目前從以太坊擴展到L2的標準做法。它的操作如下:
這裡我們有跨鏈橋的兩個最基本的操作:左邊是充值,右邊是提現。
在左邊的例子中,代幣(本例中的DAI)被鎖定在Arbitrum代幣橋的L1端。然後相關的一條信息在鏈之間傳遞,一個新的代幣在L2端被鑄造出來,我們稱之為“Arbitrum DAI”。請注意L1和L2的代幣(DAI和Arbitrum DAI)是不一樣的。也許你認為它們就是一回事兒,但實際上不是。上面的操作被稱為“充值”。
在右邊的例子中,我們做的是正好相反的事情,銷毀(burn)之前鑄造的“Optimism DAI”,然後從L2向L1發送一個消息,告訴L1橋釋放之前鎖定的DAI。這個操作被稱為“提現”。
對於終端用戶來說,這感覺就像是同一個“DAI ”不同主網和第二層網絡上流通。在大多數情況下,你可以這樣想,但如果你正在部署一個新的代幣,你應該注意其中的微妙之處。
首先,我們需要了解代幣的包裝(wrapped)版本和根代幣(root token,最初的代幣)之間的區別。在上面的例子中,根代幣實際上被部署在L1上,它被認為是“真正的DAI”。只能有一鏈可以承載根代幣。橋所能做的就是鑄造另一個代幣,它在鑄造完成後可以兌換最初存入的DAI。這與ETH和WETH之間的關係完全相同。
現在,所有包裝代幣(wrapped token)都可以贖回根代幣的前提之一是,任何包裝代幣的總供應量必須小於或等於鎖定在橋中的根代幣的數量。只要這種關係成立,那麼代幣就可以進行有效地互換(此處忽略了從L2提現有7天的延遲時間)。
正如你所看到的,選擇把根代幣放在哪裡是相當隨意的。你可以構建一個根代幣,並把它從L1或L2分支到其他每個鏈。我們選擇Arbitrum作為部署根代幣的鏈,是因為我們可以堅持在Arbitrum上而不接觸L1(避免了超高的gas費用),直到我們準備好。
1. 安全性
在選擇根代幣的位置時,有兩個重要的部分需要牢記:
1. 安全性
我們在前面提到了可替代性問題。如果鎖在橋一側的任何一個代幣被盜,那麼新鑄成的代幣就不再有支持,你就失去了可替代性。發生這種情況是非常有可能的,但重要的是要記住,類似於木桶效應,你的代幣的安全強度相當於最弱的那條區塊鏈。這就是為什麼以太坊是根代幣的最佳候選者,因為只需要簡單的操作,它就可以直接與大多數其他區塊鏈進行橋連,而且以太坊本身可以說是最安全的區塊鏈之一。
然而,如果我們相信L2繼承了以太坊的安全模式的話,那麼將根代幣部署到L2上應該在安全上和部署在以太坊主網上是沒有什麼區別的。對於這些較小的項目來說,為了避免以太坊主網超高的gas費用,從L2開始部署項目是非常合理的。
2. 鑄幣權
一個常見的做法是提前在橋上鑄造根代幣,並通知另一方的“其他鑄幣權合約”,只要不超過代幣分配的數量,他們就可以根據任意的邏輯鑄造這些包裝代幣。這就是你如何允許在多個鏈上同時鑄幣的方法。這對於可替換的代幣來說是很容易的,但是NFT(非同質化代幣)帶來了一些挑戰,因為你可能不知道哪些代幣會被提前鑄幣。我將把這個問題留給其他人,因為我不是一個NFT專家。
原文鏈接


