小心你的加密貨幣——你不會想過授予任何人無限期使用你的銀行賬戶的權利嗎?然而,當你在不了解其機制的情況下使用令牌批准時,這確實是你在做的事情甚至你的Ledger 也無法保護你
“批准”是一種允許第三方轉移你的代幣的機制。不幸的是,如果你不完全了解批准的工作原理,它也可能為詐騙和重大經濟損失鋪平道路。在本文中,我們將了解什麼是代幣背書,以及如何安全地使用它來轉移你的數字資產。保持警惕,因為你的代幣的安全性取決於你對這種機制的理解。
概括: 什麼是加密貨幣背書以及為什麼要使用它?令牌批准,它是如何工作的? ERC20和ERC721的“批准”功能: ERC721和ERC1155的“setApprovalForAll”函數: 你的加密貨幣有哪些風險?如何防止潛在的盜竊?對於ERC721 / ERC1155: 對於ERC20: 什麼是加密貨幣背書以及為什麼要使用它?
ERC20、ERC721 和ERC1155 代幣是為定義數字資產標準而創建的代幣標準。
快速提醒一下,ERC20 代幣是可替代的代幣,而ERC721 和ERC1155 代幣是不可互換的代幣(ERC1155 代幣是半可替代的)。
這三個標準是通過整合我們今天要檢查的機制創建的:批准。
令牌的批准(批准)允許用戶授予另一個用戶轉移一定數量的加密的權限。這在多種情況下很有用,例如,如果你想授權朋友代表你移動你的代幣,或者你希望授權(或不授權)去中心化應用程序使用你的代幣進行交易。
重要的是要注意,此機制僅適用於在區塊鏈上發行的代幣,而不適用於後者的原生代幣。例如,以太坊區塊鏈的以太幣沒有批准機制,這就是為什麼一些應用程序使用盤點以太幣(wETH) 來利用這種工具的強大功能。
令牌批准,它是如何工作的?
代幣的批准直接通過發行該代幣的合約完成。例如,如果你希望某個地址可以訪問你的USDC,那麼你必須使用USDC 代幣合約來完成批准。
根據合約類型,你會發現兩種不同的功能。這是這兩個功能的出勤表:
ERC20 ERC721 ERC1155
按標準存在批准功能。
approve 功能允許ERC20 和ERC721 代幣的用戶給另一個地址(通常是合約)授權以花費特定金額或NFT。
ERC20和ERC721的“批准”功能:
對於ERC20,approve 函數將花費者的地址、有權訪問你的代幣的人以及與你希望授權的代幣數量相對應的金額作為參數。
使用ERC20 令牌批准的應用程序往往會要求大量批准,因此他們不必在每筆交易中都要求你重新批准。
ERC20標準的“批准”功能——來源:github @openzeppelin
對於ERC721,approve 函數始終將可以訪問NFT 的地址作為第一個參數,但是這次,第二個參數將是你的NFT 的編號。因此,它允許你訪問合約的單個NFT,前提是該NFT 是你的。
ERC721標準的“批准”功能——來源:github @openzeppelin
ERC721和ERC1155的“setApprovalForAll”函數:
setApprovalForAll 函數適用於ERC721 和ERC1155 類型的代幣。
兩個標準的參數是相同的,第一個始終是可以訪問的地址,第二個是布爾值(true 或false),這使得可以定義所討論的地址是否對你的令牌具有權限.
顧名思義,此功能會自動為同一合約授予你投資組合中存在的所有NFT 的權利。
ERC721 和ERC1155 標準的“setApprovalForAll”審批函數——來源:github @openzeppelin
你的加密貨幣有哪些風險?
代幣背書存在許多風險。
首先,惡意第三方有可能通過欺詐性應用程序獲得授權訪問你的代幣並在未經你同意的情況下轉移它們。為了限制這種風險,仔細閱讀你簽署的交易非常重要。很多時候你的錢包會告訴你需要審批,正常不正常就看你自己了。
此外,如果被黑客入侵,要求大量批准的應用程序可能會耗盡你的錢包。事實上,重要的是要注意批准是永久性的,並且隨著時間的推移它始終處於活動狀態。
例如,假設你授權將價值一萬美元的USDT 轉移到協議中。後者使用一千美元。然後你決定取出剩下的九千美元來清空你的錢包。如果有一天你決定將USDT 放回你的錢包,即使是10 年後,該協議仍然可以使用你的9000 美元資金。
如何防止潛在的盜竊?
首先,重要的是檢查你要簽署的交易並仔細閱讀批准請求。
撤銷你不再使用的批准權限並且只將權限授予你信任的人或應用程序也是一個好主意。
但是如何撤銷這些權限呢?好吧,只有一種方法可以重用之前看到的相同功能。
默認情況下,平台對ERC721 和ERC1155 令牌使用setApprovalForAll 以及對ERC20 進行大量批准。這允許他們只要求你批准一次。要撤銷這些批准,只需執行反向操作即可,即:
對於ERC721 / ERC1155:
使用setApprovalForAll 函數,將協議(或個人)地址作為第一個參數,將false 作為第二個參數,以刪除批准。
對於ERC20:
使用協議(或人)的地址作為第一個參數的approve 函數,第二個參數的數量為零,這將完全撤銷對你的加密的訪問權限。
一個小提示,如果你不知道你已經批准了誰,這個網站允許你識別他們並直接從他們的申請中撤銷他們。定期執行此操作對於良好的數字衛生非常重要。
總之,令牌背書可能是一種非常有用的安全傳輸加密的機制,但了解與此功能相關的風險很重要。為了保護你自己,仔細審查你簽署的交易、僅向受信任的人或應用程序授予權限以及撤銷你不再使用的批准權限至關重要。充分了解代幣背書並負責任地使用此功能,你可以充分利用區塊鍊及其所有應用程序的優勢。
不要吝嗇謹慎因此,為了保證你的加密貨幣安全,最好的解決方案仍然是個人硬件錢包。在Ledger,所有配置文件和所有加密貨幣都有一些東西。不要等待將你的資金安全(商業鏈接)
文章令牌批准:你的加密的致命弱點首先出現在Journal du Coin 上。
資訊來源:由0x資訊編譯自JOURNALDUCOIN。版權歸作者Maxime – 0xNekr所有,未經許可,不得轉載