リリースノート - v0.209.0
v0.209.0
Section titled “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を省略し、投票を分離しました。
推奨ネットワーク互換性 ⚠️
Section titled “推奨ネットワーク互換性 ⚠️”| ネットワーク | 互換性 |
|---|---|
| mainnet | ⛔ |
| preprod-testnet | ✅ |
| preview-testnet | ✅ |
| musashi | ✅ |
リリース: v0.209.0
Docs authored by Doc Holiday