Blockchain

驗證塊 124724

  • February 7, 2022

只是為了我自己的教育目的,我正在寫一些東西來驗證區塊鏈上的塊。我的程式碼中有這一行:

assert coinbase_amount == block_reward + total_tip

它成功了,直到它到達區塊124724,此時它說 coinbase_amount 是 49.99999999 BTC,而 block_reward + total_tip 是 50.01 BTC。(所以,它抱怨說 49.99999999 != 50.01)

我想如果這是真的,那很好,因為我猜那個礦工剛剛把 0.01000001 掉在了地板上。我只是想知道我是否正確解釋了該塊。(這種情況多久發生一次??為什麼?)

謝謝!

assert coinbase_amount == block_reward + total_tip

這是不正確的。實際的共識規則是coinbase_amount <= block_reward + total_tip(換句話說:允許礦工燒錢)。

我想如果這是真的,那很好,因為我猜那個礦工剛剛把 0.01000001 掉在了地板上。

正確的。

我只是想知道我是否正確解釋了該塊。

確實,這正是發生的事情。

這種情況多久發生一次?為什麼?

由於礦工軟體有問題,通常。區塊 124724 中的案例後來由其假定作者解釋(參見這篇文章),儘管後來還有大約 1000 個其他實例,總共燒掉了大約 19 個 BTC。我在這篇文章中有更多關於這些和其他燒幣案例的資訊。

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