是否有可能知道比特幣交易是否是挖礦交易?
嗨,我目前正在建構金融軟體來幫助使用者跟踪他們的比特幣交易。我嘗試了幾種不同的 api,目前正在使用chain.so來獲取使用者的比特幣交易。
我的問題是有可能以某種方式將使用者的交易辨識為挖礦交易嗎?謝謝!
以下是使用者的上下文挖礦交易範例:https ://chain.so/tx/BTC/4e17089eb2e95695f082b5b7570fee8c7544b382ed32ab9dedfd0a6512c4ac35
礦池支付交易在任何方面都不是特別的。它們不是與網路上的其他交易唯一可辨識的單獨交易類型。除了詢問礦池之外,沒有辦法確定交易是礦池支付交易。
您可以使用一些啟發式方法,但它們只是啟發式方法,可能會錯過一些交易或錯誤地辨識交易。例如,向多個接收者付款且在出現在區塊中之前未在網路上看到的交易可能是挖礦交易,特別是如果該交易也不支付費用。幾個礦池使用的地址是已知的,因此涉及這些地址的交易也可能是支付交易。
然而,這些不是保證。在第一種情況下,不可能確定交易在被探勘之前沒有被廣播。您只能知道您自己的節點是否已經看到它。此外,並非所有非廣播交易都是由礦工創建的。他們可能接受帶外交易以及帶外費用,因此並非所有 0 費用交易也是礦工的。並且尋找眾所周知的地址也可能會擷取到/來自冷儲存的交易,以及通常與支付無關的其他業務交易。
沒有方法可以確定交易是否是礦池支付交易,但可以應用一些啟發式方法讓您確信這就是您正在查看的內容。
輸出
就像交易所處理提款一樣,礦池將支付批量支付到單個交易中以節省費用,因此交易將有很多輸出。您可以設置一個最小門檻值來考慮進一步評估交易(您的範例交易有 58 個輸出,其中一個顯然是更改輸出)。
接下來,如果您查看範例交易,您會發現許多輸出金額僅略高於 0.001、0.005 或 0.01。顯然,許多礦池使用者已經設置了在達到一定門檻值金額後自動支付(事實上,如果你查看接收硬幣的地址,你會發現它們已被重複使用,並且過去曾多次收到類似金額) . 這種模式也可以在其他礦池的支付交易中看到,但不能在來自交易所的批量交易中看到(據我所知,沒有交易所實施這樣的在設定門檻值後自動退出的系統),因此它有助於區分兩者。
交易鏈
如果您將範例交易的單個輸入跟踪到其先前的交易,您將再次看到看起來像礦池支付交易的情況,再次使用單個輸入。您可以按照這些輸入總共 8 個步驟,直到您到達交易7ea0061d3d5c1d04f8ffa65a33ee0ea056dfaad071bad13c29db6ee3f468e0d3 ,該交易整合了 Luxor Tech 開采的 5 個 UTXO(從他們的 coinbase 輸入可以看出)。這讓我們很有信心,鏈中的那些交易確實是礦池支付交易,而且它們屬於哪個礦池。
其他礦池的交易鏈可能會導致 coinbase 交易的外觀略有不同,因此獲得這種啟發式權利可能需要進行一些實驗。
靜態地址
最後,一些礦池似乎會重複使用一個地址進行許多支付。例如,可以追溯到 BTC.com 礦池的地址3FxUA8godrRmxgUaPv71b3XCUxcoCLtUx2已被用於數千筆交易,其中一些顯然是支付交易。您可以將這些地址編譯成一個列表以檢查未來的交易。