Blockchain
我的 ETH 會在幾毫秒內被機器人掃描,這背後的機制是什麼?
長話短說,我在開發過程中不小心把我的乙太坊私鑰推到了 github 上。資金本身並不是我主要關心的問題。但是,我注意到每當我嘗試向該地址發送資金時,它都會立即被清除。
區塊瀏覽器顯示該交易在同一個區塊中也有 3 個丟棄的交易。
這讓我想知道。
1:由於賬戶中沒有餘額,如何在發送(未確認)的同一塊中清掃資金
2:為什麼該區塊有 3 個被丟棄的交易
我搜尋了 github 和堆棧,但找不到任何可以重現此行為的程式碼。誰能解釋一下這背後的機制,如果可能的話,分享一些程式碼,以便我可以學習和探索這個?這遠遠超出了監控交易的範圍,只是發送一個帶有總餘額的簡單 tx。
謝謝!
查找“乙太坊是一片黑暗的森林”。
在探勘交易之前,它會在節點之間進行交換,節點將其保存在所謂的記憶體池中。任何擁有連接節點的人都可以查看記憶體池並過濾您的受損地址。
你的攻擊者就是這樣做的,它在記憶體池中看到你的資金交易,獲取 nonce(交易序列)並立即發出一個帶有 nonce+1 的耗盡交易(以便在資金後立即由礦工訂購)和非常高的 gas價格(這樣它就不會流連忘返)。
事實上,你有不止 1 個攻擊者。他們都這樣做,但只能有 1 個獲勝者。因此其他失敗的交易。