okx

无限代币授权:开启新的可能

时间:2023-08-08|浏览:173

近来以太坊上最火爆的领域就是DeFi。主要的DeFi应用包括ERC20代币的借贷、质押和交易。若想在Uniswap、Aave和Yearn等DeFi协议上使用ERC20代币,你需要授权dApp来使用这些代币。这就是所谓的ERC20授权。这些授权对于DeFi平台的运作来说必不可少,但是如果不加以控制,那将是非常危险的。

ERC20授权的必要性

有了以太坊上的原生代币ETH,你就可以将ETH发送至该智能合约,同时调用智能合约功能。这是通过所谓的可支付函数(payablefuntion)实现的。但是,由于ERC20代币本身就是智能合约,你无法通过直接将代币发送到智能合约来调用其函数。

因此,ERC20标准让智能合约使用transferFrom函数代表用户转移代币。为此,用户需要允许智能合约代表他们转移代币。

这样一来,用户就可以将代币“存入”智能合约,同时智能合约会更新其状态来显示这笔存款。相反,如果你将ERC20代币发送至该智能合约,则合约不会更新其状态(例如,将这笔存款记入你的账户)。

例如,如果你将DAI“存入”Aave来赚取利息,你首先要允许Aave合约从你的钱包中取出一些DAI。然后你调用Aave合约里的函数,指定你想要存入的DAI的数量。然后,Aave合约使用transferFrom函数从你的钱包中取出相应数量的DAI,并将同等数量的aDAI代币记入你的账户。

无限ERC20授权的危害

将特定数量的ERC20代币(如100DAI)存入合约时,你就可以选择将授权额设成这个数量。然而,许多应用会向用户要求无限授权。

这会带来极好的用户体验,因为用户不需要在每次存款时重新授权。设置无限授权后,用户只需要同意一次,之后存款时就不会再重复这一过程。

但是,该设置存在很大的弊端。众所周知,即使是成熟的项目,也有可能存在漏洞。一旦你给了这些平台无限授权,不只是你的存款会陷入风险之中,你的钱包中的代币也是如此。

在Devcon5上,我第一次与PaulBerg谈到了这个问题。在这次大会上,Paul就本文所讨论的问题做了陈述。在开发Sablier时,Paul在他的智能合约中发现了一个漏洞(已经修复了!),不仅所有存入该智能合约的DAI(100美元)有风险,所有测试者的钱包中的DAI(1万美元)也是如此!

实际风险

长期以来,无限授权的风险主要是理论上的。在Paul所开发的Sablier平台正式上线之前,这个漏洞就被修复了。当时,还没有出现利用ERC20授权的攻击,但是只要平台继续要求无限授权,迟早会出状况。

去年,我们已经看到了几起利用ERC20授权的攻击事件。

意外漏洞

今年早些时候,Bancor出现了一个漏洞,危及用户资金。执行ERC20transferFrom函数的函数变成了public属性(不再是private合约私有属性),因此任何人都可以执行该函数,并取走用户钱包中的资金。Bancor执行了一次白帽黑客攻击,控制了损失,并将资金还给了用户。

恶意利用漏洞

除了Bancor的意外漏洞之外,还有很多恶意利用漏洞的情况。在今年夏天的DeFi热潮中,人们都在为各种以食物命名的DeFi

热点:代币 以太 以太坊 太坊

« 上一条| 下一条 »
区块链交流群
数藏交流群

合作伙伴

币圈官网 去玩呗SPA 数字财经 百科书库 币爸爸 减肥瘦身吧 币圈论坛 谈股票 金色币圈 趣玩币 借春秋 宠物丫 借春秋财经 玩合约 佩佩蛙官网 趣开心资讯 爱网站 代特币圈 百悦米 币圈交流群 今日黄金 玩票票财经 茶百科 起名取名网 天天财富 培训资讯网 美白没斑啦 數字黃金 兼职信息网 聚币网 装修装饰网 宝宝起名 币圈ICO官网 免费电影 黄金行情 周公解梦 秒懂域名 二手域名 妈妈知道 元宇宙Web 旅游资讯网 皮卡丘资讯 谷歌留痕 非小号行情
在区块链世界中,智能合约不仅是代码的信任,更是商业的革命。通过了解其在供应链、版权保护等领域的应用,您将真正体验到智能合约的无限可能性
区块链世界GxPiKaQiu.com ©2020-2024版权所有 桂ICP备16002597号-2