CVE-2018-17144を開示
すでに公表されていたクラッシュに加え、CVE-2018-17144には別の側面があった。バージョン0.15.X〜0.16.2では、1つのトランザクション内で同じ出力を2回使うことで、マイナーがビットコインの供給量を水増しできた。開発者は0.16.3または0.17.0rc4へ移行する時間を確保するためこの点を伏せていた。ハッシュレートの過半は修正済みとみられ、悪用の試みは確認されておらず、該当する利用者にはアップグレードを促している。
Bitcoin Core
ビットコインのリファレンス実装。そのサイトでは、リリースの告知、セキュリティ情報、プロジェクトの声明が公開されています。
119件の記事
すでに公表されていたクラッシュに加え、CVE-2018-17144には別の側面があった。バージョン0.15.X〜0.16.2では、1つのトランザクション内で同じ出力を2回使うことで、マイナーがビットコインの供給量を水増しできた。開発者は0.16.3または0.17.0rc4へ移行する時間を確保するためこの点を伏せていた。ハッシュレートの過半は修正済みとみられ、悪用の試みは確認されておらず、該当する利用者にはアップグレードを促している。
Bitcoin Core
同じ入力を2回使うトランザクションを含むブロックを受け取ると、Bitcoin Core 0.14.0〜0.16.2はクラッシュする。CVE-2018-17144の問題で、利用者には今すぐ0.16.3へのアップグレードが呼びかけられた。そうしたブロックを作れるのは、少なくとも12.5 BTCの正当な収入を捨てる覚悟のあるマイナーだけだ。
Bitcoin Core
Bitcoin Core 0.16.2のverifytxoutproof RPCは、6月初めに開示されたSPV証明への高コスト攻撃を受けなくなった。ただし実際のSPVクライアントは依然として無防備だ。別の修正により、abandontransactionは子だけでなくトランザクションのすべての子孫を破棄する。
Bitcoin Core
レガシー署名スクリプト内のOP_CODESEPARATORをBitcoin Core 0.16.1はリレーしなくなった。このポリシー変更で、検証に時間のかかるブロックへの将来の修正を展開しやすくなる。マイナー向けには-blockmaxsizeが廃止されて-blockmaxweightに一本化され、ブロックを立て続けに2つ生成した場合に収入を失う恐れがあったバグも修正された。
Bitcoin Core
SegWitがBitcoin Core 0.16.0でウォレットの既定になった。新しいアドレスは-addresstypeで指定しない限りp2sh-segwitとなり、BIP173のネイティブbc1アドレスの生成と送金にも対応する。新規ウォレットはHD専用で以前のバージョンでは開けない。GUIの送金画面ではBIP125のRBFが既定で有効になった。
Bitcoin Core
将来のネットワークフォークに備え、Bitcoin Core 0.15.1は初期同期中にminimum-chain-workを下回るチェーンを提示するピアと、無効と判明しているヘッダーを送るアウトバウンドピアを切断する。チップが30分止まると追加のアウトバウンド接続を張る。マイナーはblockmaxsizeを直接使えなくなり、非推奨となったこの設定は、ウェイト上限の指定として解釈されるだけになる。
Bitcoin Core
GUIの起動時クラッシュを受けてBitcoin Core 0.15.0.1が出た。0.15.0にアップグレードしたクライアントの一部が、画面から消えたカスタム手数料設定で落ちていた。最小限のパッチ#11332が無効な値を処理する。
Bitcoin Core
手数料推定の対象がBitcoin Core 0.15.0で25ブロック先から1,008ブロック先まで広がった。GUIでは未承認トランザクションの手数料をReplace-By-Feeで引き上げられる。出力単位のchainstateデータベースにより初期ブロックダウンロードは30〜40%速くなる。変換は初回起動時に自動で行われ、5〜30分ほどかかる。
Bitcoin Core
Bitcoin Coreの常連貢献者はSegwit2xの実装btc1と無関係だ。プロジェクトはbtc1を必須のアップデートとする主張を否定し、賛否の割れるネットワークルールからの逸脱だと位置づけた。数日後に控えるソフトフォークのSegWitはこのハードフォークとは別物で、ほとんどの利用者に何も求めない。声明はSegwit2xに強力なリプレイ保護の予定がないことも警告している。
Bitcoin Core
UPnPを有効にした利用者はBitcoin Core 0.14.2をすぐに導入するよう求められている。同梱のminiupnpcにある整数の符号エラー(CVE-2017-8798)を突くと、ローカルネットワーク上の攻撃者がDoSを引き起こしたり、その他の被害を与えたりする可能性がある。UPnPは既定で無効のため、一度も有効にしていないノードに影響はない。
Bitcoin Core
有効化後もSegWit非対応のマイナーがgetblocktemplateを使い続けられるよう、Bitcoin Core 0.14.1はテンプレートからSegWitトランザクションを除く。-dbcacheの既定値は450MiBとなり、フラッシュのピーク時にも上限を守る。createrawtransactionとdisconnectnodeの引数名が変わったため、0.14.0の名前付き引数を使う呼び出しは動かなくなる。
Bitcoin Core
Bitcoin Coreのロードマップにあるハイブリッド型フルブロックSPVモードなら、新規ノードのウォレットは同期完了前に送受信できる。ウォレットの最も古い鍵を起点にブロックを取得し、完全検証はバックグラウンドで続ける。Bloomフィルターのプライバシー漏えいはなくなるが帯域は増え、支払いには6承認以上を待つべきだとしている。
Bitcoin Core
ECDSAをSchnorr署名に置き換えれば、50-of-50マルチシグは単一鍵の支払いと同じサイズになり、そのポリシーも外部から見えなくなる。Bitcoin Coreのロードマップが最大の障害に挙げるのは、悪意ある署名者が他の利用者の鍵を差し引くキャンセレーションだ。非線形化(delinearization)がこの攻撃への答えだが、安全性の証明はまだ査読中である。
Bitcoin Core
Bitcoin-Qt 0.7.0の署名キャッシュ、0.8.0のUltraprune+LevelDB、Bitcoin Core 0.10のヘッダーファースト同期。リファレンスソフトウェアの高速化を振り返る連載の第1回が取り上げる例だ。並列スクリプト検証だけでも、開発者のベンチマークで35〜100%の向上を示した。
Bitcoin Core
既定設定のAmazon EC2テストで、新規ノードの初期ブロックダウンロードはBitcoin Core 0.14.0で6時間24分となり、0.13.2の1日12時間40分より5.7倍速かった。assumed validブロックと、メンプールとUTXOキャッシュのメモリ共有が寄与した。ウォレットには既定で無効の手数料引き上げ機能も加わった。
Bitcoin Core
未承認チェーンの上限に達したウォレット送金は、Bitcoin Core 0.13.2からRPCエラーを返さない。成功を報告し、再ブロードキャスト時にメンプールへの追加を再試行するので、再起動は要らない。1ブロック目標の手数料推定は無効になり、無効なコンパクトブロックの扱いも修正された。
Bitcoin Core
バイト面の負担が最も大きいのはSegWitのP2SHラップで、180バイトのトランザクションではP2WSH/P2SHが19%増、P2WPKH/P2SHが11%増になる。BIP141がもたらすものをBitcoin Coreが集計した結果だ。検証ではトランザクションごとにSHA256ハッシュが約5回増える。バグ、ブロック肥大、手数料低下がリスクとして検討され、筆者らは有効化について立場を取らない。
Bitcoin Core
マイナーがSegWitソフトフォークをシグナルするためのコードをBitcoin Core 0.13.1が備えた。シグナルは2016年11月15日以降、次の難易度調整期間の開始時に始まる。2,016ブロックの期間で95%に達するとロックインし、その1期間後に有効化される。ウォレットは互換性を保つので、対応が要るのはマイナーだけかもしれない。
Bitcoin Core
SegWitには2つの層の協力が要る。難易度調整期間の95%のブロックでビット1をシグナルするマイナーと、Bitcoin Core 0.13.1か互換実装を動かす十分な数のフルノードだ。シグナルは2016年11月15日以降で最初の難易度調整から始まる。マイナー、ノード運用者、ウォレット利用者、開発者、さらにアップグレードしない人に向けた手順を別々に示している。
Bitcoin Core
SegWitのコードがBitcoin Core 0.13.0に入ったが、メインネットでは無効のままで、使うには後のバージョン(0.13.1の見込み)が必要になる。コンパクトブロックリレー(BIP152)で帯域のスパイクを抑え、新規ウォレットはBIP32のHD鍵を採用するので1回のバックアップで将来の秘密鍵すべてをカバーできる。Linux ARM版も公式ダウンロードに加わった。
Bitcoin Core