リリースノート - v0.80.0
v0.80.0
Section titled “v0.80.0”タイトル: 状態の復旧、クエリの正確性、セキュリティ、運用を改善
バージョン: v0.80.0
リリース: v0.80.0
Dingo v0.80.0では、状態の復旧と読み込み、ガバナンスクエリ、ノードのセキュリティ、ブロック生成の運用、ピアのリソース制御、リリース自動化を改善しました。また、台帳の検証を強化し、長時間実行するデータベース処理とパイプライン処理を一貫性のない状態や処理の停止から保護します。
推奨ネットワーク互換性 ⚠️
Section titled “推奨ネットワーク互換性 ⚠️”| Network | Compatible |
|---|---|
| mainnet | ⛔ |
| preprod-testnet | ✅ |
| preview-testnet | ✅ |
| musashi | ✅ |
状態の復旧と読み込み
Section titled “状態の復旧と読み込み”- 改善: 状態のインポート前に
UTxO-HDの設定を検証し、アンカー後のepoch、報酬、nonce、ネットワーク、寄付のデータを一括して消去してから台帳状態をインポートするようになりました。 - 追加: APIメタデータのバッチ書き込み、ロールバックに安全な
SQLStoreのバッチ処理、HTTPSまたはループバックHTTPを使用するdingo load向けの再開可能なリモートImmutableDB読み込みを導入しました。読み込みではチャンクの順序とtipおよびハッシュを検証し、委員会の削除数も制限します。 - 削除:
Mithrilが認証情報を復元する際に、アンカー後の古い報酬ジャーナルを削除し、復元した報酬状態の一貫性を保つようになりました。 - 保持: ロールバック時に
Byron以外のスロットゼロのnonce状態を保持し、有効なnonceデータが失われないようにしました。 - 停止: 必要な報酬基準が利用できない場合に、権威のある報酬ロールオーバーを停止し、裏付けのない状態遷移を避けるようになりました。
セキュリティと検証
Section titled “セキュリティと検証”- 拒否: 通常ファイルではない秘密鍵、運用証明書、投票署名のパスを拒否し、鍵エンベロープを
1 MiBに制限するようになりました。 - 強制:
Barkアーカイブのダウンロードに対して、HTTPSのオリジン、リダイレクト、DNSアドレス、ポート、プロキシのポリシーを適用するようになりました。 - 処理: 型付き
nilのプロトコルパラメーターで異常終了せず、明確な検証結果として処理するようになりました。 - 修正: 無効な
classic PPUP提案を拒否し、負の有理数手数料が値の下限を下回る計算の処理を修正しました。 - 制限: リソース消費を抑えるため、
Mithrilの証明書チェーン、メッセージサイズ、署名者数、STM数、重み付き検証処理に上限を設けました。
ガバナンスとクエリアクセス
Section titled “ガバナンスとクエリアクセス”- 対応: 取得時点でDRepの状態と提案に回答し、DRepの有効期限とガバナンス履歴を適用するようになりました。
- 返却: 取得時点でフィルタリング済みの委任クエリと投票委任先クエリを返し、
Mithrilの信頼境界より前の時点を拒否するようになりました。 - 拡張:
MCPテーブルのリソース列挙をクエリタイムアウトまたは30秒のうち長い方まで継続し、失敗を記録するようになりました。既定の5秒値も一元化しました。
同期とネットワーク運用
Section titled “同期とネットワーク運用”- 抑制: 新しい
ChainSyncカーソルの繰り返し要求を抑え、ヘッダーの不一致後にチップ付近で復旧し、同期の停止を記録するようになりました。 - 可視化: 競合するチェーンの選択中にピアがどの程度参加しているかを示す
BlockFetchフォーク競合参加者ゲージを追加しました。 - 制限: 各ピアの
TxSubmissionレートを制限し、ノードのリソースを保護するためにBlockFetchの受け入れ数に上限を設けました。 - 排出: バッチを送信しながらパイプラインの結果を処理し、処理の詰まりによる停止を防ぐようになりました。
- 解放: 終了状態を公開する前に
Barkのビジーフラグを解除し、キャンセル処理の順序をより確実にしました。
ブロック生成とオペレーター制御
Section titled “ブロック生成とオペレーター制御”- 報告: 報酬基準がないエポックと入力を復旧手順とともに報告し、キャンセルされたブロック生成処理がブロックを採用しないようにしました。
- 再読み込み:
SIGHUPでブロック生成者の認証情報を再読み込みし、使用後に鍵素材を消去するようにしました。さらに、稼働確認プローブ、準備完了プローブ、フォージングメトリクスを追加し、ブロック生成を保護するフェンスを保持してブロック生成元のログを修正しました。 - 固定: 相対
KESエージェントソケットパスを固定し、抽象パスとNULパスをプラットフォームの長さ制限に照らして検証するようになりました。
リリース自動化
Section titled “リリース自動化”- 検証: セマンティックバージョンのリリースタグを検証し、リリース自動化を許可制にしました。また、利用側リポジトリとHomebrew、Helm、Ansibleのマニフェストを更新し、npmの信頼済み公開を使用して無効なテンプレートを拒否するようにしました。
補助的な信頼性向上
Section titled “補助的な信頼性向上”- 拡充:
Dijkstraの本番経路とデコーダーの回帰テスト範囲を拡充しました。 - 明確化:
Mithrilガバナンスのnilチェックを明確にし、テストヘルパーを最新化しました。 - 完了: テストフィクスチャのクリーンアップ中に報酬ワーカーを停止する処理を完了するようにしました。
Docs authored by Doc Holiday