※ 引述《s148235 (罗杰森)》之铭言:
: 如题。
: 我本身是用Ledger硬件钱包生成一组助记词,在诸多不同的链上有部署资产,包含了EVM
: 徒子徒孙链(BSC/FTM/Polygon等)与Solana ,做各种DeFi yield farming。以下问题皆
: 假设不讨论 rug-pull 或助记词外流。
如果是讲ERC20 Token的授权,原则上一个授权的权限范围只有单一链的单一Token,
或许有些同个开发者的Tokens会去做一次授权多种Tokens(我没碰过),
不同团队的几乎不会互相影响权限。
换句话说授权A Token不会造成对方可以动你的B Token。
(授权也有额度限制,不过骗授权通常就会拉到最大值,所以就当作所有金额都是危险的)
(由于正常用途也常常会把额度开到最高,所以很难用这点分辨诈骗与否。)
: 问题一:
: 若当我不慎在BSC上授权一钓鱼网站,则有可能影响到我在Polygon上的其他资产吗?
不同链的权限是分开的,所以不会影响。
有很小的机会对方可以在另一条链上重放你的授权Tx,但这个要符合的条件很多,实际
发生的可能性很低所以不用太担心。 (BSC和Polygon大概有做重放保护,我不确定)
: 问题二:
: 假使不慎授权一钓鱼网站,当下立即发现,以EVM来说,若即时在资产被转走前,前往DeB
: ank或是unrekt取消(revoke)授权,是否可以确保安全?
如果来得及取消就没事。
注意攻击者可能会使用比较高的gas price来抢跑交易。
: 又或,假使不慎授权后,部分资产已即刻被转移。请问发现当下第一时间,首要步骤是,
: 前往DeBank或是unrekt取消(revoke)授权,还是转走剩余资产至其他钱包?有孰轻孰重,
: 先后顺序之分吗?
这边先提一下
ERC20 Token的授权一般是一个Tx授权一个Token,都要到原Token的地址去授权。
我印象中好像即使用智能合约也没办法让一般地址一个Tx就授权多个Token
(让合约地址在一个Tx授权多个Token是可以的,但一般地址不行)。
至少OpenZeppelin的实作应该是这样。
所以看你发了几个授权Tx大概就可以知道授权了几个Token出去,
不过另外有种链下授权是让你用钱包签一段讯息,这也有可能让对方有权用你的Token
(像Uniswap的removeLiquidityETHWithPermit会用到这种技术)
总之你没有授权出去的Token对方是无权动用的,短时间内可以先不用管它,那么可以
尝试先去取消对诈骗地址的授权。
长期来说,可能会担心这个钱包除了授权外还有私钥泄露问题,结果还是要转走,
如果资产转空了其实就不用担心授权问题,因为没钱的地址有权限也转不出东西。
转到别的钱包时小心别因为太紧张转错,会是另一个惨剧。
: 问题三:
: 请问若要继续用硬件钱包操作DeFi,在授权前,若我的流程是“确认网址正确+确认智能
: 合约地址正确”,是否有需要再额外确认 smart contract function 吗?例如: _spend
: er的地址。甚或,有没有需要再额外确认其他的东西呢?
: 以上三点,有劳各位前辈指点迷津,在下先谢过。