转发原文标题《大白话讲解Web3签名钓鱼底层逻辑“授权钓鱼、Permit与Permit2的区别”》
简明解读
最近频频发生这样的案例:用户只是简单地签了个名,钱包里的资产就不翼而飞了。这种”签名钓鱼”正逐渐成为Web3黑客最热衷的攻击手段。尽管安全专家们不断发出警告,但每天仍有大量用户中招。
造成这种情况的一个重要原因是,大多数用户对钱包交互的底层机制缺乏了解,技术门槛让普通用户难以防范。为此,我们尝试用最通俗易懂的方式,配合图解来说明签名钓鱼的运作原理。
在使用钱包时,我们实际上只进行两种操作:”签名”和”交互”。简单来说,签名是链下行为,不需要支付Gas费;而交互则是链上操作,需要消耗Gas费。
签名最常见的应用场景是身份验证。比如在连接Uniswap时,你需要签名确认”我是这个钱包的主人”。这个操作不会改变区块链状态,因此完全免费。而交互则发生在实际交易时,比如在Uniswap兑换代币需要先授权合约操作你的USDT,这个步骤就需要支付Gas费。
理解了基础概念后,我们来看看三种常见的钓鱼方式:授权钓鱼、Permit签名钓鱼和Permit2签名钓鱼。
授权钓鱼是最传统的Web3钓鱼手法。黑客会伪造一个精美的NFT空投页面,诱使用户点击”领取空投”按钮。实际上这个按钮触发的是授权操作,将用户代币的控制权转移给黑客地址。由于需要支付Gas费,这种手法相对容易被警觉的用户识破。
Permit钓鱼则更加隐蔽。Permit是ERC-20标准的扩展功能,允许用户通过签名授权他人操作代币。黑客会伪装成普通登录请求,诱使用户签署包含转账权限的”数字授权书”。由于不需要支付Gas费,加上用户对登录签名的惯性信任,这种手法成功率很高。
Permit2是Uniswap推出的优化方案,允许用户一次性授权后通过签名完成后续交易。虽然提升了用户体验,但也带来了安全隐患。只要用户曾经授权过Uniswap,黑客就能通过钓鱼签名转走对应代币。
要有效防范这些钓鱼攻击,关键在于培养良好的安全意识。建议将大额资产与日常使用的钱包分开管理,同时仔细检查每个签名请求的具体内容。特别要注意包含以下字段的签名请求:交互网址、授权双方地址、授权数量、随机数和过期时间等关键信息。
声明:文章不代表CHAINTT观点及立场,不构成本平台任何投资建议。投资决策需建立在独立思考之上,本文内容仅供参考,风险 自担!转载请注明出处:https://www.chaintt.cn/13324.html