ERC20 無限授權  方便自己也方便黑客 有沒有解決方案?

隨着 DeFi 的火爆,一般的區塊鏈老手用戶肯定不止一次對 DeFi 項目進行授權了,每當使用一個新的 DApp,都需要授權這個 DApp 花費你的代幣。除了流程繁瑣之外,每次授權都還要支付不菲的手續費。很多用戶爲了省錢省事,每次授權都是提供無限期授權,結果不知道哪天,突然發現自己的錢被人轉走了。而原因並不是因爲私鑰被盜,而是因爲圖方便給 DeFi 合約進行了無限授權,爲什麼會有無限授權?有沒有解決方案?

爲什麼要有 ERC20 授權?

有了以太坊上的原生代幣 ETH,你就可以將 ETH 發送至該智能合約,同時調用智能合約功能。這是通過所謂的可支付函數(payable funtion)實現的。但是,由於 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 主網中,多原生代幣 (Multinative token) 在 QuarkChain 系統中和 QKC 基本是一樣的地位,可以調用合約、跨鏈、在滿足某些情況的條件下可以支付交易手續費,除了不能參與 QKC 網絡治理,原生代幣可以實現 QKC 所有的功能,包括跨鏈轉賬。大部分 Defi 面臨的非原生資產不便利性問題都可以解決。而未來合約中,原生代幣的功能,將做到和 QKC 完全一致,消除多原生代幣應用的最後一層障礙。也就是說不需要授權,也就避免了無限授權的問題。

結語

代幣授權存在很大的安全隱患。如果我們想要改善密碼學貨幣應用的用戶體驗和安全性,我們顯然需要改進代幣授權功能。目前,最有潛力的就是多原生代幣功能從底層解決授權問題帶來的安全風險,不過目前 QuarkChain 公鏈上 DeFi 項目仍然較少,相信後續會有更大的爆發。

ERC20 無限授權  方便自己也方便黑客 有沒有解決方案?

最新進展

!ERC20 無限授權 方便自己也方便黑客 有沒有解決方案?

  • QuarkChain 百萬 TPS 實現 2020 年第四季度還將舉辦 TPS 比賽

  • 落地!QuarkChain 環境治理區塊鏈平臺將用於國內建築資源管理和交易

  • 讓礦工和持幣者實現合作的 DeFi QuarkChain 質押挖礦 1.0 版上線

  • QuarkChain 2020 年下半年計劃公佈:上線質押 DeFi 產品和多原生代幣功能的新版主網 BigBang

技術揭祕

!ERC20 無限授權 方便自己也方便黑客 有沒有解決方案?

進度報告

!ERC20 無限授權 方便自己也方便黑客 有沒有解決方案?

掃碼加入 QuarkChain 官方微信羣

ERC20 無限授權  方便自己也方便黑客 有沒有解決方案?

輸入鏈接,加入 QuarkChain 各大官方社區

telegram 英文社區:https://t.me/quarkchainio
telegram 中文社區:https://t.me/QuarkChain_ZH
Medium: https://medium.com/quarkchain-official
Twitter: https://twitter.com/Quark_Chain
Facebook: https://www.facebook.com/quarkchain/
Reddit: https://www.reddit.com/r/quarkchainio/
Discord 開發者社區 : http://discord.me/quarkchain

Github: https://github.com/QuarkChain/pyquarkchain
Youtube: https://www.youtube.com/c/QuarkChain

Weibo:http://weibo.com/QuarkChain

幣乎 : https://bihu.com/people/605748

知乎:https://www.zhihu.com/people/quarkchain/

ERC20 無限授權  方便自己也方便黑客 有沒有解決方案?點擊“閱讀原文”訪問官網