imToken 在四個環節防止 DApp 過度授權:訪問 DApp、訪問錢包地址、授權轉賬數量與授權管理 DApp。

原文標題:《imToken 如何應對 DApp 過度授權問題?》
撰文: imToken

近日,一個存在已久的開放問題 ——「DApp 過度授權」在以太坊社區中被重新提及,各大媒體、錢包以及 DApp 項目方都參與了這次討論。imToken 作爲主流的以太坊錢包,對該問題始終保持着高度關注,同時在深入地探討與研究中尋找更加合理的解決方案。

錢包該如何應對 DApp 過度授權?看看 imToken 的對策

什麼是「DApp 過度授權」?

用戶與 DApp 進行涉及數字資產的交互時,首先需要授權(approve),爲什麼要授權操作呢?我們舉一個典型的案例 :

  • Alice 希望在 Compound 上存款 100 Dai,獲得不錯的收益。
  • 那麼 Alice 需要將 Dai 授權給 Compound 借貸合約,讓借貸合約擁有轉移 Alice Dai 資產的能力,以便後續可以完成 Dai 與 cDai (Compound 借貸憑證)的原子兌換。

DApp 開發者爲了避免用戶反覆授權,一般會默認設置授權最大數量的代幣給智能合約。但這樣的處理也明顯暴露風險,如果智能合約出現漏洞或合約管理員作惡,那麼用戶的代幣將存在丟失的風險,這就是「DApp 過度授權」帶來的問題。

「DApp 過度授權」是技術社區存在已久的公開問題,而當前 DeFi 的興起改變了安全和易用間的平衡,對此我們需要重新考慮這個問題。而想要解決它,需要錢包、DApp 開發者與用戶多方參與,共同改進。

imToken 目前是如何應對的?

訪問 DApp

首先,我們會從源頭掐斷惡意轉移用戶資產行爲發生的可能。

DApp 瀏覽器是一個開放的瀏覽器,用戶可以直接訪問上架應用,也可以輸入 URL 訪問任意 DApp。我們會針對存在潛在問題的應用給予風險提示,以免用戶上當受騙。

錢包該如何應對 DApp 過度授權?看看 imToken 的對策

訪問錢包地址

其次,當 DApp 請求用戶錢包地址時需要經過用戶授權確認 ,以免用戶地址隱私泄漏,讓有問題的 DApp 有機可乘。

錢包該如何應對 DApp 過度授權?看看 imToken 的對策

授權轉賬數量

最後,當 DApp 要求用戶代幣授權時,imToken 也會給予明確的授權信息,以便用戶清晰瞭解授權上下文,甚至進一步編輯授權數量,降低授權風險。

注:授權功能將於近期上線

錢包該如何應對 DApp 過度授權?看看 imToken 的對策

授權管理 DApp

此外,imToken 還在 DApp 瀏覽器中提供了代幣授權管理的相關 DApp,打開 DApp 瀏覽器,在「工具」類目下找到「Approved Zone」,點擊進入即可輕鬆管理已授權的第三方 DApp 權限,隨時關閉不再使用的應用權限,保護自己的資產安全。

更長遠考慮

近期 imToken 除了以上的處理方案,也會針對授權管理問題進行更深入地優化。將通過支持批量簽名功能,來鼓勵 DApp 通過按需授權的方法調用合約。

關於批量簽名,我們即將上線的 ETH 加油站就可以幫助用戶通過一次「交易確認」完成授權和代幣兌換,避免過度授權的問題。

錢包該如何應對 DApp 過度授權?看看 imToken 的對策

imToken 非常樂意與大家一起探討,尋求更好的解決方案。如果你有任何想法,歡迎跟我們溝通。

參考鏈接

[1]https://www.coindesk.com/long-festering-defi-dapp-bug-still-not-fixed-by-industry

[2]https://zengo.com/badapprove-defi-security/

[3]https://medium.com/argenthq/argent-solving-dapps-dirty-secret-3ddb4f741a6

[4]https://medium.com/ethex-market/erc20-approve-allow-explained-88d6de921ce9

來源鏈接:mp.weixin.qq.com