Transactions

事務是否發生全域同步?

  • September 18, 2015

由於比特幣驗證了大多數對等方的交易,並將所有交易歷史鏈堆疊到某種散列中,那麼以下陳述是否正確?

只能同時發生一項事務。並且只有當它被完全處理後,才能處理其他事務。

如果是,那會很慢嗎?考慮到交易必須廣播到多數節點才能完成。

如果沒有,比特幣是如何做到這一點的?(我假設不是)

不,這是不正確的。事務可以並行、非同步地發生,並且不需要等待輪到它們。

當有人創建交易時,他們會將交易語句發送給他們的同行。這些節點驗證交易的有效性,即他們檢查它是否遵守協議的規則,然後反過來將交易通知他們的節點,以便新交易的消息迅速通過網路級聯。節點會在了解交易時中繼交易,因此可以同時在網路中傳播大量交易。

正如你所看到的,不同的節點會同時知道不同的交易。不過這很好,因為除非交易相互依賴,否則順序並不重要。一旦交易被包含在一個區塊中,這種不確定性就會得到解決,我們稱之為“確認交易”。

當礦工了解到一項新交易時,他們會將其包含在他們試圖確認的一組交易中。當礦工成功並找到一個新塊時,該塊包括他們寫入該塊的交易列表。所有這些交易都被認為是由區塊確認的,區塊代表了網路狀態的原子增量。就像之前的交易一樣,該塊將通過網路進行中繼。

當其他節點接收到該塊時,它們會驗證它是否有效,並隨後更新其網路狀態的本地表示:它們更新其區塊鏈,刪除已消費並將新的交易輸出添加到其“未使用的交易輸出池”,並刪除已確認的交易來自“未確認交易池”。

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