Cardano Leios、トランザクションキャッシュとダウンロード制限を追加
最新のプロトタイプ更新は、トランザクションの重複ダウンロードを減らし、メモリ使用量を制限し、ディスク読み取りによるブロック生成の遅延を防ぐ。
By SongMarketCap
Updated:
Cardanoのコンセンサスチームは、ダウンロード制御、トランザクションキャッシュ、ブロック生成の保護策を備えたLeiosプロトタイプを更新した。これらの変更はLeios devnetで有効化されており、開発者はピア負荷、メモリ使用量、ノードのタイミングへの影響を測定できる。
Leiosは、トランザクション処理の一部を分離することでスループットを高めつつ、Ouroboros Praosのセキュリティ上の役割を維持するよう設計されたCardanoのコンセンサスアップグレード案である。
新たなダウンロードロジックがLeiosのトラフィックを制御
9月8日のConsensus Teamアップデートによると、開発者はノードがどのLeiosデータをダウンロードし、どのピアがそれを提供するかを決定するロジックを書き直した。
各ダウンロードの判断に費やす時間と、保留中の要求に予約するメモリの双方をノードが制限するようになった。最新のEndorser Blocksが優先される一方で、不足しているトランザクションの要求はランダム化され、同時ダウンロードが同一ピアの上限を使い切ってしまうのを防ぐ。
これらの制御により、devnetは定義された時間とメモリの範囲内でより大きなLeiosデータフローをテストできる。
トランザクションキャッシュが重複ダウンロードを防止
この更新では、最近のEndorser Blocksが参照するトランザクション向けの専用キャッシュも追加された。ネットワークにデータを要求する前に、ノードはキャッシュと自身のメンプールの双方を確認し、不足しているトランザクションのみをダウンロードする。
Endorser Blocksは、ノードが特定して検証する必要のあるトランザクションを参照する。ローカルで利用可能なデータを再利用することで、重複するネットワークトラフィックと、関連するトランザクション集合を再構築するために必要な作業が削減される。
これはノードレベルの変更である。ウォレットと分散型アプリケーションは、既存のCardanoインターフェースを通じて引き続きADAトランザクションを送信する。
Leiosが同期とブロック生成を保護
チームは、正常に動作しているノード間で望まれない切断が発生する別の原因にも対処した。古いチェーン位置から同期しているノードは、新しいLeiosメッセージを検証できない場合がある。これに対し、データを要求して応答を拒否するのではなく、チェーン先端が追いつくまでそれらの要求を一時停止するようになった。
開発者は、メンプールがディスクから台帳状態を読み出すのに費やせる時間にも上限を設けた。これにより、ディスクアクセスがブロック生成を割り当てられたスロットを超えて遅らせることを防ぐ。
ブロック生成とチェーン選択に関するトレーシングも拡充された。また、Leiosダッシュボードは、プロトタイプノードが処理時間をどこに費やしているかを表示するようになった。こうした可観測性の変更はdevnetノードに統合された。
これらの変更はプロトタイプに留まっており、Cardanoメインネットと現在のADAトランザクション処理に変更はない。次のdevnetでのテストでは、ピア負荷、ディスクのレイテンシ、ブロック生成のタイミングが新たな上限内に収まるかに焦点を当てられる。