將比特幣發送到 Bitcoin Core 中的“發送地址”
我試圖理解比特幣核心(v.0.15.1)和比特幣“世界”中的一些基本概念。
我正在使用測試網,並使用<https://testnet.coinfaucet.eu/en/>將一些比特幣發送到“接收地址”。它執行良好,我可以看到比特幣核心中的交易/餘額發生了變化。
但是,如果我將比特幣從coinfaucet發送到“發送地址”(據我所知,這是一個公鑰),那麼我在該地址中看不到任何比特幣,並且餘額不會改變,也不會報告任何交易,儘管coinfaucet向我顯示經驗證的交易。
我錯過了什麼?發送地址不能持有/接收比特幣嗎?如果我不能向它發送比特幣,那麼“發送地址”是做什麼用的?
我假設當我想從我的錢包向某人發送資金時,我首先將資金從接收地址轉移到發送地址並使用該地址。但我完全不確定這個假設。
任何幫助將不勝感激。
編輯:再叮嚀之後,我意識到發送地址只是您已經發送或計劃發送到的地址。如答案中所述,它與更改地址無關。這就是為什麼在我從coinfaucet向一個虛構的發送地址匯款後,我沒有看到餘額有任何變化,因為那個地址不是我的。重新掃描後,我只看到它。
在 Bitcoin Core 中,發送地址是指您在客戶端中保存為“聯繫人”的地址。您可以使用暱稱保存地址,例如。Coinbase 地址。收款地址是指您可以用來收款的地址。比特幣的工作方式是一筆交易花費來自接收地址的未花費輸出。因此,這取決於您從哪個接收地址接收硬幣,您的硬幣控制和數量。
例如 1. 如果您在 1AddressA 收到 1BTC 並在客戶端花費 1BTC,blockexplorer 會將來源辨識為 1AddressA。2、如果你在1AddressA和1AddressB分別收到0.5BTC和1BTC,你花費了0.5BTC,blockexplorer會辨識出發送地址是1AddressA。3. 如果場景同2,你花費了0.6BTC,發送地址會顯示為來自兩者,並且會有另一個輸出到你的客戶端的另一個地址。這稱為更改,並且地址未顯示在客戶端中。但是,您可以在下一次交易中使用它,我不知道為什麼沒有餘額,但我知道這些地址的交易不應該出現,因為它們是更改地址。
為什麼它們不在交易清單上?
因為比特幣核心使用 bip32 和更改地址交易有不同的派生路徑。
例子
m / purpose’ / coin_type’ / account’ / change / address_index 正常地址路徑:
m/44'/0'/1'/0/i
更改地址路徑:
m/44'/0'/1'/1/i