Bitcoin Optechニュースレター#423 振り返りポッドキャスト
ノードが通常約11 GBのUTXOセットを保持するところ、Utreexoのアキュムレータは1 kB未満で済む。#423の振り返り回でDavidson Souza氏が説明した。代わりに帯域は増える。MARAのEric Price氏とPortlandHODL氏も出演し、速度の落ちたマイナーを置き去りにするvardiffコントローラーや、使用不能な内部鍵のBIP草案が話題に上る。
Bitcoin Optech
公式情報源から収集したすべての記事。
141件の記事
ノードが通常約11 GBのUTXOセットを保持するところ、Utreexoのアキュムレータは1 kB未満で済む。#423の振り返り回でDavidson Souza氏が説明した。代わりに帯域は増える。MARAのEric Price氏とPortlandHODL氏も出演し、速度の落ちたマイナーを置き去りにするvardiffコントローラーや、使用不能な内部鍵のBIP草案が話題に上る。
Bitcoin Optech
速度の落ちたマイナーが、以前の速度に合わせたシェア難易度のまま取り残されることがある。Eric Price氏がDelving Bitcoinでそう指摘し、一定時間シェアがなければ難易度を下げるタイマーを提案した。Davidson Souza氏はSwiftSyncのヒントファイルで初期ブロックダウンロード中のUtreexo削除証明をなくす構想を示し、NTL氏は使用不能なTaproot内部鍵のBIPを起草した。
Bitcoin Optech
秘密の賭けに偽装したコインジョインプロトコル「Babilonia」について、Adam Gibson氏がOptech進行役のMark Erhardt氏、Mike Schmidt氏に説明した。確率的支払いの古いルーツとして、宝くじ方式のマイクロペイメントを論じた1997年のRon Rivest氏の論文も挙げている。続いてRob Segers氏がサイレントペイメント軽量クライアントの計測結果を語る。
Bitcoin Optech
コインジョインを、外からは普通の支払いに見えるオンチェーンのコイントスに偽装する。Adam Gibson氏の提案Babiloniaはそんなプロトコルだが、有効性を測る明確な尺度はまだないと本人の論文も認めている。Rob Segers氏のベンチマークによると、BlindBit Oracle v2のダウンロード量はTaproot専用フィルターとtweakデータの約2.1xで、その代わり誤検出がない。LDK v0.2.6ではDoS脆弱性を修正した。
Bitcoin Optech
通常運用中の激しいディスク読み書きの原因は、chainstateデータベースが自身の大部分を書き換え続けるバグだった。Bitcoin Core 29.4がこれを修正した。LevelDBのシークコンパクションを無効にし、chainstateを定期的にコンパクションする(#35465)。
Bitcoin Core
chainstateによるディスク負荷がBitcoin Core 30.3で解消された。合算バンプ手数料を取得できない場合のfeebumperクラッシュ(#34870)と、金額をブール値として計算していたコイン選択のバグ(#34888)も直っている。PSBTでは、pubnonceと部分署名のデシリアライズ時にMuSig2公開鍵を検証するようになった(#34219)。
Bitcoin Core
-privatebroadcastのIPアドレス漏えいをBitcoin Core 31.1がふさいだ。一部の接続が、有効にしたプライバシーネットワークではなくクリアネットに出ていた。過剰なディスク負荷の原因だったchainstateの書き換えも解消し、MuSig2の鍵集約では空の公開鍵リストを拒否する(#35316)。
Bitcoin Core
v2ハンドシェイクに失敗すると、Bitcoin Core 31.0では送信者のIPアドレスが露出する場合がある。-privatebroadcastの設定時、v1での再試行がTorプロキシを通らずピアへ直接接続するためだ。悪意あるピアが意図的にハンドシェイクを閉じることが引き金になるとみられる。31.1が出るまでは、この機能を切るか、-v2transport=0を設定するか、IPv4/IPv6の発信をTor経由にすれば回避できる。
Bitcoin Core
細工した無効ブロックの検証中に解放済みメモリを読み、ノードがクラッシュする。0.14.0より後、29.0より前のBitcoin Coreにあったバグで、CVE-2024-52911の深刻度はHigh。ただし攻撃者はチップ上で有効なプルーフ・オブ・ワークを費やさなければならず、リモートコード実行の可能性は低いとされる。報告者はCory Fields氏で、修正は29.0に入っている。
Bitcoin Core
クラスターメンプールが従来の設計に取って代わった。Bitcoin Core 31.0では祖先・子孫の上限に代えて、64トランザクション・101 kBを上限とするクラスターを採用し、CPFP carveoutを廃止した。既定の-dbcacheはRAM 4096 MiB以上のマシンで1024 MiBに増える。新設の-privatebroadcastを使うと、sendrawtransactionのブロードキャストはTorかI2Pのみを通る。
Bitcoin Core
名前なしウォレットに絡む2つの障害をBitcoin Core 28.4が修正した。レガシーウォレットの移行(#34156)と、失敗時にwalletsディレクトリを削除していたcreatefromdump(#34215)だ。chainparamsからDNSシードも1つ外れた(#33723)。
Bitcoin Core
コンセンサス違反のトランザクションを送ってきたピアを、Bitcoin Core 29.3は処罰しなくなった(#33050)。検証面ではレガシー、P2SH、SegWit v0スクリプト向けに入力ごとのsighashミッドステートキャッシュを導入し(#32473)、Scriptチェックをやり直さずにウィットネス除去を検出できる(#33105)。マイナー側のaddPackageTxsでは符号なし整数オーバーフローが解消された(#33475)。
Bitcoin Core
名前なしレガシーウォレットの移行失敗がBitcoin Core 30.2でなくなった(#34156)。createfromdumpも、そうしたウォレットで失敗した際にwalletsディレクトリを削除しない(#34215)。IPCのwait呼び出し中にCtrl-Cを押すとハングする問題も解消した(#33511)。
Bitcoin Core
まれな条件下で、Bitcoin Core 30.0または30.1のwallet.dat移行に失敗するとウォレットディレクトリ内の全ファイルが削除され、資金を失う恐れがある。開発者は該当バイナリを取り下げ、30.2が出るまでGUIやRPCで移行しないよう呼びかけた。発生条件は、既定の名前なしwallet.datが移行または読み込みに失敗すること。それ以外の利用者に影響はない。
Bitcoin Core
Bitcoin Core 30.1のウォレットは、祖先を持つ未承認のTRUCコインを選択対象から外す(#33528)。IPCではオプションに-m引数が不要になり(#33229)、メッセージログのオーバーヘッドが減り(#33517)、実行中のwaitNext呼び出しをキャンセルできるようになった(#33676)。
Bitcoin Core
versionメッセージのnonceを多数の接続で使い回して自己接続を偽装すれば、攻撃者はBitcoin Coreノードのログファイルを肥大化させられる。被害ノード側の最初の接続は既定で60秒でタイムアウトするため、ディスクを埋めるには長い時間がかかり、CVE-2025-54604の深刻度はLow。Niklas Goegge氏が2022年に報告し、29.1と30.0のログレート制限で防がれるようになった。
Bitcoin Core
基本的な健全性チェックに落ちたブロックや、最新チェックポイントより前で分岐したブロックを、Bitcoin Coreは1件ごとにログへ記録していた。このため無効ブロックを繰り返し送ればディスクを使い切らせることができた。CVE-2025-54605(深刻度Low)はNiklas Goegge氏とEugene Siegel氏がそれぞれ独立に報告し、29.1と30.0のログレート制限で修正された。
Bitcoin Core
細工した非標準トランザクション1件ごとにBitcoin Coreノードを数秒間占有でき、送信者は切断されない。攻撃者はこれを使ってブロック伝播を遅らせることができた。深刻度LowのCVE-2025-46598はAntoine Poinsot氏が報告し、v30.0で最悪時の検証時間を短縮して緩和した。
Bitcoin Core
1GB超のブロックは32ビットのBitcoin Coreノードでサイズチェックをオーバーフローさせ、ディスク書き込み時にクラッシュを招く恐れがあった。ただし成立するのはコンパクトブロックとして届き、被害ノードが-maxmempoolを3GB超に設定して1GB分のトランザクションを抱えている場合に限られる。深刻度LowのCVE-2025-46597はPieter Wuille氏が発見し、29.1と30.0で32ビット環境の-maxmempoolに上限を設けて解消した。
Bitcoin Core
既定の最低手数料率がBitcoin Core 28.3で下がった。-blockmintxfeeは1 satoshi/kvB、-minrelaytxfeeと-incrementalrelayfeeは100 satoshi/kvBになる。ウォレットの手数料率は据え置きで、新しい既定値がネットワークに広まらない限り、より安いトランザクションは伝播しない可能性がある。onion経由のインバウンド接続にはホワイトリスト権限が適用されなくなった(#33395)。
Bitcoin Core