検証結果 - Amazon Quantum Ledger Database (Amazon QLDB)

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

検証結果

このセクションでは、 AWS Management Consoleにおいて Amazon QLDB データ検証リクエストから返された結果について説明します。検証リクエストを送信する方法の詳しいステップについては、「ステップ 2: QLDB でのデータの検証」を参照してください。

QLDB コンソールの [Verification] (検証) ページの [Verification results] (検証結果) カードにリクエストの結果が表示されます。[Proof] (証明) タブには、ユーザーが指定したドキュメントリビジョンとダイジェストに関して QLDB が返した証明の内容が表示されます。これには、以下の詳細が含まれています。

  • [リビジョンハッシュ] - 検証するドキュメントリビジョンを一意に表す SHA-256 値。

  • [Proof hashes] (証明ハッシュ) - QLDB が返す、指定されたダイジェストの再計算に使用するハッシュの順序付きリスト。コンソールは、[Revision hash (リビジョンハッシュ)] から開始し、その結果と各プルーフのハッシュを順次組み合わせ、再計算されたダイジェストに達するまで実行します。

    デフォルトではリストは折りたたまれていますが、これを展開してハッシュ値を表示することもできます。必要であれば、「証明を使用したダイジェストの再計算」に掲載のステップに従いハッシュをご自身で計算することもできます。

  • [Digest calculated] (算出されたダイジェスト) - [Revision hash] (リビジョンハッシュ) で実行された一連のハッシュ計算結果のハッシュ。この値が、過去に保存した [Digest (ダイジェスト)] と一致すれば、検証は成功です。

[ブロック] タブには、検証しているリビジョンを含むブロックの内容が表示されます。これには、以下の詳細が含まれています。

  • [Transaction ID] (トランザクション ID) - このブロックをコミットしたトランザクションの一意の ID。

  • [Transaction time] (トランザクション時間) - このブロックがストランドにコミットされた時刻のタイムスタンプ。

  • [Block hash] (ブロックハッシュ) - このブロックとそのすべてのコンテンツを一意に表す SHA-256 値。

  • [Block address] (ブロックアドレス) - このブロックがコミットされた台帳のジャーナル内の場所。アドレスには以下の 2 つのフィールドがあります。

    • [Strand ID] (ストランド ID) - このブロックを含むジャーナルストランドの一意の ID。

    • [Sequence number] (シーケンス番号) - ストランド内でのこのブロックの位置を指定するインデックス番号。

  • [Statements] (ステートメント) - このブロックでエントリをコミットするために実行された PartiQL ステートメント。

    注記

    パラメータ化されたステートメントをプログラムで実行すると、リテラルデータではなくバインドパラメータを使用してジャーナルブロックに記録されます。たとえば、ジャーナルブロックに次のステートメントがあるとします。ここで、疑問符 (?) はドキュメントコンテンツの変数プレースホルダーです。

    INSERT INTO Vehicle ?
  • [Document entries] (ドキュメントエントリ) - このブロックにコミットされたドキュメントリビジョン。

ドキュメントリビジョンの検証リクエストに失敗した場合には、「検証の一般的なエラー」を参照し、考えられる原因に関する情報を参照してください。

証明を使用したダイジェストの再計算

QLDB からドキュメント検証リスエストに対応した証明が返されたら、自分でハッシュ計算を試すこともできます。このセクションでは、返された証明を使用してダイジェストを再計算する手順の概要について説明します。

初めに、[Revision hash (リビジョンハッシュ] を [Proof hashes (プルーフハッシュ] リストにある最初のハッシュとペアにします。ペアにしたら以下のステップに従います。

  1. 2 つのハッシュをソートします。ハッシュを符号付きバイト値でリトルエンディアン順に比較します。

  2. ソートした順に 2 つのハッシュを連結します。

  3. 連結後のペアを SHA-256 ハッシュジェネレータでハッシュします。

  4. 新しいハッシュと証明内の次のハッシュを連結し、ステップ 1~3 を繰り返します。最後のプルーフハッシュの処理後に新たに生成されたハッシュが、再計算したハッシュとなります。

再計算したダイジェストが過去に保存したダイジェストと一致すれば、ドキュメントの検証は成功です。

これらの検証手順を示すコード例を含む step-by-step チュートリアルについては、「」を参照してくださいチュートリアル: AWS SDK を使用したデータ検証