代币授权:密码学货币行业用户体验的最大障碍_DAP:DAPPT

如果你是DeFi深度用户,你肯定被这个繁琐的流程折磨过无数次了。每当你使用一个新的dApp,你都需要授权这个dApp花费你的代币。

Metamask?上的授权界面

跟传统金融行业类比一下,这个流程有点类似于办理直接借记,授权你的供电商每月从你的银行账户上扣除电费。

但是,与密码学货币行业不同的是,传统金融行业的直接借记业务只面向少数可信公司。这类公司不太会消费者,即使偶尔发生消费者的行为,消费者也可以提出异议,由银行充当调停者。密码学货币行业没有这类工具。一些dApp是由匿名开发者构建的,没有为受用户设立的争议机制。一旦在区块链上完成付款,就无法撤销。

代币授权是什么?它是如何运作的?

以太坊区块链上的大多数代币,如USDC和DAI,都采用ERC20标准。ERC20代币实际上是智能合约,包含不同的方法,如transferFrom和burn。用户调用这些方法,应用就会对代币做相应的操作。

代币化黄金资产总市值超过10亿美元:金色财经报道,CoinGecko的数据显示,随着金价接近历史高点,代币化黄金资产的总市值超过了10亿美元。代币化黄金是一种稳定币,其价格与黄金挂钩。它为投资者提供了一种投资黄金的方式,既不需要支付ETF管理费,也不用承担金条的存储成本。目前最大的两种黄金稳定币是由纽约金融科技公司Paxos Trust Company发行的PAXG以及由Tether发行的XAUT。截至目前,PAXG和XAUT的市值分别为5.18亿美元和4.99亿美元。[2023/4/5 13:45:36]

其中一种方法是approve。任何你想要使用的dApp都需要访问你的ERC20代币才能对其进行操作。例如,如果你想要在Aave中存入USDC,你首先需要授予AavedApp的智能合约访问USDC的权限,然后才能通过第二笔交易将USDC存入Aave。你可以在你的以太坊钱包用户界面上看到该授权。虽然授权可用量从理论上来说是灵活的,但是大多数dApp会默认要求无限量授权,以此简化用户体验,并尽可能减少用户使用该应用所需进行的交易次数。

Gemini上线1INCH和BNT等七个新代币:金色财经报道,总部位于纽约的加密货币交易所Gemini已在其平台上添加了七个新代币,明确关注DeFi和NFT行业。其中包括DeFi相关的1INCH和Bancor(BNT),区块链基础设施相关代币SKALE(SKALE)、The Graph(GRT)和Loopring(LRC)以及以游戏为中心的代币Enjin Coin(ENJ)和Sandbox的SAND。[2021/3/23 19:08:50]

这里存在的一个安全问题是,大多数用户认为他们的授权是针对某个交易,而且是限量的,但是在大多数情况下,用户实际上授予了dApp永久访问他们持有的某种代币的权限,而且是不限量的。因此,如果dApp出现安全问题或从一开始就是恶意的,攻击者就可以将滥用这种授权来盗取dApp用户持有的全部已授权代币,而无需经过用户同意。这种攻击可以在将来的任意时刻发起,即使是在用户使用过dApp的若干年后。

澳大利亚经历DeFi繁荣,各项目代币涨幅显著:澳大利亚正在经历一场DeFi繁荣,一些最受关注的项目都位于该国,包括此前长期居领导地位的Synthetix(SNX)、崭露头角的Thorchain(RUNE),以及刚刚推出的Ren(REN)和mSTABLE(META)。

RUNE在过去30天里上涨了167%,REN上涨了36%(主要是在过去一周),SNX上涨35%,较去年上线前低点涨了260%。Apollo Capital首席投资官Henrik Andersson表示:“我认为,澳大利亚在DeFi方面的表现超乎想象,但这一事实可能没有得到充分认识。”(Cointelegraph)[2020/6/19]

如何保护自己?好消息是,你可以保护自己免受这类威胁。在下一节中,我们将探讨的是,当你使用Metamask等标准以太坊钱包时,如何保障你的代币的安全性,并介绍了一些可以通过定制方法与dApp交互的钱包。

动态 | Overstock子公司为亚洲投资者开发基于钴的代币:据coindesk报道,Overstock.com的子公司tZERO已被私募股权公司GSR Capital聘用开发基于钴的代币。Overstock周一表示,此次合作将使价值高达2亿美元的稀有金属钴(仅用于制造电动汽车电池)代币化。[2018/12/18]

如何手动撤销代币授权

如果你想手动撤销授权,你需要使用TokenAllowanceChecker之类的工具。这类工具可以连接到你的钱包,并扫描整个区块链来寻找所有与你的以太坊地址有关的dApp授权。然后,你就可以编辑授权:将授权可用量设定为0从而取消授权,或者设定为你能接受的量。授权修改是通过与各个ERC20代币合约交互来实现的。

最好能够定期执行这一流程,取消你不打算再使用的dApp的授权。虽然这会花费你一点成本,因为每笔交易都需要在链上结算,但是从长期来看,你的钱包会给你应有的回报。

数字代币WAX发行2小时内狂跌99.9% WAX现价报4.66元:数字代币WAX发行2小时内狂跌99.9%,最近,数字代币Wax项目方在未通知用户的情况下,上线比特币交易所火币Pro后,在未通知用户和平台的情况下,突然修改地址规则,将发行初期1.85亿的Wax代币更改为18.5亿,增发幅度达到10倍。当天Wax连续暴跌,发行两小时内,Wax跌幅超过99.9%,一度跌至人民币5元左右,给用户造成大量损失。WAX之后价格一直低迷,现价报4.66元。[2017/12/28]

建议:如果你想要节省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

翻译&校对:闵敏?&阿剑

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

金智博客

[0:0ms0-4:514ms