Transactions

交易中的第一個輸入總是發送者的嗎?

  • August 26, 2020

我試圖從具有多個輸入的事務中找出輸入地址是什麼。可以有把握地說,交易輸入中的第一個輸入是發送者的嗎?

可以有把握地說,交易輸入中的第一個輸入是發送者的嗎?

不,不存在這樣的順序。

交易使用 UTXO 作為輸入,並創建新的 UTXO 作為輸出。一筆交易可以有來自一個人的多個輸入,或者來自多個人的輸入。在某些情況下,不止一個人可以擁有一個輸入。所以實際上沒有任何有用的方法可以指向隨機交易中的特定輸入,並說*“這是來自發件人”*。

在有兩個或更多輸入的情況下,交易也有可能是“payjoin”風格的交易,它專門用於打破試圖確定 UTXO 所有權/交易參與的常見啟發式方法。

更一般地說,謹慎的做法是以不會不必要地交出資訊的方式進行交易,這樣您就可以在仍然與比特幣網路互動的同時保持隱私。

不,這不一定是真的。

  1. 如果多個使用者協作創建了交易(例如,在投幣、付費或其他類型的多方交易期間),則接收第一個輸入的地址可能由另一方擁有,而不是向您付款的一方,或者可能與您共享所有權不止一方。
  2. 如果發件人使用託管服務發起交易,則地址可能根本與發件人無關。許多託管服務使用所謂的“綜合錢包”,所有資金都混合在一起,地址只連結到特定使用者進行存款,而不是提款。

因此,雖然交易通常是由擁有所有接收輸入地址的單一實體創建的,但情況並非總是如此,即使是這樣,交易的發起者和地址的貸方也可能是兩個不同的使用者. 比特幣中“發件人地址”的概念具有危險的誤導性,您應該將地址視為“發票標識符”:不要重複使用,尤其是如果您不知道哪些元數據可能與原始發票相關聯。

您沒有說明為什麼要查找“發件人地址”。如果您打算退回資金,請向發件人詢問目的地地址,否則資金可能會失去給您的預期收款人。

引用自:https://bitcoin.stackexchange.com/questions/98685