リリースノート - v0.202.9
v0.202.9
Section titled “v0.202.9”タイトル: トランザクションの再実行、検証、デコードの安全性を改善
バージョン: v0.202.9
このリリースでは、サポート対象の ledger era 全体で、トランザクションの再実行互換性、ledger に準拠した検証、バイナリデコードの安全性、署名検証、担保ルールを改善しました。
-
改善 redeemer 検索の一貫性:
AlonzoRedeemers.Iterは重複する(Tag, Index)キーを最後に現れた値を優先してまとめ、Valueは最後に一致したエントリを返すようになりました。Babbage と従来の Conway の処理もこの動作を継承し、互換性のあるトランザクション再実行に対応します。 -
修正 実行単位の計算:
ExUnitsの合計はまとめられた redeemer のビューを集計するようになり、重複キーを一度だけ数える一方、スクリプトデータハッシュ用の redeemer の生バイト列は引き続き利用できます。リソース計算も同じ重複キーの動作に従いますが、ハッシュに使用するバイト列は変わりません。 -
統一 トランザクションサイズと手数料の検証: Shelley から Dijkstra まで、最大トランザクションサイズのチェックと手数料の測定に
common.TxSizeを使用するようになりました。サイズ上限と正確に一致するトランザクションも一貫して検証され、サイズ関連のエラーには正しい測定値が示されます。 -
強化 バイナリデコードの安全性:
StreamDecoder.Advanceはオーバーフローと範囲外への移動を防ぎ、ArrayHeaderSizeは 32 ビット境界を正しく処理し、ゼロ値のLazyValueメソッドも安全に呼び出せるようになりました。これらの変更により、境界条件でのデコードの堅牢性が向上します。 -
堅牢化 コンセンサスに安全な署名: SumKES リーフ検証では、正規形式の Ed25519 エンコードを必須とし、不正なエンコード、小位数点、非正規スカラーを拒否するようになりました。これにより、無効な署名がコンセンサスチェックを通過することを防ぎます。
-
整合 フェーズ 2 実行に沿った担保検証: 担保 witness と総担保額の一致ルールは、サブトランザクションの witness セット内の redeemer を含め、フェーズ 2 redeemer が存在する場合にのみ適用されるようになりました。これにより、担保要件がフェーズ 2 redeemer を使用するトランザクションに限定されます。
推奨ネットワーク互換性 ⚠️
Section titled “推奨ネットワーク互換性 ⚠️”| ネットワーク | 互換性 |
|---|---|
| mainnet | ⛔ |
| preprod-testnet | ✅ |
| preview-testnet | ✅ |
| musashi | ✅ |
リリース: v0.202.9
Docs authored by Doc Holiday