一個錢包可以同時從多個來源發送/接收比特幣嗎?
例如,我將我的公共比特幣地址放在一個捐贈網站上,世界各地的多人同時將比特幣存入同一個錢包:
- 比特幣網路上的所有存款交易是否都有效,或者某些交易是否會“覆蓋”其他交易?
- 在從某人那裡接收比特幣(尚未在網路上經過驗證的交易)時,我是否可以使用同一個錢包提取或支付比特幣,因為金額僅包括以前的比特幣並且包括新的存款?
對於您的第一個問題:可以發送到單個地址的交易數量沒有限制。即使有人在同一時刻從同一個地址向您的地址發送了兩筆不同的付款,金額相同:它們將是兩筆不同的交易,具有不同的交易 ID,您將收到兩筆款項。Murch 的回答更詳細地解釋了 thsi 的工作原理。
對於您的第二個問題:首先,應避免混淆verified和confirmed這兩個詞。儘管它們在日常英語中本質上是同義詞,但在比特幣術語中它們具有特定的不同含義。 驗證交易只是意味著檢查它是否有效:它花費了真實存在的硬幣,並由這些硬幣所屬的人授權。但驗證並不能排除此人還授權另一筆試圖花費相同硬幣的有效交易的可能性。不包括通過確認實現的,這從本質上確保在任何一組衝突的交易中,只有一個被包含在不斷增長的區塊鏈中而被視為“已確認”,並且這種選擇是永久性的。
我認為您真正要問的是:如果有人(稱他們為 X)向您發送比特幣,您是否可以立即使用它們(通過將它們發送給其他人 Y),或者您是否必須等待交易被確認? 比特幣協議說,如果向你發送硬幣的交易是有效的,那麼你可以立即創建一個花費這些硬幣的交易,它也是有效的。但是,為了確認,您對 Y 的交易要等到 X 的交易被確認後才能被確認。如果第一筆交易沒有被確認(可能 X 忘記包含交易費用,或者已經花費了這些硬幣),那麼您與 Y 的交易也無法被確認。
因此,原則上可以立即花費傳入的硬幣,但實際上這可能不是一個好主意,因為如果傳入的交易最終沒有被確認,這可能會導致混亂的情況。出於這個原因,為了防止你自爆,大多數比特幣客戶端軟體會讓你等到傳入交易收到一定數量的確認,然後再讓你將其用作傳出交易的輸入;在此之前,您只能使用之前已收到並確認的硬幣。但這是一個方便的功能,而不是一個固有的限制:如果你真的想要,你可以給你的軟體打更新檔來消除這個限制,這對網路的其他部分來說很好。