2013-12-10 104 views
0

比方說,我創建了一個有效的事務(離線而不發送,比如像這樣:http://brainwallet.org/#tx我們稱之爲「一個下線比特幣交易ID,鏈多個脫機交易

一)前已經發送A,我可以得到A的交易ID嗎? B)我希望創建一個新的離線交易(稱爲B),使用A的輸出作爲B.Still的輸入,A尚未發送到比特幣網絡。這可能嗎? c)如果b)部分是可能的,我發送A,然後立即發送B到比特幣網絡。會發生什麼?

+0

您應該在Bitcoin Stack Exchange上發佈比特幣相關問題。 http://bitcoin.stackexchange.com/ –

回答

0

比特幣協議中沒有交易ID,而是交易哈希值。 爲了更清楚地說明您需要了解事務具有輸入和輸出。

  • 輸入由前一個事務的散列和證明您是硬幣所有者的簽名腳本組成。您可以注意到沒有輸入金額,因爲地址的整個規定將花費。更改將在交易輸出中發回給您。

  • 輸出由數量和簽名腳本組成。在這種情況下,簽名腳本給出了需要填充以解鎖硬幣的條件。

所以,是的,你可以創建沒有一個已發送到網絡。

如果您同時發送AB會發生什麼情況? 交易A肯定會完成。之後至少有3個新塊B也可能會被完成,但這不是100%確定的,因爲礦工可能會將B從內存中刪除,直到A不被花費。

你能得到關於交易在這裏更多的細節: https://en.bitcoin.it/wiki/Transactions

和有關事務腳本這裏: https://en.bitcoin.it/wiki/Script

0

你必須做這樣的事情,創建依賴於另一個未經證實的新的交易之前,記住什麼(或即使是離線)交易也是您的交易哈希(id)在採礦過程中可能會發生變化。

所以,你可以在任何時候發送所有A和B的交易網絡,但有幾個選項:

  1. 事務A將被列入下一個和確認,所以當交易B將包括在下一個塊中,一切都會好的。
  2. 您的事務A將在挖掘過程中更改它的哈希(請參閱事務可協作性),並將其包含在具有不同哈希(id)的下一個塊中。在這種情況下,您的交易B(取決於離線計算的交易A的哈希值,不再有效)將永遠不會被網絡接受。