Amazon Web Services ブログ

Category: Blockchain

【開催報告& 資料公開 】Blockchain@Loft #04 Biz編

こんにちわ、ソリューションアーキテクトのザビオ(@zabbiozabbio)です! 6/30日に 開催しましたBlockchain@Loftの開催報告になります。 Blockchain@Loftとは Blockchain@Loft は AWS 上でブロックチェーンを始めようとしている、または、開発/運用しているデベロッパー、事業開発者のための、有志によるコミュニティイベントです。約 2 ヶ月に1回 AWS Loft Tokyo で開催しておりますが、前回から、リモートという形で開催しております。 初回 のアンケート結果から、Tech な内容と Biz な内容どちらも聞きたいという要望を多数いただいたため、このイベントは Tech と Biz なテーマを交互に扱っていこうと思っています。 今回はBiz編ということで、Blockchainの導入事例のお話を各お客様から語っていただきました。 今回もオンライン形式の配信で、準備中の一コマ。   それでは早速、ご紹介していきます。 株式会社 日立製作所 三木様 日立のBlockchainへの取り組み ~社内実証 トイレに学ぶBlockchain活用事例~ 株式会社サイバーエージェント 仲尾様 データ連携から医療領域のDXへ ZEROBILLBANK JAPAN株式会社 堀口様 GDPR等プライバシーマネジメントの最新トレンドと情報銀行サービス 株式会社GINKAN 三田様 そのサービスにブロックチェーンは必要ですか? まとめ 各企業様のブロックチェーンの取り組みや、Amazon Managed Blockchain や Amazon QLDB の利用事例などを語っていただきました。 視聴者から質問もたくさんいただいており、全て回答することは出来なかったのですが、次回も開催いたしますのでぜひご参加ください。 次は8月でTech編を予定しております。 このブログの著者 中武 優樹(Yuki […]

Read More

Amazon Managed Blockchain でイベントベースのアプリケーションをビルドする

 Amazon Managed Blockchain 上にビルドされたアプリケーションで、信頼できる環境で複数の当事者が相互にトランザクションを実行できるようになりました。これは、各当事者がブロックチェーンにコミットする前にトランザクションを承認できるようになったためです。ブロックチェーンイベントによってアプリケーションはアクティビティへの応答が可能になります。また、ブロックの新規作成などのブロックチェーンネットワークのアップデート、さらにはネットワークにデプロイされたスマート契約書のアップデートの応答もできるようになります。 ブロックチェーンイベントは非常に有用で、さまざまなアクティビティを可能にします。例としては、Amazon Simple Notification Service (Amazon SNS) によるビジネスイベント発生時のユーザー通知、Amazon QuickSight や Amazon Redshift などのビジネスインテリジェンスおよびビジネス分析エンジンへのデータのストリーミングが挙げられます。Amazon DynamoDB や Amazon Aurora などの専用データベースにストリーミングしたり、イベントトリガー型アプリケーションには AWS Lambda を使用したりもできます。 Hyperledger Fabric ブロックチェーンネットワークでは、ブロックチェーンネットワークアクティビティをモニタリングするための 3 種類のイベントタイプがあります。 ブロックイベント – 新規ブロックが台帳に追加されたときに発生します。ブロックイベントには、ブロックが持つトランザクション情報が含まれます。 トランザクションイベント – トランザクションが台帳にコミットされたときに発生します。 チェーンコードイベント – チェーンコードとは、ブロックチェーンネットワークで実行されるアプリケーションコードのことです。これにより、台帳とのインタラクションが可能になります。チェーンコード内でイベントを定義できるうえに、イベントのトリガーとなる条件を定義できます。イベントは、必要な条件を備えたブロックが台帳にコミットされるとトリガーされます。 本記事では、透明性の高い NGO の寄付アプリケーションのユースケースを説明します。寄付金を NGO がどう活用しているかが寄贈者にわかるようなアプリケーションの作成と構成の詳細は、Github リポジトリをご覧ください。本記事では、新規寄付が SMS でユーザーに通知されるように、アプリケーションをビルドしていきます。Amazon Managed Blockchain でチェーンコードイベントを使ったワークフローのビルド方法や、Amazon SNS を使った SMS メッセージの送信方法を説明します。 ソリューションの概要 […]

Read More

Amazon CloudWatch Logs を使用して Amazon Managed Blockchain のアクティビティを追跡する

AWS は最近、Amazon Managed Blockchain と Amazon CloudWatch 間の新しい統合の提供を開始しました。メンバー認証局 (CA)、Hyperledger Fabric ピアノード、およびチェーンコードでのアクティビティなど、ブロックチェーンネットワークでの重要なアクティビティを示す詳細なログを利用できるようになりました。 この投稿では、これらの新機能を使用して、分散型アプリのブロックチェーンアクティビティを追跡する方法を示します。また、Amazon CloudWatch でアラームを作成してブロックチェーンのアクティビティを通知する方法についても説明します。 Amazon Managed Blockchain でロギングを有効化する 始める前に、Amazon CloudWatch Logs でログを有効にして、ブロックチェーンネットワークと Fabric クライアントをセットアップします。詳細については、CloudWatch Logs を使用したブロックチェーンアクティビティのモニタリングを参照してください。 ロギングを有効にできる場所は 2 つあります。メンバーをブロックチェーンネットワークに追加すると、メンバーの認証局 (CA) サービスへのログオンを有効にするオプションが利用できるようになります。次のスクリーンショットを参照してください。 ロギングオプションのいずれかを有効にすると、/aws/managedblockchain/<NetworkID>/<MemberID> という名前のロググループが作成されます。CA ロギングを有効にすると、ca というこのグループの下にログストリームが表示されます。このログストリームには、CA に関連するすべてのアクティビティの詳細なログが含まれています。 ピアノードを作成するときにロギングを有効にすることもできます。ノード上のすべてのアクティビティを表示する詳細なログ (ピアノードログ) またはチェーンコードによって作成されたログを有効にするオプションがあります。次のスクリーンショットを参照してください。 チェーンコードログは、ビジネスワークフローにおける重要なアクティビティを追跡するのに役立ちます。CA およびピアノードのログは、Fabric コンポーネント間の複雑なインタラクションのトラブルシューティングに役立ち、特定のワークロードに関する洞察を得ることができます。 チェーンコードにログメッセージを追加する チェーンコードログ機能は、ビジネスワークフローにおける重要なアクティビティを追跡するのに特に役立ちます。この投稿では、ログを使用して、適切なアクセス許可を持つユーザーのみがチェーンコードの呼び出しを実行できることを確認し、ユーザーが不正なアクセスを試みたときにアラートを発生させる方法を示します。これらの機能をテストし、CloudWatch アラームを有効にして、不正アクセス試行について通知するには、ネットワークに次のコードをデプロイします。/home/ec2-user/permissions-example/index.js の Fabric クライアントのホームフォルダに次のコードを保存します。 ///////////////////////////////////////////////////////// // ROLE-BASED ACCESS CONTROL EXAMPLE // […]

Read More

[AWS Black Belt Online Seminar] Amazon Managed Blockchain 資料及び QA 公開

こんにちわ、ソリューションアーキテクトのザビオ(@zabbiozabbio)です! 先日 (2020/05/19) 開催しました AWS Black Belt Online Seminar「Amazon Managed Blockchain」の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。 20200519 AWS Black Belt Online Seminar Amazon Managed Blockchain (AMB) from Amazon Web Services Japan AWS クラウドサービス活用資料集(すべての過去資料が閲覧できます) Q1. AWS Blockchain Templates は Amazon Managed Blockchainとどのような違いがあるのでしょうか。 AWS Blockchain TemplatesはAmazon EC2 or Amazon ECS 上に、ブロックチェーンフレームワークをデプロイします。EC2/ECS上にデプロイされるため、カスタマイズできる自由度は高くなりますが、その分お客様自身で管理するコンポーネントが広くなるため、そことのトレードオフになります。 Q2. Amazon Quantum Ledger Database (QLDB)もチェーンコードを記述できるのでしょうか。 QLDBはDatabaseのためチェーンコードの記述はできません。 Q3. Amazon […]

Read More

Amazon Managed Blockchain が東京リージョンに対応しました

皆さん、こんにちは。シニアエバンジェリストの亀田です。 Amazon Managed Blockchainが東京リージョンに対応しましたのでお知らせします。 Amazon Managed Blockchain Amazon Managed Blockchain はフルマネージド型のサービスで、一般的なオープンソースフレームワークである Hyperledger Fabric や Ethereum* を使用して、スケーラブルなブロックチェーンネットワークを簡単に作成し管理できます。(Ethereum版は近日公開予定となっています) ブロックチェーンテクノロジーは複数の当事者がトランザクションを実行できるアプリケーションを構築することを可能にします。その一方、既存のテクノロジーを使用してスケーラブルなブロックチェーンネットワークを構築することは、設定が複雑で管理が困難である、という課題が存在します。 ブロックチェーンはおもに2つの運用形態が存在し、1.複数の当事者が信頼された機関に所有権を一元化してトランザクションを扱う「中央集権型」2.複数の当事者が所有権を分散してトランザクションを扱う「分散型」があります。 AWSではそれぞれの運用形態ごとにサービスを提供しており、中央集権型システムでは元帳データベースであるAmazon Quantum Ledger Database(Amazon QLDB) を提供しています。今回東京リージョンに対応したものは、「分散型」」ブロックチェーンネットワーク構築をフルマネージドが行う Amazon Managed Blockchain です。 ブロックチェーンネットワークを構築するために、各ネットワークメンバーは、手動でハードウェアをプロビジョニングし、ソフトウェアをインストールし、アクセスコントロール用の証明書を作成および管理し、ネットワーキングコンポーネントを設定する必要があります。ブロックチェーンネットワークが稼働したら、インフラストラクチャを継続的に監視し、トランザクション要求の増加、ネットワークへの参加または退会などの変化に対応する必要がありますが、このサービスはわずか数回のクリックでスケーラブルなブロックチェーンネットワークをセットアップし管理することが可能で、数百万件のトランザクションを実行する数千ものアプリケーションの要求に合わせて自動的にスケールします。 通常の分散型ブロックチェーンネットワーク構築の際に課題となる、証明書の運用も AWS Key Management Service (KMS) を使用してネ、ユーザーが独自の安全なキーストレージを設定する必要はなくなります。 Let’s Start 起動手順はとても簡単です。 まずマネージメントコンソールでManaged Blockchainの画面にアクセスします。 【ネットワークの作成】を押します。 起動するフレームワークを選択しますが、2020年3月16日現在、Ethereumは近日公開予定となっています。エディションですが、技術的な差異はないものの、後述するピアノードやメンバーの数に違いがあります。詳しくはこちらをご覧ください。スターターは最大 5 つのメンバーとメンバーごとに最大 2 つのピアノードまでに限定されますので、どちらかというと小規模向けです。 ネットワーク名に、任意の名前を入力します。【投票ポリシー】は分散型ブロックチェーンならではの設定項目になります。分散型システムは、中央集権型と異なりとなり、複数のメンバーによる新しいメンバーの追加や、変更、削除などを、だれがどのように承認し全体へ反映させるか、というルール決めが必要になります。各メンバーは、メンバーの招待や削除など、ネットワークへの変更の提案を作成したのち、提案は、ネットワーク内のすべてのメンバー間での投票のために送信されます。提案は、投票ポリシーに従って承諾、拒否、または失効します。 投票ポリシーは、提案の承諾または拒否に必要な [はい] 投票の割合と、提案の投票がアクティブである期間を指定します。提案の有効期限が終了する前に提案に合格するのに十分な [はい] 投票がない場合、提案は期限切れになり、提案のアクションは実行されません。 【次へ】を押すと、最初のメンバー作成を行うためのメンバー名の設定が出てきます。ここで指定されたメンバーは、上記の通りいわゆる中央集権型システムにおける管理者とは別になり、あくまで一番最初のメンバーを設定するということになります。 また設定された投票ポリシーは変更できないので変更の必要性が出た場合、作り直す必要があります。 次に、認証局の設定をします。ビットコインのような通常の分散型ブロックチェーンシステムと異なり、だれでも参加できるわけではありません。上記で設定したルールに基づき承認されたメンバーのみが、参加することができ、参加した各メンバーは認証局から発行された電子証明書を持ちます。Amazon Managed […]

Read More

Amazon Managed Blockchain を使用したサーバーレスブロックチェーンアプリケーションの構築

Amazon Managed Blockchain は、スケーラブルなブロックチェーンネットワークを簡単に作成して管理できるようにします。  このマルチパート記事のパート 1 では、Amazon Managed Blockchain を使用してハイパーレジャーファブリックブロックチェーンをデプロイする方法を学びました。  また、REST API をデプロイして、ネットワークの読み取りと書き込みを行う簡単なインターフェイスを提供する方法も学びました。これを可能にするために、ハイパーレジャーファブリック SDK を使用して Managed Blockchain と通信し、REST API サーバーを実行する Amazon EC2 インスタンスをデプロイしました。 この記事では、AWS Lambda と Amazon API Gateway を使用してサーバーレスアーキテクチャで REST API を構築する別の方法を示します。  Lambda には耐障害性が組み込まれており、サービス自体と動作する機能の高可用性を提供するため、開発者はビジネスロジックの開発に集中できます。  Lambda および API Gateway を使用して API をデプロイすると、消費したリソースに対してのみ料金を支払う一方で、アプリケーションを自動的にスケーリングできます。 この段階的なチュートリアルでは、Node.js ファブリック SDK を使用して Managed Blockchain の読み取りと書き込みを行う Lambda 関数をデプロイします。 また、デプロイされた各 API ルートに対して Lambda 関数を呼び出す […]

Read More

Amazon マネージドブロックチェーンのハイパーレジャーファブリックチャネルに新しいメンバーを追加する

このシリーズの前の記事では、Amazon Managed Blockchain を使用してハイパーレジャーファブリックネットワークを構築する方法を学びました。ネットワークを作成した後、ファブリックチェーンコード、RESTful API、およびユーザーインターフェイスアプリケーションからなる 3 層アプリケーションをデプロイしました。作成したネットワークはシングルメンバーネットワークであり、ハイパーレジャーファブリックの基礎を実験および学習するのに適しています。 ただし、より堅牢なテストまたは本番シナリオでは、マルチメンバー分散ネットワークが必要になる場合があります。ネットワークのメンバーは、一般的なビジネスプロセスに参加し、データを共有したり互いに協力したりすることで利益を得る実際の組織を表す場合があります。 この記事では、パート 1 で作成したファブリックネットワークに新しいメンバーを追加します。新しいメンバーを作成し、新しいメンバーのピアノードをプロビジョニングして、ピアを既存のチャネルに参加させます。新しいメンバーを別の AWS アカウント、またはパート 1 ネットワークと同じ AWS アカウントで作成できます。この記事では異なる AWS アカウントを使用していますが、どちらの方法でも機能します。新しいピアノードがチャネルに参加したら、ブロックが新しいピアに複製されているかどうかを確認してから、チェーンコードをインストールしてトランザクションを呼び出します。ピアノードは、ファブリックネットワーク内で完全に機能するノードになり、ファブリックレジャーの独自のコピーを維持しながらトランザクションを保証および検証することができます。 アーキテクチャの概要 この記事の手順に従うと、2 人のメンバーがいるマルチメンバーネットワークになり、各メンバーは異なる AWS アカウントが所有します。各アカウントが所有するメンバーにアクセスするには、そのアカウントの VPC で実行されているファブリックのクライアントノードまたはファブリックのクライアントアプリケーションを使用します。 次の図に示すように、ハイパーレジャーファブリックの順序サービス、メンバーの認証局 (CA)、およびメンバーのピアは、マネージドブロックチェーンが管理します。VPC エンドポイントを使用して、それらのエンドポイントを顧客の VPC に公開します。顧客の VPC とマネージドファブリックネットワーク間のすべてのネットワークトラフィックは AWS バックボーンを介して発生し、パブリックインターネットには公開されません。 前提条件: マネージドブロックチェーン上に既存のハイパーレジャーファブリックネットワークがあること 前のブログ投稿と同じ Git リポジトリで、既存のファブリックネットワークに新しいメンバーを追加する手順を見つけることができます。前回の記事はパート 5 で更新されました。パート 5 を開始する前に、少なくとも 1 人のメンバーでハイパーレジャーファブリックネットワークを実行しておく必要があります。これを行うには、前の投稿のパート 1 を完了してください。パート 1 から 4 を完了しても良いですが、パート 2 から 4 […]

Read More