Bip66

BIP66 何時從啟動切換到強制執行?

  • July 6, 2015

最近,BIP66 從啟動(礦工在塊內執行規則)切換到強制執行(網路對所有塊執行規則)。

我很難弄清楚這是什麼時候發生的,或者發生在什麼地方。

來自BIP66

新規則對 nVersion = 3 的每個塊(高度 H)有效,並且在其前面的 1000 個塊中至少有 750 個塊(高度 H-1000..H-1)也具有 nVersion = 3。此外,當 950在一個塊之前的 1000 個塊中,nVersion = 3,nVersion = 2 個塊變得無效,並且所有進一步的塊都執行新規則。

我編寫了這個腳本來監控最後 1000 個 nVersion 設置為 3 的塊的數量。

require_once 'jsonRPCClient.php';

$daemon = new jsonRPCClient('http://{my_user}:{my_password}@127.0.0.1:8332/');
$blkStart = 364136 - (24 * 14 * 6);

$ver3InLast1000 = 0;
for ($i = $blkStart;; $i++) {
   try {
       $blockHashOld = $daemon->getblockhash($i-1000);
       $blockHashNew = $daemon->getblockhash($i);
       $blockOld = $daemon->getblock($blockHashOld);
       $blockNew = $daemon->getblock($blockHashNew);
   } catch(Exception $e) {
       break;
   }

   // Don't want to start subtracting until have processed 1000 blocks
   if ($blockOld["version"] == 3 && ($i - $blkStart >= 1000)) {
       $ver3InLast1000--;
   }

   if ($blockNew["version"] == 3) {
       $ver3InLast1000++;
   }

   if ($i - $blkStart >= 1000) {
       echo "$i, $ver3InLast1000\n";
   }

}

結果可以在這個 pastebin中找到。

塊號 363724是為所有其他塊啟用 nVersion=3 強制的塊。

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