ERC20无限授权方便自己也方便黑客 有没有解决方案?_比特币:SDT

随着DeFi的火爆,一般的区块链老手用户肯定不止一次对DeFi项目进行授权了,每当使用一个新的DApp,都需要授权这个DApp花费你的代币。除了流程繁琐之外,每次授权都还要支付不菲的手续费。很多用户为了省钱省事,每次授权都是提供无限期授权,结果不知道哪天,突然发现自己的钱被人转走了。而原因并不是因为私钥被盗,而是因为图方便给DeFi合约进行了无限授权,为什么会有无限授权?有没有解决方案?

为什么要有ERC20授权?

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

金色财经挖矿数据播报 | ETH今日全网算力上涨2.31%:金色财经报道,据蜘蛛矿池数据显示:

BTC全网算力123.959EH/s,挖矿难度17.56T,目前区块高度645497,理论收益0.00000804/T/天。

ETH全网算力220.192TH/s,挖矿难度2780.17T,目前区块高度10739702,理论收益0.00936458/100MH/天。

BSV全网算力1.995EH/s,挖矿难度0.26T,目前区块高度649892,理论收益0.00045106/T/天。

BCH全网算力2.614EH/s,挖矿难度0.36T,目前区块高度650108,理论收益0.00034432/T/天。[2020/8/27]

那么如果想要合约来调用ERC20应该怎么办?ERC20标准中,提供了一个让智能合约使用transferFrom()函数代表用户转移代币的方案。为了激活这个功能,需要用户授权智能合约转移代币的权限。

金色财经行情播报丨BTC震荡整理,在9200USDT附近徘徊:据火币行情显示,BTC今日最高触及9280USDT后,整体处于震荡行情,但未能将价格维持在9200USDT以上,只在附近徘徊。日线图均线MA30和均线MA10交汇构成支撑,下降趋势告一段落。4小时图以及1小时图都呈现平台整理蓄势格局,多头尚有发力空间。截至18:30,主流币的具体表现如下:[2020/5/28]

授权后,用户就可以将代币“存入”智能合约,进行DeFi应用的使用了。

比如,用户将USDT“存入”Aave来赚取利息,首先需要授权Aave合约可以从用户的钱包中取出USDT。然后再调用Aave合约函数,指定想要存入USDT的数量。然后,Aave合约使用transferFrom()函数从你的钱包中取出相应数量的USDT完成转账。

金色财经行情播报 | BTC跌后小幅回升 主流币跌幅收窄:据火币行情显示,截至上午10:00,BTC在跌破6000 USDT后小幅回升,目前在6000 USDT附近震荡调整,试图挣脱整数关口阻挡。市场整体跟随BTC在跌后小幅回升,主流币跌幅收窄。[2020/3/30]

无限ERC20授权的问题

授权使用DeFi时,你就可以选择将这个币种单次授权,即仅同意本次转账,或者进行无限授权,让合约能够在未来不限次的有权操作你钱包内的这种代币。

在目前DeFi依托的以太坊网络底层不完善的前提下,对DeFi合约进行无限授权,是能有有效提高DeFi使用体验的一种方式。避免了每次使用前都要进行授权的麻烦,以及每次交易前授权造成的GAS消耗。设置无限授权后,用户只需要同意一次,之后存款时就不会再重复这一过程。

金色财经独家分析 SEC指控区块链概念股LongFin显露区块链企业面临强监管趋势:SEC发布新闻稿称,已指控在纳斯达克上市的金融贸易公司LongFin Corp.及其首席执行官Venkata Meenavalli犯有证券欺诈罪,并冻结了超过2700万美元的“非法交易利润”。此前,纳斯达克已经暂停了Longfin的股票交易。

LongFin是一家去年2月才成立的年轻的初创公司,自12月13日在纳斯达克开始交易,发行价每股5美元。Longfin开始在纳斯达克交易并宣布收购Ziddu.com后不久,它的股票价格大幅上涨,市值超过了30亿美元,3个月内涨了7倍。Ziddu公司是一家提供区块链解决方案的服务提供商,它针对抵押仓库单据以Ziddu Coin的形式提供小额贷款。在LongFin被查之前,SEC就已经起诉了另一个区块链相关项目Centra的两位创始人在ICO中存在欺诈,SEC的频繁动作,无不显示出其对区块链市场的监察决心,区块链领域面临全球强监管的趋势初显。[2018/4/8]

但是,该设置存在很大的弊端。因为用户授予的,不仅仅是操作转入合约部分代币的权利,而是这个钱包中这个代币的支配权。

也就是说一旦合约留有后门,或者遭到黑客攻击,那么不仅是存入DeFi项目中的代币,我们自身钱包里的相应代币也将受到威胁。而由于这个授权是由自身私钥签名授权的,因此一旦遭到攻击,即便使用冷钱包,也不能防止自身财产被盗。

怎样防范风险?

1.对于不交易的持仓资产可以选择取消授权

现在DeFi项目如同雨后春笋,不知不觉可能就会授权很多项目,这就加大了被盗风险,我们可以在DeBank上通过查询自身钱包地址的方式,查询授权的合约,然后及时取消高风险项目的授权。

2.分号使用,交易完及时转出资产

即便是再靠谱的项目,也都存在被攻击的可能,因此,不要把鸡蛋放到同一个篮子里更加重要。

3.考虑其他项目

既然以太坊底层无法改变,那么其他拥有灵活底层的公链,就成为了后续可以关注的对象。

比如推出了多原生代币功能的QuarkChain。在QuarkChain主网中,多原生代币(Multinativetoken)在QuarkChain系统中和QKC基本是一样的地位,可以调用合约、跨链、在满足某些情况的条件下可以支付交易手续费,除了不能参与QKC网络治理,原生代币可以实现QKC所有的功能,包括跨链转账。大部分Defi面临的非原生资产不便利性问题都可以解决。而未来合约中,原生代币的功能,将做到和QKC完全一致,消除多原生代币应用的最后一层障碍。也就是说不需要授权,也就避免了无限授权的问题。

结语

代币授权存在很大的安全隐患。如果我们想要改善密码学货币应用的用户体验和安全性,我们显然需要改进代币授权功能。目前,最有潜力的就是多原生代币功能从底层解决授权问题带来的安全风险,不过目前QuarkChain公链上DeFi项目仍然较少,相信后续会有更大的爆发

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金智博客

[0:0ms0-7:48ms