Blink Labs が Go 言語で開発する Cardano ノード「Dingo」が、10 月 6 日から 14 日までの間に v0.79.0 から v0.83.0 まで 10 本のリリースを重ねました。Blink Labs は 10 月 15 日(日本時間)に公式 X でこの 1 週間を振り返り、次の時代の実行環境である Plutus V4 の評価、ステーク量で重み付けしたピア探索、1 コマンドで立ち上がる開発用ネットワーク(DevNet)などを追加したと伝えています。
cardano-node 以外の実装でネットワークを支える「ノードの多様性」は、Cardano の分散を一段深くする取り組みです。Dingo はまだメインネットでのブロック生成には使えない段階ですが、次のハードフォークで使われる機能への追随と、開発者が試しやすい環境づくりを同時に進めていることが、今回のリリース群から読み取れます。
10 本のリリースで加わったもの
GitHub のリリースノートを順に追うと、Blink Labs が挙げた機能はそれぞれ次のバージョンで入っています(日付は協定世界時)。
- v0.79.1(10 月 7 日): ステーク量に応じたピア探索と評価
- v0.80.0(10 月 8 日): ImmutableDB を HTTP 経由で読み込む機能
- v0.81.0(10 月 10 日): 1 コマンドで起動するローカル DevNet
- v0.82.0(10 月 13 日): Dijkstra 時代の Plutus V4 の評価とパラメーター提供、OpenTelemetry による処理の追跡
- v0.83.0(10 月 14 日): チェーン選択の「Limit on Eagerness」
このほかの多くは、台帳の検証や同期まわりの細かな修正、性能改善です。派手な新機能より、本番に近い条件で壊れないための手当てが積み重なっている、というのがリリースノート全体の印象です。
Plutus V4 の評価が意味すること
Plutus はスマートコントラクトを動かす実行環境で、V4 は次の時代(Dijkstra)に向けた新しい版です。10 月 9 日には Plutus 本体の 1.71.0.0 が V4 のスクリプトコンテキストを全面的に追加しており(10 月 9 日の記事)、Dingo の v0.82.0 はそれから数日のうちに「Dijkstra の Plutus V4 を評価し、そのパラメーターを返す」機能を入れました。
別の実装がネットワークに加わるには、cardano-node と同じ取引を同じように「有効」「無効」と判定できなければなりません。新しい実行環境が出るたびに追随が遅れると、ハードフォークの時点で代替ノードだけが取り残されます。V4 への対応を早い段階で始めたことは、Dingo が次のハードフォークをまたいで動き続けることを前提に開発を進めている表れです。
ピア探索と同期の仕組みの手直し
v0.79.1 で入ったステーク加重のピア探索は、台帳に登録されたリレーのうち、ステークの大きいプールのものを優先してつなぎ先を選び、評価する仕組みです。ステークの重みは攻撃者が簡単には偽装できないため、つなぎ先の偏りや乗っ取りに強くなります。
v0.83.0 の Limit on Eagerness は、ゼロから同期するノードが偽のチェーンに引き込まれないようにする Ouroboros Genesis の仕組みの一つで、候補となる複数のチェーンが分かれる地点より先へ、あわてて進まないよう歯止めをかけます。10 月 10 日の v0.81.0 では、同じ系統の Genesis Density Disconnector も加わっています。
1 コマンドの DevNet で試す
開発者に最も身近な変化は DevNet です。Dingo の手引きによると、dingo devnet(npm からは npx @blinklabs/dingo devnet)の 1 行で、ブロック生成を有効にしたノードが 1 台、外部とつながらない私設のネットワークとして立ち上がります。同梱のジェネシスとテスト用の鍵を使うため、Docker も別の Cardano ノードも要りません。
既定では設定・鍵・データベースは一時ディレクトリに置かれ、終了と同時に消えます。--data-dir を指定すればチェーンを残して再開でき、v0.82.0 では資金入りのアドレスと配布用の鍵を書き出す機能も加わりました。Blink Labs は X で「インデックスと API まで備えた」DevNet と説明しています。
メインネットのブロック生成はまだ先
Dingo の README は冒頭で、活発に開発中であり、メインネットでのブロック生成にはまだ使えないと明記しています。使う場面は preview・preprod・musashi のテストネットと DevNet に限るよう求めており、実際の資金を扱うプールが今すぐ切り替える段階ではありません。
確認できる次の一点は、GitHub の Dingo リリースページで v0.83.0 の次に出るバージョンと、README 冒頭の警告文の書き換えです。メインネットでのブロック生成を認める表現に変わったとき、Dingo は「試せるノード」から「運用できるノード」に移ります。それまでの間、Plutus V4 への追随がどこまで進むかは、Dijkstra のハードフォークの準備と並べて見ていく価値があります。
ことば
- Dingo — Blink Labs が Go 言語で書いている Cardano のノード実装。Haskell で書かれた cardano-node とは別の実装で、ネットワークが 1 つのソフトウェアの不具合に左右されにくくなる「ノードの多様性」の担い手の一つです。
- Plutus V4 — 次の時代(Dijkstra)で使われるスマートコントラクト実行環境の新しい版。代替ノードが同じ判定を返せるかどうかが、ハードフォークをまたいで動けるかの分かれ目になります。
- DevNet — 開発や試験のために手元で立てる、外部とつながらない小さなネットワーク。テストネットの混雑や資金の入手を気にせず、すぐに取引やコントラクトを試せます。
一次ソース / 関連リンク
- Blink Labs 公式 X の告知(過去 1 週間で 10 リリース)
https://x.com/blinklabs_io/status/2110490513233375320
GitHub
GitHub


