FlashMint — 無擔保閃電貸
Oct 25, 2020
來自 Austin Williams 的 research project。
原始碼在這:https://github.com/fifikobayashi/FlashMintArbitrage
大家目前的看到的閃電貸其實背後是由流動性池來支撐的,那些借出去的 token 都是真的,而出借的上限就是整個池裡的流動性。但… 假如我們可以印無限多的 token 來出借,一樣確保這個交易結束要還,這樣行得通嗎?
FlashMint 就是依據這樣的構想設計的合約,讓你可以借最多 2²⁵⁶-1 fWETH。合約同樣支援你可以把手邊的 fWETH 跟 ETH 一對一兌換。不過這個看似瘋狂的點子到底有沒有問題?接收 fWETH 的人真的可以確保他拿到的不會是空氣?
可以參考 Austin 在 presentation 裡的解釋:
簡單來說,只要交易成功結束,你可以確保你手中拿到的 fWETH 真的等值一個 ETH,因為要是不等值,這個交易一定會被 revert。
那 FlashLoan 與 FlashMint 的差異在哪?主要的差異是,由於背後沒有流動性池的支持,你印出來的代幣,要是沒有人接受,基本上也沒有任何用途。但一但有人開始接受 fWETH(例如他用自己的 ETH 流動性,讓你把 fWETH 換成 ETH),這些印出來的代幣就可以去做有趣的事了(例如 DEX 套利)。
總結來說:
- 無擔保閃電貸可以適用於不只是 WETH 的代幣
- 無擔保閃電貸池裡面初始甚至不需要有任何資金就可以啟動
- 某種程度這種閃電貸的侷限還是取決中間的交易對手流動性的上限,也就是你就算印了 2²⁵⁶-1 fWETH 可能也沒有地方可以全用。
- 閃電貸的侷限就是通常只能被拿來做套利,或是滲透其他智能合約的漏洞,FlashMint 可能會讓我們有一個更有效率的市場,但也有可能讓不安全的智能合約更容易被駭。