在存在分叉/孤鏈的情況下如何/何時給予挖礦獎勵?
我知道這與這個問題有關。但是,我特別好奇在分叉條件下,挖礦獎勵而不是交易會發生什麼。
如圖所示。假設在某個時候區塊鏈開始分支。每條鏈上的每個新塊都會同時附加,直到最終藍色鏈由於
G
開採速度更快而比綠色鍊長。然後綠鏈失效。這是否意味著 A、B、C 和 D、E、F 的礦工在確定更長的分支(在本例中為藍色分支)之前根本不會獲得挖礦獎勵,然後是 D、E、F 的礦工, G獲得獎勵?
如果是這樣,如果一個自私的礦工在 G 被追加後在綠色鏈上釋放了兩個新塊怎麼辦?(如下圖)是不是意味著獎勵又反轉了?
謝謝!
編輯:
繼續回答其中一個問題,假設我們在下面看到的是整個區塊鏈系統上所有塊的全域視圖:
顯然,彩色塊變成了孤兒。然而,區塊#1 和區塊#3 似乎仍然可以獲得獎勵,只是它們永遠無法花費這些獎勵。那麼這是否意味著由於這些孤塊,市場上的比特幣總數實際上將小於 2100 萬(在所有硬幣都被開采之後)?即,一些硬幣被獎勵給孤塊,但它們永遠不能被任何人使用?
塊 2、4 和 5 是否也獲得獎勵(但不能花費這些獎勵)?
在這裡討論時,您必須區分節點對鏈的本地視圖和全域視圖。
每條鏈(意思是:一個區塊及其所有直接和間接的祖先)都是歷史的一個版本。在該鏈中,該區塊支付給開採該區塊的任何人。就該鏈上的礦工而言,他們正在擴展他們認為合法的鏈,並認為自己在此過程中得到了報酬。所以 B 的礦工認為它是由 B 支付的,並且認為 A 是由父區塊支付的。與 C 類似,看到 A 和 B 被支付。
然而,當重組發生時,A、B 和 C 的礦工,以及首先看到這些區塊的任何節點,意識到他們正在處理網路(可能)不接受的歷史版本,他們切換到DEFG 鏈,在其中他們沒有得到報酬。
現在,比特幣中有一條稱為成熟度的規則,它可以防止以塊形式鑄造的硬幣被花費,直到頂部已開採 100 個塊。這可以防止由於重組刪除了形成初始信用的硬幣庫而導致許多交易無效的情況。在 100 個區塊之後,重組仍然不太可能發生。