比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads

ERC20:無限代幣授權 —— 我們能做些什么?

Author:

Time:1900/1/1 0:00:00

近來以太坊上最火爆的領域就是DeFi。主要的DeFi應用包括ERC20代幣的借貸、質押和交易。若想在Uniswap、Aave和Yearn等DeFi協議上使用ERC20代幣,你需要授權dApp來使用這些代幣。這就是所謂的?*ERC20授權*?。這些授權對于DeFi平臺的運作來說必不可少,但是如果不加以控制,那將是非常危險的。

ERC20授權的必要性

有了以太坊上的原生代幣ETH,你就可以將ETH發送至該智能合約,同時調用智能合約功能。這是通過所謂的可支付函數實現的。但是,由于ERC20代幣本身就是智能合約,你無法通過直接將代幣發送到智能合約來調用其函數。

因此,ERC20標準讓智能合約使用?transferFrom()?函數代表用戶轉移代幣。為此,用戶需要允許智能合約代表他們轉移代幣。

這樣一來,用戶就可以將代幣“存入”智能合約,同時智能合約會更新其狀態來顯示這筆存款。相反,如果你將ERC20代幣發送至該智能合約,則合約不會更新其狀態。

法國農業信貸銀行與FeverTokens和Casper Association合作開發Web3 用例:金色財經報道,法國農業信貸銀行子公司CIB宣布與FeverTokens和Casper Association建立合作伙伴關系共同開發Web3 用例,法國農業信貸銀行的數字資產主管表示,三個實體擁有不同的專業知識,這些專業知識共同可以利用金融領域的區塊鏈和智能合約的功能,重點關注與代幣化金融及其今年推出的區塊鏈氣候意識證明( Proof of Climate awaReness)相關的用例。(royalsblue)[2023/7/2 22:13:32]

例如,如果你將DAI“存入”Aave來賺取利息,你首先要允許Aave合約從你的錢包中取出一些DAI。然后你調用Aave合約里的函數,指定你想要存入的DAI的數量。然后,Aave合約使用?transferFrom()?函數從你的錢包中取出相應數量的DAI,并將同等數量的aDAI代幣記入你的賬戶。

ParaSpace舊官推:希望通過談判推進多重簽名轉移至社區選舉的簽署人:5月12日消息,NFT借貸協議ParaSpace舊官推今日早間表示,為了遵守我們對透明度的承諾,在與Zeneca溝通后,我們同意讓所有人都可以在Twitter Spaces上收聽與Yubo Ruan和所有多簽名簽署者的第三方主持會議。我們將推進解決2個關鍵問題:1.立即采取措施解決平臺利率問題:向其他多重簽名簽名者發出請求,以暫時暫停對借款人的協議利息。2.釋放多重簽名:將促進控制權從ParaSpace團隊的所有簽署人和Yubo方面的任何愿意簽署人轉移到社區選舉的簽署人,計劃進行1天內的提名,在進行2天的投票。我們邀請Yubo和其他簽署人參與其中,并在空間會議期間與我們協調。目前,該會議正在進行。[2023/5/12 14:59:38]

無限ERC20授權的危害

將特定數量的ERC20代幣存入合約時,你就可以選擇將授權額設成這個數量。然而,許多應用會向用戶要求無限授權。

DeFi總鎖定價值達493.1億美元,Lido Finance以122.4億美元位居榜首:金色財經報道,自 2023 年 4 月 18 日以來,DeFi 的總鎖定價值(TVL) 一直低于 500 億美元。截至發稿,TVL 達到 493.1 億美元,過去 24 小時內增長了 1%。其中 Lido Finance 在周六以 122.4 億美元的 24.82% 份額位居榜首。在過去的一個月里, Lido 的 TVL 增長了 9%,而前一周則增長了 2.42%。DeFi 鎖倉前五中只有 Uniswap 在過去 30 天內上漲了 3.48%。以太坊以 286.6 億美元占據了 TVL 的最大份額,占 DeFi 市值的 58% 以上。[2023/5/7 14:47:49]

這會帶來極好的用戶體驗,因為用戶不需要在每次存款時重新授權。設置無限授權后,用戶只需要同意一次,之后存款時就不會再重復這一過程。

