代币授权:密码学货币行业用户体验的最大障碍
如果你是 DeFi 深度用户,你肯定被这个繁琐的流程折磨过无数次了。每当你使用一个新的 dApp,你都需要授权这个 dApp 花费你的代币。
Metamask 上的授权界面
跟传统金融行业类比一下,这个流程有点类似于办理直接借记,授权你的供电商每月从你的银行账户上扣除电费。
但是,与密码学货币行业不同的是,传统金融行业的直接借记业务只面向少数可信公司。这类公司不太会欺骗消费者,即使偶尔发生欺骗消费者的行为,消费者也可以提出异议,由银行充当调停者。密码学货币行业没有这类工具。一些 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 x Wallet Connect
原生整合的一个缺点是不具备可扩展性,就像 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,000 gas。如果用户一次性打包 10 个交易,总共可以节省 189,000 gas。另外,用户可以尝试通过发送连续交易来节省时间。
批处理交易的唯一问题是,dApp 需要增加一些定制化的逻辑和 UI 流程来适当地处理交易。目前为止,只有 1inch 和 Erasure 等少数 dApp 支持这种交易模式,但是我们预期后续将有更多 dApp 支持该交易模式。
结论
代币授权存在很大的安全隐患。如果我们想要改善密码学货币应用的用户体验和安全性,我们显然需要改进代币授权功能。Authereum 和 Argent 之类的钱包可以通过创新的方式让 dApp 交互更加安全。遗憾的是,在很多情况下,这类交易模式需要 dApp 开发者进行额外的工作,因此用户需要耐心等待一段时间。
无法采用上述解决方案的标准以太坊钱包至少应该让用户可以查看并编辑其 dApp 代币授权可用额。代币授权检查程序等工具很方便,但不是每个用户都知道它们。
原文链接:
https://cryptotesters.com/blog/token-allowances
作者: Emanuel Coen
翻译&校对: 闵敏 & 阿剑
比推快讯
更多 >>- 美国利率期货合约交易员预计美联储九月首次降息的可能性增加
- 稳定币公司OpenDelta完成250万美元Pre-Seed轮融资
- 美国3月核心PCE物价指数年率2.8%,预期2.7%
- Web3游戏L3E7完成1000万美元融资
- 芝加哥期权交易所拟将数字资产衍生品业务整合到其全球衍生品和结算业务中
- 某鲸鱼地址将3527枚ezETH PT和3300枚ETH存入Zircuit
- Quantix Capital投资NFA Labs 1000万美美元
- Uniswap基金会向Auditless拨款120万美元以创建Protocol Grants Program
- Arthur Hayes:美财长耶伦或将推出天量流动性注入计划,加速加密牛市回归
- RWA协议The Conlony完成新一轮融资,TechStars等参投
- 名义价值93亿美元的BTC与ETH期权即将到期
- Amaranth基金会创始人花费2470万美元购买7814枚ETH
- Vitalik:PoW也相当中心化,PoW只是转向PoS之前的临时阶段
- 中国证监会科技监管司司长、信息中心主任姚前接受审查调查
- 比特币长期持有者已从1月份开始抛售仓位
- PenPad宣布获得加密投资机构Animoca Brands投资
- 富达现货比特币ETF首次录得资金流出
- 华盛证券成为首批虚拟资产现货ETF承销商
- Lava Network发布LAVA代币经济学,6.6%代币将用于API提供者奖励
- Apple工程师辞职构建以太坊Blobspace的衍生品产品
- BNB Chain宣布在BSC区块链中纳入原生流动性质押功能
- Base协议负责人:Base网络上USDC数量仅次于以太坊
- FBI 警告美国人不要使用未经注册的加密货币传输服务
- SEC 向 Consensys 发出关于 MetaMask 的 Wells 通知,称其作为无牌经纪商运营
- Pantera Capital计划为其新的加密基金筹集10亿美元
- Consensys 对 SEC 提起诉讼,以捍卫以太坊生态系统
- Axelar宣布将通过Filecoin虚拟机提供链上去中心化存储
- 金融科技巨头Stripe时隔六年后再次接受加密支付,目前支持 USDC 稳定币
- Paxos Treasury新增铸造1亿枚PYUSD
- 链上文化创意平台Spotlight完成200万美元Pre-Seed轮融资,Folius Ventures领投
- Starknet面向永续合约和期权协议开启DeFi Spring第三阶段
- 美众议院金融服务委员会高级议员:稳定币法案可能很快会出台
- Arkham:贝莱德在其 2 个 ETF 钱包中收到了超过 2万美元的符文代币空投
- 去中心化物理基础设施网络Natix完成460万美元战略融资,拟空投 10 亿枚 NATIX 代币
- Coinbase国际交易所将上线AEVO、ENA、ETHFI永续合约
- BTC突破64000美元,日内跌幅收窄至1.07%
- 9只现货比特币ETF今日净减持1,104枚BTC,净流出约7010万美元
- W代币现可通过Wormhole NTT在Solana、以太坊及L2网络上无缝转移
- Immutable 推出价值 5000 万美元的加密游戏奖励计划
- Wordcoin计划与PayPal和OpenAI进行合作
- 富兰克林顿普顿为其链上美国政府货币基金推出点对点转账服务
- USDC Treasury销毁超5622万枚USDC
- 以太坊 L2 区块链开发商 Movement Labs 完成 3800 万美元 A 轮融资
- A16z crypto 首席技术官:Meme币“赌场”破坏了加密货币的长期愿景
- 自 4 月 8 日以来疑似孙宇晨地址已购买 176,117 枚 ETH,约合 5.597 亿美元
- DCG聘请Aimie Killeen担任其新的首席法务官
- Benchmark:如果采用新的会计规则,MicroStrategy 盈利或增加 30 亿美元并成为标普 500 强公司
比推专栏
更多 >>观点
项目
比推热门文章
- Web3游戏L3E7完成1000万美元融资
- 芝加哥期权交易所拟将数字资产衍生品业务整合到其全球衍生品和结算业务中
- 某鲸鱼地址将3527枚ezETH PT和3300枚ETH存入Zircuit
- Quantix Capital投资NFA Labs 1000万美美元
- Uniswap基金会向Auditless拨款120万美元以创建Protocol Grants Program
- Arthur Hayes:美财长耶伦或将推出天量流动性注入计划,加速加密牛市回归
- RWA协议The Conlony完成新一轮融资,TechStars等参投
- 名义价值93亿美元的BTC与ETH期权即将到期
- Amaranth基金会创始人花费2470万美元购买7814枚ETH
- Vitalik:PoW也相当中心化,PoW只是转向PoS之前的临时阶段