Address

多個地址付款的正確方法

  • June 18, 2020

我有客戶想用 BTC 支付服務費用。

TL; 博士

要生成一個新的支付地址,我必須生成一個新的私鑰(本質上是一個新的錢包)嗎?

為每個客戶的每次付款生成獨立的私鑰,還是使用確定性錢包更好?

是否可以自動將 BTC 移動到中央錢包地址,而無需為任一解決方案儲存私鑰?

如何生成多個地址?

基於此 bitcoin.it文章:

地址不打算被使用超過一次,這樣做有很多相關的問題。

因此,我遵循的邏輯是,從每個客戶收到的每筆付款都應該發送到它自己的地址

但是,我對生成多個地址以及最好的方法感到困惑。

這裡的其他問題,例如this onethis one,表明每個私鑰只會產生一個地址。因此,我是否可以得出結論,每個客戶每次付款的每個地址都必須擁有自己的私鑰?

如果是這種情況(在我有限的理解中似乎是這樣),並且我正在使用軟體生成錢包地址,那麼最好:

  1. 使用確定性錢包,從單個“主密鑰”為每個客戶生成每個支付地址,或
  2. 為每個客戶的每個支付地址生成一個獨立的私鑰?

將 BTC 轉移到中央錢包

我需要將收到的錢包中的 BTC 轉移到我的錢包中才能使用它。

在我提到的任何一種情況下,“主密鑰”是否會安全地儲存在伺服器上以供程式使用,以便將收到的資金轉移到我的錢包中?

如果是這種情況,對於來自客戶的每個付款實例擁有獨立的私鑰會更安全嗎?

簡短回答:查看BTCPay,它可以滿足您的要求。您不必創建自己的伺服器來使用它,您只需在現有實例上創建一個帳戶,例如這個應該可以使用。

長答案:當您說一個私鑰生成一個地址時,您是對的,但是分層確定性(HD)錢包可以解決這個問題。基本上,它們允許從一個數據中生成幾乎無限數量的私鑰和公鑰對。確定性意味著如果您知道這塊數據,即“種子”,您將始終以相同的順序生成相同的密鑰。

但它比這更好,因為您只能派生公鑰,這意味著您可以使用不安全的伺服器來生成地址並接收比特幣付款,而無需暴露您的私鑰!這就是 BTCPay 伺服器的工作方式,這就是為什麼您可以使用另一個人的伺服器來接收付款而無需信任他。最壞的情況是他只會知道你所有的地址,但永遠不會竊取你的比特幣。

我正在簡化一點,但這是一般的想法。

至於你的最後一個問題,你可以將私鑰放在另一個錢包上,比如 Electrum 或 Ledger,然後用它來花費你在 BTCPay 伺服器上收到的比特幣。此處不再贅述,您可以查看 BTCPay 文件或與他們的社區取得聯繫。

注意:我推薦 BTCPay,因為據我了解您的需求,我認為這是最好的選擇,但如果您對它不滿意,您也可以使用 Electrum 或 Ledger 並通過電子郵件或發送新地址給您的客戶例如,一個秘密的 pastebin。

如果您的客戶可以用比特幣支付給您,那就太好了。保持安全,並記住永遠不要將您的種子或私鑰提供給網際網路上的任何人或任何服務。

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