追踪獨立礦工和匿名性
從理論上講,是否可以編寫一個類似於獨立礦工的程序,但它只是記錄比特幣網路上其他電腦的 IP 以跟踪可能有比特幣錢包的 IP,然後將該列表用作更可取的黑客列表?
我認為我們可以區分 3 種類型的節點:1. 只執行比特幣客戶端作為錢包的人 2. 個人單獨挖礦 3. 人池挖礦
我幾乎可以肯定第三個選項是不可追踪的(假設池伺服器是安全的)。前兩個的可檢測性如何(尤其是單人採礦)。
您不僅可以編寫這樣的程序,而且您可能已經擁有一個。如果你執行標準的比特幣核心客戶端,你會看到它
debug.log
記錄了與之通信的每個網路節點的 IP 地址。(無論您是否使用客戶端進行挖礦都無關緊要 - 即使是非挖礦節點也需要連接到對等節點,並且可以跟踪他們找到了哪些對等節點。)一方面,攻擊者可能認為這些目標更具誘惑力,理由是這些機器上可能儲存有比特幣。另一方面,由於目前比特幣使用者在技術上往往比普通大眾更熟練,這些機器可能比網際網路上的普通電腦更安全,使其更難成為攻擊目標。
普通客戶和獨立礦工都可能執行普通的比特幣客戶。我不知道攻擊者有任何可靠的方法來判斷節點是否正在探勘。最好的方法可能是讓攻擊者擁有大量節點,每個節點都連接到大量對等點,並觀察新塊的首次出現。第一個發出該塊的節點更有可能是找到它的礦工——但攻擊者不能排除該節點只是中繼其他人發送給它的塊的可能性。
無論如何,目前尚不清楚一個單獨的礦工是否會比網路上的任何其他人更有利可圖 - 礦工不一定將他們賺到的硬幣儲存在礦機上。攻擊者可以控制一個單獨的礦工並將其作為自己的礦工,但很可能在礦工發現區塊之前很久就發現了她。(當礦工注意到區塊獎勵沒有送到正確的地方時,她肯定會在找到一個時被發現。)
礦池礦工不需要參與點對點比特幣網路,因此無法通過這種方式被發現。礦池運營商可以執行一個看起來與任何其他節點沒有區別的正常比特幣節點。