Transactions

通過分配事務 id 來索引事務的過程是必要的,還是可擴展性問題?

  • September 25, 2013

使用者不可能簡單地將“發送交易”消息簽署到帶有值欄位和地址欄位的區塊鏈中,並讓驗證者完成查看區塊鏈並添加所有發送交易以驗證硬幣真的存在嗎?我假設 coinbase 交易仍然存在,並簡單地將輸出列出到收件人地址,從而將新幣記入這些地址。

事務 id 僅僅是幫助實現可擴展性的工具嗎?為什麼交易必須參考以前的輸入?

您必須明確說明交易應聲明哪些先前的輸出的原因只是您不想給網路上的使用者一張空白支票。假設您想將 1 個比特幣從地址 A 的任何可用輸出轉移到地址 B。然後您將創建一個如下所示的交易:

amount=1|to=B|sign(amount=1|to=B, sign_with=A)

該交易將被廣播到網路並產生所需的結果。主要的問題是,如果你有超過 1 個比特幣你想花掉,沒有什麼可以阻止地址 B 的所有者創建更多的交易給他所有的比特幣。

第二個問題來自該交易的更改,如果您沒有輸出的總和正好為 1 個比特幣,那麼您隱式地為更改創建了一個新輸出。這給我們帶來了最後一個問題:選擇要花費的產出可能並不總是產生相同的結果。如果有多種組合可以建構到 B 的新輸出,則網路中的節點必須就花費哪些輸出達成一致,這又需要交易 ID。

讓硬幣的所有者指定要花費哪些硬幣可以簡化所有這些問題。

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