近来以太坊上最火爆的领域就是DeFi。主要的DeFi应用包括ERC20代币的借贷、质押和交易。若想在Uniswap、Aave和Yearn等DeFi协议上使用ERC20代币,你需要授权dApp来使用这些代币。这就是所谓的?*ERC20授权*?。这些授权对于DeFi平台的运作来说必不可少,但是如果不加以控制,那将是非常危险的。
ERC20授权的必要性
有了以太坊上的原生代币ETH,你就可以将ETH发送至该智能合约,同时调用智能合约功能。这是通过所谓的可支付函数实现的。但是,由于ERC20代币本身就是智能合约,你无法通过直接将代币发送到智能合约来调用其函数。
因此,ERC20标准让智能合约使用?transferFrom()?函数代表用户转移代币。为此,用户需要允许智能合约代表他们转移代币。
这样一来,用户就可以将代币“存入”智能合约,同时智能合约会更新其状态来显示这笔存款。相反,如果你将ERC20代币发送至该智能合约,则合约不会更新其状态。
神鱼:呼吁项目方规范使用授权功能,用多少授权多少,不要无限授权:金色财经报道,神鱼(DiscusFish)发推特称:“呼吁一下项目方规范使用授权功能,用多少授权多少,不要无限授权,大家都放心;作为协议参与者,没事取消取消授权,换换地址,防止被一窝端”。
此前金色财经报道,据CertiK监测,跨链DEX聚合器Transit Swap遭受攻击,导致用户的资金从钱包中被取出。到目前为止,损失估计约为2000万美元(约49815枚BNB和约5182枚ETH)。该项目目前已暂停运营。[2022/10/2 18:37:31]
例如,如果你将DAI“存入”Aave来赚取利息,你首先要允许Aave合约从你的钱包中取出一些DAI。然后你调用Aave合约里的函数,指定你想要存入的DAI的数量。然后,Aave合约使用?transferFrom()?函数从你的钱包中取出相应数量的DAI,并将同等数量的aDAI代币记入你的账户。
王一鸣警示:美联储无限量宽松加剧全球流动性过剩:新任央行货币政策委员会委员王一鸣表示,美元是全球最重要的储备货币,美联储0到0.25的利率和无限量宽松政策加剧了全球的流动性过剩,短期资本大规模流入新兴市场,并推升本币的升值。美联储如果收紧货币政策,有可能导致新兴市场资本的大规模流出,资产价格的大幅下跌和金融市场的动荡。(新浪)[2021/3/20 19:03:47]
无限ERC20授权的危害
将特定数量的ERC20代币存入合约时,你就可以选择将授权额设成这个数量。然而,许多应用会向用户要求无限授权。
这会带来极好的用户体验,因为用户不需要在每次存款时重新授权。设置无限授权后,用户只需要同意一次,之后存款时就不会再重复这一过程。
但是,该设置存在很大的弊端。众所周知,即使是成熟的项目,也有可能存在漏洞。一旦你给了这些平台无限授权,不只是你的存款会陷入风险之中,你的钱包中的代币也是如此。
分析 | EIDOS挖矿攻击分析: 黑客利用EOS系统帐号无限CPU功能恶意挖矿:今日凌晨02:53开始,PeckShield安全盾风控平台DAppShield监测到黑客向短帐号竞拍系统合约发起连续攻击,利用系统返回之前出价的操作进行恶意挖矿EIDOS,目前攻击仍在持续进行中。PeckShield安全人员分析发现,多名黑客帐号lklk11111111、learneosgood、juyhgdf1234u、 maymaymay111利用EOS系统短帐号竞拍的规则,竞价一些无人竞拍的短帐号,从 0.0001 EOS 开始出价,然后在系统帐号退回之前以较低的出价进行转账通知挖矿。由于黑客发起竞价的交易消耗CPU较少,而系统帐号拥有无限制的CPU资源,使得恶意帐号可以无限“偷取”系统的CPU进行挖矿。PeckShield在此提醒,EIDOS恶意挖矿攻击已经从DApp、交易所逐渐向EOS系统合约迁移,会进一步加剧EOS网络的拥堵情况,广大DApp开发者及交易所,应随时关注帐号CPU市场的变化,确保必要的操作可以执行。[2019/11/11]
在Devcon5上,我第一次与PaulBerg谈到了这个问题。在这次大会上,Paul就本文所讨论的问题做了陈述。在开发Sablier时,Paul在他的智能合约中发现了一个漏洞,不仅所有存入该智能合约的DAI有风险,所有测试者的钱包中的DAI也是如此!
动态 | 去中心化交易所IDEX宣称创建“以太坊的无限扩展解决方案”:据Cointelegraph 消息,去中心化交易所IDEX声称已经为以太坊网络创建了一个“无限扩展解决方案”。在一封电子邮件中,IDEX称其名为O2Rs的系统在10分钟内达到区块最终确定性。该公司还表示,这比以太坊可伸缩性开发组织Plasma Group开发的ORs快了大约1000倍,后者在两周内实现了区块确定性。[2019/11/11]
实际风险
长期以来,无限授权的风险主要是理论上的。在Paul所开发的Sablier平台正式上线之前,这个漏洞就被修复了。当时,还没有出现利用ERC20授权的攻击,但是只要平台继续要求无限授权,迟早会出状况。
去年,我们已经看到了几起利用ERC20授权的攻击事件。
意外漏洞
声音 | 中国区块链技术研究联盟主席:区块链未来应用场景有无限可能:据中国财经时报报道,近日,中国区块链技术研究联盟主席、区块链专家陈清涛在深圳举行的Chainge技术沙龙第八期上对区块链未来交易模式的演进方向做了极具前瞻性的预判。他表示,未来将依托区块链技术实现去中心化交易、跨境支付、购物、理财、资金托管,现今所有的金融运行方式都能经由区块链产生颠覆性的改变。未来数字货币将在更广泛、更日常的场景中得到应用,买卖交易各种数字货币,用数字货币理财、网购、跨境转账、享受医疗等公共事业服务都将成为可能。[2018/8/24]
今年早些时候,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授权的漏洞事件,人们对这个问题的认识比一年前深得多。作为一名用户,你可以采取一些措施来降低上文所述风险,包括定期查看并撤销多余授权。
标签:RC2C20ERC20RC20erc20币重名brc20币怎么买ethereum和erc20区别Wrapped Secret (ERC20)
BTC 大饼隔日整体维持区间盘整,于晚间开始反弹,日线图上最后收出大阳结尾,整体走势保持强势.
朗哥说币:12.19比特币震荡多时,行情终于向上发起攻势市场没有永远的多头也没有永远的空头,上涨下跌震荡总在不停的替换着向右运行着,不管是看涨也好看跌也罢,别忘了自己心中那根不可逾越的线.
行情分析 大饼经过之前破20000大关之后的不断刷新高点,现在行情已然已经走出来了,目前行情最高运行到23850,目前价位维持在23000附近运行.
作者?|?DanielFrumkin???? ?? 现在,SlushPool庆祝了其开采的第一个区块97834的10周年纪念日,这是不可思议的十年.
这两天比特币横盘在23000了,刚才打23000的时候,差点把价格敲成13000,还特意跑火币确认了一下,的确是2万3美元一个?大家是不是都跟我一样很恍惚.
各位老铁大家好,我是你们的朋友巴德。跟着我的客户都是做了很久的,不是我带他们收获了多少,而是我用心在指导,毫无保留的教技术,经常熬夜盯盘,深夜告知客户出场或进单;我的长远目标是有收获的时候大家都.