AWSでブロックチェーン構築を解説!サーバーレスエキスパートがAWSにおけるブロックチェーン構築/管理を解説します😎

AWSでブロックチェーン構築を解説!サーバーレスエキスパートがAWSにおけるブロックチェーン構築/管理を解説します😎

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは!

今回は、 AWS で利用可能なブロックチェーン関連サービスについてまとめてみました!ブロックチェーンの概要や仕組みから解説しているので、ぜひお役立てください。

想定する読者

  • サーバーレスのブロックチェーン構築/管理を検討しているヒト
  • AWS のブロックチェーン構築サービスを知りたいヒト

はじめに

本記事では、ブロックチェーンの基礎や仕組み、ブロックチェーンがもたらすメリット、そして AWS におけるブロックチェーン関連サービスについて紹介します。

クラウドコンピューティングとブロックチェーンが結びついたことで、ビジネス上のアプローチにさまざまな変化が生まれました。

AWS におけるブロックチェーンの導入は大きな可能性を秘めています。実際、 AWS ブロックチェーンに対する関心が近年高まっていることは間違いありません。

AWS のブロックチェーン関連サービスを紹介する前に、まずはブロックチェーン技術について説明しましょう。

ブロックチェーンとは

ブロックチェーンと聞いて暗号通貨を思い浮かべる方は、ブロックチェーン技術の幅広さをまだ理解できていないかもしれません。ブロックチェーンは「分散型データベース」となり、従来のWeb2で時代のような中央集権データベース(大手SNSサービス等々)ではなく、個々のコンピュータをつなぐネットワークが保存データの検証・統合を行います。

ブロックチェーンに記録された各取引を改ざんするのは極めて難しく、改ざんされないことを前提にするトランザクションを有するアプリケーションにはブロックチェーン大変有用です。最近では、海外の例ですが不動産売買の取引にイーサリアムのスマートコントラクトが採用されたり、国際送信の仕組みとしてリップル(XRP)が登場したりと賑わっていますね。

つまり、ブロックチェーンは、特定の個人や団体(政府、企業など)によって管理されることのない最先端なデータベースです。企業やそのほかの団体によって管理・統制される中央集権的なデータベースとは根本的に異なります。

また、ブロックチェーンで高度な機能を実現するならイーサリアムが推奨です。イーサリアムでは、ビットコインで実現できない様々な機能(スマートコントラクト等)を実現することが可能です。ただし取引のガス代が高いので導入は慎重に検討しましょう。(用途が限られているならビットコインを採用するのも一つです)

ブロックチェーン技術を使うメリット

ブロックチェーン技術を使う主なメリットをいくつか紹介しましょう。

ブロックチェーンは中央コンピュータに依存しない分散型システムであるため、損害に対する耐性があります。1台のコンピュータが故障したとしても、システムは稼働し続けることが可能です。

さらに重要なのは、データを毀損/改ざんさせることがきわめて難しいという点です。中央集権的なシステムであれば、中央データベースの内容を書き換えるだけでデータを毀損/改ざんさせられます。しかし、ブロックチェーンネットワークには中央データベースがありません。クラッキングによるダメージを与えるには、1台のコンピュータでネットワーク全体を乗っ取る必要があるため、はるかに困難だといえるでしょう。

ブロックチェーンでは、最新データだけでなく過去の履歴すべてが保存されています。通常のデータベースであれば、その時点での最新データのみを取得します。ブロックチェーンでは最新データに加え、過去に存在したすべての情報が記録されているのです。この点、Gitと類似しており、rebaseのないGit運用とも表現できます。

ブロックチェーンがデータの保存とアクセスにおいて分散型のシステムであることは、システム全体の安全性をきわめて高いものとしています。中央集権的なデータベースと異なり、クラッカーの入り口はどこにも存在しません。とくに、取引の安全な記録において大いに役立ちます。記録システムが分散型であり、全体が複製されているため、中央システムの管理者やそれにかかるすべてのコスト・インフラが不要となります。

ブロックチェーンが機能する仕組み

ブロックチェーンは、各取引のブロック群で構成されており、各ブロックは1つ前のブロックとつながってチェーンを形成しています。各ブロックは作成・編集された日時を記録しているため、毀損や紛失が許されないような詳細な記録を維持するのに役立ちます。ブロックチェーン全体は多くのコンピュータに複製されているため、全ユーザーが閲覧可能です。取引や記録の処理を行うのは中央システムの管理者ではなく、データを検証してコンセンサスを導く「ユーザーネットワーク」です。

ブロックチェーン技術によって課題解決を図るなら、企業はサーバーに任意のブロックチェーンフレームワークを導入し、ネットワークを構築・管理して拡張させる必要があります。ネットワークの維持は大きなタスク、面倒なプロセスとなるでしょう。ここで AWS のクラウド型ブロックチェーンソリューションの出番です。

