Bots
雙花/比特幣機器人
眾所周知,在已知地址上發送比特幣不是很安全,一些機器人正在監視。有人可以解釋一下這些機器人如何設法在網路中傳播相同交易輸出的多個交易(例如<https://blockchain.info/fr/address/1HZwkjkeaoZfTSaJxDw6aKkxp45agDiEzN>)看起來至少有 3 個機器人之間存在競爭以前的地址。
為了好玩,我嘗試在監視地址收到比特幣後立即編寫 C# 應用程序建構+廣播事務。根本沒有機會。Bitcoind/blockchaininfo 說這個輸出已經用完了(收到後僅 2 秒)。因此,如果有一種機制可以防止在同一輸出上添加多個事務(在任何確認之前),那麼目前的機器人是如何做到的(1LdUHTEVxWJhrhKfy4H3VuYDnTHQVjsdBn && 1aa8hSJaxa2jKFtuBYp8VBsFNofsnoBHX)???
似乎 1LdUHTEVxWJhrhKfy4H3VuYDnTHQVjsdBn 幾乎總是贏家!
除非我們能準確地看到機器人在哪裡執行以及它們的交易是如何傳播的,否則我們永遠不會確切地知道一個機器人如何在已知私鑰的地址上勝過另一個。但是,我們可以猜測他們是如何獲勝的:
- 這些機器人由礦工執行。一旦他們獲得輸出到已知地址的交易,他們就會立即創建一個交易,將輸出花費到他們的一個地址。如果他們碰巧挖到了那個區塊,那麼輸出就是他們的。如果沒有,他們仍然可以傳播交易並希望無論如何都能獲得輸出。
- 機器人在連接良好的節點上執行。多個機器人花費相同的輸出本質上是雙花。在雙花情況下,更好的連接和更快的傳播將獲勝(在沒有上述情況的情況下)。有人可能直接連接到連接最好的節點,並且可以非常快速地傳播此類事務。
我的猜測是#1,儘管很難確定。如果它是#2,它可能是像 blockchain.info 這樣的知名網站。
基本上,我們是在猜測,但作為一個獨立節點,與礦工或大型節點沒有任何特殊關係,你沒有機會贏得第一或第二。