近來以太坊上最火爆的領域就是DeFi。主要的DeFi應用包括ERC20代幣的借貸、質押和交易。若想在Uniswap、Aave和Yearn等DeFi協議上使用ERC20代幣,你需要授權dApp來使用這些代幣。這就是所謂的?*ERC20授權*?。這些授權對于DeFi平臺的運作來說必不可少,但是如果不加以控制,那將是非常危險的。
ERC20授權的必要性
有了以太坊上的原生代幣ETH,你就可以將ETH發送至該智能合約,同時調用智能合約功能。這是通過所謂的可支付函數實現的。但是,由于ERC20代幣本身就是智能合約,你無法通過直接將代幣發送到智能合約來調用其函數。
因此,ERC20標準讓智能合約使用?transferFrom()?函數代表用戶轉移代幣。為此,用戶需要允許智能合約代表他們轉移代幣。
這樣一來,用戶就可以將代幣“存入”智能合約,同時智能合約會更新其狀態來顯示這筆存款。相反,如果你將ERC20代幣發送至該智能合約,則合約不會更新其狀態。
Arbitrum:AIP-1.1和AIP-1.2提案已獲投票通過:7月7日消息,以太坊Layer2網絡Arbitrum官方宣布,Arbitrum社區關于擴大ARB Token持有人監督和治理權力的兩項提案AIP-1.1和AIP-1.2已獲投票通過,并稱很快將7億ARB轉移至智能合約控制的鎖定。
提案AIP-1.1建議將基金會剩余的7億ARB置于智能合約控制的鎖定中,四年內解鎖。根據提案,在社區成員批準Token分配預算之前,基金會將無法使用Token。
提案AIP-1.2旨在修改Arbitrum生態系統的幾個治理文件,包括將在鏈上發布改進提案所需的ARBToken數量的門檻從500萬降低到100萬。[2023/7/7 22:24:15]
例如,如果你將DAI“存入”Aave來賺取利息,你首先要允許Aave合約從你的錢包中取出一些DAI。然后你調用Aave合約里的函數,指定你想要存入的DAI的數量。然后,Aave合約使用?transferFrom()?函數從你的錢包中取出相應數量的DAI,并將同等數量的aDAI代幣記入你的賬戶。
Bakkt四季度收入為1560萬美元,同比增14%:金色財經報道,Bakkt發布第四季度報告稱,在另一項大額減值費用的推動下,第四季度的收入和支出有所增加。收入為1560萬美元,低于FactSet估計的1600萬美元,但仍同比增長14%。調整后的利息、稅項、折舊和攤銷前收益低于預期,為-3050萬美元,比去年高出30.3%。預估數字為-2800萬美元。營業費用從8600萬美元增至3.41億美元,比2022年第四季度增長近300%。費用由約2.72億美元的非現金商譽和無形資產減值支出推動。
Bakkt報告第三季度凈虧損15億美元,這主要是由于其先前公布的商譽減值費用所致。[2023/3/10 12:53:32]
無限ERC20授權的危害
將特定數量的ERC20代幣存入合約時,你就可以選擇將授權額設成這個數量。然而,許多應用會向用戶要求無限授權。
新火科技CEO杜均:監管合規和DeFi是未來行業的兩個突破點:3月7日消息,新火科技(1611.HK)CEO杜均在接受南華早報的最新采訪中表示,未來加密貨幣行業將會有兩個突破點:監管合規以及DeFi。
杜均表示,2023年新火科技將會推出一系列DeFi產品,包括去中心化錢包和質押平臺,以吸引潛在的投資客群。同時,他個人在2023年的目標是領導新火科技,使其成為 “一家受人尊敬的公司”,且能夠在“主流金融領域”占據一席之地。[2023/3/7 12:46:51]
這會帶來極好的用戶體驗,因為用戶不需要在每次存款時重新授權。設置無限授權后,用戶只需要同意一次,之后存款時就不會再重復這一過程。
但是,該設置存在很大的弊端。眾所周知,即使是成熟的項目,也有可能存在漏洞。一旦你給了這些平臺無限授權,不只是你的存款會陷入風險之中,你的錢包中的代幣也是如此。
美CFTC結束針對John McAfee的民事訴訟,對其前助理處以14.6萬美元罰款:7月19日消息,美國針對已故的John McAfee的民事訴訟已經結束。7月18日,美國CFTC宣布與John McAfee前助理Jimmy Gale Watson達成和解并發布禁令。Watson曾是一名海豹突擊隊員,從2017年開始擔任McAfee的保鏢,之后成為其加密貨幣團隊的執行顧問。
CFTC發現,Watson曾幫助McAfee推廣可疑代幣的ICO,以換取這些代幣的未披露獎勵。然后,雙方會在公開ICO上出售這些資產,將代幣“傾銷”給不知情的散戶投資者。最終CFTC對Watson提出的賠償只有14.6萬美元,并進一步禁止Watson今后從事大宗商品交易。
此前消息,美國SEC贏得其與Jimmy Gale Watson的最終判決。法院裁定,Watson應向美國財政部支付316408美元非法所得,以及59533美元的判決前利息。 美國SEC在2020年的指控中稱,Watson協助McAfee在Twitter上推廣ICO,但沒有披露他因此得到了報酬。判決還永久禁止Watso以專業身份購買、出售或提供數字資產。不過,他可以繼續用個人賬戶買賣數字資產。(The Block)[2022/7/19 2:22:39]
在Devcon5上,我第一次與PaulBerg談到了這個問題。在這次大會上,Paul就本文所討論的問題做了陳述。在開發Sablier時,Paul在他的智能合約中發現了一個漏洞,不僅所有存入該智能合約的DAI有風險,所有測試者的錢包中的DAI也是如此!
Merkle Manufactory完成3000萬美元融資,a16z領投:金色財經報道,Merkle Manufactory在由Andreessen Horowitz (a16z) 領投的一輪融資中籌集了3000 萬美元,將用于開發名為 Farcaster 的去中心化社交網絡協議。 Standard Crypto、Elad Gil、1confirmation、Scalar Capital、First Round Capital、Volt Capital等參投。據悉,Merkle Manufactory由前Coinbase高管 Dan Romero創立,并正在努力推出Farcaster,這是一種用于構建社交網絡的“充分去中心化”協議。(The Block)[2022/7/13 2:10:53]
實際風險
長期以來,無限授權的風險主要是理論上的。在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授權的漏洞事件,人們對這個問題的認識比一年前深得多。作為一名用戶,你可以采取一些措施來降低上文所述風險,包括定期查看并撤銷多余授權。
比特幣攀上2萬4千美金眾生歡呼,而這個三歲女孩的生命似乎已被遺忘。6月這場驚人的殺女后攜妻自殺案件,隨著庭審直播公開,我們發現這位大連男子鄭大偉是一位比特幣合約賭徒.
1900/1/1 0:00:00數字資產合規入場渠道概述與更新我們去年中期進行了數字資產合規入場渠道商業圖景的梳理,這一年我們看到一些新的趨勢和競爭格局的變化,于是做了進一步的更新.
1900/1/1 0:00:00親愛的CoinW用戶: 時逢圣誕節來臨,為感謝忠實用戶的陪伴及迎接新用戶的蒞臨,CoinW將于2020年12月21日開啟“圣誕感恩回饋”系列活動.
1900/1/1 0:00:00行情回顧: 昨日的操作思路都是給到很大的區間操作空間的,不管多空都是拿到很大的點位,千點空都是拿到的,不了解的可以關注前篇文章思路或者以往的,昨晚的行情走勢在下方得到縮量時候很大的反彈空間.
1900/1/1 0:00:00——前言 可以一無所有,絕不能一無是處,再優秀也有人會對你不屑一顧,再不堪也有人對你視若珍寶,順意時不得瑟,逆境時不墮落.
1900/1/1 0:00:00早間給出以太坊646-645附近空單進場,目標點位638-630,成功到達目標點位,空單成功把握15點利潤,15點利潤送給大家,恭喜跟上操作的朋友,點贊關注幣圈五哥,每日更新實時策略.
1900/1/1 0:00:00