近來以太坊上最火爆的領域就是DeFi。主要的DeFi應用包括ERC20代幣的借貸、質押和交易。若想在Uniswap、Aave和Yearn等DeFi協議上使用ERC20代幣,你需要授權dApp來使用這些代幣。這就是所謂的?*ERC20授權*?。這些授權對于DeFi平臺的運作來說必不可少,但是如果不加以控制,那將是非常危險的。
ERC20授權的必要性
有了以太坊上的原生代幣ETH,你就可以將ETH發送至該智能合約,同時調用智能合約功能。這是通過所謂的可支付函數實現的。但是,由于ERC20代幣本身就是智能合約,你無法通過直接將代幣發送到智能合約來調用其函數。
因此,ERC20標準讓智能合約使用?transferFrom()?函數代表用戶轉移代幣。為此,用戶需要允許智能合約代表他們轉移代幣。
這樣一來,用戶就可以將代幣“存入”智能合約,同時智能合約會更新其狀態來顯示這筆存款。相反,如果你將ERC20代幣發送至該智能合約,則合約不會更新其狀態。
BitMEX行政總裁:香港在虛擬資產方面稍微領先新加坡:金色財經報道,加密貨幣交易所BitMEX行政總裁Stephan Lutz在接受《香港經濟日報》采訪時表示,香港在虛擬資產方面稍微領先新加坡,相信約6至12個月,海外虛擬資產交易相關的企業將重臨相關并帶來不少業界人士,他補充稱未來香港政府或需要繼續為大眾市民帶來更多虛擬資產咨詢、投資風險等相關教育,行業才能持久建立。Stephan Lutz還表示,香港證監會采取的監管方式與歐洲不同,更能細致地保護大眾投資者的利益,“歐洲的監管制度相對較完善,因為無論政府與業界都非常清楚虛擬資產的運作,產品只需要合規就可以;而香港的監管制度就更聚焦在保障散戶投資者的金錢。”(inews.hket)[2023/6/15 21:38:51]
例如,如果你將DAI“存入”Aave來賺取利息,你首先要允許Aave合約從你的錢包中取出一些DAI。然后你調用Aave合約里的函數,指定你想要存入的DAI的數量。然后,Aave合約使用?transferFrom()?函數從你的錢包中取出相應數量的DAI,并將同等數量的aDAI代幣記入你的賬戶。
ZetaChain:Omnichain DAO已上線ZetaChain測試網:4月30日消息,跨鏈智能合約平臺ZetaChain發推稱,由STP(資產代幣化發行平臺STP Network)驅動的Omnichain DAO已上線ZetaChain測試網。加密用戶將很快能夠從一個地方對以太坊,Polygon和任何其他鏈的提案進行投票。
此前消息,CoinList公告宣布,ZetaChain將推出激勵測試網,并于CoinList開放節點申請,測試網參與者將有機會獲得相應回報。
頁面顯示,申請將于4月30日截止,測試網將允許總計150個節點參與,總獎勵池包含420萬枚ZETA(總供應量的0.2%),鎖定期1年。[2023/4/30 14:35:59]
無限ERC20授權的危害
將特定數量的ERC20代幣存入合約時,你就可以選擇將授權額設成這個數量。然而,許多應用會向用戶要求無限授權。
徐明星:以太坊2.0和零知識證明技術將使以太坊成為真正的區塊鏈操作系統:金色財經報道,OKX創始人徐明星發推特表示,2023年將非常有趣,以太坊2.0和零知識證明技術將使以太坊成為真正的區塊鏈操作系統。[2022/12/28 22:11:35]
這會帶來極好的用戶體驗,因為用戶不需要在每次存款時重新授權。設置無限授權后,用戶只需要同意一次,之后存款時就不會再重復這一過程。
但是,該設置存在很大的弊端。眾所周知,即使是成熟的項目,也有可能存在漏洞。一旦你給了這些平臺無限授權,不只是你的存款會陷入風險之中,你的錢包中的代幣也是如此。
在Devcon5上,我第一次與PaulBerg談到了這個問題。在這次大會上,Paul就本文所討論的問題做了陳述。在開發Sablier時,Paul在他的智能合約中發現了一個漏洞,不僅所有存入該智能合約的DAI有風險,所有測試者的錢包中的DAI也是如此!
去中心化利率市場Strips Finance宣布將推出永續交易所“Rabbit X”:9月28日消息,去中心化利率市場 Strips Finance 宣布即將推出新的基于 Starknet 的 V2 永續交易所“Rabbit X”。據悉,Rabbit X 是一個完整的加密永續合約套件,允許用戶交易BTC、ETH等各種資產。Rabbit X每秒可處理超過1,000個訂單,杠桿高達20倍,并提供24/7客戶服務,在優先考慮安全性的同時,兼顧速度、可擴展性和用戶體驗。[2022/9/28 22:36:25]
實際風險
長期以來,無限授權的風險主要是理論上的。在Paul所開發的Sablier平臺正式上線之前,這個漏洞就被修復了。當時,還沒有出現利用ERC20授權的攻擊,但是只要平臺繼續要求無限授權,遲早會出狀況。
去年,我們已經看到了幾起利用ERC20授權的攻擊事件。
數字藏品周指數回落至102.9點:金色財經報道,據同伴客數據顯示,上周(2022年6月6日-6月12日)國際周指數下跌11.3點至23.8點,國內周指數在上周大幅攀升后迅速下跌280.8點至221.6點,數字藏品綜合價值周指數受挫下跌119.1點至102.9點。
備注:數字藏品綜合價值指數是對國際及國內當月市場熱度最高的數字藝術品項目市場總銷售規模的綜合反映,以2021年11月份銷售額的30分之7為基數,指數基值為100。該指數由同伴客數據與鏈境Labs聯合研發。[2022/6/14 4:26:10]
意外漏洞
今年早些時候,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授權的漏洞事件,人們對這個問題的認識比一年前深得多。作為一名用戶,你可以采取一些措施來降低上文所述風險,包括定期查看并撤銷多余授權。
據medium消息,埃及區塊鏈架構師NourHaridy發布DeFi穩定幣收益協議InverseFinance,用戶存入的Dai將投資于Yearn等收益優化協議.
1900/1/1 0:00:00當前最引人注目的非以太坊2.0升級,作為最成功的公鏈之一,以太坊的權益證明將從PoW切換為PoS,伴隨著經濟模型的更改,引發過PoW和PoS孰優孰劣的爭議.
1900/1/1 0:00:00對數字貨幣的爭奪,已經蔓延到了政府層面。在幕后,美國、歐盟以及中國正爭先恐后地理解和規范這項技術,同時也在努力不被創新的潮流沖走.
1900/1/1 0:00:00今天為大家分析一下Waves,這個在2016年便發幣的公鏈,近期的持續上漲再次博得了人們的關注,于是我便開始收集資料,發現了其背后持續漲幅的秘密,在此分享給大家.
1900/1/1 0:00:00--前言 不要浪費自己的人生去計較,不要虛耗自己的青春去揮霍,生活本該是不同站點的欣賞,并非難過著死扛,沒有什么能夠讓你興奮,除了你自己,得不到的永遠在騷動,被關注的才有恃無恐.
1900/1/1 0:00:00市場沒有多于空,只有盈或虧,盲目追求單邊的同時,另一個方向同樣也在等著你,凝望深淵,深淵同樣也在盯著你,比特幣的行情已經進入大牛起飛階段,偏偏還有人嘩眾取寵,喊著高空高空,血崩血崩.
1900/1/1 0:00:00