Cardano Node 1.33.0

ステークプールのアップグレード前に、内容をきちんと理解するためにまとめております。内容の保証はできかねるため、あくまで原文の補助としてお使いください。

Cardano Node バージョン 1.33.0 はパフォーマンスに重点を置いたリリースで、同期時間、ブロック伝搬時間、メモリ使用量の削減が大幅に改善されています。増分ステーク集計と報酬計算は、エポック全体でより均一な計算を可能にし、報酬計算期間中のCPU使用率のスパイクの可能性を減らし、その結果、ブロック生成の一貫性を向上させることができます。

また、ノードの初期化時に提供される情報が増え、ノードの初期化時に予期せぬシャットダウンが発生した場合の処理を改善するように変更されました。IPv6 の DNS サポートが追加されました。Plutusスクリプトのトレースが提供され、障害状況のデバッグが容易になりました。

変更のお知らせ

このバージョンでは、元帳の状態を生成ブロックから再生する必要があるため、最初の同期に時間がかかる可能性があります。ユーザーはノードをデプロイする際にこれを考慮する必要があります。

技術仕様

最小システム要件

  • 2コア以上のインテルまたはAMDのx86プロセッサで、1.6GHz以上(ステークプールまたはリレーの場合は2GHz以上)のもの。

  • 12GBのRAM

  • 30GB のストレージ

プラットフォーム

  • Linux 64-bit (Ubuntu 18.04 LTS, 20.04 LTS; Mint 19.3, 20; Debian 10.3)

  • Windows 64-bit (8.1, 10, 11)

  • MacOS 10.13, 10.14, 10.15, 11

サポートする役割

プラットフォームブロック生成リレークライアント (デスクトップ)

Linux

✔️

✔️

✔️

Windows

✔️

MacOS

✔️

ダウンロード

ドキュメンテーション

変更履歴

ノード

  • tx-generatorの内部テスト基盤の改善。(#3425, #3426, #3427, #3436)

  • NixOSのデフォルトサービスでアイドルGCを無効にします。これは、他のデプロイメントでデフォルトで設定されているオプションと一致します。(#3349)

  • JSONマップのキーとしてTxInを使用できるようにしました。(#3438)

  • 受け入れる接続数を設定できるようにする。(#3435)

コンセンサス

  • Babbageに新しいバージョンのプロトコルを導入する準備として、transitional praosプロトコルをそれ自身のパッケージに移動する。(#3513)

  • ノード起動時およびchainDB初期化時のロギングを改善しました。(#3505, #3506, #3518)

  • ChainDBの初期化に関する様々な変更。これらの変更の意図は、ノードが初期化中にシャットダウン命令を受け取ったときの状況を処理することです。これらの変更前は、ノードは初期化が完了するまでシグナルに応答しないか、スーパーバイザプロセスがこれに気づいて SIGKILL を送信し、結果として不正なシャットダウンが発生しました。今回の変更により、ノードはDB初期化中に送信されるシグナルをスムーズに処理するようになりました。(#3452, #3514)

  • db-analyserツールの様々な改善点 (#3471)

  • 報酬処理に関連する情報の追加クエリを公開する。これは、クライアントがデリゲーションの好みを見つけるのに役立つ、現在のエポック情報を提供します。(#3423)

台帳

  • Babbageリリースでの新プロトコル導入に向けた、移行期Praosプロトコルの準備作業の仕分け (#2524)

  • 余計なスクリプトの証人が提供されている場合には、より多くの情報を提供すること。(#2527)

  • メモリ上で台帳の状態のメモリ使用量を改善するための重要な作業。(#2520, #2530, #2534, #2540, #2552, #2553, #2557, #2567, #2573, #2577, #2580, #2583)

  • 台帳の状態をベンチマークするツールを追加する。(#2532, #2535)

  • 報酬パルサーに保存されている状態量を削除する。この変更には、台帳の状態を再構築する必要があります(例:genesisからのリプレイ)。(#2533)

  • 未提出のトランザクションを評価する際に、指定するExUnitsの量を決定するための追加チェックを追加しました。(#2522)

  • 台帳のイベントにおいて、プールメンバーとして獲得した報酬とプールオペレーターとして獲得した報酬を区別すること。 (#2536, #2549)

  • プロトコルバージョン7から、報酬計算開始時に未登録の方を報酬の対象から除外することはなくなりました。もちろん、報酬が支払われる時点で登録されていない人は、これまで通りフィルタリングされます。 (#2569)

  • アドレスのデコードをより厳しくし、余分なバイトを許さない機能を追加する。これらの関数は、下流のツールで使用するために提供されます。 (#2556)

  • 報酬計算(エポックの中間部分に大きな仕事を追加する)は、ステーク・クレデンシャルごとに増分的に計算されるようになりました。以前はステークプールごとに計算されていましたが、これには2つの問題がありました:計算をスロットの全範囲に広げることができず、また著しく不均一でした:あるステークプールは他のものよりはるかに大きいのです。この新しい計算では、より均一で、全スロット範囲を飽和させ、より予測可能で一貫したリソース使用となるはずです。(#2542, #2585)

  • CIにベンチマークを追加する。(#2561, #2568)

  • Plutusスクリプトの実行にトレースを追加しました。(#2554)

  • バベッジ形式仕様の第一稿を追加。(#2559)

  • スクリプトの整合性ハッシュの構築を文書化する。(#2576)

  • ステーク収集を増分的に計算するようにしました。以前はスナップショット取得時に計算されていたため、CPUスパイクが発生していた。現在は、トランザクションが処理されるたびに継続的に維持されます。(#2538)

ネットワーク

  • 期限切れの接続を登録解除する際にブロックしない。(#3526)

  • cardano-pingメッセージのレンダリングを修正しました。(#3529)

  • 枝刈りポリシーの様々な改善。(#3495, #3499)

  • ピアランキングの際には、(ヘッダ提供のスピードに加えて)ブロック提供のスピードも考慮すること。(#3500)

  • DNSのIPv6対応。(#3489)

Cardano-cli

Cardano-api

Deprecated features

修正した問題点

Last updated