硬體錢包DeFi 授權問題 - 數位貨幣

Table of Contents

※ 引述《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的地址。甚或,有沒有需要再額外確認其他的東西呢?
: 以上三點,有勞各位前輩指點迷津,在下先謝過。

--

All Comments

Zenobia avatarZenobia2021-12-08
Hedy avatarHedy2021-12-12
Andrew avatarAndrew2021-12-16
Catherine avatarCatherine2021-12-20
好奇硬體錢包的私鑰會怎麼外洩?
Dorothy avatarDorothy2021-12-24
push
Anthony avatarAnthony2021-12-23
蠻好奇如果有approve某合約 usdc spend unlimed
日後該智能合約不需要錢包簽名就能動無限次動用usdc?
Genevieve avatarGenevieve2021-12-27
我玩DEFI半年多沒遇過會日後偷偷扣款的情況說@@
Rachel avatarRachel2021-12-23
多謝Ayukawayen大撥冗回一篇回答,也同問樓上推文的問題
們,再次感謝!
Eden avatarEden2021-12-27
看來別亂授權不明合約就好 畢竟有approve的幣通常都在
Delia avatarDelia2021-12-23
做挖礦 平時沒餘額 合約被駭改代碼也不會第一波中獎XD