Block

區塊鏈可擴展性:區塊鏈如何處理多個並行交易?

  • April 24, 2018

我剛剛對區塊鏈技術進行了一些介紹性研究,這是我對其工作原理的理解的細分:

場景:假設川普想向歐巴馬發送 5 個比特幣。一旦啟動此交易:

  1. 點對點網路中的礦工將(個人?)開始求解區塊鏈中的下一個有效雜湊。(對等網路是使用組合處理能力一起解決,還是節點相互獨立地單獨解決?)
  2. 一旦發現有效雜湊,發現的節點將獲得一組比特幣獎勵
  3. 每個節點的分類帳將使用 Alice -> Bob 交易進行更新,而這個新發現的雜湊將是相同的表示。這應該大約需要 10 分鐘?

現在很有可能我的理解完全不正確,但我的問題是:

假設同時啟動了 1000 個事務。無論如何,對等網路將解決區塊鏈中的下一個雜湊,該雜湊將驗證 1 筆交易。因此,隨著礦工從一個有效雜湊值進行到下一個有效雜湊值,這 1000 筆交易將被依次驗證。

如果解決一個事務大約需要 10 分鐘,這意味著完全驗證 1000 個事務(同時啟動)大約需要 1000 x 10 分鐘!

顯然,這個問題在現實世界中以某種方式得到了處理,因為我很確定在任何給定時間都會發生成千上萬的比特幣交易,而不會像這樣延遲。一些澄清將不勝感激。謝謝!

按照您的範例,大致發生的是:

一旦啟動此交易(tx):

  1. Peers 將收到 Trump 的 tx 並將交易傳播到網路的其餘部分/peers
  2. 對等點將在大約那個時期發送網路上的其他 999 個 txs
  3. 1000 筆交易將被聚合到一個區塊中,其中一些同行(礦工)將嘗試為該區塊找到解決方案(雜湊)

a) 請注意,每個礦工都會有一些處理能力,這是整個網路的一個子集;因此,他們試圖“單獨”解決問題,並與其他礦工競爭。

b)然而,幾個人可以在一個礦工後面集中處理能力,所以一個礦工可以代表成百上千的人(礦池)。

c) 每個區塊(每 10 分鐘一次)只有一名礦工獲得獎勵,獎勵將分配給為礦池提供處理能力的人 4. 一旦找到解決方案,整個區塊(包含 1000 個 txs)就會通過網路傳播,每個對等方都將驗證其正確性。如果對等方發現該塊有效,它將使用新塊更新其區塊鏈,因此 1000 txs 將被添加到區塊鏈並得到確認。

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