PRAGMA が開発する Rust 製の Cardano ノード Amaru が、日本時間 11 月 6 日早朝に公開した v10.11.20261105 で、ブロック生成のテストネット限定を外しました。リリースノートには「ブロック生成はもうテストネットに限定されない」と書かれています。
Amaru v10.11.20261105 リリースノート (GitHub)(GitHub)
Cardano のブロックはこれまで Haskell のノードが主に作ってきました。別の言語で書かれたノードが本番のブロック生成へ進むことは、1 つの実装の不具合でネットワーク全体が止まる心配を減らす一歩です。ただし、機能が解禁されたことと、プールが本番で使い始めることは別の話です。何が変わり、何がまだなのかを分けて整理します。
空のブロックから、取引の入ったブロックへ
変更の差は、1 週間前の版と比べると見えやすくなります。10 月 29 日の v10.11.20261029 が目標に掲げていたのは「(Empty) Block Producer」でした。今回の目標は「Minimum Viable Block producer」に変わりました。主な追加は次のとおりです。
- ブロックを作るときに、メモリプールの取引を到着順に入れます。サイズや実行コストの上限を超える取引は飛ばします
- CIP-0203 に沿って、ブロックに実装を示すタグを既定で付けます (
--software-tag-offで無効にできます) amaru dev software-tagでブロックヘッダのタグを読み取れます- システムの時計が同期していないか精度が足りないときに、起動時に警告を出します
同じ版では、基準となる実装との食い違いを直す修正も目立ちます。ブロックを作る権利の計算の端の場面、担保の返却や証人、ガバナンス操作の検証、不正な CBOR や Byron アドレスの扱いなどです。無効な Ed25519 の鍵で落ちる可能性のあった不具合も直りました。こうした修正が今も並んでいること自体が、この版の位置を語っています。
対応と実運用は分けて読む
今回のリリースノートに書かれているのは、できるようになったことです。メインネットで Amaru がブロックを作ったという実績の記載はありません。リポジトリの README も、Amaru は「まだ探索の段階にある」と説明しており、機能が限られていたり不完全だったりする可能性を先に断っています。チェーンの全履歴を立ち上げ時にダウンロードしない点も、まだ変わっていません。
別の実装が本番のブロックを作る例としては、Go で書かれた Dingo が 9 月 16 日にメインネットで最初のブロックを作りました。Amaru もその流れに続く位置にいます。もっとも、実際にどれだけのブロックが別の実装で作られるのかは、これから数字で見ていく話です。
タグは、多様性を数える入口になる
CIP-0203 のタグは、どの実装がブロックを作ったのかを見分けるためのものです。これまでは、ブロックを外から見ても実装は分かりませんでした。Amaru がこのタグを既定で有効にしたことで、そのブロックは後から数えやすくなります。
ただし、10 月 2 日の Deep Dive で整理したとおり、タグは運営者の申告で、実行中のソフトを証明するものではありません。今回の版でも無効にできます。CIP-0203 は 10 月 1 日の時点で未マージの提案でした。ブロックの割合とノードの台数も同じ数字にはならないので、集計を見るときは何を数えたものかに気をつける必要があります。
SPO が試す前に確かめたいこと
最低要件は 2 コア以上、メモリ 2GiB、ストレージ 20〜300GiB です。従来のノードと並べて動かす場合は、次の変更点が関係します。
- 受信の既定ポートが 3000 から 3001 に変わりました。
--peers-listen-onで変更できます - KES 周期や運用証明書の指標が、Haskell のノードと同様に出るようになりました。接続数の指標も加わり、gLiveView のようなダッシュボードで表示できます
- OpenTelemetry の指標の送信が 1 分ごとから 1 秒ごとになったので、監視基盤の負荷にも影響します
版は週単位で進んでいます。本番プールの鍵を移す判断より先に、まずテストネットで動かし、自分のプールの構成で同じ挙動になるかを確かめるのが順番でしょう。
11 月 12〜13 日のロンドン
次に見る場所ははっきりしています。Amaru のチームは 11 月 12〜13 日にロンドンで Node Diversity Workshop を開きます。案内のサブタイトルは「Cardano mainnet readiness, Network upgrades」で、複数の実装が並ぶなかでメインネットの準備をどう進めるのかが話し合われます。あわせて、GitHub の pragma-org/amaru のリリース面で、次の版のマイルストーンがどこへ進むのかも確かめられます。ブロックが実際に生成されたら、amaru dev software-tag でタグを読めば、その 1 本が Amaru のものだと申告しているかが分かります。
ことば
- Amaru — PRAGMA が開発する Rust 製の Cardano ノード。Haskell の本家とは別の実装で、今回の版でテストネット限定だったブロック生成の制限が外れました。
- CIP-0203 — ブロックに作成元の実装を示すタグを入れる提案。実装ごとの割合を数える入口になりますが、運営者の申告なので、実行中のソフトの証明にはなりません。
- KES — ブロックに署名するための鍵を、一定の周期で更新する仕組み。期限切れはブロックを作れなくなる原因になるため、Amaru も残りの周期を指標で出すようになりました。
一次ソース / 関連リンク
Amaru v10.11.20261029 リリースノート (GitHub)(GitHub)
GitHub


