Re: [閒聊] 冷錢包出現陌生的交易紀錄

數位貨幣

21150

這個問題真的很有趣,我原本也以為釣魚是用類似的地址轉幣給你,讓偷懶的人手滑轉錯。


文中說釣魚的人可以用自己的錢包轉幣出去是滿奇怪的,我就去查一下USDC的合約,裡面的
transferFrom code還真的允許任何人調用這個function 轉出0塊代幣。
https://i.imgur.com/cOhNuZS.jpg

code寫<=也就是=0也是可以正常調用function
而沒有approve過的狀況下,allowed值會等於0
所以任何人call tranferFrom從你的錢包轉出0 USDC是可以的,你的錢包就會出現轉出紀錄

----
Sent from BePTT on my iPhone15,2

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 39.9.64.166 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/DigiCurrency/M.1671685788.A.6EC.html
inuyaksa1樓酷,感謝說明 12/22 13:21
adamcha2樓讚 感謝分享 12/22 13:26
goodyW3樓看文章漲知識 12/22 13:36
abccbaandy4樓真是神奇的邏輯...是為了測試? 12/22 13:39
本人5樓寫<=其實沒有錯,我認為應該要再加&& value<>0,避免這種狀 12/22 13:42
本人6樓 12/22 13:42
Ayukawayen7樓可以加一個allowed>0檢查,因為授權值>0情況下轉0元 12/22 13:47
Ayukawayen8樓給過好像很合理。 12/22 13:47
本人9樓是也可以,只是轉0元真的不是正常交易會做的事情 12/22 13:49
twrichgod10樓感謝,真的長知識了。只是不懂為什麼要這樣設計... 12/22 13:51
aass112211樓好奇 這樣的意義是? 12/22 13:52
Ayukawayen12樓不過其實照規範作,allowed=0時轉0元就是給過沒錯 12/22 13:54
Ayukawayen13樓轉0元在EIP有特別寫明了應該視同正常tranfer處理 12/22 13:55
Ayukawayen14樓尤其是Transfer事件要照常發。有些合約有用處。 12/22 13:56
DarkerDuck15樓0值交易也是有用啦,最常用的就是用來取消交易 12/22 16:34
DarkerDuck17樓把要取消的交易用同一個nonce的0值交易就可以在未被 12/22 16:36
DarkerDuck18樓確認前替換取消掉了 12/22 16:36
DarkerDuck19樓另外一種就是用這種null transaction來update nonce 12/22 16:41
DarkerDuck20樓當然像這種allow所對應的外部智能合約調用 12/22 16:42
DarkerDuck21樓就不太需要0值交易才是 12/22 16:43
sazabijiang22樓推 真是太意外了 12/22 17:22
Ayukawayen23樓ERC20的0值交易情境比較多是在智能合約內部交易的情況 12/22 18:13
Ayukawayen24樓比方處理找零的時候可以算出找x元就直接轉x過去,不用 12/22 18:15
Ayukawayen25樓去檢查算出來是x=0的時候還要特別處理。 12/22 18:17
xxxrecoil26樓沒想到真的是這樣 12/22 19:08
jay74102527樓0元交易會怎麼樣嗎? 還蠻好奇用途是啥 12/22 19:30
本人28樓不會怎樣,就看你會不會上當而已 12/22 20:35
ho83leo29樓好奇issue 沒人報嗎? 12/22 22:36
puipui30樓這種寫法是允許他人在自己的錢包留下轉出紀錄的 這種寫法 12/23 09:35