随着 DeFi 的火爆,一般的区块链老手用户肯定不止一次对 DeFi 项目进行授权了,每当使用一个新的 DApp,都需要授权这个 DApp 花费你的代币。除了流程繁琐之外,每次授权都还要支付不菲的手续费。很多用户为了省钱省事,每次授权都是提供无限期授权,结果不知道哪天,突然发现自己的钱被人转走了,而原因并不是因为私钥被盗,而是因为图方便给 DeFi 合约进行了无限授权,为什么会有无限授权?有没有解决方案?
为什么要有 ERC20 授权?
有了以太坊上的原生代币 ETH,你就可以将 ETH 发送至该智能合约,同时调用智能合约功能。这是通过所谓的可支付函数(payable funtion)实现的。但是,由于 ERC20 代币本身就是智能合约,以太坊无法通过直接将智能合约代币发送到智能合约来调用其函数。原因是这个转账是在 ERC20 代币合约上发生的,不在 DeFi 合约。
MetaMask新版本支持发送ERC-721代币:4月5日消息,MetaMask宣布在最新版本的扩展中,只要启用自动NFT检测,所有ERC-721和1155代币都会出现。通过此更新,用户可以发送ERC-721代币,将很快添加发送ERC-1155代币的功能。[2023/4/5 13:44:47]
那么如果想要合约来调用 ERC20 应该怎么办?ERC20 标准中,提供了一个让智能合约使用 transferFrom() 函数代表用户转移代币的方案。为了激活这个功能,需要用户授权智能合约转移代币的权限。
授权后,用户就可以将代币“存入”智能合约,进行 DeFi 应用的使用了。
以太坊研究员Anton Wahrst?tter提出了一项关于ERC-721扩展的新提案:金色财经报道,受Vitalik Buterin的不可转让Soulbound代币理念的启发,以太坊研究员Anton Wahrst?tter提出了一项关于ERC-721扩展的新提案,该提案将实施“隐形”地址以掩盖涉及NFT的公共区块链交易。
为了ERC-721代币(以太坊当前的 NFT 代币标准)实施隐身地址,?Wahrst?tter建议使用一种以隐私为中心的加密技术,称为zk-SNARKs。[2022/8/9 12:13:31]
比如,用户将 USDT “存入” Aave 来赚取利息,首先需要授权 Aave 合约可以从用户的钱包中取出 USDT。然后再调用 Aave 合约函数,指定想要存入 USDT 的数量。然后,Aave 合约使用 transferFrom() 函数从你的钱包中取出相应数量的 USDT 完成转账。
慢雾:ERC721R示例合约存在缺陷,本质上是由于owner权限过大问题:4月12日消息,据@BenWAGMI消息,ERC721R示例合约存在缺陷可导致项目方利用此问题进行RugPull。据慢雾安全团队初步分析,此缺陷本质上是由于owner权限过大问题,在ERC721R示例合约中owner可以通过setRefund Address函数任意设置接收用户退回的NFT地址。
当此退回地址持有目标NFT时,其可以通过调用refund函数不断的进行退款操作从而耗尽用户在合约中锁定的购买资金。且示例合约中存在owner Mint函数,owner可在NFT mint未达总供应量的情况下进行mint。因此ERC721R的实现仍是防君子不防小人。慢雾安全团队建议用户在参与NFTmint时不管项目方是否使用ERC721R都需做好风险评估。[2022/4/12 14:19:58]
无限 ERC20 授权的问题
链游LoserChick已在Polygon主网上集成Chainlink VRF:10月11日消息,链游LoserChick已经在Polygon主网上集成Chainlink可验证随机函数(VRF)。通过集成Chainlink去中心化预言机网络,LoserChick现在可以访问防篡改和可审计的随机性来源,从而将NFT Drop随机分配给用户。[2021/10/11 20:21:25]
授权使用 DeFi 时,你就可以选择将这个币种单次授权,即仅同意本次转账,或者进行无限授权,让合约能够在未来不限次的有权操作你钱包内的这种代币。
在目前 DeFi 依托的以太坊网络底层不完善的前提下,对 DeFi 合约进行无限授权,是能有有效提高 DeFi 使用体验的一种方式。避免了每次使用前都要进行授权的麻烦,以及每次交易前授权造成的 GAS 消耗。设置无限授权后,用户只需要同意一次,之后存款时就不会再重复这一过程。
但是,该设置存在很大的弊端。因为用户授予的,不仅仅是操作转入合约部分代币的权利,而是这个钱包中这个代币的支配权。
也就是说一旦合约留有后门,或者遭到黑客攻击,那么不仅是存入 DeFi 项目中的代币,我们自身钱包里的相应代币也将受到威胁。而由于这个授权是由自身私钥签名授权的,因此一旦遭到攻击,即便使用冷钱包,也不能防止自身财产被盗。
怎样防范风险?
1. 对于不交易的持仓资产可以选择取消授权
现在 DeFi 项目如同雨后春笋,不知不觉可能就会授权很多项目,这就加大了被盗风险,我们可以在 DeBank 上通过查询自身钱包地址的方式,查询授权的合约,然后及时取消高风险项目的授权。
2. 分号使用,交易完及时转出资产
即便是再靠谱的项目,也都存在被攻击的可能,因此,不要把鸡蛋放到同一个篮子里更加重要。
3. 考虑其他项目
既然以太坊底层无法改变,那么其他拥有灵活底层的公链,就成为了后续可以关注的对象。
比如推出了多原生代币功能的 QuarkChain。在 QuarkChain 主网中,多原生代币 (Multinative token) 在 QuarkChain 系统中和 QKC 基本是一样的地位,可以调用合约、跨链、在满足某些情况的条件下可以支付交易手续费,除了不能参与 QKC 网络治理,原生代币可以实现 QKC 所有的功能,包括跨链转账。大部分 Defi 面临的非原生资产不便利性问题都可以解决。而未来合约中,原生代币的功能,将做到和 QKC 完全一致,消除多原生代币应用的最后一层障碍。也就是说不需要授权,也就避免了无限授权的问题。
结语
代币授权存在很大的安全隐患。如果我们想要改善密码学货币应用的用户体验和安全性,我们显然需要改进代币授权功能。目前,最有潜力的就是多原生代币功能从底层解决授权问题带来的安全风险,不过目前 QuarkChain 公链上 DeFi 项目仍然较少,相信后续会有更大的爆发。
中本聪结合多位朋克社群的既有想法创造了比特币,其背后的科技和概念并非均为创新,但其利用密码学等控制币的发行和管理的想法带来了创新改变.
1900/1/1 0:00:00热点摘要:1.萨尔瓦多总统:Chivo钱包将与其他钱包兼容且操作无任何费用;2.Coinbase首席执行官:计划上线所有合法可行的加密货币资产;3.
1900/1/1 0:00:00电信网络是近年来高发多发的一类新型网络犯罪,人民群众深恶痛绝。目前利用虚拟货币、区块链等新技术产物进行电信网络案件更是越来越多.
1900/1/1 0:00:00继约谈部分银行和支付机构后,央行再次发布关于防范虚拟货币交易活动的风险提示。 7月6日,央行发文表示,为贯彻落实党中央、国务院关于打击虚拟货币交易的决策部署,防控虚拟货币交易炒作风险,保护人民群.
1900/1/1 0:00:002021年5月20日晚10点45分,Huobi Prime 第七期项目APENFT(NFT)正式上线交易,两轮限价交易后,根据Huobi Global数据显示全球共计2.6万余人参与撮合交易.
1900/1/1 0:00:00原文标题:《比特币是投机工具,垄断现象不仅仅存在于蚂蚁集团……央行副行长范一飞还透露了哪些信息》“垄断现象其实不仅仅存在于蚂蚁集团一家,对蚂蚁集团采取的措施,也会推行到其他的支付服务市场主体.
1900/1/1 0:00:00