AWS のブロックチェーンとは

AWS のブロックチェーン関連サービスは小規模ながらも強力なラインナップをそろえており、企業組織によるブロックチェーン導入の取り組みをサポートします。 AWS Quantum Ledger DatabaseAWS Managed BlockchainAWS Blockchain PartnersAWS Blockchain Templatesは、 AWS ブロックチェーン関連サービスの中でも中核となる存在です。

AWS のブロックチェーンシステムは、クラウド上で複数のブロックチェーンプロジェクトを配置することで多様なビジネス課題に対応できるよう設計されています。 AWS のブロックチェーン用アプリケーションをより深く理解するため、各サービスについて詳しく見てみましょう。

AWS ブロックチェーンテンプレート

AWS は、ブロックチェーン上に構築されたアプリケーション向けにオープンソースのテンプレートを提供しています。 AWS のテンプレートでは、Docker を起動する ECS クラスターEC2 インスタンス上にネットワークを配置します。つまり、テンプレートによってアプリケーションとネットワークを連携させることが可能です。

これにより、開発者はパーソナライズされた AWS VPC の中で独自のブロックチェーンネットワークを形成できます。 Access Control ListsVPC サブネットを簡単に調整することで、分散型ネットワークの特徴と機能を設計することが可能です。さらに、開発者は AWS IAM を通じて、 AWS ブロックチェーンテンプレートの中でネットワークに対する細かな許可設定をすることもできます。 AWS EC2 インスタンスAWS ECS クラスターからアクセスできるデータに制限をかける場合に役立ちます。

最終的に、開発者はスマートコントラクトを作成し、新たに形成したブロックチェーンネットワーク上で実装することで、分散型アプリケーションの展開が可能となります。

AWS は Blockchain for EthereumBlockchain for Hyperledger Fabric という2種類のテンプレートを提供しています。

Blockchain for Ethereum

Blockchain for Ethereumは、きわめて人気が高く強力な Ethereum Network を使用することでパブリックなブロックチェーンアプリケーションを起動させます。現時点では、 AWS 上におけるブロックチェーンアプリケーションの中でもっともポピュラーな手法です。

Blockchain for Hyperledger Fabric

Blockchain for Hyperledger Fabric は、ネットワークに対する許可・アクセスの制限を可能にします。プライベートなブロックチェーンネットワークに利用しましょう。

ほとんどのブロックチェーンアプリケーションにおいては、 Ethereum を利用するのが最適です。しかし、特定の設定においてはいくつか別のオプションも存在します。分散性を一部失いますが、代わりにほかの機能を獲得できる方法です。

Quantum Ledger Database

AWS Quantum Ledger Database (QLDB)は、追記のみ可能なジャーナルで変更履歴を維持する台帳データベースです。

QLDB はフルマネージド型の台帳データベースであり、信頼できる中央システムが保有する、透過的で変更できない、暗号検証が可能な取引ログを提供します。 AWS QLDB は、アプリケーションデータのすべての変更を追跡し、完全かつ検証可能な変更履歴を保持します。

Ethereum と比較すれば、 AWS によって管理されているため完全な分散型システムとはいえないでしょう。しかし、すべてのメリットが失われるわけではありません。台帳データは変更不可かつ安全な状態であり、データベースは時間とコストをムダにしないよう完全にAWS管理(フルマネージサービス)されています。台帳アプリケーションの用途であれば、うまくフィットするでしょう。

AWS Managed Blockchain

AWS Managed Blockchain は、 Hyperledger Fabric または Ethereum 上のパブリックまたはプライベートなブロックチェーンネットワークを維持するためのフルマネージド型ツールです。開発者は、単一のAPIコールでネットワークを管理できます。

AWS Managed Blockchain も AWS によって管理されるため、プロセスの中で一定の分散性は失われますが、構造上の分散性は残っています。つまり、データは依然として変更不可能な方法で多くの異なるデバイスによって検証されています。したがって、セキュリティと信頼性における分散型のメリットの多くは損なわれていません。


セキュリティ上のメリットやそのほかの要素により、ブロックチェーンはアプリ開発において多くの可能性を秘めたすばらしい技術です。どのようなアプローチであっても、 AWS のブロックチェーン関連サービスは役に立つでしょう。

まとめ

クラウドとブロックチェーンの組み合わせがポジティブな結果を引き起こすことは間違いありません。クラウドならではの開発効率、運用の最適化は、ブロックチェーンと相性抜群です。

世界のブロックチェーンの開発市場は、長期的には、クラウドプラットフォームを通じたブロックチェーンソリューション開発・実装が主流となるでしょう。

AWS / ブロックチェーンに関する開発はお気軽にお問い合わせください。