LIVE ADA-- MCAP-- TVL-- STAKE-- EPOCH-- Cardano & Midnight 総合情報ポータル
SIPO
速報 Midnight Explorer API、ブロック・トランザクション・アドレス・コントラクト情報をホスト型で提供 9時間前 速報一覧 →
HOMESignal › Ouroboros Genesis、メインネット設定で既定に
Signal

Ouroboros Genesis、メインネット設定で既定に

2026-09-18SIPO

Cardano の公式メインネット設定で、ノードの動作モードを決める ConsensusModeGenesisMode になっています。2024 年に配備が告知された Ouroboros Genesis が、任意で有効にする試験的な選択肢から、既定の動作へ移りました。

変わったのは cardano-node の実行ファイルではなく、配布されている設定ファイルのほうです。新しく参加するノードや、長く止めていて復帰するノードが、少数の決まった接続先を信頼してチェーンを掴む作りから離れます。ステークプールの集まりそのものが、正しいチェーンを見つける手がかりを配る側に回ります。

本記事は公式の設定ファイルと開発者ポータルの記述を直接読んで書いています。設定を自分で組んでいる場合に確認しておきたい点が一つあるので、そこまで含めて整理します。

■ 公式設定の ConsensusMode が GenesisMode に変わっています

2026 年 9 月 18 日時点で、配布されているメインネットの config.json には次の 1 行が入っています。

"ConsensusMode": "GenesisMode"

これは book.play.dev.cardano.orgbook.world.dev.cardano.org の両方で同じでした。preprod と preview の設定も同じく GenesisMode です。テストネットだけの先行ではなく、配布されている設定が一斉に切り替わっている状態です。

どのバージョンのノードを動かしているかではなく、どの設定ファイルを読み込んでいるかが効く変更です。ここを取り違えると、更新したつもりで挙動が変わっていない、あるいはその逆が起こります。

■ 同じ週に出た 11.1.2 は、Genesis とは別の話です

時期が近いので混ざりやすいのですが、9 月 17 日に公開された cardano-node 11.1.2 に Genesis の記述はありません。リリースノートに挙がっているのは 2 点で、タイムロックスクリプトのメモリ使用の最適化と、ブロックヘッダのプロトコルバージョン minor の更新です。ほかの構成要素は変更なしと記されています。

既知の課題も引き継がれています。11.0.1 と比べると同期中のメモリ使用が少し増えますが、11.1.0 にあった落ち込みよりは大幅に改善しているとされています。追いついた状態でもわずかに増え、これは台帳スナップショットの取得と相関すると説明されています。ベンチマークとシステムテストの結果は 11.1.1 のものがそのまま当てはまるとされ、11.1.2 では取り直されていません。

つまり 11.1.2 は、11.1.1 の上に載る小さな修正です。設定側で起きた Genesis の既定化とは、出どころが違います。

■ ブートストラップピアの指定は上書きされ、スナップショットが使われます

開発者ポータルは、Genesis モードについて「ブートストラップピアとは両立せず、有効にすると bootstrapPeers の設定を上書きする」と書いています。代わりに使われるのが peerSnapshotFile で、これは大きなステークを持つプール群とその接続先を書き出したファイルです。

ここが少し紛らわしいところです。配布されているメインネットの topology.json には、bootstrapPeers の記述が今も残っています。IOG と Cardano Foundation のバックボーン 2 か所が並んでいます。同じファイルに peerSnapshotFile の指定も入っていて、実際にそのスナップショットは配信されています。取得すると bigLedgerPools、つまり加重の大きいプールとそのリレーの一覧が入っていました。

設定上は両方書かれていて、Genesis が有効な以上、実際に効くのはスナップショットのほうということになります。ブートストラップピアの記述が消えたわけではなく、参照されなくなる、という関係です。

確認しておきたいのは、トポロジーを自分で書いている場合です。設定は配布物を使いつつトポロジーだけ手元のものに差し替えている構成はよくあります。このとき peerSnapshotFile の指定がトポロジー側に無いと、Genesis が有効な状態で、スナップショットを持たないまま動くことになります。ブートストラップピアを丁寧に書いてあっても、そちらは上書きされる側です。スナップショットは同期済みのノードから cardano-cli query ledger-peer-snapshot で書き出せます。

もう一点、古い版を動かし続けている場合の注意があります。開発者ポータルは、cardano-node 10.2 から 10.4 に、Genesis を有効にすると追いついたノードがエクリプス攻撃を受けやすくなる不具合があると記しています。該当する版なら、同期が終わった時点で Genesis を切って再起動する回避策が案内されています。

■ ドキュメントの記述は、まだ実体に追いついていません

ややこしいのは、開発者ポータルのトポロジーの項が、現在も Genesis を「cardano-node 10.2 からの試験的な機能で、既定では無効。将来のリリースでメインネットの既定になる見込み」と説明していることです。設定ファイルの実体とは食い違っています。

検索で調べた場合も同じで、出てくる説明は「まだ既定ではない」という古いほうです。開発者ポータルの Ouroboros Genesis の解説ページ自体は、現時点では開きません。

設定の切り替えが先に進み、説明があとから追いかけている状態です。手順を確かめるときは、解説のページよりも、実際に配布されている config.jsontopology.json を開いて、いま自分のノードが読んでいるものと突き合わせるほうが早い局面です。

■ 固定された入口を、少しずつ減らしていく

Genesis が変えているのは、ネットワークに入るときに何を信じるか、という一点です。これまでは「ここに繋げば正しいチェーンに乗れる」と決められた接続先があり、その正しさを前提に同期が始まっていました。Genesis では、ステークの分布そのものから正しい鎖を選べるようになります。信頼の置きどころが、特定のサーバーからネットワーク全体へ移ります。

同じ方向の動きは、名前解決の側にもあります。CIP-0155「SRV registry」は、Cardano のアプリケーション向けに DNS の SRV レコードの接頭辞を割り当てる手続きを定めるもので、リレーを _cardano._tcp. から始まる名前で公開できるようにします。ステータスはまだ Proposed ですが、狙いは近く、接続先を IP とポートで直接書き込む形から離れることです。

固定された入口は、運用が楽になる代わりに、そこが止まったときの影響が集中します。Genesis と SRV は、どちらもその入口を 1 か所に固めない方向へ進めるものです。設定ファイルの 1 行としては地味ですが、そこが既定になったことが今回の中身です。

■ ことば

  • Ouroboros Genesis — ノードが同期を始めるときに、あらかじめ決められた接続先を信頼するのではなく、ステークの分布そのものから正しいチェーンを選べるようにする方式です。配備が告知されたのは 2024 年で、任意の設定を経て今回の既定化に至りました。
  • ブートストラップピア — ノードが起動直後に接続する、あらかじめ決められた相手のことです。確実に繋がる代わりに、その相手を信頼する前提が残るため、Genesis では参照されなくなります。
  • ledger peer snapshot — 加重の大きいプールとそのリレーを書き出したファイルです。Genesis ではブートストラップピアの代わりに、ここから接続先を探し始めます。

一次ソース / 関連リンク