• 元宇宙:本站分享元宇宙相关资讯,资讯仅代表作者观点与平台立场无关,仅供参考.

从解药到毒药:Permit为何变成风险之源?

  • 2024年10月18日 02:19

作者:Keystone来源:X,@KeystoneCN1.一分钟认识Permit是什么

我们先从一个借钱小故事开始说起:

我准备向好朋友杰克马借100万,杰克马二话不说拿起电话打给银行,确认身份后告知银行:我要授权给某某某100万的提款额度,银行回复收到授权并记录在案。

下一步我只需要去到银行,告知柜台准备取走杰克马给我授权的100万。这时银行会查阅有没有授权记录并在确认我就是某某某后,把100万给到我。

这个小故事可以视为ETH上Approve授权的具象化。在这个过程中,授权只能由杰克马(资产所有人)打电话告知银行进行授权(上链),并由银行(Token合约)管理这些授权,之后我(被授权方)才能从银行转走不高于授权金额钱。假如银行没有查到授权记录的话,我的提款申请毫无疑问会被拒绝。

好了,接下来如果换成另外一种授权方法——Permit,向杰克马借钱的话,流程会有什么变化?

这次我一开口又要借100万,大方的杰克马也懒得打电话了,从口袋里掏出一本支票,填写金额并签名之后给了我。我拿着这张支票去到银行兑换,此时尽管银行没有授权记录,但是凭借着支票上杰克马的签名,银行确认了支票的真实性,将指定金额的钱兑付给了我。

相信小伙伴们已经看出了二者在流程上的差异,Approve作为ERC-20中重要功能,在ETH上线后不久就已经被广泛应用了,为什么后来还要在ERC-2612中引入Permit方法来实现相同效果的特性?2.为何需要Permit?

ERC-2612提案自2019年3月份被提出,直到2022年10月完成最后审查,它的上线和这期间ETH主网上的gas价格经历了多次暴涨有着密不可分的关系。

3.火山爆发般的野蛮生长

在Permit出现之前,黑客钓鱼币圈用户的手段之一便是诱导用户签署Approve交易,这样的交易需要用户花费gas,容易引起警觉而无法得逞。就算用户一时手快点击了,由于交易上链需要一定时间,回过神来的用户也可以马上提交一笔相同nonce的交易来抢救,相对来说黑客得手并不那么轻松。

而Permit的出现,对黑客来说无疑是瞌睡遇枕头,相比较于Approve,Permit不消耗gas,只需要签名,用户的警惕性降低。同时由于离线签名的特性,主动权掌握在黑客手上,不仅用户吃不了后悔药,黑客更可以拿着授权选择合适的时机做坏事,将利益最大化。

由此而带来的不良影响,便是我们可以看到的钓鱼受害者数量以及被盗金额激增。据@ScamSniffer的统计数据:

2023年钓鱼受害者损失金额为2.95亿美元。

在2024的上半年,这一金额就已经超过3.14亿美元之多。

在2024的Q3尾声,更是来了一票大的:疑似神鱼的钱包地址遭遇Permit钓鱼攻击,损失1.2万枚$spWETH,价值2个亿人民币。

2、善用工具

ScamSniffer

作为普通用户,想精准识别钓鱼网址有很高难度,难免会有漏网之鱼存在。借助ScamSniffer的浏览器插件,在进入疑似钓鱼的网址前,会收到插件的提醒,用户收到提醒后可以及时停止交互。

Revoke

Revoke.cash可以展示用户钱包里的Tokens授权记录,对于其中可疑的、无限金额的授权我们建议撤销。养成定期清理授权的习惯,尽量少做超出需要数量的授权。3、资产隔离与多签

常言道不要把鸡蛋都放在一个篮子里,这句话对于币圈资产也适用。比如我们可以把大额的资产存放在冷钱包如Keystone中,日常交互都是用小额的热钱包进行,即使不小心中招,资产也不会被一锅端。

如果对于安全性有更高的要求,可以使用多签来进一步提高安全性。加入了多签的资产,只有在钱包同意数达到阈值时,才能对资产进行操作转移。未达到阈值的单一钱包被盗,黑客也无法掌握资产。5.结语

我们无法否认Permit带来的价值,但近来越来越多的被盗事件也表明,它带来的危害似乎更大。正如曾经的ethsign方法,由于可读性差且危害巨大,也备受当时的黑客青睐。而如今它已经被绝大多数的钱包软件屏蔽弃用,它实现的功能也被一些更安全的方法所替代。

把目光放在Permit身上,是否也同样走到了ethsign曾经面临的十字路口?改良升级还是弃用,需要ETH的开发者们花一些时间去思考和讨论。

Copyright © 2021.Company 元宇宙YITB.COM All rights reserved.元宇宙YITB.COM