Bitcoin-Core

使用比特幣跟踪使用者存款

  • January 14, 2021

我在乙太坊 SE上發現了以下關於比特幣的陳述:

使用比特幣時,可以為每個服務使用者生成新地址並保存對(地址-> userId),因此哪個特定使用者發送了硬幣總是很明顯的。

此外,所有這些硬幣都作為 UTXO 儲存在錢包中,因此很容易將它們發送到另一個地址支付一次費用

我需要為每個使用者生成不同的唯一存款地址,以便他們可以將資金發送到他們的賬戶,同時我可以跟踪每個使用者的存款金額。這在比特幣等其他加密貨幣中相當容易

這些說法是真的嗎?

如果是這樣,有人可以解釋為什麼在比特幣中這樣做“相當容易”嗎?在將 BTC 從多個地址合併到一個地址時,比特幣是否也需要 UTXO Sweep?我的印像是 BTC 不允許多個公開對應於單個私鑰的地址?

是的,每個 UTXO 都需要單獨花費,無論它們被接收到哪個地址。我認為將這條建議理解為“每個客戶至少一個地址”是合適的。每個客戶擁有單獨的地址將使您更容易跟踪需要記入哪個客戶的帳戶,而不是只為您的服務提供一個地址。但是,如果您不是在為使用者收取存款,而是在銷售產品或服務的情況下,我什至建議為每個付款過程使用單獨的地址,這樣就很難辨別只有客戶,還有哪張發票得到了結算。

今天,錢包通常使用分層確定性推導從一個主密鑰生成多個地址。在幕後,每個地址都與不同的私鑰相關聯,但所有私鑰都可以從主密鑰中重新生成。這允許您使用單個錢包跟踪多個地址,但簡化了備份和秘密管理。

地址重用對於您和您的使用者的財務隱私都是可怕的,並且當您開始考慮確定誰為哪筆交易付款的額外成本時,它沒有明顯的優勢。我只能極力勸阻不要使用同一個地址向多個客戶銷售產品。如果您的交易量很大,那麼人們將外國付款作為他們的付款將是微不足道的,您將失去大量時間調查和從實際客戶那裡獲取證據。一開始使用單獨的地址可能需要更多的工作,但只是擺脫了這一類問題。

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