Midnight、ネットワークの次回ハードフォークに向けてLedger 9.1.0.0を公開
このリリースは、ゼロ知識証明の生成と検証に用いられるライブラリを更新し、トランザクションコストのパラメータに変更を導入する。一部のコントラクト開発者は検証鍵を再生成する必要がある。
By SongMarketCap
Updated:
Midnightは、ネットワークの次回ハードフォークを想定した台帳ソフトウェアの初のフルリリースとなるLedger 9.1.0.0を公開した。このアップデートはECDSA署名のサポートを追加し、証明生成、トランザクション処理、セキュリティ検証に変更を導入している。
チームは、Midnightのトランザクションで用いられるゼロ知識証明を生成するオフチェーンサービスであるProof Server 9.0.0もリリースした。台帳のリリースノートにはハードフォークの日付は明記されていない。
証明ライブラリの更新とECDSA対応
台帳ソフトウェアは、トランザクションの構造とネットワークの状態を更新するための規則を定義する。Ledger 9.1.0.0は一連のリリース候補を経て、品質保証の承認後に9.1.0.0-rc.7から昇格した。
主な変更点は、ゼロ知識証明の生成と検証に用いられるライブラリであるmidnight-zk-stdlib v2およびmidnight-circuits v7への移行だ。これらの証明により、基になる秘密データを開示することなく情報の正当性を検証できる。以前のzk-stdlib v1で作成された証明および検証鍵は、新リリースでも検証可能のままだ。
Ledger 9は、BitcoinやEthereumを含むネットワークで用いられる暗号署名標準であるECDSA署名にも対応する。加えて、Proof Serverは暗号回路で用いられる中間表現の新しいバージョンであるzkir v3をサポートする。
このリリースでは、ロック済みプールからトレジャリーへ資金を移動するUnlockToTreasuryというシステムトランザクションが導入された。また、新しいmidnight-ledger-v9パッケージを含むledger 9のRustパッケージがcrates.ioで初めて公開されたことも示している。
Midnight、トランザクションコストのパラメータを更新
Ledger 9は、台帳パラメータで管理される明示的な価格下限を導入する。さらに、従来の計算コスト係数を、トランザクションの検証、保証された適用、失敗し得る適用のそれぞれに対する個別の係数へと置き換える。
Midnightのトランザクション手数料は、登録済みNIGHTトークンから時間とともに生成されるネットワークリソースであるDUSTで支払われる。今回のリリースでは、トランザクション内で宣言された時刻ではなくブロックの時刻を用いる形に、DUST登録の計上方法が変更された。
ウォレット状態の処理やブリッジ手数料の処理における潜在的な不具合を修正する対応が複数含まれている。また、コントラクト呼び出しで使用されるデータのより厳格なデコードと検証を含め、これまでLedger 8.1.2と8.1.3を通じてメインネットに提供されたセキュリティパッチも引き継がれている。
[NEWSBREAK]
検証鍵と開発者向けの既知の問題
更新された証明ライブラリにより、特定の種類の回路に対する検証鍵が変更される。リリースノートによると、影響を受けるコントラクトは、hash_to_curveを伴うzkir v2の回路、またはJubjubスカラーをエンコードするzkir v3の回路を使用するものだ。これらの検証鍵は再生成が必要であり、v0とv1の鍵は変更されない。
台帳パラメータを構築またはシリアライズするツールは、新しい価格下限とコスト係数を含める必要がある。署名エンベロープを手動で組み立てているコードも、共有のコンストラクションメソッドへ移行する必要がある。
リリースノートには二つの既知の欠陥が記載されている。シールドされたコインを消費しお釣りを書き戻すコントラクト呼び出しは、コミットメントツリーが空でないチェーンにおいて、ガス予算超過として拒否される場合がある。別の問題として、ちょうど一つのDUST支払いで賄われたコントラクト呼び出しが、time to dismissチェックに失敗することがある。この問題を回避する方法として、二つ以上のDUST支払いを用いることが示されている。
Ledger 9のパッケージは、npmスコープ@midnightntwrkの下で公開されている。以前の@midnight-ntwrkスコープも、当面は引き続きリリースを受け取る。