コンテンツにスキップ

リリースノート - v0.209.0

タイトル: プロトコルの安全性、トランザクション検証、タイミングの可視性を改善

バージョン: v0.209.0

このリリースでは、プロトコル入力の処理を強化し、以前のブロックの効果に対してトランザクションを検証し、ステージのタイミングデータを公開し、Plutus、コストモデル、Byron トランザクションの動作を修正します。

  • 追加: 成功した decode、validate、apply ステージの集約タイミングデータを PipelineStats と StageTimings に追加しました。キーなしリテラルで PipelineStats を作成するコードは、新しいフィールドを追加するか、キー付きリテラルに切り替える必要があります。
  • 修正: Plutus V4 Dijkstra の TxInfo にある直接預け入れとアカウント残高の区間マップが AccountAddress の順序に従うように修正しました。
  • 強化: プロトコル境界のチェックを強化し、要求されていないハンドシェイククエリ応答を拒否し、ブロック本体の入力、個数、CBOR 形式に上限を設け、leiosnotify の MaxPendingBytes と通知サイズの上限を適用しました。
  • 防止: 参照スクリプトと重複する明示的なウィットネスを拒否し、同じスクリプトが両方のウィットネス経路を通じて提供されることを防止しました。
  • 維持: パラメータ更新、era アップグレード、ジェネシス初期化の際にディープコピーを行い、CostModels の独立した状態を維持しました。
  • 適用: 状態ごとのトランザクション送信保留メッセージ上限として、Init、Idle、Done では 65,535 バイト、TxIds、Txs では 2,500,000 バイトを適用しました。MaxPendingMessageBytes は引き続き mux の入力を制御します。小さい状態でより大きな保留メッセージに依存するクライアントは、65,535 バイトへの上限引き下げを考慮する必要があります。
  • 検証: ブロックトランザクションを先行する効果に対して順番に検証し、連鎖した支出と一部引き出しをサポートしながら、同一ブロック内の二重支出を拒否し、Dijkstra の効果レベルとプール再登録のセマンティクスを一貫して適用しました。
  • 制限: Byron の Produced() UTxO を出力インデックス 0 から 65,535 に制限しました。後続の出力はトランザクションに残り、引き続きトランザクション ID に影響します。
  • 置換: muxer テストのスリープを上限付き同期に置き換え、固定遅延に依存せず、想定した状態になるまでテスト実行を待機するようにしました。
  • 許容: blockfetch テストで想定される接続エラーの競合を許容しながら、意図した結果を引き続き確認するようにしました。
  • 修正: Leios Fetch README の CDDL タグ対応を修正し、タグ 0 から 3 と 9 を定義し、タグ 6 から 8 をコメント化し、タグ 4 と 5 を省略し、投票を分離しました。
ネットワーク互換性
mainnet⛔
preprod-testnet✅
preview-testnet✅
musashi✅

リリース: v0.209.0

比較: v0.208.5…v0.209.0


Doc Holiday logo

Docs authored by Doc Holiday

ページを編集

最終更新日: