Ethereum - TECH PLAY - TECH PLAY

TECH PLAY

Ethereum

むベント

該圓するコンテンツが芋぀かりたせんでした

マガゞン

該圓するコンテンツが芋぀かりたせんでした

技術ブログ

Cloudflare Walletsが䜿う決枈プロトコル x402 を理解する 目次 はじめに x402が察象ずする課題 プロトコルフロヌ ② 402 Payment Required ず PaymentRequirements scheme が取る倀 — exact ず upto ③ authorization ぞの眲名 ④ PaymentPayload の送信 â‘€ verify / settle ず facilitator 決枈の確定ず䞍可逆性 HTTPを利甚する構成のメリット 支払っおよいかの刀断は仕様の範囲倖 たずめ 参考 はじめに こんにちは、開発本郚開発1郚の 赀川 です。食事管理アプリ ヘルシカ の開発をしおいたす。 ダむ゚ット・食事管理・䜓重管理・カロリヌ蚈算 - ヘルシカ every, Inc. ヘルスケアフィットネス 無料 2026幎8月4日、Cloudflareが Cloudflare Wallets を発衚したした。これは、Web䞊でサヌビスの賌入や入金を行うためのりォレットで、Cloudflareのアカりントに玐づきたす。珟時点ではりォレットの識別子の予玄のみが提䟛されおおり、僕もずりあえず予玄しおみたした。 Cloudflare Wallet Tagを予玄した Cloudflare Walletsでは、アカりントが持぀Walletから、゚ヌゞェントが䜿うVirtual Walletに支出暩限を委任できたす。゚ヌゞェントはVirtual Walletを䜿っお、API、MCPツヌル、コンテンツなどを賌入できたす。 この賌入のやり取りには、 x402 ずいう決枈プロトコルが䜿われおいたす。x402は、HTTPのリク゚ストずレスポンスの䞭だけで完結し、支払いが必芁であるこずを瀺すのに、HTTPステヌタスコヌドの 402 Payment Required 1 を䜿っおいたす。 本蚘事ではこの x402 に぀いお、ドキュメントをあたりながらたずめおみたした。 x402が察象ずする課題 䟋えば有料APIを利甚しようず思ったら、我々は䞀般に次の手順を螏みたす。 サヌビスにサむンアップする クレゞットカヌドなどの決枈手段を登録する APIキヌを発行する そのキヌをリク゚ストに付けお呌ぶ 月末にたずめお請求される 認蚌ず課金がフロヌずしお完党に分離しおおり、いずれも事前のサむンアップを前提ずしおいたす。 人間が利甚する分には䜕の問題もないですが、クラむアントがAI゚ヌゞェントである堎合、この前提が制玄になりたす。手順1〜3のうち、サむンアップペヌゞは人間向けのUIずしお䜜られおおり、決枈手段の登録も人間の承認が必芁です。゚ヌゞェントは事前登録された識別子も支払い手段も持たないため、この3手順の実行には人間の介圚が必芁になりたす。 x402は、事前の登録手続きなしに支払いを成立させる方匏を定矩しおいたす。 プロトコルフロヌ プロトコルのフロヌは次のずおりです。この章の図や蚘述は、 x402 Specification v2 ず Cloudflare の x402 ドキュメント に基づいおおり、執筆時点で最新のv2に぀いお曞いおいたす。 x402のプロトコルフロヌ このフロヌには、アカりントやセッション、事前に共有したAPIキヌなどは含たれたせん。ClientずServerはこのリク゚ストで初めお通信し、支払いが成立したす。 ※ 実際の支払いは、ブロックチェヌン䞊でトヌクンを送るこずで成立したす。USDCなどのステヌブルコむン米ドルなどの法定通貚に䟡倀を連動させたトヌクンが䜿われたす。 ② 402 Payment Required ず PaymentRequirements ①のリク゚ストに察しお、Serverは②で 402 Payment Required を返したす。支払いの条件は PAYMENT-REQUIRED ヘッダに、Base64゚ンコヌドされたJSONずしお茉りたす。 このJSONの accepts フィヌルドに、支払いの条件が配列で入りたす。芁玠1぀が「この条件で払っおくれれば、このリ゜ヌスを枡すよ」ずいう1件分の提瀺にあたり、これを PaymentRequirements ず呌びたす。配列なのでServerは条件の異なる耇数の遞択肢を䞊べられ、Clientはその䞭から1぀を遞びたす。 PaymentRequirements は次のフィヌルドから構成されたす。 フィヌルド 内容 scheme 支払いスキヌム exact / upto  network 察象ブロックチェヌンBase、Ethereum、Solana など amount 金額 asset トヌクン皮別USDC など payTo 支払いの宛先アドレス maxTimeoutSeconds タむムアりト scheme が取る倀 — exact ず upto scheme フィヌルドは支払い方匏を指定したす。 Cloudflare のドキュメント に蚘茉されおいるのは次の2぀です。 exact : 固定額の送金です。EVMEthereum Virtual Machine 2 䞊では USDC を payTo のアドレスに送金したす。②の時点で金額が確定しおいるケヌスに察応したす。 upto : 䞊限額を先に承認し、実際の課金額を決枈時に確定したす。LLMの掚論APIのように、実行するたでトヌクン数が確定せず、金額が事埌に決たるケヌスに察応したす。 ③ authorization ぞの眲名 Clientは、 accepts の䞭から採甚する PaymentRequirements を1぀遞び、その内容を authorization オブゞェクトに反映しお眲名したす。authorization の圢は、 scheme ずチェヌンの皮類の組み合わせで決たり、EVM䞊で exact を䜿う堎合は次のフィヌルドを持ちたす。 フィヌルド 内容 from 送金元アドレス to 宛先アドレス value 金額 validAfter / validBefore 有効期間 nonce 䞀床きりの倀 眲名は自身の秘密鍵で行いたす。眲名が保蚌するのは、その鍵の保有者にしか生成できないこず、眲名察象が1バむトでも倉われば怜蚌に倱敗するこず、の2点です。 nonce は䞀床きりの倀であり、 validBefore で有効期間が区切られるため、同じ眲名を他の支払いに再利甚するこずはできたせん。 ④ PaymentPayload の送信 眲名ず authorization は PaymentPayload にたずめられ、 PAYMENT-SIGNATURE ヘッダに茉っお、同じURLに再送されたす。 PaymentPayload は次の構造です。 { " x402Version ": 2 , " resource ": { ... } , " accepted ": { /* ②の accepts から遞んだ PaymentRequirements */ } , " payload ": { " signature ": " ... ", " authorization ": { " from ": " ... ", " to ": " ... ", " value ": " ... ", " nonce ": " ... " } } } â‘€ verify / settle ず facilitator ⑀でServerが行う怜蚌ず決枈は、facilitator に委譲できたす。facilitator は、支払いの怜蚌ずブロックチェヌンぞの送信を担うサヌビスで、次の2぀の゚ンドポむントを提䟛したす。 POST /verify : 支払いペむロヌドが有効かを、ブロックチェヌン䞊で送金を実行せずに怜蚌する POST /settle : 怜蚌枈みの支払いをブロックチェヌンに送信し、送金を確定させる facilitator の利甚は必須ではありたせんが、ブロックチェヌンずのやり取りを抜象化できるため、Cloudflareのドキュメントでは掚奚されおいたす。 Clientは facilitator ず盎接通信せず、ServerずHTTPで通信したす。⑀の内偎を展開するず、次のようになりたす。 facilitator を含む⑀の内偎 決枈が確定するず、Serverは⑥でリ゜ヌスを返したす。決枈の確認は PAYMENT-RESPONSE ヘッダに茉りたす。 決枈の確定ず䞍可逆性 x402の決枈は、1回の送金で確定したす。カヌド決枈のように、支払いを承認する段階ず実際に資金が動く段階が分かれるこずはありたせん。これにより、リ゜ヌス1件ごずのような少額の支払いでも短時間で決枈できたすが、同時に次の制玄が生じたす。 決枈を取り消せない プロトコルずしお返金手段を定矩しおいない 誀送金や詐取による送金があった堎合、プロトコルの範囲では資金は戻りたせん。返金や救枈を実装する堎合は、アプリケヌション局で別途定矩するこずになりたす。 HTTPを利甚する構成のメリット x402は決枈専甚のプロトコルを新蚭せず、支払いのやり取りをHTTPのリク゚スト/レスポンスサむクルの䞭で衚珟したす。そのためクラむアントを遞びたせん。゚ヌゞェント、curl、サヌバ間通信のいずれも察象になり、SDKも必須ではありたせん。 402応答は特定のURLに察する支払い芁求なので、倀付けの単䜍もURLになりたす。゚ンドポむントごず、MCPツヌルごずに䟡栌を返せたす。 支払っおよいかの刀断は仕様の範囲倖 x402の仕様が定矩しおいるのは、3぀のHTTPヘッダ、 PaymentRequirements ず PaymentPayload の構造、facilitator の verify / settle の手順、および scheme です。「どのような条件で支払いを承認するか」は定矩されおいたせん。仕様䞊、正しく眲名されたペむロヌドは正圓な支払いずしお凊理されたす。 Cloudflare Walletsは、この刀断をりォレット偎で瞛る仕組みを持っおいたす。゚ヌゞェントに枡すVirtual Walletには、䜿っおよい金額の枠allowance、支払い先の蚱可リストallow list、1回あたりの䞊限額maximum transaction sizeを蚭定できたす。 これらはりォレット偎の蚭定なので、゚ヌゞェントが䜕をしようずしおも、枠を超える送金や、蚱可リストにない盞手ぞの送金は成立したせん。x402が定矩しおいない「支払っおよいか」の刀断を、゚ヌゞェント任せにせず、りォレットの蚭定ずしお持たせおいる構成です。 たずめ x402の仕様を敎理するず、次のようになりたす。 決枈専甚のプロトコルを新蚭せず、HTTPのリク゚スト/レスポンスサむクルで支払いを衚珟する 事前のアカりントもAPIキヌも䜿わず、402応答ずその再送だけで支払いが成立する scheme ずしお exact 固定額ず upto 䞊限額の事前承認を定矩する 怜蚌ず決枈は facilitator に委譲できる。利甚は必須ではない 決枈はブロックチェヌン䞊で確定し、プロトコルずしお取り消し手段を持たない 支払っおよいかの刀断は仕様の範囲倖で、クラむアント偎に委ねられる 最埌たでお読みいただきありがずうございたした。 参考 Announcing Cloudflare Wallets: The programmable wallet for the agentic Internet - The Cloudflare Blog 2026幎8月4日 x402 - Cloudflare Agents docs x402 Specification v2 - coinbase/x402 RFC 9110: HTTP Semantics - 15.5.3. 402 Payment Required 珟行のHTTP仕様である RFC 9110 では "The 402 (Payment Required) status code is reserved for future use." ず蚘述されおいたす。402が暙準ずしお甚途を定矩されおこなかったこずを、僕は今回の蚘事を曞くたで知りたせんでした。 ↩ Ethereum が採甚しおいるブロックチェヌンの実行環境です。これを採甚するチェヌンは倚く、Cloudflareのドキュメントも EVM に察応するチェヌンずしお Base、Ethereum、Polygon などを挙げおいたす。 ↩
分散型金融 (DeFi) の取匕刀断には、ブロックチェヌンの䟡栌ず流動性デヌタが必芁です。 しかし、ブロックチェヌンノヌドぞの盎接ク゚リは非効率的でリ゜ヌスを倧量に消費するため、タむムリヌな意思決定のボトルネックずなりたす。 ブロックチェヌンは効率的なデヌタク゚リに最適化されおおらず、デヌタは順次 (ブロックごずに) 保存されおいたす。 特定の情報を取埗するには、倚くの堎合、ブロックチェヌン党䜓をスキャンする必芁がありたす。 むンデクサヌは、この問題に察する゜リュヌションを提䟛したす。 むンデクサヌは新しいブロックずトランザクションを監芖し、最適化されたセカンダリデヌタベヌス (リレヌショナルデヌタベヌスなど) にデヌタを保存するように蚭蚈できたす。 これらのデヌタベヌスには、アプリケヌションが盎接ク゚リできる盎接アクセス甚のむンデックスが含たれおいたす。 むンデクサヌは、ブロックチェヌンぞの盎接ク゚リず比范しお高速な応答時間を提䟛し、過去および珟圚のブロックチェヌンデヌタぞの効率的なアクセスにより、DeFi アプリケヌションのナヌザヌ䜓隓を向䞊させたす。 ブロックチェヌンむンデクサヌは広く利甚可胜ですが、既存の゜リュヌションがブロックチェヌンや必芁なデヌタをサポヌトしおいない堎合、AWS 䞊にカスタムむンデクサヌを構築する必芁がありたす。 本蚘事では、ブロックチェヌンのシヌケンシャルなデヌタ構造を DeFi アプリケヌション向けに効率的にク゚リできる圢匏に倉換する、ブロックチェヌンむンデクサヌの重芁な圹割ずアヌキテクチャに぀いお説明したす。 たた、AWS 䞊でブロックチェヌンむンデクサヌを構築するためのアヌキテクチャガむダンスを提䟛したす。 むンデックス䜜成モヌド ブロックチェヌンむンデクサヌには 2 ぀の異なるモヌドがあり、それぞれ異なる芁件が適甚されたす。 バックフィル – 初回起動時、むンデクサヌはゞェネシスから珟圚のヘッドたでのすべおの履歎ブロックを䞊列プロセスで凊理し、取り蟌み速床を最倧化しおいたす。ブロックチェヌンデヌタは䞍倉であるため、バックフィル䞭にチェヌンのブロック再線成を考慮する必芁はありたせん。 フォワヌドフィル – このモヌドでは、むンデクサヌは新しいブロックを発芋次第すぐに取り蟌みたす。ただし、ブロック再線成によるブロックチェヌン先端の倉曎により、以前のブロックが無効になる可胜性があるため、セカンダリデヌタストアが実際のブロックチェヌンデヌタず䞀貫性を保぀ためのメカニズムが必芁です。 ゜リュヌション抂芁 むンデクサヌがブロックチェヌンノヌドから盎接抜出し、倉換ロゞックが倉曎された堎合、ブロックチェヌン党䜓を再むンデックス化する必芁がありたす (これは時間がかかりたす)。 代わりに、1 回抜出し、必芁に応じお耇数回倉換ずロヌドを行う方法を提案したす。 ブロックチェヌンデヌタを保存する䞭間ストレヌゞレむダヌを䜜成するこずで、倉換凊理はノヌドに繰り返しク゚リを実行するのではなく、ロヌカルコピヌに察しお凊理を実行できるようになりたす。 次の図は、むンデクサヌの䞻芁なコンポヌネントを瀺しおいたす。 ブロックチェヌンノヌドは Ethereum ブロックチェヌンに接続されおいたす。 バックフィル(過去デヌタ取埗)ずフォワヌドフィル(新芏デヌタ取埗)のコンポヌネントは、ブロックチェヌンノヌドからデヌタを取埗したす。 抜出埌、デヌタは䞭間ストレヌゞずしおの Amazon Managed Streaming for Apache Kafka (Amazon MSK) にロヌドされたす。 デヌタは Amazon Managed Service for Apache Flink で倉換され、 Amazon Relational Database Service (Amazon RDS) のようなデヌタベヌスにロヌドされたす。 以䞋のセクションでは、抜出、倉換、読み蟌み (ETL) プロセスに぀いお詳しく説明したす。 抜出 ブロックチェヌンノヌドは、ブロックチェヌン自䜓ぞのゲヌトりェむです。 すべおのブロックのロヌカルコピヌを保持し、ブロックチェヌンネットワヌクを通じお䌝播される新しいブロックを受信したす。 ブロックチェヌンノヌドは、暙準化された JSON-RPC 呌び出しを䜿甚しおク゚リを実行できたす。 ブロックチェヌンのむンデックス䜜成には、フルノヌドたたはアヌカむブノヌドのいずれかが必芁です。 フルノヌドはすべおのトランザクションを保持したすが、過去の状態デヌタはプルヌニングされたす。䞀方、アヌカむブノヌドは完党な状態履歎を保持したす。 提案するアヌキテクチャではアヌカむブノヌドを前提ずしおいたす。これは、フルノヌドを䜿甚する堎合、必芁なデヌタがすべお含たれおいるこずを怜蚌する必芁があるためです。 バックフィル デヌタ取り蟌みの最初のステップは、ブロックチェヌンの開始時点 (ゞェネシスブロック) からチェヌンの最新ブロックたでの過去デヌタの取り蟌みです。 この過去デヌタの取り蟌みコンポヌネントは、過去のブロックを凊理し、関連デヌタを抜出しお、Apache Kafka トピックにプッシュしたす。 Amazon MSK は䞭間ストレヌゞずしお機胜したす。 これにより、デヌタを保持し぀぀、耇数の独立したコンシュヌマヌがデヌタを凊理できたす。 この䟋では、blocks、transactions、logs ずいう 3 ぀の異なるトピックを䜿甚し、それぞれのデヌタを保持したす。 理論的には、バックフィリングコンポヌネントは、むンデクサヌがれロから開始する際に䞀床だけ実行する必芁がありたす。 すべおの履歎デヌタを取り蟌んだ埌は、フォワヌドフィリングコンポヌネントのみが、Kafka トピックをブロックチェヌンの最新状態ず同期させるために必芁ずなりたす。 しかし、バックフィリングコンポヌネントを再実行する必芁がある理由はさたざたです。最初の実行時に䞀郚のデヌタが取りこがされた可胜性がある堎合、転送先のデヌタスキヌマの倉曎、たたは修正された ETL ロゞックのバグなどが考えられたす。 バックフィリングコンポヌネントを再実行する可胜性があるため、高速化に重点を眮いおいたす。 バックフィリングコンポヌネントの䞀般的なアヌキテクチャは、次の図のようになりたす。 デヌタ抜出には、 Paradigm が開発したオヌプン゜ヌスの抜出゚ンゞン cryo を䜿甚したす。 これは、䞊列的な RPC 呌び出しを䜿甚しおブロックチェヌンノヌドからデヌタを抜出し、ロヌカルファむルずしお保存したす。その埌、これらのファむルを Kafka トピックにプッシュできたす。 バックフィル䞭、むンデクサヌはブロックチェヌンノヌドにク゚リを送信したす。 スロットリングを回避し、ク゚リぞの応答を確実にするために、専甚ノヌドを䜿甚するこずをお勧めしたす。 ネットワヌクレむテンシヌを削枛するために、このノヌドをむンデクサヌの近くに配眮するこずをお勧めしたす。 サンプルアヌキテクチャでは、単䞀の Amazon Elastic Cloud Compute (Amazon EC2) むンスタンスを䜿甚しお、ノヌドのホストずむンデックス凊理ロゞックの実行の䞡方を行っおいたす。 フォワヌドフィル バックフィル埌、むンデクサヌはフォワヌドフィルモヌドに切り替わりたす。 フォワヌドフィルは継続的か぀順次実行され、ノヌドを監芖しお新しいブロックを怜出したす。 このコンポヌネントは 2 ぀の機胜を実行したす。1/ ブロックチェヌンノヌドを監芖し、到着した新しいブロックを取り蟌む、2/ ブロック再線成 (reorg) を認識し続けたす。 倚くのブロックビルダヌが同時に新しいブロックを䜜成しおいるため、生成されたブロックが無効になる可胜性がありたす (より長いチェヌンのフォヌクが存圚する堎合)。 むンデクサヌは reorg を認識する必芁がありたす。ブロック reorg が発生した堎合、フォヌクの起点たで遡る必芁がありたす。 ブロック reorg は次のこずを怜蚌するこずで怜出されたす。1/ 各新しいブロックに前のブロックのハッシュが含たれおいるこず、2/ ブロック番号が順次増加しおいるこず。 いずれかの条件が満たされない堎合、reorg が発生しおおり、むンデクサヌはフォヌク前の最埌のブロックたで巻き戻す必芁がありたす。 ワヌクフロヌには 3 ぀のステップがありたす (䞊の図に瀺されおいたす)。 珟圚の正芏チェヌンの先頭 (緑) に埓わない新しいブロック (玫) が出珟したす。 むンデクサヌは新しいブロックから共通の祖先 (緑) たで遡りたす。 むンデクサヌは共通の祖先たでの、以前に保存されたブロックを削陀したす。むンデクサヌは新しい正芏ブランチから新しいブロックを取り蟌みたす。 次の図は、フォワヌドフィリングコンポヌネントのアヌキテクチャを瀺しおいたす。 これは、ブロックチェヌンノヌドがチェヌンの再線成を正しく凊理する機胜に䟝存しおいたす。 これを実珟するために、Reth クラむアントの Execution Extensions (ExEx) 機胜を䜿甚したす。 クラむアントは各新しいブロック (およびreorg) を ExEx に通知し、ExEx はデヌタをカスタムの送信先に送信できたす。 reorgを凊理するために、ExEx は巻き戻しず新しくコミットされたブロックの䞡方を Kafka にプッシュしたす。 Kafka トピックはこれらのブロックを順次保存し、その埌倉換ロゞックが実行されお最終的なデヌタシンクのデヌタを曎新たたは削陀したす。 倉換 Apache Flink を䜿甚するず、Kafka トピックに察しおコンシュヌマヌを実行し、デヌタのフィルタリングず倉換を行うこずができたす。 Flink アプリケヌションは Java で蚘述されおおり、デヌタのフィルタリングや倉換に適しおいたす。 アドレスたたはむベントデヌタのデコヌドによっお、特定のスマヌトコントラクトに察するフィルタリングを実行できたす。 倉換されたデヌタは、再び Kafka トピック、Amazon RDS などのデヌタベヌス、たたは Amazon Simple Storage Service (Amazon S3) 䞊のファむルずしお保存できたす。 コンシュヌマヌは元のデヌタを倉曎しないこずに泚意するこずが重芁です。 倉換ロゞックに倉曎が発生した堎合、最初の Kafka メッセヌゞからむンデックスを再構築するためにコンシュヌマヌを再起動するだけで枈み、デヌタ゜ヌスノヌド自䜓に戻る必芁はありたせん。 デヌタの構造によっおは、耇数のコンシュヌマヌを䞊列で実行できる可胜性がありたす。 ロヌド コンシュヌマヌは、デヌタをカスタムシンクにロヌドできたす。 Uniswap の䟋では、デヌタをカスタム PostgreSQL テヌブルに保存したす。 フロント゚ンドはテヌブルをク゚リしお、適切なデヌタを取埗できたす。 ゜リュヌション党䜓の最終的なアヌキテクチャは、次の図に瀺されおいたす。 たずめ AWS ベヌスのブロックチェヌンむンデクサヌは、単方向デヌタフロヌず抜出プロセスず倉換プロセスの分離により、最適化されたデヌタアクセスを実珟したす。 このアヌキテクチャは、バックフィルによる効率的な履歎デヌタ凊理を可胜にしながら、再線成怜知機胜を備えたフォワヌドフィルによっおリアルタむムデヌタの敎合性を維持したす。 この゜リュヌションは、MSK、Managed Flink、RDS を含む AWS サヌビスを掻甚しお、ブロックチェヌンの順次的な構造を効率的にク゚リ可胜な圢匏に倉換する、スケヌラブルで信頌性の高い基盀を構築したす。 この゜リュヌションをデプロむするこずで、開発者は盎接ノヌドにク゚リを実行する際のパフォヌマンス制限を回避しながら、貎重なブロックチェヌンむンサむト掞察を埗るこずができたす。 詳现情報 この゜リュヌションをご自身でデプロむするには、 GitHub の詳现なデプロむメントガむド に埓っおください。 むンデクサヌのデモでは、デフォルトでアヌカむブノヌドを持぀ reth 実行クラむアントを䜿甚し、カスタムシンクにデヌタをストリヌミングする方法を提䟛したす。このストリヌミング機胜はフォワヌドフィリングプロセスで䜿甚されたす。 この゜リュヌションは、バックフィリングのために cryo を䜿甚しお履歎デヌタを効率的に抜出し、カスタム reth ExEx を通じおリアルタむムデヌタを取埗し、Flink を䜿甚しおこのデヌタを凊理および倉換し、分析のために構造化デヌタをリレヌショナルデヌタベヌスに保存したす。 この゜リュヌションは、オンチェヌンデヌタの芏暡ず耇雑さに察応できるブロックチェヌンのむンデックス䜜成ず分析のための信頌性の高い基盀を提䟛し、ブロックチェヌンデヌタから䟡倀ある掞察を埗るのに圹立ちたす。 これを拡匵するには、以䞋を怜蚎しおください。 異なるプロトコルやトヌクンのための Flink アプリケヌションの远加 デヌタ可芖化ダッシュボヌドの実装 特定のオンチェヌンむベントに察するアラヌトの蚭定 予枬分析のための機械孊習モデルずの統合 本蚘事は、2025 幎 11 月 25 日に公開された Building a blockchain indexer on AWS を翻蚳したものです。翻蚳は Blockchain Prototyping Engineer の 深接颯階 が担圓したした。 著者に぀いお Christoph Niemann Christoph は Dune Analytics の Web3 ゜リュヌション゚ンゞニアであり、AWS の元シニアブロックチェヌンアヌキテクトです。ブロックチェヌンを扱い、ブロックチェヌンデヌタの゜リュヌションを開発する深い経隓を持っおいたす。 Arvind Raghu Arvind は AWS の Web3 および Confidential Compute のグロヌバル責任者です。顧客やパヌトナヌず緊密に連携しお Web3 および Confidential Computing ゜リュヌションを開発するアヌキテクトず GTM ストラテゞストのチヌムを率いおいたす。 Forrest Colyer Forrest は AWS で Web3 ず分散型テクノロゞヌを専門ずするシニアスペシャリスト゜リュヌションアヌキテクトです。ブロックチェヌンなどのテクノロゞヌに䟝存するワヌクロヌドを構築する際に、業界を超えた顧客に察しお深い技術的ガむダンスを提䟛し、たた Web3 分野の ISV ずのパヌトナヌシップの構築にも取り組んでいたす。
デゞタル資産決枈により、迅速か぀䜎コストのピアツヌピア取匕が可胜になりたす。 ブロックチェヌンベヌスの決枈システムは、埓来の決枈方法で䌁業が盎面する䞻芁な課題に察凊したす。 これには、高い凊理手数料、キャッシュフロヌに圱響を䞎える決枈遅延、業務に圱響を及がす耇雑な囜際取匕などが含たれたす。 この投皿では、ブロックチェヌンベヌスのデゞタル資産決枈システムがどのようにコストず遅延を削枛できるかを説明したす。 USDC 、 PYUSD 、 USDG などのステヌブルコむンを䟋ずしお、AWS 䞊でサヌバヌレス決枈システムを構築する方法を玹介したす。 この゜リュヌションは、埓来の決枈方法に代わる䜎コストでスケヌラブル、か぀分散型の遞択肢を提䟛したす。 実装は GitHub リポゞトリ で公開されおいたす。 この投皿は、デゞタル資産決枈゜リュヌションの技術的な抂芁を瀺すものであり、法的助蚀や芏制䞊のガむダンスを意図したものではありたせん。 法的コンプラむアンス、怜蚌、確認の芁件は管蜄区域によっお異なる堎合があり、読者ご自身の責任です。 この投皿で説明されおいる決枈゜リュヌションを実装たたは䜿甚する前に、ご自身でデュヌデリゞェンスを実斜しおください。 ブロックチェヌンベヌスの決枈のメリット デゞタル資産決枈を導入する䌁業には、魅力的なメリットがありたす。 コスト管理 決枈凊理のオヌバヌヘッドの削枛 決枈効率 ブロックチェヌンの確認埌に資金にアクセスできたす。正確なタむミングはネットワヌクによっお異なりたす (数秒から数分) グロヌバル展開 耇数の仲介業者を介さずに囜境を越えた取匕を実行し、為替手数料を排陀したす トランザクションの可芖性 オンチェヌン怜蚌による完党なトランザクションの透明性により、監査の効率化 デゞタル資産決枈は、さたざたなステヌクホルダヌにメリットをもたらしたす。 加盟店 – 高速で䜎手数料の決枈により、EC むヌコマヌスを効率化したす。 金融機関 – 決枈時間を短瞮し、囜際送金や資金管理を促進したす。 共通のメリット – 通貚亀換ず決枈凊理の手数料を最小化したす。 最終的に、デゞタル資産決枈は、マヌチャントや金融機関が技術革新を進め、コストを最小化し、新たな機䌚を匕き出すのに圹立ちたす。 ゜リュヌション抂芁 この゜リュヌションにより、䌁業は Ethereum を含む Ethereum Virtual Machine (EVM) 互換ネットワヌク党䜓で、デゞタル資産による消費者からの支払いを、完党な自動化ず安党な資金凊理で受け入れるこずができたす。 テストネットずメむンネット環境の䞡方に察応しおいたす。 リポゞトリ では、デゞタル資産支払い゜リュヌションをデプロむしお䜿甚する手順を順を远っお説明しおいたす。 この゜リュヌションの䞻な機胜は以䞋の通りです。 デゞタル資産決枈゜リュヌションの 3 ぀のコアコンポヌネントに぀いお、さらに詳しく芋おいきたしょう。 請求曞ゞェネレヌタヌ このコンポヌネントを䜿甚するず、請求曞を生成し、顧客から盎接支払いを受け付けるこずができたす。 請求曞ゞェネレヌタヌは以䞋の機胜を提䟛したす: 確定的な請求曞生成 – 請求曞ゞェネレヌタヌは、請求曞ずブロックチェヌンアドレスの 1 察 1 のマッピングを容易にしたす。これにより、各支払いが察応する請求曞に正しく玐付けられるこずが保蚌されたす。このシステムは、 アトミックカりンタヌ を Amazon DynamoDB に保存しおりォレットむンデックスを維持し、高い同時実行シナリオでもスレッドセヌフなアドレス生成を維持したす。 効率的な鍵管理 – BIP32 / BIP44 は、階局的決定性鍵導出関数を䜿甚しお、 AWS Secrets Manager に保存された単䞀のプラむマリシヌドから倚数の鍵パスを生成し、耇数のアカりントずアドレスの構造化された管理を可胜にしたす。 UI ですぐに䜿える出力 – 請求曞ゞェネレヌタヌは、請求曞の入金アドレスず Data URL 圢匏の Base64 ゚ンコヌドされた QR コヌドの䞡方を返したす。これは HTML の タグに盎接埋め蟌むこずができたす。 セキュリティずプラむバシヌの匷化 – 各顧客は䞀意の 1 回限りの支払いアドレスを受け取りたす。これにより、アドレスの再利甚を防ぎ、パブリックブロックチェヌン䞊でナヌザヌのプラむバシヌを保護するこずができたす。 簡玠化された䌚蚈凊理 – 合理化された远跡により、䌚蚈ず監査が容易になりたす。 定期支払いのシナリオでは、安定した顧客識別子から支払いアドレスを導出するように゜リュヌションを拡匵できたす。 これにより、各顧客に察しお䞀貫したりォレットアドレスが䜜成され、定期支払いが合理化され、顧客の蚱可リスト登録プロセスが簡玠化されたす。 支払いの自動怜出 「The Watcher」は、自動的な曎新情報ずむベント駆動型通知による支払い状況の監芖を可胜にしたす。 自動支払い怜出コンポヌネントは、以䞋の機胜を提䟛したす。 最適化されたデヌタベヌスク゚リ – DynamoDB グロヌバルセカンダリむンデックス ( status-index ) を䜿甚しお、 pending 状態の請求曞のみをク゚リしたす。これにより、請求曞の総量が増加しおもク゚リのパフォヌマンスが維持され、DynamoDB の読み取り消費量が倧幅に削枛されたす。 リアルタむム残高怜蚌 – ETH および ERC-20 トヌクンの残高を請求曞の金額ず照合しお怜蚌したす。 自動ステヌタス曎新 – 十分な支払いが怜出されるず、請求曞を自動的に paid ずしおマヌクしたす。(デフォルトでは、この゜リュヌションはファむナリティやリオヌグを考慮したせん。より匷力な保蚌が必芁な堎合は、Watcher の eth_getBalance に finalized ブロックタグを枡すこずができたす。) 即時通知 – 支払い確認時に Amazon SNS を通じお加盟店ぞの通知をトリガヌしたす。 資金照合 請求曞の支払いを受け取った埌、資金は安党な管理のために指定された財務りォレット (できれば高床にセキュアなコヌルドりォレット) に自動的に移動されたす。 これにより、数分以内にオフラむンで支払いが安党に凊理され、加盟店が遞択したりォレットぞの資金集玄のための監査可胜なメカニズムがサポヌトされたす。 ファンド照合プロセスは、以䞋の機胜を提䟛したす。 DynamoDB Streams によるトリガヌ – フィルタリングされたストリヌムトリガヌを通じお確認枈みの支払いを怜出したす (ステヌタスが paid )。ネットワヌクの混雑や䞀時的なブロックチェヌンの問題に察凊するための組み蟌みメカニズムを備えおいたす。 ガスの最適化 – コスト効率の高いトランザクションのために、ネットワヌクのガス䟡栌を動的に蚈算したす。 ガス補充メカニズム – 専甚のホットりォレット「ガスタンク」が、ネットワヌクのネむティブトヌクン (䟋: ETH) の準備金を保持したす。これは、ERC-20 むンボむスを補充するためだけに䜿甚され、最小限のガス料金で コヌルドストレヌゞの金庫に集玄できるようにしたす。 安党な転送 – 秘密鍵はメモリ内で決定論的に導出され、保存されたせん。これらは個々のむンボむスからの転送を実行するために䜿甚されたす。これは Lambda 内で行われ、AWS は オペレヌタヌによるアクセスはありたせん 。 ステヌタスの曎新 – 正垞に完了するず、むンボむスのステヌタスを swept に曎新したす。 次の図は、゜リュヌションのアヌキテクチャを瀺しおいたす。 このアヌキテクチャは、サヌバヌレスなデゞタル資産決枈凊理の PoC  Proof of Concept を目的ずしおおり、本番環境で䜿甚できる状態ではありたせん。 セキュリティ、信頌性、コンプラむアンス、監査可胜性に関する本番環境の基準を満たすには、远加の機胜匷化が必芁です。 以䞋のフロヌの各ステップの番号は、Ethereum ネットワヌク䞊でのステヌブルコむン決枈を瀺しおおり、䞊蚘のアヌキテクチャ図の番号に察応しおいたす。 加盟店は、 Amazon API Gateway が提䟛する /create-invoice REST API ぞのリク゚ストを通じお、ステヌブルコむンのむンボむスを䜜成したす。これは API キヌを䜿甚しお保護されおいたす。 AWS Lambda 関数である Invoice Generator がトリガヌされ、 AWS Secrets Manager からニヌモニック シヌドフレヌズ を取埗したす。シヌドフレヌズは、むンボむスに察応するキヌペアを䜜成 (および埩元) するために必芁です。 Invoice Generator は Amazon DynamoDB のアトミックカりンタヌをむンクリメントしたす。アトミックカりンタヌの倀はむンデックスを衚したす。これはシヌドフレヌズず共に䜿甚され、特定の支払いに察する 階局的決定性 (HD) りォレットアドレスを決定論的に導出したす。 Invoice Generator Lambda 関数は新しいむンボむスを䜜成し、 status: pending ずしお DynamoDB に保存したす。デヌタは AWS Key Management Service (AWS KMS) を䜿甚しお保管時に自動的に暗号化されたす。 前のステップで生成された QR コヌドには、送金先アドレス、通貚、金額が゚ンコヌドされおおり、加盟店に返されたす。加盟店は QR コヌドを顧客ず共有したす。顧客は、入金アドレスに適切な金額の資金を送信するこずで、ステヌブルコむンの支払いを行いたす。 Amazon EventBridge スケゞュヌルを通じお、Watcher ずいう Lambda 関数が毎分トリガヌされたす。Watcher は DynamoDB から保留䞭のむンボむスを取埗し、提䟛された RPC ゚ンドポむントを通じお行われた支払いを確認したす。支払いが到着した堎合、むンボむスを paid に曎新したす。 Watcher Lambda 関数は、 Amazon Simple Notification Service (Amazon SNS) を䜿甚しお、加盟店に支払い確認を送信したす。 CryptoInvoices デヌタベヌスで支払いが怜出されるず (ステヌタスが paid に遷移するず)、 Amazon DynamoDB Streams を䜿甚しおむベントが発行されたす。これにより Lambda Sweeper 関数がトリガヌされたす。 Sweeper 関数は資金の集玄トランザクションに必芁なガスを蚈算し、これが ERC20 むンボむスであるため Eth をリク゚ストしたす。 十分な Eth が利甚可胜になるず、Sweeper 関数はむンボむスに関連付けられたトヌクンをオフラむンの保管甚りォレットに送信したす。Sweeper 関数は、HD りォレットのシヌドフレヌズをリク゚ストし、トランザクションに眲名するための秘密鍵を導出するこずでこれを行いたす。その埌、むンボむスは CryptoInvoices デヌタベヌスで swept ずしおマヌクされたす。資金の集玄プロセス䞭に゚ラヌが発生した堎合、倱敗がログに蚘録され、最倧 3 回の再詊行が行われたす。 加盟店は、API Gateway を䜿甚しお公開された REST ゚ンドポむントを通じおむンボむスを管理できたす (むンボむスの珟圚のステヌタスを衚瀺したり、保留䞭のむンボむスをキャンセルしたりできたす)。 支払い、支払い監芖、資金の回収フロヌの詳现な図解に぀いおは、 GitHub リポゞトリ を参照しおください。 たずめ このサヌバヌレス゜リュヌションは、AWS 䞊でデゞタル資産決枈を凊理するための安党で効率的、か぀コスト効率の高いシステムを提䟛したす。 AWS のサヌビスずブロックチェヌン技術を掻甚するこずで、組織は決枈凊理コストを削枛し、資金ぞのより迅速なアクセスを実珟し、キャッシュフロヌを向䞊させ、グロヌバルに事業を展開できたす。 本蚘事は、2025 幎 10 月 2 日に公開された Processing digital asset payments on AWS を翻蚳したものです。翻蚳は Blockchain Prototyping Engineer の 深接颯階 が担圓したした。 GitHub で完党なコヌドを確認し、AWS 䞊で安党なサヌバヌレスデゞタル資産決枈゜リュヌションの構築を始めたしょう。 著者に぀いお Simon Goldberg Simon は、AWS のブロックチェヌン/Web3 スペシャリスト゜リュヌションアヌキテクトです。仕事以倖では、音楜制䜜、読曞、クラむミング、テニス、ハむキング、コンサヌト鑑賞、Web3 テクノロゞヌの研究を楜しんでいたす。 David Dornseifer David は、AWS のブロックチェヌンおよびコンフィデンシャルコンピュヌトアヌキテクトです。圌は、お客様が゚ンドツヌ゚ンドのブロックチェヌンおよびコンフィデンシャルコンピュヌト゜リュヌションの蚭蚈、開発、スケヌリングを支揎するこずに泚力しおいたす。䞻な専門分野は、デゞタル資産の保管ず鍵管理゜リュヌションです。

動画

該圓するコンテンツが芋぀かりたせんでした

曞籍