コンテンツにスキップ

リリースノート - 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 を使用するトランザクションに限定されます。

ネットワーク互換性
mainnet
preprod-testnet
preview-testnet
musashi

リリース: v0.202.9

比較: v0.202.8…v0.202.9


Doc Holiday logo

Docs authored by Doc Holiday

ページを編集

最終更新日: