Rollup Bridge 介紹(二):Hop Protocol
本篇是 Rollup Bridge 介紹的第二篇,建議先從第一篇 Maker Bridge 看起:
以下所稱 L2 皆指 Rollup 而非 Plasma 或側鏈
以下所稱「資產」和「代幣」兩個詞指的是一樣的東西
以下所稱「七天」和「Rollup 挑战期」兩個詞指的是一樣的東西
快速跨 Rollup 資產轉移
如果你現在要從 Rollup A 把資產搬到 Rollup B,要怎么搬?答案是從 Rollup A 提款至 L1,再從 L1 存款到 Rollup B。所以你要等 Rollup A 的挑战期,然後再等 Rollup B 的存款到账(通常不會很久)才能成功完成跨 Rollup 的資產轉移。
圖片來源:Steven Wu from imToken Labs
而 Hop protocol 就像是前篇介紹裏 fast withdrawl 的例子一樣,只是現在流動性提供者是在 Rollup B 上去墊付而不是在 L1。以下會以 fast transfer 來指跨 Rollup 資產轉移,以便和 fast withdrawl 做出區分。
從高維來看 Hop protocol 就跟 fast withdrawl 一樣簡單,流動性提供者承擔資產鎖住七天的風險及機會成本,收取手續費;使用者支付手續費,換取能快速把資產轉移到另一個 Rollup 的服務。
注:Hop protocol 裏把流動性提供者稱作 Bonder。
而如同 fast withdrawl 例子,如果沒有人來墊付你的 fast transfer,你就必須自己走完正常的路线:回到 L1 再進到 Rollup B。
注:Rollup A 和 Rollup B 都支援 Rollup Bridge 的功能也是必要條件,否則無法安全可信地把轉账訊息從 A relay 到 B 上。
不過實現 Hop protocol 其實沒有這么簡單。首先,每一個 Rollup 的提款方式、挑战期以及存款時間都不一樣。每一個 Rollup 都需要 Hop protocol 團隊去對接。
注:Hop protocol 也可以接上 ZK Rollup,ZK Rollup 因為沒有挑战期所以設計會比較不一樣,但一樣需要團隊去對接。
而整個 Hop protocol 的安全性會取決於其所接入的 Rollup 中安全性最低的那個。如果某一個 Rollup(或甚至 Rollup 上面的某一個代幣合約)出現漏洞,導致攻擊者可以任意憑空印鈔,那攻擊者就可以馬上通過 Hop protocol 來換成其他 Rollup 上的資產。
其實就和跨鏈橋一樣,你的防守範圍從一條鏈變成了多條鏈上的無數個資產,其安全性不容輕忽。
接下來會介紹一些 Hop protocol 的設計細節
批量處理
如果每一筆 transfer 背後對應的 Rollup A -> L1 -> Rollup B 步驟,流動性提供者都要一筆一筆跑過一次,那會耗費很多 gas。所以 Hop protocol 提供批量處理的功能,流動性提供者可以等待一段時間,收集墊付完的 transfer,再把它們一並處理。
hToken
hToken 是 Hop protocol 的代幣,但這個不是治理代幣,而且每個代幣在 Hop protocol 裏都有相對應的 hToken,例如 ETH 有 hETH,DAI 有 hDAI。
為什么需要 hToken?
首先,它能統一代表同一種代幣,簡化使用介面的復雜度:使用者不需要選擇他要換的是 Optimism ETH 還是 Arbitrum ETH,使用者操作的都是 hETH。
其次,Hop protocol 不需要負責維護一個正統代幣的清單。任何人都可以在 Rollup 上發行一個 Dai 合約,那 Hop protocol 要怎么知道哪一個才是 Maker 團隊部署在 Rollup 上的 Dai 合約?答案是:Hop protocol 不需要知道,它只需要知道 hDAI。(你可能會想:拿到 hDAI 可以幹嘛?hDAI 等於 Dai 嗎?我們馬上就會講到)
最後,延續上一點。假設今天沒有 hDAI,而我要從 Rollup A transfer Dai 到其他 Rollup。Hop protocol 就必須在 Rollup A 上記載 Rollup B C D E … 上的 Dai 合約地址,而且其他 Rollup 也都要依照辦理。所以這樣全部 Rollup 上總共記載的數目會是 N*N*M(N 是 Rollup 數量,M 是代幣數量)。另外,誰有權力決定哪一個 Dai 合約才是正統?
好,那我今天拿到 hDAI 後可以幹嘛?答案是拿去 AMM 換成 Dai。我們先不討論 AMM 從哪裏來,因為只要有誘因就會有人建出 hDAI/Dai 的 AMM 交易對並提供流動性。
注:這裏的 AMM 指的 L2 上的 AMM。
先介紹 hToken 哪裏來:任何人都可以到 L1 的 Hop protocol 合約抵押代幣獲得 hToken,例如抵押 Dai 獲得 hDAI。流動性提供者一定會需要抵押來獲得 hToken,因為他們墊付的代幣會是 hToken。
接下來,假設使用者要從 Rollup A 把 Dai transfer 到 Rollup B,這過程會包含:
(1) 把 Dai 換成 hDAI、
(2) transfer hDAI 到 Rollup B、
(3) 在 Rollup B 上把 hDAI 換成 Dai
其中 (1) 和 (3) 都會有 Dai/hDAI 互換的需求,有需求自然就會有人愿意提供 Dai/hDAI 流動性來賺取手續費。
圖片來源:Steven Wu from imToken Labs
當然,如果你沒有被說服為什么需要 hToken,那 hToken 和 AMM 看起來就會像是故意擠出來扒使用者皮的玩法。你可以想想看假設沒有 hToken 的話,這個 protocol 的哪些運作流程、使用者介面會長得不一樣,會是更好、還是更壞。(或許真的會變得更好?)
最後是一些我想到的可能的問題。
手續費怎么估?如果沒有人墊付?
你可能有注意到,這個墊付的模式是你直接申請 transfer 然後等人來墊付,所以你在申請 transfer 時就要寫好你愿意支付的手續費是多少,如果你的手續費太低,那下場就會是你要自己跑完 transfer 過程 — 等待七天。
另外一個模式是你和流動性提供者先在鏈下協議好手續費,然後再送 transfer 申請到 Rollup。但是因為現在是在兩條不同 Rollup 上,表示交易不會是原子的:如果你在 Rollup A 上送出了你和流動性提供者協議好的 transfer,結果流動性提供者沒有在 Rollup B 上依約墊付給你,你必須要有管道能夠在 Rollup B 上證明你在 Rollup A 上和該流動性提供者的 transfer 協議。而這個管道會需要 Rollup B 能夠讀取到 Rollup A 的交易(因為這樣才能以去中心化的方式來證明),這並非做不到,但是考量到其復雜度和帶來的效益,可能不太值得。
所以目前這個模式會是比較可行的,但也表示計算手續費這邊要小心,避免沒有人來墊付,導致使用者要等七天。
另外不同 Rollup 上收取 gas 費用的方式不一樣,也是 Hop protocol 團隊在設計估算手續費功能需要注意的地方。
Happy case 以外情況的 demo?
目前 Hop protocol 團隊提供的 demo 只有 happy case 的 demo,沒有 demo 發生沒人墊付的情況或是流動性提供者平常在不同 Rollup 間搬運、平衡資產的過程。
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
24H熱門幣種與要聞 | Michael Saylor發布數字資產框架提案;Azuki疑似即將發幣(12.23)
24 H 熱門幣種 1、CEX 熱門幣種 CEX 成交額 Top 10 及 24 小時漲跌幅: B...