Web3開發工具提供商Cubist獲得700萬美元融資:金色財經報道,Web3開發工具提供商Cubist在由Polychain Capital領投的種子輪融資中獲得了700萬美元,Dao5、Polygon、Amplify Partners和Axelar也參與了此次融資。該輪融資將用于招聘以及擴展和宣傳SDK。[2023/3/9 12:52:10]

但是,該設置存在很大的弊端。眾所周知,即使是成熟的項目,也有可能存在漏洞。一旦你給了這些平臺無限授權,不只是你的存款會陷入風險之中,你的錢包中的代幣也是如此。

在Devcon5上,我第一次與PaulBerg談到了這個問題。在這次大會上,Paul就本文所討論的問題做了陳述。在開發Sablier時,Paul在他的智能合約中發現了一個漏洞,不僅所有存入該智能合約的DAI有風險,所有測試者的錢包中的DAI也是如此!

區塊鏈服務平臺 PlayDapp 與 3D 元宇宙引擎 Redbrick 達成合作:5月16日消息,區塊鏈服務平臺 PlayDapp 與3D 元宇宙引擎 Redbrick 簽署戰略業務合作伙伴關系,以擴展元宇宙內容并加強區塊鏈集成。PlayDapp 計劃通過應用區塊鏈技術和專業知識,在 Redbrick 元宇宙項目的多個方面進行合作,包括將提供 NFT 支持和 NFT 市場服務,并分享內容開發和運營知識。[2022/5/16 3:18:38]

實際風險

長期以來,無限授權的風險主要是理論上的。在Paul所開發的Sablier平臺正式上線之前,這個漏洞就被修復了。當時,還沒有出現利用ERC20授權的攻擊,但是只要平臺繼續要求無限授權,遲早會出狀況。

去年,我們已經看到了幾起利用ERC20授權的攻擊事件。

意外漏洞

今年早些時候,Bancor出現了一個漏洞,危及用戶資金。執行ERC20?transferFrom()?函數的函數變成了public屬性,因此任何人都可以執行該函數,并取走用戶錢包中的資金。Bancor執行了一次白帽黑客攻擊,控制了損失,并將資金還給了用戶。

惡意利用漏洞

除了Bancor的意外漏洞之外,還有很多惡意利用漏洞的情況。在今年夏天的DeFi熱潮中,人們都在為各種以食物命名的DeFi分叉產品狂歡,其中也包括一些騙局。即使人們為了規避風險只存入少量代幣,他們錢包中的代幣也會因為無限授權而陷入風險。

ZenGo就在一個名為UniCats的項目中發現了可利用漏洞。人們可以存入Uniswap代幣,然后通過流動性挖礦獲得MEOW代幣。但是如果要存款,用戶必須提供?無限授權。如果項目遭到攻擊,攻擊者不僅可以拿走項目的存款,還可以拿走用戶錢包內的所有UNI代幣。

另一個例子是DegenMoney項目。DegenMoney項目采用了一種不怎么高明的辦法。這個項目沒有開發自己的智能合約,而是創建了一個前端來進行兩次授權交易。一次是向一個運行中的智能合約,另一次是向完全不同的地址。

由于很多人沒有專門檢查錢包地址,這就導致攻擊者可以取走用戶錢包中的代幣。

那硬件錢包呢?

總的來說,硬件錢包比手機、手提電腦和基于瀏覽器的錢包安全的多。原因是,控制資金的私鑰安全地存儲在硬件錢包中,并且永遠不會離開該設備。因此,通過硬件錢包,你可以確保沒人能竊取你的私鑰。

ERC20授權的問題在于,沒人需要竊取你的私鑰才能從你的錢包中取走代幣。因此,硬件錢包也無法防范本文所討論的惡意利用漏洞問題。

使用硬件錢包依然是一種好習慣,因為硬件錢包確實能保護你免受其它漏洞攻擊。但是,你需要注意的是,硬件錢包不能抵御授權漏洞和其它很多智能合約漏洞。

dApp開發者可以做些什么?

在Devcon的講話中,Paul提到了一些關于無限授權問題的解決方案。這些方案各有優缺點。其中最實用的方案是即批即用模式。在這種模式下,應用只會要求用戶授權確切的數額,而非不限額。

