[アップデート] Amazon Managed Blockchain Query でファイナリティ未達のデータにアクセス出来るようになりました

2024.02.05

いわさです。

Amazon Managed Blockchain (AMB) Query ではサーバーレスエンドポイントを通して Ethereum や Bitcoin のトランザクションをクエリすることができます。
直近のアップデートでは Sepolia ネットワークが追加されたりしていました。

そんな AMB Query が先日アップデートされまして、ファイナリティに達していないトランザクションにもアクセスできるようになりました。

ブロックチェーンにはファイナリティと言う概念があり、後続のブロック数が一定を超えるとファイナリティに達したとみなされ取り消されないトランザクションと判断することができます。

これまでは AMB Query ではファイナリティに達したトランザクションのみアクセスできたのですが、今回のアップデートで達していないトランザクションにもアクセス出来るようになりました。
これによって整合性よりも迅速性を重視するようなケースにも対応出来るようになります。

やってみた

Ethereum テストネット Sepolia で、メタマスクから適当なトランザクションを作成します。

この直後に AMB Query のクエリエディタで確認してみると、ConfirmationStatus が FINAL のトランザクション 1 件だけ確認できます。
これは先程送信したトランザクションではなく以前作成したトランザクションです。

直前に送信したものはまだステータスが FINAL ではないのでデフォルトでは表示されません。
今回のアップデートでクエリパラメータに ConfirmationStatus が追加されています。

こちらの条件にNONFINALを含めると先ほど送信した、まだ FINAL に達していないトランザクションも確認することができます。やってみましょう。
先程送信したトランザクションが取得できましたね。ステータスが NONFINAL となっています。

また GetTransaction でもフィールドに ConfirmationStatus が追加されています。

ファイナリティは Bitcoin だと 6 ブロック、Ethereum だと 64 ブロックとされています。
先ほど送信したトランザクションを Etherscan で確認してみると、現在は後ろに 43 ブロック作成されています。これが 64 に達するとステータスが FINAL に変わりそうですね。

少し待機し、64 ブロックを超えました。
Sepolia テストネットでだいたいトランザクション送信から 10 分程度たったでしょうか。

AMB Query のクエリエディタで、ConfirmationStatus が FINAL に更新されたことを確認しました。

また、GetTransaction でも同様に、ConfirmationStatus が更新されていることを確認できました。

さいごに

本日は Amazon Managed Blockchain Query でファイナリティ未達のデータにアクセス出来るようになったので確認してみました。

AMB Query はバージニア北部リージョンで利用可能なサービスですが、最近結構バージョンアップされていますね。
re:Invent の事例でも AMB Query を組み込んだサービスの事例がいくつか出ており、ちょっと注目しているサービスです。