代币授权存在很大的安全隐患。如果想要改善加密货币应用的用户体验与安全性,那么显然需要改进代币授权功能。
原文标题:《科普 | 代币授权:密码学货币行业用户体验的最大障碍》 撰文:Emanuel Coen 翻译 & 校对:闵敏 & 阿剑
如果你是 DeFi 深度用户,你肯定被这个繁琐的流程折磨过无数次了。每当你使用一个新的 dApp,你都需要授权这个 dApp 花费你的代币。

跟传统金融行业类比一下,这个流程有点类似于办理直接借记,授权你的供电商每月从你的银行账户上扣除电费。
但是,与密码学货币行业不同的是,传统金融行业的直接借记业务只面向少数可信公司。这类公司不太会欺骗消费者,即使偶尔发生欺骗消费者的行为,消费者也可以提出异议,由银行充当调停者。密码学货币行业没有这类工具。一些 dApp 是由匿名开发者构建的,没有为受骗用户设立的争议机制。一旦在区块链上完成付款,就无法撤销。

以太坊区块链上的大多数代币,如 USDC 和 DAI,都采用 ERC20 标准。ERC20 代币实际上是智能合约,包含不同的方法,如 transferFrom 和 burn。用户调用这些方法,应用就会对代币做相应的操作。
其中一种方法是 approve。任何你想要使用的 dApp 都需要访问你的 ERC20 代币才能对其进行操作。例如,如果你想要在 Aave 中存入 USDC,你首先需要授予 Aave dApp 的智能合约访问 USDC 的权限,然后才能通过第二笔交易将 USDC 存入 Aave。你可以在你的以太坊钱包用户界面上看到该授权。虽然授权可用量从理论上来说是灵活的,但是大多数 dApp 会默认要求无限量授权,以此简化用户体验,并尽可能减少用户使用该应用所需进行的交易次数。
这里存在的一个安全问题是,大多数用户认为他们的授权是针对某个交易,而且是限量的,但是在大多数情况下,用户实际上授予了 dApp 永久访问他们持有的某种代币的权限,而且是不限量的。因此,如果 dApp 出现安全问题或从一开始就是恶意的,攻击者就可以将滥用这种授权来盗取 dApp 用户持有的全部已授权代币,而无需经过用户同意。这种攻击可以在将来的任意时刻发起,即使是在用户使用过 dApp 的若干年后。
如何保护自己?好消息是,你可以保护自己免受这类威胁。在下一节中,我们将探讨的是,当你使用 Metamask 等标准以太坊钱包时,如何保障你的代币的安全性,并介绍了一些可以通过定制方法与 dApp 交互的钱包。
如何手动撤销代币授权如果你想手动撤销授权,你需要使用 Token Allowance Checker 之类的工具。这类工具可以连接到你的钱包,并扫描整个区块链来寻找所有与你的以太坊地址有关的 dApp 授权。然后,你就可以编辑授权:将授权可用量设定为 0 从而取消授权,或者设定为你能接受的量。授权修改是通过与各个 ERC20 代币合约交互来实现的。

最好能够定期执行这一流程,取消你不打算再使用的 dApp 的授权。虽然这会花费你一点成本,因为每笔交易都需要在链上结算,但是从长期来看,你的钱包会给你应有的回报。
建议:如果你想要节省 gas 成本,可以下载 Gas Station Network 扩展程序插件来在你的浏览器上追踪 gas 价格。你可以等到 gas 成本较低时再编辑你的授权可用量。
下一代以太坊钱包如何保护用户资金一些已经推出的智能合约钱包也具备防护功能。智能合约钱包具有很强的灵活性,可以为用户提供定制化的智能合约交互方式。因此,许多智能合约钱包已实现定制化的授权方式,提高了用户体验和安全性。
原生整合:以 Argent 为例例如,Argent 是移动端以太坊钱包,已经将一些核心 DeFi 应用原生整合到应用中,以便用户进行借贷、赚取收益和交易。
这类钱包从智能合约层面整合了这些 dApp,并确保用户在与这些 dApp 进行交互时,这些 dApp 只能得到实际请求量的授权。这一切都是在后台自动进行的,因此 Argent 用户甚至不知道授权交易的存在。

