圖片來源: mohamed_hassan, pixabay

【這陷阱,偏我遇上?】授權智能合約的潛在風險與補救

如果有人請你開一張不填銀碼的支票,你只要頭腦夠清醒,都很大機會拒絕。不過在Defi(去中心化金融)的世界裡,你卻會經常開出這種「不填銀碼」支票,授權智能合約可以無上限地動用你的資金。如果遇到有心人設下陷阱,就很容易血本無歸。因此我想介紹一些工具,讓你檢視一下自己到底有否授權智能合約自由動用你的戶口資產,以及如何取消或改變這些授權,保障自己。

無論你想交易代幣、抵押代幣收息(Yield Farming),或購買心儀的NFT(非同質化代幣),很多時都需要向執行這些服務的智能合約作出授權,容許其轉移你銀包內的代幣資產以完成交易。有很多平台為了優化用家體驗,不需要每次交易或修改條款都重新授權,智能合約可能會要求用家給予一個無金額上限的授權,這種設定於行內並非罕見。

不過,這種做法尤如開出一張不填銀碼的支票,理論上合約是可以挪用你指定戶口內的所有代幣資產。雖然智能合約都是公開的,有心人若要「出蠱惑」也不難被發現,但過去亦有一些例子,是故意於合約裡開了「後門」,即使用家不再使用其服務,合約仍可以控制該錢包,並轉走內裡的代幣,因此而損失逾百萬的大有人在。

這幾年去中心化應用越來越多,活躍的用家都可能已簽下一大堆合約授權而不自知,然而風險日積月累不可以忽視。幸好近期主要的區塊鏈瀏覽器如etherscan.iobscscan.iopolygonscan.io,都相繼推出了代幣核准(Token Approvals)的功能,為你的錢包提供一份綜合授權清單,並且可以即席修改或取消授權。

以最流行的以太坊瀏覽器etherscan為例,讀者只要到其幣核准網頁(圖一),輸入錢包地址,便可以找到與這地址有關的合約授權,以及當中授權的金額(Allowance) (圖二)。程式還會告訴你涉及有風險的金額及NFT有多少(at risk)。

圖一

Teams
Description automatically generated with low confidence

圖二

若想修改授權,則要先把錢包地址連結上etherscan,按 「Connect to Web 3」,然後選取Revoke,便可以進行修改(圖三),把授權金額調低至一個上限,或甚至索性改成零取消授權(圖四),當然在區塊鏈上的任何手續都需要付費(圖五)。

圖三

Graphical user interface, text, application, email, Teams
Description automatically generated

圖四

Graphical user interface, text, application
Description automatically generated

圖五

Graphical user interface, text, application, chat or text message, email
Description automatically generated

在去中心化的世界裡,各種各樣的創新每日湧現,但同時亦潛伏著不少陷阱。一不留神,將擁抱新世界賺回來的回報不明不白地回吐,殊為不值。若不想因為大開中門被乘虛而入,亡羊補牢,未為晚也。

注:現時運行智能合約的主要區塊鏈,都有提供代幣核准的功能,以下列出數個供讀者參考:

Etherscan

Bscscan

PolygonScan

FtmScan

編輯推介

    發表意見