ERC20的無限授權:便利與安全之間的較量

隨著DeFi的普及,區塊鏈用戶現在需要多次授權DeFi項目。每當用戶想要使用新的DApp時,您都需要授權DApp使用您的代幣,

除了繁瑣的流程,每一次的授權都要支付大量的費用,為了節省資金和時間,許多用戶在需要時選擇無限授權,

因此,他們不知道什么時候忽然發現自己的代幣被轉走了。原因不是私鑰被盜,而是因為他們對DeFi合約授予了無限授權,為什么會有無限授權?有解決辦法嗎?

為什么會有ERC20授權?

使用以太坊上的本土代幣,您可以將ETH發送到智能合約并同時調用它,這是通過所謂的授權功能實現。

但是,由于ERC20代幣本身是一個智能合約,因此以太坊無法通過將智能合約代幣發送到智能合約來直接調用它。原因是該交易發生在ERC20代幣合約上,而不是發生在DeFi合約上,

那么如果合約需要調用ERC20呢?在ERC20標準中,為智能合約提供了一種解決方案,即使用transferFrom()函數代表用戶轉移代幣,為了激活此功能,用戶需要授權智能合約來執行此操作,

授權后,用戶可以將代幣“存入”智能合約以使用DeFi應用程式,

例如,如果用戶將USDT存入Aave以賺取利息,那么他們首先需要授權Aave合約從用戶的錢包中提取USDT。

然后調用Aave合約函數指定用戶要存入的USDT數量。然后,Aave 合約使用transferFrom()功能從您的錢包中提取相應金額的USDT來完成交易。

無限ERC20授權的問題

在授權使用DeFi時,您可以選擇授權一次,即只同意本次交易,也可以選擇無限次,允許合約在未來無限次地在您錢包中操作此代幣,

目前,DeFi所依賴的以太坊基礎設施并不完善。因此,無限授權DeFi合約是改善DeFi體驗的有效方式。

避免了每次使用前都要授權的麻煩,以及每次交易前授權造成的GAS費用消耗,在設置了無限授權后,用戶只需同意一次,即可以避免在此后的存款中重復該流程,

但是,這種設置有很大的缺點,因為用戶授予的不僅僅是對轉移到合約中的代幣的操作權,還有包括錢包中代幣的控制權。

換句話說,一旦合約被黑客攻擊,不僅DeFi項目中存入的代幣,我們自己錢包中的代幣也會受到威脅。

因為這個授權是通過自己的私鑰簽名授權的,一旦被攻擊,即使使用冷錢包也無法防止被盜,

如何預防?

1. 取消未交易資產的授權

現在DeFi項目如雨后春筍般涌現,很多項目可能在不知情的情況下被授權,這增加了被盜的風險,我們可以通過查詢自己的錢包地址來查詢DeBank上的授權合約,然后取消高風險項目的授權。

2.使用多個賬戶,交易后及時轉出資產

即使是最可靠的項目也可能受到攻擊。因此,更重要的是不要把所有的雞蛋放在一個籃子里,

3.考慮其他平臺

由于以太坊基礎設施無法改變,其他基礎設施靈活的公鏈成為未來的選擇,

例如,具有多原生代幣功能的QuarkChain將成為替代方案。多原生代幣在QuarkChain系統中與QKC具有相同的地位。

他們可以調用合約,跨鏈,并在一定條件下支付交易費用,

除了能夠參與QKC網路治理外,多原生代幣還可以實現QKC的所有功能,包括跨鏈轉賬,

Defi面臨的大部分非原生資產不便問題都可以得到解決。在未來的合約中,多原生代幣的功能將與QKC完全相同,消除了應用多原生代幣的最后障礙,也就是說,不需要授權,避免了無限授權的問題,

結論

代幣授權存在很大的安全隱患。如果要提升加密貨幣應用的用戶體驗和安全性,顯然需要完善代幣授權功能。

目前,多原生代幣功能最有潛力從根源上解決安全問題。但是,基于QuarkChain構建的DeFi項目仍然很少,我們相信未來會有很大的爆發。

0 条回复 A文章作者 M管理員
    暫無討論,說說你的看法吧