原生整合的一个缺点是不具备可扩展性,就像 Argent 一样。应用程序不可能原生整合每一个 DeFi 协议。对于大多数用户来说,Argent 目前已经集成的应用可能足够了,但是重度 DeFi 用户使用每天都要使用十几个不同的 dApp,不想局限于少数几个 dApp。
一个名为 WalletConnect 的标准可以解决这个问题。WalletConnect 可以让用户将他们的移动钱包连接到 web 端应用,并通过移动钱包安全地签署交易。Argent 实现了 WalletConnect 整合定制化,让用户能够轻松设置授权可用量(从此告别无限量授权)。此外,如果 Argent 用户改变了想法,可以在 Argent 应用中一键取消对某个 dApp 应用的授权。由于大多数 dApp 都支持 WalletConnect,该功能可以让 Argent 用户在尽情探索整个 DeFi 领域时享受极高的安全性。

另一个能够优雅处理授权的智能合约钱包是 Authereum。Authereum 基于 web 端,而且大多数以太坊 dApp 应用都支持。另外,Authereum 采用传统的电子邮件和密码登录,因此可以在几秒内将你的钱包连接到 dApp,用户体验类似传统应用,而且不需要牺牲安全性。

当用户需要与 dApp 交互时,Authereum 会生成一个新的临时 dApp 密钥,用来签署特定 dApp 的交易。该 dApp 密钥只能执行有限的功能,另外 Authereum 会执行一些完整性检查。如果发起请求的域不是创建 dApp 密钥的域,Authereum 可以拦截该交易或通知用户。最后,这些 dApp 密钥可以随时从 Authereum 钱包中删除。

将多个交易打包到一个交易内还有很多其它优点。其中一个优点是高效 —— 批处理交易可以节约成本和时间。以太坊上的每个普通转账交易都需要消耗 21,000 gas。如果用户一次性打包 10 个交易,总共可以节省 189,000 gas。另外,用户可以尝试通过发送连续交易来节省时间。
批处理交易的唯一问题是,dApp 需要增加一些定制化的逻辑和 UI 流程来适当地处理交易。目前为止,只有 1inch 和 Erasure 等少数 dApp 支持这种交易模式,但是我们预期后续将有更多 dApp 支持该交易模式。
结论代币授权存在很大的安全隐患。如果我们想要改善密码学货币应用的用户体验和安全性,我们显然需要改进代币授权功能。Authereum 和 Argent 之类的钱包可以通过创新的方式让 dApp 交互更加安全。遗憾的是,在很多情况下,这类交易模式需要 dApp 开发者进行额外的工作,因此用户需要耐心等待一段时间。
无法采用上述解决方案的标准以太坊钱包至少应该让用户可以查看并编辑其 dApp 代币授权可用额。代币授权检查程序等工具很方便,但不是每个用户都知道它们。
来源链接:cryptotesters.com
Circle携手Wyclef Jean,共同推动全球稳定币文化与金融普惠
SBI控股与Circle成立合资公司 推动USDC在日本数字金融应用
21Shares携手法国兴业银行,强化德国及东欧市场加密ETP流动性
Circle申请国家信托银行牌照:强化USDC储备管理与金融科技合规
Circle登陆FxPro平台,IPO暴涨307%:USDC稳定币巨头掀CFD交易热潮
eToro新增29种加密资产,含17种高风险实验性代币
Circle Payments Network震撼发布:USDC与EURC驱动跨境支付革命
Broadridge推出数字资产解决方案:助力金融机构合规扩展加密市场
CME集团6月30日推出现货报价期货:比特币、以太坊及标普500等长达5年持有
ICE携手Circle:USDC超600亿市值助推新金融产品开发
eToro推出加密资产转账与兑现功能:比特币、以太坊可无缝投资多资产
nxtAssets GmbH携手SIX推出比特币与以太坊ETP:加密资产交易总数达398
Ben Bilski 2025年新动作:打造颠覆性加密货币交易平台
Clearstream携手Crypto Finance推出加密资产托管服务,德意志交易所集团引领机构投资者新风潮
西班牙BBVA获批推出比特币和以太坊交易服务,零售客户可通过手机银行直接管理加密资产
SBI VC Trade完成日本首例USDC稳定币注册,3月12日起试运行
Binance回应MiCA新规:3月31日起EEA禁用USDT等非合规稳定币
Bybit遭遇重大黑客攻击,15亿美元数字货币被盗
Bybit遭遇安全漏洞,1.4亿美元以太坊代币被盗,市场反应激烈
Bybit交易所遭黑客攻击,14亿美元ETH被盗,资金安全隐患引发行业关注



