用語集 / ノードとソフトウェア
Bitcoin Core
- Bitcoin Coreとは?
- Bitcoin Coreはビットコインのリファレンス実装であり、Satoshiのオリジナルクライアントの後継にあたり、ネットワークの検証ノードの大部分が実際に稼働させているソフトウェアです。
このプロジェクトは、Satoshiが2009年1月に公開したコードベースそのものであり、2014年3月19日にBitcoin-QtからBitcoin Coreへと名前を変え、バージョン0.9.0を付けて公開され、それ以来MITライセンスの下で公開されてきました。無料で、背後に企業はなく、メンテナーはコードを公開できますが、誰か1人にインストールさせることはできません。ビットコインを購入するときに触れるもののほとんどすべて、取引所の出金システムからウォレットの手数料見積もりまで、がこの上に築かれています。
仕組み
Bitcoin Coreは1回のダウンロードに4つのプログラムが入っています。
ノードのどの定義にも書かれている仕事をする検証エンジンがあります。ピアへの接続、すべてのルールの確認、未使用アウトプットセットの保持です。これを包むグラフィカルアプリケーションとヘッドレスデーモンがあります。オプションで片隅に置かれたウォレットがあり、これはバージョン30.0以降ディスクリプターウォレットでなければならず、古いBerkeley DB形式は削除されました。そしてエコシステムの他のすべてが話しかけるリモートプロシージャコールのインターフェースがあり、だからこそ取引所のバックエンドとハードウェアウォレットのデスクトップアプリが同じ方言を話すことになるのです。
その奇妙な憲法上の位置は理解する価値があります。ビットコインには、動作するコードとは別のコンセンサス仕様がありません。改善提案の山があり、代替実装もありますが、ルールが曖昧なときの実際の答えは、事故も含めてBitcoin Coreが行うことです。2013年3月のチェーンの分裂は、あるストレージライブラリの文書化されていない制限が何年も静かにコンセンサスルールになっていたために起こり、ソフトウェアが変わるまで誰も気づきませんでした。
リリースはおおよそ年に2回届き、番号は2021年のバージョン22.0で先頭のゼロを失いました。バージョン30.0は2025年10月13日に公開されました。マージには他のコントリビューターによるレビューが必要で、プロジェクト内の誰もあなたのマシンに変更を送り込むことはできません。
ポリシーとコンセンサスは分けておいてください。最も声の大きい議論は常に前者についてです。コンセンサスルールはどのブロックが有効かを決め、ネットワーク上のすべてのノードが共有します。ポリシールールは個々のノードが何を中継し、mempoolに何を保持するかを決めるもので、あなたは今日の午後、ネットワークを離れることなく設定ファイルで自分のものを変えられます。
ビットコインを購入するときにこれが重要な理由
Bitcoin Coreのデフォルトは、あなたが行うすべてのトランザクションの下限を定めています。
あなたの出金がそもそも伝播するかどうかは最小中継手数料にかかっており、バージョン30.0はそのデフォルトを仮想バイト当たり1サトシから0.1に下げ、マイナーは0.001というわずかな額まで受け入れられます。あるアウトプットがダストとして拒否されるほど小さいかどうか、詰まった支払いを置き換えられるかどうか、親トランザクションを子トランザクションで救済できるかどうか、これらはBitcoin Coreのデフォルトであり、自然法則ではありません。出金時に取引所が提示する手数料は、ほぼ確実にその取引所自身のCoreノードの推定器から来ています。
同じデフォルトはカストディにも及びます。Bitcoin Core自体にウォレットを保管する場合、バージョン30.0は古いレガシーウォレット形式を完全に削除したため、古いwallet.datは開くのではなく移行しなければなりません。10年前のバックアップを持つ人は、コインが必要になるずっと前に移行を試しておくべきです。
より広い論点は、当サイトが繰り返し取り上げているものです。当サイトの取引所レビューは手数料、カストディ、出金ポリシーを扱い、国別ガイドは誰が法的にあなたにサービスを提供できるかを扱っていますが、どちらのリストのプラットフォームも、最終的にはノードが伝えたことを報告しているにすぎません。購入することは企業との関係です。検証することはそうではなく、Bitcoin Coreは問い合わせをやめられるようにするツールです。
OP_RETURNの議論とバージョン30.0
Bitcoin Coreの2025年を特徴づけた争いは83バイトについてでした。
何年もの間、OP_RETURNアウトプットが運べるデータのデフォルト上限は83バイトで、ノードはそれより大きいものを中継しませんでした。バージョン30.0はそのデフォルトを100,000に引き上げ、そのようなアウトプットを1つのトランザクションに複数含めることを認めました。これは実際上、上限を取り除くものです。賛成の論拠は、上限が機能しなくなっていたというものでした。チェーンにデータを保存したい人はすでにウィットネス空間とマイナーへの非公開の送信経路を使っていたので、このルールは正直なユーザーを罰し、他のすべての人に公開中継ネットワークを迂回することを教えていました。反対の論拠は、どのような回避策があろうと、Bitcoin Coreがそれを容易にするべきではないというものでした。
この出来事を教訓的にしているのは、起こらなかったことです。ブロックの有効性に関するルールは何も変わりませんでした。古い設定のノードと新しい設定のノードはまったく同じブロックを受け入れ、事前に何を中継するかについてのみ意見が分かれ、同じチェーンにとどまります。目に見える結果は移行でした。はるかに厳しいデフォルトを保つBitcoin Knotsは、その後1年の間に、取るに足らない存在から到達可能なノードのおよそ5分の1へと増えました。これが、誰も誰かを強制できないときのビットコイン内部の意見の相違の姿です。
Bitcoin Core vs Bitcoin Knots
Bitcoin CoreとBitcoin Knotsは同一に検証し、中継は異なります。KnotsはCoreのコードに追加のパッチを当てて作られ、どのトランザクションを中継するかについてより厳しいデフォルトを保ち、Coreにはない設定項目を加えます。中継ポリシーはコンセンサスルールではないため、どちらも別のコインを生み出しません。両者のどちらかを選ぶことは、自分のマシンがどのトランザクションを転送するか、そして大きなレビュープロセスと、ブロックに何が属するかについてあなたと同じ見方をする小さなレビュープロセスのどちらをどれだけ重視するかを選ぶことです。
Bitcoin Core vsノード
Bitcoin Coreはソフトウェアであり、ノードはそのソフトウェアがネットワーク上で果たす役割です。この区別が重要なのは、代替が存在するからです。Knots、btcd、libbitcoinはいずれも同じプロトコルを話し、ウォレットを切ったCoreのインストールも完全なノードです。逆に、ノードと称される製品の多くは、立派な筐体に入ったウォレットです。誰かがノードを運用していると言ったとき、次に役立つ質問は、それがその人のためにブロックを検証しているのか、単に鍵を保持しているだけなのかということです。