Bitcoin Core 0.11.2

Bitcoin Core installation binaries can be downloaded from bitcoincore.org and the source-code is available from the Bitcoin Core source repository.

Bitcoin Core 0.11.2 版本現已發布,可從以下位置下載:

https://bitcoincore.org/bin/bitcoin-core-0.11.2/

此小版本帶來了錯誤修正、BIP65 (CLTV) 共識變更以及 BIP113 的中繼政策準備。建議盡快升級到此版本。

請使用 GitHub 的問題追蹤器回報錯誤:

https://github.com/bitcoin/bitcoin/issues

升級和降級

如何升級

如果您正在執行舊版本,請將其關閉。等待它完全關閉(舊版本可能需要幾分鐘),然後執行安裝程式(在 Windows 上)或直接複製 /Applications/Bitcoin-Qt(在 Mac 上)或 bitcoind/bitcoin-qt(在 Linux 上)。

降級警告

由於 0.10.0 及更高版本使用標頭優先同步和平行區塊下載(請參閱下文),區塊檔案和資料庫與 0.10 之前版本的 Bitcoin Core 或其他軟體不向後相容。

從 0.11.x 降級到 0.10.x 時沒有已知問題。

自 0.11.1 以來的重要變更

BIP65 軟分叉以強制執行 OP_CHECKLOCKTIMEVERIFY 操作碼

此版本包含與 BIP65 軟分叉相關的幾個變更,該軟分叉將現有的 OP_NOP2 操作碼重新定義為 OP_CHECKLOCKTIMEVERIFY (CLTV),以便交易輸出可以在指定的未來時間點之前無法被花費。

  1. 此版本只會中繼和挖掘花費 CLTV 輸出的交易,如果它們符合程式碼中提供的 BIP65 規則。

  2. 此版本預設將產生版本 4 區塊。請參閱下面的礦工注意事項

  3. 一旦本地節點最佳區塊鏈上的 1,001 個區塊序列中有 951 個包含版本 4(或更高)區塊,此版本將不再接受新的版本 3 區塊,並且只有在符合 CLTV 的 BIP65 規則時才會接受版本 4 區塊。

有關軟分叉變更的更多資訊,請參閱 https://github.com/bitcoin/bitcoin/pull/6351

礦工注意事項:Bitcoin Core 的區塊模板現在僅適用於版本 4 區塊,任何依賴其 getblocktemplate 的挖礦軟體必須並行更新以使用 libblkmaker 0.4.3 版或 0.5.2 及更高版本。

BIP113 mempool-only 鎖定時間強制執行使用 GetMedianTimePast()

BIP113 指定了一個軟分叉(在此版本中未強制執行),透過要求有效區塊的計算 GetMedianTimePast() 大於該區塊中任何交易指定的鎖定時間,來削弱個別礦工使用未來時間的不當激勵。

Mempool 包含規則目前要求交易對於立即包含在區塊中有效才能被接受到 mempool 中。此版本開始將 BIP113 規則應用於接收的交易,因此其時間大於 GetMedianTimePast() 的交易將不再被接受到 mempool 中。

對礦工的影響:您將開始拒絕在 BIP113 下無效的交易,這將防止您在網路上強制執行 BIP113 時產生無效區塊。

對使用者的影響:GetMedianTimePast() 總是落後於當前時間,因此鎖定時間設定為當前時間的交易將被執行此版本的節點拒絕,直到中位數時間向前移動。為了補償,從您的鎖定時間中減去一小時(3,600 秒)。

Windows 不乾淨關閉時 UTXO 資料庫損壞的錯誤修復

幾個 Windows 使用者回報,在 Windows 上不乾淨關閉 Bitcoin Core(或 Windows 本身不乾淨關閉)後,他們經常需要重新索引整個區塊鏈。儘管不乾淨的關閉仍然不安全,但此版本不再依賴 UTXO 資料庫的記憶體映射檔案,這顯著減少了測試期間不乾淨關閉導致需要重新索引的頻率。

有關更多資訊,請參閱:https://github.com/bitcoin/bitcoin/pull/6917

預計下一個主要版本中將對 Windows 上的資料庫損壞進行其他修復。

0.11.2 變更日誌

  • #6124 684636b Make CScriptNum() take nMaxNumSize as an argument
  • #6124 4fa7a04 Replace NOP2 with CHECKLOCKTIMEVERIFY (BIP65)
  • #6124 6ea5ca4 Enable CHECKLOCKTIMEVERIFY as a standard script verify flag
  • #6351 5e82e1c Add CHECKLOCKTIMEVERIFY (BIP65) soft-fork logic
  • #6353 ba1da90 Show softfork status in getblockchaininfo
  • #6351 6af25b0 Add BIP65 to getblockchaininfo softforks list
  • #6688 01878c9 Fix locking in GetTransaction
  • #6653 b3eaa30 [Qt] Raise debug window when requested
  • #6600 1e672ae Debian/Ubuntu: Include bitcoin-tx binary
  • #6600 2394f4d Debian/Ubuntu: Split bitcoin-tx into its own package
  • #5987 33d6825 Bugfix: Allow mining on top of old tip blocks for testnet
  • #6852 21e58b8 build: make sure OpenSSL heeds noexecstack
  • #6846 af6edac alias -h for --help
  • #6867 95a5039 Set TCP_NODELAY on P2P sockets
  • #6856 dfe55bd Do not allow blockfile pruning during reindex
  • #6566 a1d3c6f Add rules–presently disabled–for using GetMedianTimePast as end point for lock-time calculations
  • #6566 f720c5f Enable policy enforcing GetMedianTimePast as the end point of lock-time constraints
  • #6917 0af5b8e leveldb: Win32WritableFile without memory mapping
  • #6948 4e895b0 Always flush block and undo when switching to new file

致謝

感謝所有直接為此版本做出貢獻的人:

  • Alex Morcos
  • ฿tcDrak
  • Chris Kleeschulte
  • Daniel Cousens
  • Diego Viola
  • Eric Lombrozo
  • Esteban Ordano
  • Gregory Maxwell
  • Luke Dashjr
  • Marco Falke
  • Mark Friedenbach
  • Matt Corallo
  • Micha
  • Mitchell Cash
  • Peter Todd
  • Pieter Wuille
  • Wladimir J. van der Laan
  • Zak Wilcox

以及那些貢獻額外程式碼審查和/或安全研究的人。

以及所有在 Transifex 上協助翻譯的人。