Consensus
為什麼 bip 34 在 MASF(Miner Activated Soft Fork)上使用兩步?
在比特幣版本 1 -> 2 的 bip 34 中,網路共識使用了兩步。
步驟 1. 檢查最後 1000 個塊中的 750 個是否是版本 2 或更高版本。
步驟 2. 檢查最後 1000 個塊中的 950 個是否是版本 2 或更高版本。
但在我看來,步驟 1 在共識步驟中是無用的過程。
我們只需要:
check if 950 of the last 1000 blocks are version 2 or greater. if blocks < 950 : if block_height_limit > current_height : accept() if blocks > 950 : return accept_new_version(); drop version_1_block
為什麼 MASF 步驟需要步驟 1?
這兩個門檻值啟用了兩種不同的規則。
如果最後 1000 個區塊中有超過 750 個是第 2 版,則網路開始強制執行 BIP34——此時,聲稱是第 2 版但不符合 BIP34 中概述的要求的區塊將被拒絕。版本 1 塊繼續被接受。
一旦最後 1000 個區塊中有超過 950 個是有效的版本 2 塊,則所有新的版本 1 塊都被視為無效。
這允許一個非常優雅的過渡,並讓礦工有時間以滾動方式升級他們的系統,而不是要求每個人同時更新。