re:Invent 2024: AWSがBlockchainデータセットを拡充、分析効率化
はじめに
海外の様々な講演を日本語記事に書き起こすことで、隠れた良質な情報をもっと身近なものに。そんなコンセプトで進める本企画で今回取り上げるプレゼンテーションはこちら!
📖 AWS re:Invent 2024 - Gain insights from Web3 data with AWS Public Blockchain datasets (BLC307)
この動画では、AWSが提供するBlockchainデータセットについて、Amazon Managed Blockchain QueryとAWS Public Blockchainデータセットの2つのサービスを中心に解説しています。BitcoinとEthereumに加え、新たにAptos、Arbitrum、Base、Provenance、XRPLの5つのデータセットが追加されたことが発表されました。また、Amazon BedrockとAthenaを組み合わせたText-to-SQLのデモを通じて、自然言語でBlockchainデータを分析できる仕組みが紹介されています。特に興味深いのは、AMB QueryとPublic Blockchainデータセットの性能比較で、単一のBitcoin残高照会において、AMB Queryが約100万倍のコスト効率を実現している点です。
※ 画像をクリックすると、動画中の該当シーンに遷移します。
re:Invent 2024関連の書き起こし記事については、こちらのSpreadsheet に情報をまとめています。合わせてご確認ください!
本編
AWS Public Blockchainデータセットの概要と拡張
皆様、こんにちは。Senior Web3 Specialist Solutions Architectのエバートンです。そして、ジョージア州アトランタを拠点とするWeb3 Specialist Solutions ArchitectのSimon Goldbergも同席しています。本日はご参加いただき、ありがとうございます。これからBlockchainデータセットについて、そしてなぜそれらを公開しているのかについてお話しさせていただきます。
本日のアジェンダとして、Amazon Managed Blockchain QueryとAWS Public Blockchainデータセットについてご説明します。データセットのスキーマ例をご紹介し、パートナー企業についてもお話しします。また、Amazon Athenaを使用したText-to-SQLクエリのデモをご用意しており、その後AMB Queryの概要について詳しくご説明させていただきます。
Amazon Managed Blockchain Queryは、Blockchainデータのインデックス作成の複雑さに対応するために開発した、フルマネージドサービスです。AMB Queryは、アプリケーションから直接クエリを実行し、Blockchainワークロードから構造化データを設定するためのシンプルなAPIを提供します。インデックス作成やローディングはすべて当社が処理し、非常に低レイテンシーでこれらの情報にアクセスできます。対応チェーンとしては、BitcoinとEthereumをご利用いただけます。Ethereumでは、通常はすべての複雑さを伴うアーカイブノードが必要となる過去の残高など、より難しいクエリも実行できます。Bitcoinについては、ネイティブなBitcoinの残高や取引履歴などをクエリすることができます。
AWS Public Blockchainデータセットは、2022年にBitcoinとEthereumのBlockchainをサポートするオープンソースプロジェクトとしてリリースされました。AWSは、BitcoinとEthereumの両Blockchainに対してRPCリクエストを実行する際のデータ変換を行うETLプロセスを社内で構築しました。変換プロセスを経たデータは、AWS Public Blockchainという名前の公開S3バケットに保存されます。
それでは、データセットの実際の構造と、そこから得られる洞察について、いくつかのスキーマを見ていきましょう。最初のスキーマとしてEthereumを見ていきますが、これには6つの異なるテーブルがあります:ブロック、トランザクション、ログ、トークン転送、トレース、そしてコントラクトです。これはEthereum単体としてもかなり広範なデータセットとなっています。
Bitcoinに関しては、2つのテーブルだけを用意しています。1つ目は、2009年に採掘された最初のBitcoinブロックから最新のブロックハイトまでのブロックを表すテーブルで、もう1つはデータセット内のすべてのトランザクションを含むテーブルです。これらのデータセットは、基本的なものから高度なものまで、SQLクエリを実行する際に非常に有用であることがわかっています。例えば、史上最大のBitcoinトランザクションが何だったのかを特定したり、異なるアカウント間のマネーフローを示すヒートマップのようなものを作成したりすることができます。
多くのお客様から、BitcoinとEthereumの先にも進むのかという質問を受けてきました。私たちは多くのお客様からこのようなフィードバックをいただき、最善の方法でそれに対応しようと努めてきました。 今週、新たに5つのデータセットを利用可能にしたことを嬉しくお知らせします。これらは、インデックスパートナーであるSONARによって提供され、Aptos、Arbitrum、Base、Provenance、XRPLを効果的にオンボードしました。仕組みは実にシンプルです。すべてのデータは毎日パブリックS3バケットにロードされ、無料でこれらのデータセットをダウンロードしたり、Redshift、SageMaker、Amazon AthenaなどのAWSサービスに接続して、すぐにクエリを開始したりすることができます。
これら3つのバケットを指すAmazon Athenaのデータカタログを作成するか、Glueクローラーを作成してこれらのデータセットのサンプルファイルを定期的に検査してスキーマを作成することができます。これにより、Amazon Athenaからそのデータを効果的にクエリすることができます。データの研究や実験を行う方々のインデックス作成コストを下げることができればと考えています。さらに、APIに対して非常に厳しい要件を持つ金融サービスのお客様もいらっしゃいますが、そういった方々は今後、すべての手続きを経ることなく、まずパブリックデータの作業を始めることができます。データについて先に学ぶことで、調達プロセスやIT要件の対応がより効果的になります。これは、お客様から指摘されていた様々な負担を本当に軽減する方法だと考えています。
Text-to-SQLデモとAMB Queryの相乗効果
これらが新しく追加されたものですが、既存の2つに加えて5つのブロックチェーンを提供するようになったとはいえ、まだ全体をカバーしているわけではありません。私たちのパートナーは70以上のブロックチェーンに対応しており、独自のデータ品質フレームワークを持っています。彼らはスケーラビリティとコンプライアンスに対応した企業向けインフラストラクチャを備えています。 Simon、バトンタッチしてもよろしいですか?はい、お願いします。今日は皆様に興味深いデモをお見せしたいと思います。基本的に、AWS Public Blockchainデータセットの上に追加コンポーネントを構築しました。生成AIが今とても注目されているトピックであることは皆さんご存知の通りですが、私たちはWeb3データとAIを組み合わせた、本当に有用なソリューションを考えています。
それでは、デモをご覧いただきましょう。 Text-to-SQLを行うBedrockエージェントを用意しました。ユーザーは平易な英語で質問を投げかけることができ、エージェントがユーザーの意図を理解し、SQLクエリを生成し、関連するLambda関数を呼び出し、生成されたクエリをAmazon Athena上で実行し、その応答がエージェントに返されます。エラーが発生した場合、システムは自動的にエラーメッセージを分析し、新しいクエリを作成しようとします。これは、ソリューション全体の性能を向上させる非常に効果的な方法です。
それでは、この仕組みをご紹介させていただきます。「過去24時間で最大のBitcoinトランザクションは何でしたか?」といった自然言語での質問を入力すると、読みやすい形式で適切な回答が得られます。また、先週のEthereumコントラクトの作成数や、昨日のStablecoinの送金回数についても質問できます。今月最大のStablecoin送金額について知りたい場合もあるでしょうし、今年最も高額だったEthereumトランザクションについても質問できます。個人的に好きな質問の一つは、「過去24時間」や「過去1時間で最も人気のあるスマートコントラクトは何か」というもので、これによってより広範なDeFiエコシステムでどこに活動が集中しているかが本当によく分かります。
この解決策のアーキテクチャ図を簡単に説明させていただき、BedrockパターンとそれをAmazon Athenaでクエリを実行できるLambda関数に統合した方法についてご説明します。まず、ユーザーが「史上最大のBitcoinトランザクションは何か」や「過去1ヶ月または1年間のBitcoinの取引量はどれくらいか」といったプロンプトを入力することから始まります。このBedrockエージェントでは、エージェント自体に組み込まれているプロンプトのコンテキストがそれほど多くないため、Claude Anthropic Haikuモデルを使用しています。ユーザーの最初のプロンプトに基づいて、Claude Haikuモデルは本当によくユーザーの意図を理解します。例えば、今日最も人気のあるスマートコントラクトは何かと尋ねた場合、モデルはEthereumにはスマートコントラクトのサポートがあり、Bitcoinにはないことを本質的に理解しており、Bitcoinではなくethereumのデータセットに対してクエリを作成することを知っているのです。これは非常に興味深いと感じました。クエリが作成されると、それはAction Groupに渡されます。これは基本的に、エージェント自体と何らかの計算機能との間のミドルウェアです。この場合、Action Groupは非常にシンプルな説明を持っていました:SQLクエリを受け取り、ユーザーに応答を返すというものです。単一の入力としてクエリを受け取り、生のドット形式のレスポンスを返しました。
Action GroupがLambdaに移行すると、生成されたクエリが渡され、Lambda関数がAWS Public Blockchainデータセット上で実行されるAmazon Athenaで実行されます。このソリューションが最初に構築された時点では、BitcoinとEthereumのブロックチェーンのみをサポートしていました。しかし、現在では5つの追加チェーンが加わり、BaseやXRPLなどの他の取引所に対してもText to SQLクエリを実行できるように拡張できます。そしてエラー処理の手法に話を戻すと、エージェントは非決定的な動作のため時々ミスを犯すことがあります。SQLクエリの構文が無効な場合もありますが、エラーメッセージを分析して新しいクエリを生成するようエージェントとその関連する指示を単に伝えることで、様々なエラーから優雅に回復できました。これは本当に素晴らしい点でした。
ここで、AWS Public BlockchainデータセットとAMB Queryの相乗効果についてお話しします。AMB Queryで得られるものとAWS Public Blockchainデータセットで得られるものには、確かに重複する部分があります。しかし、その違いは実際にはかなり大きいのです。AMB Queryでは、私たちのサービスに対して非常に低レイテンシーのリクエストを行うことができ、過去の残高を含む構造化された情報がすでに用意されています。AWS Public Blockchainデータセットにはそのような情報は見つかりません。送金、ブロック情報、トランザクション情報はすべてありますが、実際の残高情報はありません。そのため、確かに相乗効果があり、両者を組み合わせて使用するユースケースも十分に考えられます。AWSは多くのオプションを提供しており、これはそのひとつと言えます。
Public BlockchainデータセットとAMB Queryを比較した研究から具体的な例を一つご紹介します。Amazon Athenaを使用して単一のBitcoin残高を照会すると、1.15テラバイトものデータをスキャンする必要があるため、完了までに約75秒かかることが分かりました。これはかなりの量のデータです。Athenaの価格設定とそのサービスのコスト計算方法を見ると、スキャンされたデータ1テラバイトあたり約5ドルを支払う必要があります。つまり、単一のBitcoinウォレットの残高を取得するために、75秒待ち、約6ドルを支払うことになり、これは理想的な体験とは言えません。AMB Queryは、ミリ秒単位のレイテンシーと100万リクエストあたり6~7ドルの固定コストを提供することでこのギャップを埋めています。計算してみると、約100万倍安価になります。
現在、ファイルは S3 上で Parquet フォーマットで保存されており、これにより高速な読み取りが可能ですが、私たちはその他の方法も検討しており、そのギャップを縮めるために100万倍もの違いをもたらすものであれば何でも活用したいと考えています。 参考資料のQRコードをご用意しました。AWS Public Blockchain Dataのウェブサイトがあり、そこには探索可能なすべての S3 URIが掲載されているランディングページがあります。また、Amazon Bedrockを使用して自然言語でブロックチェーンデータを分析する素晴らしいガイドもご用意しています。
改めて、本日はご参加いただきありがとうございました。今後の展望として、これらの新しいチェーンが私たちのオープンデータセットでどのように機能するのかを楽しみにしています。また、将来的には更に多くの取引所へと拡大していくことを期待しています。 最後に、本日のセッションにご参加いただき、重ねて御礼申し上げます。皆様、素晴らしい re:Invent の残りの日程と、さらに素晴らしいホリデーシーズンをお過ごしください。ありがとうございました。
※ こちらの記事は Amazon Bedrock を利用することで全て自動で作成しています。
※ 生成AI記事によるインターネット汚染の懸念を踏まえ、本記事ではセッション動画を情報量をほぼ変化させずに文字と画像に変換することで、できるだけオリジナルコンテンツそのものの価値を維持しつつ、多言語でのAccessibilityやGooglabilityを高められればと考えています。
Discussion