這種方案的用戶體驗確實會差一些,因為每當用戶想要發送交易時,都需要發送一筆新的授權交易,不能再像無限授權那樣一勞永逸。這個模式的缺陷是會增加交易費成本,如果交易費像去年那樣暴漲,就會帶來很大的麻煩。

另一種替代型方案是,可以讓用戶選擇僅授權當下需要花費的數額,還是授權更高的數額以便后續進行更多交易。已經有多個項目采用這種策略,例如1inch.exchange和Curve.fi。

另一個減少交易成本的解決方案是,采用EIP2612之類的標準,讓用戶可以通過簽署消息來設置其授權額度,無需再通過發送交易的形式。但是,這類標準并未得到廣泛采用,而且圍繞該標準打造的工具也不多。

用戶可以做些什么?

由于ERC20授權是很多智能合約所不可或缺的部分,完全停止授權的方案并不可行。但是在可能的情況下,請盡量避免無限授權。

人們已經比一年之前更加了解這一問題,因此有些dApp可以讓用戶選擇只授權當前需要花費的數額,但是大多數dApp依然不行。盡管如此,高端用戶還可以通過Metamask的界面來降低其授權額度。

在使用dApp時,請你思考一下是否需要經常使用這個dApp,以及你是否信任這個項目,還是說你只會偶爾使用這個dApp,或者根本不信任這個項目。無論是哪種情況,你最好都要定期查看你的授權額度,并取消對不再使用的dApp的授權。

為便于檢查并撤銷這些授權,我開發了一種名為revoke.cash的工具。通過這個工具,你可以查看地址的代幣余額和授權額度,之后就可以輕而易舉地撤銷或降低授權。類似的工具還有approved.zone等。

結論

許多去中心化應用的運行都離不開授權,但是無限授權通常并不利于安全性。2020年已經出現過幾起利用ERC20授權的漏洞事件,人們對這個問題的認識比一年前深得多。作為一名用戶,你可以采取一些措施來降低上文所述風險,包括定期查看并撤銷多余授權。

Tags:ERC20C20RC20RC2erc20幣價格brc20銘刻brc20sats幣brc20s

幣贏交易所
MATE:12/20 做合約 為何被套的總是你? 虧的總是你?

——寄語 所謂有所不為才能有所為,多操作不一定機會就多,有時什么也不做,就是一種最好的選擇。不要擔心錯失機會,善獵者必善等待。在沒有大機會的時候,要安靜的如一塊石頭.

1900/1/1 0:00:00
比特幣:玩幣獵手:12.20比特幣漲破天際.都想做空行情會給機會嗎

  很多時候我們都在追尋所謂的正確,比如喊口號,順勢而為,嚴禁逆勢,不要追漲殺跌,乍一聽,好似很有道理,可是具體到了實際操作中,沒一句話可以幫助到你去實際操作,對于獵手來說,我不算什么名家大師.

1900/1/1 0:00:00
BDC:幣圈龍校長:12.21晚間ETH 以太坊行情分析及操作建議

各位幣友們,大家好,我是幣圈龍校長本著負責、誠懇、認真的態度用心寫好每一篇分析文章,在交易中,最重要的就是要敢于出手,面對機會,果斷出擊,這樣才不至于錯失機會.

1900/1/1 0:00:00
LQT:到頂了?上漲才剛開始 院長說幣行情分析(12/21)

本號的文章只做研究、學習和交流使用,不具有任何的操作指導意義!幣圈唯一每天堅持視頻分析行情的大號!昨天的下跌本以為是要走一輪回調的,沒想到這種力度不算小的下跌再次被拉了起來.

1900/1/1 0:00:00
ETH:老李解幣:BTC、ETH午間策略布局現已全部止盈出局獲利千點

近期可謂一路交易一路順,行情好,感覺也對了,每日交易的次數也在增加。以太坊一天幾十個點的利潤也不再那么艱難,前提是你要有專業技術能力做支撐輔助.

1900/1/1 0:00:00
JAY:12.21 幣圈茫茫 毫無方向的幣友可以看看

幣圈茫茫,漲漲跌跌,賺賺賠賠如果你還是在孤軍奮戰,毫無方向;如果你還是在回本路上,遙遙無期;如果你還是在苦思技術,一無所獲;8月9日CME比特幣期貨未平倉合約持倉下跌1118張:金色財經報道.

1900/1/1 0:00:00
ads