如果有人要你開一張不填銀碼的支票,你只要頭腦清醒,都很大機會拒絕。不過在 Defi(去中心化金融)的世界裡,你卻常常開出這樣的支票,授權智能合約可以無上限地動用你的資金,如果遇到有心人設下陷阱,便很容易血本無歸,所以今次我想介紹一些工具,讓你檢視一下自己到底授權了多少智能合約可動用你戶口的資產,以及如何取消或改變這些授權,保障自己。
無論你想交易代幣、抵押代幣收息(Yield Farming),抑或購買心儀的 NFT(非同質化代幣),很多時都要向執行這些服務的智能合約作出授權,容許其轉移你銀包內的代幣資產,讓相關交易可以完成。有時為了用家體驗,不用每次交易或修改條款都要你重新授權,智能合約可能會要求你給予一個無金額上限的授權,這在行內並不少見。
不過,這種做法尤如開出一張不填銀碼的支票,理論上合約是可以挪用你指定戶口內的所有代幣資產,雖然智能合約都是公開的,若出蠱惑不難被發現,但過去亦有一些例子,是有心人在合約上開了後門,用家即使不再使用其服務,合約仍可以控制該錢包,並轉走內裡的代幣,因此損失逾百萬的大有人在。
這幾年去中心化應用越來越多,活躍的用家都可能簽下一大堆合約授權而不自知,風險日積月累便不可以忽視。幸好近期主要的區塊鏈瀏覽器如 etherscan.io, bscscan.io, polygonscan.io,都相繼推出了代幣核准(Token Approvals)的功能,提供一份你的錢包戶口的綜合授權清單,並且可以即席修改或取消授權。
以最流行的以太坊瀏覽器 etherscan 為例,讀者只要到其代幣核准網頁(圖一),輸入錢包地址,便可以找到與這地址有關的合約授權,以及當中授權的金額(Allowance) (圖二)。程式還會告訴你涉及有風險的金額及NFT有多少(at risk)。
圖一
圖二
若想修改授權,則要先把錢包地址連結上 etherscan,然後選取Reset,便可以進行修改(圖三),當然在區塊鏈上的任何手續都需要付費(圖四)。
圖三
圖四
若想索性取消授權,則可以按清單上右手面的revoke,並出現如圖五的畫面,再按一次Revoke,確認取消授權。
圖五
在去中心化的世界裡,每日都湧現各種各樣的創新,但同時亦潛伏著不少陷阱,一不留神,把擁抱新世界賺回來的回報不明不白地回吐,殊為不值。不想因為大開中門被乘虛而入,亡羊補牢,未為晚也。
注:現時運行智能合約的主要區塊鏈,其瀏覽器都有提供代幣核准的功能,以下列出數個供讀者參考:
Etherscan
Bscscan
PolygonScan
FtmScan