首先,礦工是向賬本提出更新的人,隻有成功完成工作量證明的礦工才被允許添加新的區塊。這已被編入比特幣協議。
礦工可以從一個已被節點廣播給網絡的潛在交易池中自由選擇有效的交易。這些交易被收集到“mempool"(內存池)中。 理性誠信的礦工根據交易費用從 mempool 中選擇交易,優化得到更高的費用。這就產生瞭費用市場,有助於確保有限的區塊空間得到公平使用。
第一個完成工作量證明的礦工將他/她提出的新區塊廣播給更廣泛的節點網絡,然後這些節點會進行檢查以確保該區塊遵循協議規則。這裡的關鍵規則是:(1) 區塊中的所有交易都是有效的(即,沒有重復消費);(2) 新區塊適當地引用瞭前一個區塊,並在鏈中作為下一個區塊進行編號(即,新區塊構成最長鏈中的最新區塊)。如果該區塊遵循協議規則,這些節點會將其發送給其他節點,然後其他節點也會完成同樣的過程。通過這種方式,新區塊在網絡中傳播,直到它被廣泛接受為事實。
然而,會發生這樣一種情況(而且經常會發生):多名礦工幾乎在同一時間完成工作量證明,並同時向網絡廣播他們的新區塊。此外,由於網絡延遲和地理位置上的差異,不同節點可能在稍微不同的時間收到新提出的區塊。
請註意,不同的礦工提出的新區塊可能會略有不同。這是因為,如前所述,礦工是選擇將哪些交易納入區塊的人。當兩個礦工發出不同的新區塊時,競爭性的“事實"版本開始在網絡上傳播。網絡傾向於選擇讓鏈以更快速度增長的那個“事實"作為正確版本。
我們來分析一下最後一部分。想象一下,有兩條相互競爭的鏈。假設 75 %的礦工選擇瞭版本 A,並開始為下一個區塊進行工作量證明。而 25% 的礦工選擇瞭其他版本,並開始在所選版本的基礎上進行同樣的工作。據統計,在版本 A 上工作的礦工更有可能首先完成工作量證明,將新版本廣播到網絡上。由於節點總是以生成最長的鏈作為選擇依據,版本 A 很快會在網絡中占據主導地位。事實上,隨著鏈的增長,版本 B 增長較快的可能性會隨之消失。當添加 6 個區塊後,這從統計學上來說已是不可能的瞭。
工作时间:8:00-18:00
客服电话
扫码二维码
获取最新动态