Essential Cardano の週次開発報告(2026 年 8 月 28 日付)に、性格の違う「直した」が 2 つ並びました。ひとつは Hydra の公開コスト表の訂正で、最低手数料の見積りが実際より約 30% 低く出ていたというもの。もうひとつは Leios で、正直なノード同士を切断させうる経路が塞がれました。
どちらも新機能の告知ではありません。すでに公開されていた数字の誤りと、すでに「未解決の穴」として書き残されていた箇所を、記録つきで直したという報告です。SIPO は 8 月 27 日に、Leios のテストネットで壊れたものが記録つきで公開された件を扱いました。壊れ方を外に出す運用と、直し方を外に出す運用は、ひと続きになっています。
Head を実際に運用する側にとっては、前者は見積りの前提が変わる話です。順に見ていきます。
■ Hydra のコスト表が「約 30% 低く」出ていました
Hydra チームの週次技術報告(Week 34・対象期間は 8 月 17 日から 23 日)には、次のように書かれています。
corrected the published cost table’s minimum-fee estimate, which was missing Conway’s reference-script charge and under-reporting by roughly 30%
公開されていたコスト表の最低手数料の見積りに、Conway 以降のリファレンススクリプト課金が入っていなかった、という内容です。その結果、表に出ていた数字は実際より約 30% 低く出ていました。
リファレンススクリプトは、同じスクリプトを毎回トランザクションに丸ごと載せる代わりに、チェーン上に置いてあるものを参照する仕組みです。Conway では、この参照そのものにスクリプトのサイズに応じた課金がかかります。Hydra が L1 に出すトランザクション(Head を開く、コミットする、閉じる、ファンアウトする)はスクリプトを伴うため、この分が抜けていれば見積りは低い側にずれます。
ここは意味を取り違えないほうがよい部分です。訂正されたのは公開されていた表の数字であって、実際に台帳が請求する手数料が上がったわけではありません。支払う額はもとから同じでした。ずれていたのは、運用する側が計画に使う数字のほうです。表を見て Head の運用コストを積んでいた場合は、その前提を取り直すことになります。
この訂正が入ったのと同じ変更(PR #2825)では、手書きだったメトリクスの登録機構が Prometheus のライブラリに置き換えられ、指標名を打ち間違えても何も起きないまま静かに通っていた不具合も直っています。「外に出している数字が正しいか」という点で、この 2 つは同じ性格の修正です。
■ Leios は、正直なノード同士が切れる経路を塞ぎました
consensus チーム側は、endorser block(EB)の告知をめぐる攻撃を修正しました。ouroboros-consensus の PR #2179、タイトルは「LeiosNotify: remove stale-OCIN timing attack vector」です。
元になった課題(ouroboros-leios の issue #1029)には、EB 告知のプロトタイプを実装した時点で残されていた TODO がそのまま引かれています。
what if the attacker sends a fresh announcement that uses the revoked OCIN just before it becomes immutable? That might cause some honest nodes to disconnect from other honest nodes.
OCIN は、ブロック生成者のオペレーショナル証明書に付く発行番号のことです。鍵を更新して番号が上がると、古い番号は失効します。ノードから見た「どこまでが失効済みか」は、自分が持っている不変部分(immutable tip)がどこまで進んでいるかで決まります。つまり、この判断はノードごとに少しずつずれます。
攻撃はその隙間を突くものでした。失効する直前の番号を使った告知を送ると、受け取ったノードから見れば「失効済みの番号を使った不正な告知」に見え、送り主を切断してしまう。ところが送り主が正直なノードで、単に不変部分の進みが遅れていただけ、という場合がありえます。攻撃者は自分のヘッダーがチェーンに載るたび番号を進められるため、この機会を繰り返し作れる、と課題には書かれていました。
修正の考え方は、切断をやめることでした。PR の説明にはこうあります。失効済みの番号を持つ告知が来ても切断しない、相手の不変部分がこちらより少し遅れている可能性があるので受け取りはする、ただしこちらは失効済みだと知っているので、その中身は無視する。番号が正しいかどうかは、そのノードにどれだけの負荷がかかるかとは無関係で、資源消費を縛るのは選出そのものの正しさである——という整理です。
同じ週には、db-analyser が Leios のチェーンを読めるよう拡張されました(PR #2181)。チェーンを再生して、ブロックごとの適用コスト、認証済み EB に含まれるトランザクション、その合計サイズ、読み込みにかかった時間を報告できます。8 月 27 日に扱った「壊れ方を公開する」運用と同じ方向で、測る道具のほうも外向きに整えられています。
■ 同じ週に並んだ、その他の「直した」
報告に載った残りを、運用に関わる順に並べます。
- Hydra の CBOR 対応:永続化されるイベントのペイロードが JSON から CBOR になり、実測の 3 ノードベンチのデータベースが 2.6 倍縮みました(27.4 MB → 10.5 MB)。自動マイグレーションが同梱されますが、ダウングレードの経路はありません。クライアント API 側も CBOR のバイナリ符号化をオプトインで選べるようになり、転送サイズが 2.2〜3.1 倍縮小、符号化・復号は 3〜21 倍高速。1,000 UTXO のスナップショットの復号は 46.8 ms から 3.2 ms になりました。既定は JSON のままです。
- Hydra の鍵の名前:hydra-tui の紛らわしかった
--cardano-signing-keyが--funds-signing-keyに変わりました。互換性を壊す変更です。hydra-node 側の鍵オプションは、参加者の L1 上の身元にあたるため意図的に据え置かれています。 - Plutus 1.68.0.0:Plutus V4 の台帳 API の型が入りました。ただし V4 は開発中で、Dijkstra era の前に型が変わる可能性があると報告に明記されています。
assetCountビルトイン(CIP-0168)とそのコストモデル、multiIndexArrayのコストモデル(CIP-0156)も入りました。 - Lace:Keystone ハードウェアウォレットに対応しました。ブラウザ拡張とモバイルアプリの両方です。Keystone は USB・Bluetooth・NFC を使わず QR コードで署名を受け渡すエアギャップ型で、シードフレーズは 3 つのセキュアエレメントチップに載った真性乱数生成器で作られます(サイコロで自分でエントロピーを作る選択肢もあります)。これで Lace が対応するハードウェアウォレットは Ledger・Trezor・SeedSigner・Keystone の 4 種類になりました。
- cardano-init:v0.2.0 と v0.2.1 が出て、プロトタイプから製品に切り替わりました。web ビルダーの面は落とされ、CLI 一本になっています。
addとremoveが入り、生成後にプロジェクトの構成を編集できます。ネットワークは既定で preview 向けに生成され、実行時に環境変数を 1 行書き換えて切り替える形になりました。
■ 次に見るもの
報告の最後に、9 月 3 日のデータ可用性(DA)ワークショップの登録開始が載っています。Cardano Vision 26 の技術ワークショップ連続開催の一環で、仕様と要件を詰めることを目的とし、Cardano Problem Statement(CPS)の準備が含まれると書かれています。DA の議論が CPS という形式に落ちるかどうかは、この先の設計がどこで決まるのかを見るうえで分かりやすい目印になります。
Leios については、8 月 22 日に Intersect が Dijkstra の「2026 年内」に留保をつけた件を扱いました。今週の 2 つの修正は、その留保が指していた「まだ塞がっていない箇所」を 1 つずつ減らす作業にあたります。派手な進捗ではありませんが、残っている穴の数が公開の場で減っていくかどうかは、期限の議論を読むときの材料になります。
一次ソース / 関連リンク
- Essential Cardano – Weekly development report as of 2026-08-28
https://www.essentialcardano.io/development-update/weekly-development-report-as-of-2026-08-28 - Hydra 週次技術報告 Week 34・2026(コスト表訂正の記述)
https://cardano-scaling.github.io/hydra-updates/updates/2026-w34/ - cardano-scaling/hydra PR #2825 – Some library re-use fixes
https://github.com/cardano-scaling/hydra/pull/2825 - IntersectMBO/ouroboros-consensus PR #2179 – LeiosNotify: remove stale-OCIN timing attack vector
https://github.com/IntersectMBO/ouroboros-consensus/pull/2179 - input-output-hk/ouroboros-leios issue #1029 – Fixup a loose end of the prototype’s EB announcement diffusion
https://github.com/input-output-hk/ouroboros-leios/issues/1029 - IntersectMBO/ouroboros-consensus PR #2181 – db-analyser: support Leios chains
https://github.com/IntersectMBO/ouroboros-consensus/pull/2181 - IntersectMBO/plutus – Release 1.68.0.0
https://github.com/IntersectMBO/plutus/releases/tag/1.68.0.0 - Lace Blog – Keystone has landed in Lace
https://www.lace.io/blog/keystone-has-landed-in-lace - Cardano DevX Initiative 週次報告 Week 34・2026(cardano-init の初回リリース)
https://input-output-hk.github.io/devx-updates/updates/2026-w34/ - データ可用性ワークショップ(9 月 3 日)登録ページ
https://luma.com/spwdhvaf - SIPO – Leios のテストネットで壊れたものが、記録つきで公開されました(2026-08-27)
https://sipo.tokyo/signal-20260827-ef9f1eda/ - SIPO – Dijkstra の「2026 年内」に、Intersect が留保をつけました(2026-08-22)
https://sipo.tokyo/signal-20260822-0111968d/ - SIPO – Leios のテストネットが 41 日で 12 万 7 千ブロックを積みました(2026-08-21)
https://sipo.tokyo/signal-20260821-dc4562b5/
本文中の数値・バージョン番号・引用は 2026 年 8 月 28 日に上記の一次ソースで確認したものです。
