はじめに

こんにちは、クラウドセントリックのSaitoです。

皆さん、ブロックチェーン使っていますか?

「ブロックチェーン」という名前は聞いたことある方が多いと思いますが、意外と知らないブロックチェーンについて紹介します!

またAWSのブロックチェーンサービスである「Amazon Managed Blockchain」を使って、ノードを構築しイーサリアムを送金してみました。

イーサリアムについては、後述いたします。

ブロックチェーンとは

まずブロックチェーンとは何のか、一言で表すと「分散型のデジタル台帳」と言われています。

台帳とは

取引を記録した帳簿、あるいは基礎的な事実を記録するためのデータベース

上記の説明だと、データベースのようなイメージを持ちますが、ブロックチェーンを語る上で肝になるのが、名前の通り「ブロック」と「チェーン」です。

ブロックは取引のデータを記録し、チェーンはブロック同士を繋ぐ役割をします。

つまりネットワークの側面も持ち合わせます。

またブロックチェーンには従来のデータベースやネットワークとは違い、下記のような特徴があります。

・分散性

中央管理者や単一の管理機関が存在せず、複数のノード(コンピューター)に分散してデータが保存・管理されています。

・不変性

一度記録されたデータは原則として変更・削除できません。過去の記録を改ざんするには膨大な計算資源が必要になります。

・透明性

すべての取引記録が公開されており、誰でもそれらのデータにアクセス可能です。

・可用性

単一障害点がないため、一部のノード(コンピューター)が停止してもシステム全体は動作し続けます。

 

Amazon Managed Blockchain

Amazon Managed Blockchain(以下AMB)とは、AWSが提供するフルマネージド型のブロックチェーンサービスです。

コンソール右下の「AMB Accessを起動」から始めます。

 

2025/08時点では、3つのブロックチェーンインフラストラクチャサービスが提供されています。

・専用パブリックネットワーク

イーサリアムのメインネットを使用可能。ノードを作成し、イーサリアムチェーンへ参加できます。

・サーバーレスパブリックネットワーク

サーバーレスアーキテクチャを使用するマルチテナントサービス。ビットコインのメインネットとテストネットを使用可能。

・プライベートネットワーク

Hyperledger Fabric on Amazon Managed Blockchain を使用して、プライベートブロックチェーンを作成可能。

今回はAMBの専用パブリックネットワークから、イーサリアムメインネットを使用します。

実際の検証の前にイーサリアムとは何なのか、軽く触れたいと思います。

イーサリアムとは

イーサリアムは仮想通貨(日本では暗号資産と呼ばれている)の1つです。

2015年に公開されたチェーンで、仮想通貨内では2番目の時価総額となっています(本記事執筆時の2025/08時点)。

仮想通貨は基本的にブロックチェーン上で動作しています。

ブロックチェーンを使用することにより、「取引履歴の記録と改ざん防止」「中央管理者なしでの運営」「ユーザー間での直接取引」などを実現しています。

イーサリアムノードの作成

AMBを使用し、イーサリアムノードを作成していきます。

右下のノードの作成を押します。

ノードを作成するにあたり、インスタンスタイプやAZを選択できます。今回はデフォルトのままノードを作成します。

ノードの作成にはしばらく時間がかかります。チェーンの混雑状況によっては、半日ほどかかることもあります。

作成が終わると各エンドポイントなどが表示されます。

構成図

今回行う検証の構成図です。

今回の検証では、サードパーティーのウォレットアプリであるメタマスクから、AMBで構築したノードを経由して、EC2上のウォレットへイーサリアムを送金する検証を行いました。

ウォレットはEC2のNitro Enclave内に作成しました。Nitro Enclaveについても少し触れておきたいと思います。

Nitro Enclave

Nitro Enclaveは、EC2インスタンス内に隔離された実行環境を作成することができます。

下記のような特徴があり、Nitro Enclaveにウォレットを作成することでセキュリティ向上が見込めます。

・親インスタンスとはCPU、メモリを共有しない

・ネットワーク接続は制限され、インターネットアクセス不可

・ローカルストレージ、永続ストレージ、Amazon EBSボリュームにはアクセス不可

・専用のvsockチャネルを通じて親インスタンスと通信

実際に送金してみる

ウォレット作成の詳細は割愛いたしますが、UIについてはAmazon Q developerを使い簡単なCLIクライアントを作成しました。

ウォレットのアドレス、残高が確認できます。

次にメタマスクからEC2のウォレットへ送金を行います。今回はスマホアプリ版のメタマスクを使用します。

ネットワークからイーサリアムメインネットを選択します。

送金する数量を指定します。今回は0.0001ETHを指定します。

送金には銀行の送金のような手数料がかかります。その手数料をガス代と表現します。

送金アドレス、送金額、ガス代を確認します。

送金後、トランザクションの確認を行います。

送金の状態、ブロック番号や送受信者、送金額などを確認できます。

ウォレットを再度確認し、残高が0.0001ETHになっていることが確認できます。

無事イーサリアムをEC2ウォレットへ送金することができました。

さいごに

今回はAMBを利用してイーサリアムの送金を行ってみました。

ノードの管理などはAWS側の責任範囲なので、その辺りを意識することなく、簡単にイーサリアムチェーンを使用することができました。

ブロックチェーンは学べば学ぶほど、奥が深い技術だと改めて感じました。

セキュリティ向上のため今後、ゼロ知識証明やブラインド署名などを学ぼうと思っています。

近いうちにブロックチェーンで、何か実用的なサービスを作りたいなとも思っていたり…

それでは、また!