Files
xrpl-dev-portal/@l10n/ja/docs/concepts/ledgers/ledger-structure.md
2024-11-04 12:01:06 -08:00

9.1 KiB

html, parent, seo
html parent seo
ledger-structure.html ledgers.html
description
個別のレジャーブロックの要素を詳しく見てみましょう。

レジャーの構成要素

XRP Ledgerはブロックチェーンであり、データブロックの履歴を順番に並べたものです。XRP Ledgerブロックチェーンのブロックは、 レジャーバージョン または略して レジャー と呼ばれます。

コンセンサスプロトコルは、以前のレジャーバージョンを起点として、次に適用するトランザクションのセットについてバリデータ間の合意を形成し、それらのトランザクションを適用することで全員が同じ結果を得たことを確認します。これが成功すると、結果として新しいレジャーバージョンが作成されます。そこから、次のレジャーバージョンを構築するプロセスが繰り返されます。

各レジャーバージョンには、 状態データトランザクションセット 、メタデータを含む ヘッダー が含まれます。

{% inline-svg file="/docs/img/ledger.svg" /%}

状態データ

{% inline-svg file="/docs/img/ledger-state-data.svg" /%}

状態データ とは、そのレジャーバージョンにおけるすべてのアカウント、残高、設定、その他の情報のスナップショットを表します。サーバがネットワークに接続すると、最初に行うことの1つは、新しいトランザクションを処理し、現在の状態に関するクエリに答えることができるように、現在の状態データの完全なセットをダウンロードすることです。ネットワーク内のすべてのサーバが状態データの完全なコピーを持っているため、すべてのデータは公開され、どのコピーも同じように有効です。

状態データは レジャーエントリ と呼ばれる個別のオブジェクトで構成され、ツリー形式で保存されます。各レジャーエントリには一意の256ビットのIDがあり、それを使用して状態ツリーから検索することができます。

トランザクションセット

{% inline-svg file="/docs/img/ledger-transaction-set.svg" /%}

レジャーに加えられたすべての変更は、トランザクションの結果です。各レジャーバージョンには、特定の順序で新たに適用されたトランザクションのグループである トランザクションセット が含まれています。あるレジャーのトランザクションセットを前のレジャーバージョンの状態データに適用すると、結果としてそのレジャーの状態データが得られます。

レジャーのトランザクションセット内のすべてのトランザクションは、以下の両方の要素を持ちます。

  • 送信者がレジャーに何を指示したかを示す トランザクションの内容
  • トランザクションがどのように処理され、レジャーの状態データにどのような影響を与えたかを正確に示す トランザクションのメタデータ

レジャーヘッダー

レジャーヘッダー は、レジャーバージョンの概略を示すデータのブロックです。レポートの表紙のように、レジャーバージョンを一意に識別し、その内容を記載し、他の注意事項とともに作成時刻を表しています。レジャーヘッダーには以下の情報が含まれます。

レジャーのトランザクションセットと状態データのサイズは無制限ですが、レジャーヘッダーは常に固定サイズです。レジャーヘッダーの正確なデータとバイナリ形式については、レジャーヘッダーをご覧ください。

バリデーションの状況

{% inline-svg file="/docs/img/ledger-validated-mark.svg" /%}

サーバの Unique Node List のバリデータのコンセンサスがレジャーバージョンの内容に合意すると、そのレジャーバージョンは検証済みであり、変更不可であるとみなされます。レジャーの内容は、後続のトランザクションが新しいレジャーバージョンを作成し、チェーンを更新することによってのみ変更できます。

レジャーバージョンが新しく作成された時点では、まだ未検証です。候補となるトランザクションが異なるサーバに到着するタイミングが異なるため、ネットワークはチェーンの次のステップとなる複数の異なるレジャーバージョンを構築し、提案する可能性があります。コンセンサスプロトコルは、そのうちのどれを有効化するかを決定します。(検証済みのレジャーバージョンに存在しなかったトランザクション候補は、通常、次のレジャーバージョンのトランザクションセットに含まれます)。

レジャーインデックスとレジャーハッシュ

レジャーバージョンを識別する方法には、 レジャーインデックスレジャーハッシュ の2種類があります。この2つのフィールドはどちらもレジャーを識別しますが、その目的は異なります。レジャーインデックスはチェーン内でのレジャーの位置を表し、レジャーハッシュはレジャーの内容を表します。

異なるチェーンのレジャーは、レジャーインデックスは同じでもハッシュが異なることがあります。また、検証されていないレジャーバージョンを扱う場合、インデックスが同じでも内容が異なるため、ハッシュが異なる複数のレジャー候補が存在する可能性があります。

同じレジャーハッシュを持つ2つのレジャーは、常に完全に同一です。