Blockchain
區塊鏈如何永久接受交易?
如果礦工 A 創建了一個包含交易 A 的區塊,而礦工 B 創建了一個不包含交易 A 的區塊,那麼其他一些礦工將首先收到礦工 A 的區塊,其他礦工將收到礦工 B 的區塊(分叉)
如果礦工 B 的鏈比礦工 A 的鏈增長得快,那麼交易 A 將永遠不會被接受(就像它從未發生過一樣)。那麼,創建交易 A 的使用者 A 如何確定交易 A 已被區塊連結受/驗證?
此外,是否有可能交易 A 在某個時候被區塊鏈驗證,然後在未來另一個不包含交易 A 的子鏈(來自前一個分叉)會增長得更快,從而拒絕交易 A?
是否創建了所有礦工都應該同意的時間檢查點?
如果礦工 B 的鏈比礦工 A 的鏈增長得快,那麼交易 A 將永遠不會被接受(就像它從未發生過一樣)。
對於在礦工 B 的區塊上建構最佳鏈的任何節點,交易 A 在記憶體池中仍未得到確認。任何後續塊都可以自由包含它。最好的鏈在每個高度只有一個區塊。任何未最終成為最佳鏈一部分的競爭塊都與網路狀態無關。因此,如果礦工 A 開采的區塊最終位於最佳鏈中,則交易 A 在 A 的區塊中得到確認。如果礦工 B 開采的區塊最終位於最佳鏈中,則交易 A 可以在 B 開采的區塊之後的後續區塊中自由開採。
交易的確認總是機率性的。理論上,鏈尖的任意長部分可以重組為更好的鏈。小費越長,就越不可能。許多使用者認為具有六次確認的交易是可靠確認的。對於較小的金額,他們甚至可能信任較少的確認,較大的金額可能會導致收件人等待更長時間。