當我們去互動 crypto 新專案的時候,經常被頁面提示,需要先授權(Approve)代幣。做了這一步才能允許專案跟我們錢包裡的幣進行交易、質押、借貸等各種互動。
目前市面上 99% 的專案在智能合約上編寫這個授權功能的時候,都會把代幣的數值設定成無限大,以方便使用者在日後互動中,不用每次都多一步授權的操作。
然而,這也成了智能合約運行中一個最令人擔憂的安全隱患之一。這就意味著,即使我們沒有把我們的幣放在協議裡,專案方仍然有權限把幣從我們自己同一個地址裡調走。這個操作,並不需要我們用私鑰簽名,所以大家授權的時候一定謹慎小心。
提醒:當助記詞洩漏,無論有沒有硬體錢包,幣都會全部丟失;當過度授權沒有取消,專案方作惡,無論有沒有硬體錢包,幣都會全部丟失;當專案方捲款潛逃,無論有沒有硬體錢包,幣都會全部丟失。