如果你是DeFi深度用户,你肯定被这个繁琐的流程折磨过无数次了。每当你使用一个新的dApp,你都需要授权这个dApp花费你的代币。
Metamask?上的授权界面
跟传统金融行业类比一下,这个流程有点类似于办理直接借记,授权你的供电商每月从你的银行账户上扣除电费。
但是,与密码学货币行业不同的是,传统金融行业的直接借记业务只面向少数可信公司。这类公司不太会消费者,即使偶尔发生消费者的行为,消费者也可以提出异议,由银行充当调停者。密码学货币行业没有这类工具。一些dApp是由匿名开发者构建的,没有为受用户设立的争议机制。一旦在区块链上完成付款,就无法撤销。
代币授权是什么?它是如何运作的?
以太坊区块链上的大多数代币,如USDC和DAI,都采用ERC20标准。ERC20代币实际上是智能合约,包含不同的方法,如transferFrom和burn。用户调用这些方法,应用就会对代币做相应的操作。
国家区块链技术(能源领域)创新中心成立,聚焦能源数字化:5月30日消息,2023 中关村论坛区块链 + 隐私计算发展论坛在京举行,国家区块链技术(能源领域)创新中心正式揭牌成立,这是国家区块链技术创新中心正式投入运行后,在国民经济关键领域布局的首个国家级行业创新中心。
国家区块链技术(能源领域)创新中心将围绕行业创新平台建设、综合性人才引育和成果转化、行业高端区块链智库构建等三方面开展建设。在行业创新平台建设方面,中心将打造融合能源特色、全球领先的区块链支撑性行业创新平台,满足大规模场景应用。[2023/5/30 9:49:49]
其中一种方法是approve。任何你想要使用的dApp都需要访问你的ERC20代币才能对其进行操作。例如,如果你想要在Aave中存入USDC,你首先需要授予AavedApp的智能合约访问USDC的权限,然后才能通过第二笔交易将USDC存入Aave。你可以在你的以太坊钱包用户界面上看到该授权。虽然授权可用量从理论上来说是灵活的,但是大多数dApp会默认要求无限量授权,以此简化用户体验,并尽可能减少用户使用该应用所需进行的交易次数。
“Play-to-Earn”类代币总市值击穿100亿美元,创下历史新高:8月24日消息,据最新数据显示,“边玩边赚”(Play-to-Earn)类代币总市值已击穿100亿美元,创下历史新高,本文撰写时为10,102,043,637美元,24小时交易额为1,950,384,315美元。目前市值最高的“边玩边赚”类代币是Axie Infinity原生代币AXS,市值为4,349,595,627美元,Enjin Coin排名第二,市值为1,985,754,367美元。[2021/8/24 22:33:28]
这里存在的一个安全问题是,大多数用户认为他们的授权是针对某个交易,而且是限量的,但是在大多数情况下,用户实际上授予了dApp永久访问他们持有的某种代币的权限,而且是不限量的。因此,如果dApp出现安全问题或从一开始就是恶意的,攻击者就可以将滥用这种授权来盗取dApp用户持有的全部已授权代币,而无需经过用户同意。这种攻击可以在将来的任意时刻发起,即使是在用户使用过dApp的若干年后。
加密电商平台Shopping与唯链达成合作,支持使用VET代币购物:7月11日消息,支持加密货币支付的电商平台Shopping近日与公链平台唯链(VeChain)达成合作。VeChain持有者可以在Shopping电子商务平台使用其VET代币,并在亚马逊、Ebay、沃尔玛和Etsy购物。[2021/7/11 0:43:19]
如何保护自己?好消息是,你可以保护自己免受这类威胁。在下一节中,我们将探讨的是,当你使用Metamask等标准以太坊钱包时,如何保障你的代币的安全性,并介绍了一些可以通过定制方法与dApp交互的钱包。
如何手动撤销代币授权
如果你想手动撤销授权,你需要使用TokenAllowanceChecker之类的工具。这类工具可以连接到你的钱包,并扫描整个区块链来寻找所有与你的以太坊地址有关的dApp授权。然后,你就可以编辑授权:将授权可用量设定为0从而取消授权,或者设定为你能接受的量。授权修改是通过与各个ERC20代币合约交互来实现的。
Flare Network:网络启动后将向每个合格XRP持有者空投可申领Spark代币的15%:Flare Network向XRP持有者空投似乎已经确定,最终的分发计划已经得到确认。Flare Network计划未来数月向 XRP 持有者空投Spark (FLR) 代币,这是首次概述分发将如何发生。
官方表示,一旦网络启动,每个符合条件的持有者将立即收到其可申领Spark代币的15%,然后平均每月申领3%,持续最少25个月,最多34个月。Flare Network表示,缓慢推出旨在尝试防止过度的抛售压力或对Spark代币的其他负面影响。(The Daily Hodl)[2021/7/4 0:25:31]
最好能够定期执行这一流程,取消你不打算再使用的dApp的授权。虽然这会花费你一点成本,因为每笔交易都需要在链上结算,但是从长期来看,你的钱包会给你应有的回报。
Chiliz上线尤文图斯粉丝代币JUV:金色财经报道,体育区块链合资企业和加密货币交易所Chiliz.net已与专注于体育的代币平台Socios.com一起上市了意大利体育俱乐部尤文图斯(Juventus)的粉丝代币(JUV)。Chiliz解释说,资产的价格将由“市场需求决定,该市场需求包括粉丝情绪、结果、锦标赛胜利和转会窗活动等因素”。[2020/4/16]
建议:如果你想要节省gas成本,可以下载GasStationNetwork扩展程序插件来在你的浏览器上追踪gas价格。你可以等到gas成本较低时再编辑你的授权可用量。
下一代以太坊钱包如何保护用户资金
一些已经推出的智能合约钱包也具备防护功能。智能合约钱包具有很强的灵活性,可以为用户提供定制化的智能合约交互方式。因此,许多智能合约钱包已实现定制化的授权方式,提高了用户体验和安全性。
原生整合:以Argent为例
例如,Argent是移动端以太坊钱包,已经将一些核心DeFi应用原生整合到应用中,以便用户进行借贷、赚取收益和交易。
这类钱包从智能合约层面整合了这些dApp,并确保用户在与这些dApp进行交互时,这些dApp只能得到实际请求量的授权。这一切都是在后台自动进行的,因此Argent用户甚至不知道授权交易的存在。
ArgentxWalletConnect
原生整合的一个缺点是不具备可扩展性,就像Argent一样。应用程序不可能原生整合每一个DeFi协议。对于大多数用户来说,Argent目前已经集成的应用可能足够了,但是重度DeFi用户使用每天都要使用十几个不同的dApp,不想局限于少数几个dApp。
一个名为WalletConnect的标准可以解决这个问题。WalletConnect可以让用户将他们的移动钱包连接到web端应用,并通过移动钱包安全地签署交易。Argent实现了WalletConnect整合定制化,让用户能够轻松设置授权可用量。此外,如果Argent用户改变了想法,可以在Argent应用中一键取消对某个dApp应用的授权。由于大多数dApp都支持WalletConnect,该功能可以让Argent用户在尽情探索整个DeFi领域时享受极高的安全性。
批量交易和dApp密钥:以Authereum为例
另一个能够优雅处理授权的智能合约钱包是Authereum。Authereum基于web端,而且大多数以太坊dApp应用都支持。另外,Authereum采用传统的电子邮件和密码登录,因此可以在几秒内将你的钱包连接到dApp,用户体验类似传统应用,而且不需要牺牲安全性。
当用户需要与dApp交互时,Authereum会生成一个新的临时dApp密钥,用来签署特定dApp的交易。该dApp密钥只能执行有限的功能,另外Authereum会执行一些完整性检查。如果发起请求的域不是创建dApp密钥的域,Authereum可以拦截该交易或通知用户。最后,这些dApp密钥可以随时从Authereum钱包中删除。
将多个交易打包到一个交易内还有很多其它优点。其中一个优点是高效——批处理交易可以节约成本和时间。以太坊上的每个普通转账交易都需要消耗21,000gas。如果用户一次性打包10个交易,总共可以节省189,000gas。另外,用户可以尝试通过发送连续交易来节省时间。
批处理交易的唯一问题是,dApp需要增加一些定制化的逻辑和UI流程来适当地处理交易。目前为止,只有1inch和Erasure等少数dApp支持这种交易模式,但是我们预期后续将有更多dApp支持该交易模式。
结论
代币授权存在很大的安全隐患。如果我们想要改善密码学货币应用的用户体验和安全性,我们显然需要改进代币授权功能。Authereum和Argent之类的钱包可以通过创新的方式让dApp交互更加安全。遗憾的是,在很多情况下,这类交易模式需要dApp开发者进行额外的工作,因此用户需要耐心等待一段时间。
无法采用上述解决方案的标准以太坊钱包至少应该让用户可以查看并编辑其dApp代币授权可用额。代币授权检查程序等工具很方便,但不是每个用户都知道它们。
原文链接:
https://cryptotesters.com/blog/token-allowances
作者:?EmanuelCoen
翻译&校对:闵敏?&阿剑
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。