Subscribe

IoTeX、IIC第2四半期会合でPantheonコンソーシアムブロックチェーンを発表

IoTeX、IIC第2四半期会合でPantheonコンソーシアムブロックチェーンを発表

Industrial Internet Consortium(IIC)は、世界有数のテクノロジー組織で構成される、世界をリードするIoTコンソーシアムの一つです。

IICでは四半期ごとに、300以上のグローバルなテクノロジーリーダーからなるメンバーが集まり、新しい研究、ユースケース、製品開発フレームワークを共有しています。6月22日〜26日に開催された 第2四半期メンバー会合 において、IoTeXは4つのセッションに参加 し、最新の取り組みをIICメンバーに共有しました。

IoTeXにとっての最大のハイライトは、IoTeXがAmazonおよびHuaweiとともに共同議長を務める IICブロックチェーンワーキンググループでのPantheonのプレゼンテーション でした。このプレゼンテーションでは、コンソーシアムブロックチェーンとは何か、Pantheonが他のコンソーシアムブロックチェーンとどう異なるのか、Pantheon独自の技術スタックとアーキテクチャなどについて説明しています。

このブログの残りの部分では、Pantheonプレゼンテーションの録画と書き起こしをご紹介します。どうぞお楽しみください!

プレゼンテーション — 録画

プレゼンテーション — 書き起こし

皆さん、こんにちは!IoTeXの暗号技術責任者のXinxin Fanです。ブロックチェーンタスクグループの共同議長も務めています。本日は、IoT向けのエンタープライズ志向のコンソーシアムブロックチェーンであるPantheonをご紹介できることを嬉しく思います。

ご存知のとおり、IoTとは、スマートデバイスが収集したデータに基づいてビジネス上の意思決定を行うことです。ここには基本的に3つのブロックがあります。1)物理世界からデータを収集するあらゆる種類のスマートデバイス、2)保存や処理などのためにバックエンドに転送されるこれらすべてのデータ、そして3)データの可視化と分析です。データの信頼性はIoTの成功に不可欠であり、顧客に提供するデータが信頼できるかどうかによって、顧客にどれだけの価値をもたらせるかが決まります。

当然の疑問は、IoTにおいてデータの信頼性をどのように確保するかということです。これは非常にホットなトピックで、ここ数年、セキュリティワーキンググループでしばらく議論されてきました。簡単に言えば、Internet of Trusted Things(IoTT)という概念を導入すべきです。基本的に、このプロセス全体で信頼性を確保するためには、IoTTのデータライフサイクル全体をカバーする必要があります。データの収集、転送中のデータ、保存中のデータ、データ処理、そしてデータの保持を考慮する必要があります。基本的には、デバイスがデータの収集を開始した時点からカバーし、デバイスがバックエンドにデータを送信する際の通信を保護します。また、データを安全に保存し、安全な方法で処理を行います。

なぜここでブロックチェーンが重要なのでしょうか?まず、ブロックチェーンについて簡単に見てみましょう。これはNISTによる定義です。ブロックチェーンとは、その名のとおりブロックの連鎖であり、各ブロックには多数のトランザクションが含まれています。このネットワークは、ノードのグループによってピアツーピア方式で維持されています。ブロックチェーンは基本的に、改ざんの証拠が残り、改ざんに強いデジタル台帳を提供し、このデジタル台帳は中央集権的な権威なしに分散ノードによって運営されます。

業界で広く使われているブロックチェーンには2つのタイプがあります。1つ目はパーミッションレス型ブロックチェーン、つまりパブリックブロックチェーンです。このタイプのブロックチェーンでは、誰でもネットワークに参加でき、誰でも台帳データを読み取り、トランザクションを検証できます。このタイプの台帳は高度な信頼を実現します。もう1つのタイプは、業界で多く議論されてきたパーミッション型ブロックチェーンです。このタイプのパーミッション型ブロックチェーンは通常、既知の取引当事者や機関の集まりによって形成されます。彼らが集まってこの台帳を運営します。そのため、検証は通常、すべての参加当事者によって決定された選ばれたノードの集合によって管理されます。そしてこのタイプの台帳は、高度な透明性と説明責任を実現します。

私はパブリックブロックチェーンこそが未来だと信じていますが、私たちがほぼ毎日使っている中央集権的なソリューションから完全に分散化された世界へと移行するこの過渡期において、パーミッション型ブロックチェーンは依然として高い価値を持っています。パーミッション型は依然として良い例を示し、人々がこのテクノロジーの価値と実際にどのように機能するかをより深く理解する助けとなります。

まず強調すべきトピックの一つは、「ブロックチェーンはIoTシステムにどのような特性をもたらすのか?」ということです。ここでは、ブロックチェーンが提供する主要な特徴である5つの特性を挙げます。1つ目は分散化です。これは、ブロックチェーンが信頼された中央権威に具現化された「単一障害点」を取り除くことを意味します。ブロックチェーンの環境では、このネットワークは信頼された中央集権的な権威ではなく、ノードのグループによって維持されます。2つ目の特性は不変性です。ブロックチェーンは暗号学的ハッシュ関数を使ってすべてのブロックをつなげるため、一度情報がブロックチェーンに入ると、それを変更することは非常に困難です。3つ目は透明性です。ブロックチェーンは完全に監査可能で有効なトランザクション台帳を提供するため、システムのすべての参加者がそれを確認できます。4つ目はセキュリティとレジリエンスについてです。ブロックチェーンは公開鍵暗号とデジタル署名を使ってデータの所有権を証明します。つまり、何かをブロックチェーンに送信すると、あなたが対応する秘密鍵を保有していることが証明されます。これにより所有権の移転も可能になります。つまり、ある資産をあるエンティティから別の当事者に移転する場合、秘密鍵を使ってそれを行うことができます。ブロックチェーンの性質上、情報はネットワーク全体で広く利用可能であるため、一部のノードがオフラインになっても問題なく、情報は引き続き広く利用可能です。最後は自動化です。ブロックチェーンはスマートコントラクトと呼ばれる非常に便利なツールを提供します。これはブロックチェーン上にデプロイされたコードの一部です。特定のプログラミング言語でビジネスロジックを記述し、その主な目的は複雑なビジネスプロセスを効率化することです。こうしたプロセスは通常、現実世界では複数の仲介者を伴います。スマートコントラクトは複雑なプロセスの効率化に役立ちます。これらが、ブロックチェーンがIoTにもたらすことができる主要な特徴のすべてです。

では、なぜ私たちはさらに別のエンタープライズブロックチェーンに取り組んでいるのでしょうか?Hyperledger、Ethereum for Enterprise、R3 Corda、最近登場したBaselineプロトコルなど、数多くのコンソーシアムブロックチェーンが存在し、またAmazonやMicrosoft AzureのようなクラウドプロバイダーもBlockchain-as-a-Serviceを提供し、クラウドコンピューティングに慣れた人々にブロックチェーン利用時にも同様の体験を提供しています。それなのに、なぜ私たちは新たなものに取り組みたいのでしょうか?ここにある既存のソリューションのほとんどは非常に汎用的なソリューションで、その上に多くの種類のアプリケーションを構築できます。一部のコンソーシアムブロックチェーンはより特化しています。例えば、Cordaは主に銀行業界で決済目的に使われており、AmazonとMicrosoftは独自のBlockchain-as-a-Serviceを管理しています。私たちが新しいものに取り組みたい理由は、IoT目的に特化して設計された優れたものが存在しないことに気づいたからです。そこで、IoTアプリケーションに関連するすべてのサービスを含み、最終的にエンドツーエンドのセキュリティを提供する新しいものを構築しようとしています。

だからこそ私たちは、IoTに特化して設計されたエンタープライズ志向のコンソーシアムブロックチェーンであるPantheonに取り組んでいるのです。これは私たちが構想している高レベルの技術スタックです。さまざまな種類のIoTデバイスと通信プロトコルをサポートするIoTデバイスレイヤーがあります。2番目のレイヤーは、コンソーシアムブロックチェーンとクラウドを組み合わせたハイブリッドレイヤーです。この2番目のハイブリッドレイヤーの上に、ユーザー管理、デバイス管理、ストレージ管理などを含むコアIoTサービスがあります。そしてその上にアプリケーションレイヤーがあり、ユーザーはあらゆる種類のIoT関連アプリケーションを開発できます。Pantheonは完全にオープンソースで、こちらからリポジトリにアクセスできます。私たちはさまざまなIoTアプリケーションをカバーするコアIoTサービスを提供する予定です。目標は、デバイスからバックエンドまでのエンドツーエンドのセキュリティを実現することです。最初のリリースは主にユーザー管理に焦点を当てており、その他のコアサービスは開発チームが積極的に開発中で、この技術スタックに順次追加されていきます。

システムアーキテクチャについては、Pantheonはこのようになっています。このコンソーシアムブロックチェーンを運営するために協調する複数の機関があります。このブロックチェーンシステム内のすべての機能にアクセスするためのブロックチェーンノードAPIゲートウェイがあります。コンセンサスアルゴリズムを実行している複数の機関からなるコンセンサスグループリストがあります。ここでフローの例を示します。ユーザーがブロックチェーンからデータを照会したいとします。例えば、ユーザーはAPIゲートウェイに問い合わせて、アクセスしようとしているデータのハッシュを取得します。そしてデータアクセスプロキシに問い合わせて、オフチェーンのデータベースからデータを取得します。データベース内のデータアクセス制御ポリシーが、ユーザーがこのデータにアクセスする特定の権限を持っているかどうかを確認します。権限が付与されていれば、ユーザーはデータベースからデータを取得し、ブロックチェーンから受け取ったハッシュと比較できます。これは、私たちのコンソーシアムブロックチェーンシステムを使ってデータの完全性をどのように確保できるかを示す簡単なフローの例です。

ブロックチェーンエクスプローラーを使って、最新のブロック、すべてのトランザクション、そしてブロックチェーンシステムを維持しているノードを確認できます。

機関の登録は私たちのシステム内のスマートコントラクトによって処理され、現在のすべての機関が新しい機関の参加について投票できます。彼らは新しい機関をコンソーシアムに迎え入れるかどうかを決定します。一つの機関は複数のブロックオペレーターを運営でき、機関内で誰がブロックオペレーターになれるかを決定します。そして彼らはそれぞれ自分たちのオペレーターを個別に管理します。

このスクリーンショットでは、複数の機関があり、各機関が複数のオペレーターを管理できることを示しています。

ユーザー管理に関しては、各機関によってオフチェーンで行われます。各機関が自分たちのユーザーと対応する権限を管理する階層構造になっています。ユーザーと権限データは暗号化されたデータベースに安全に保存されます。また、アクセスポリシーリストを使ってユーザーの作成方法を指定し、その権限を指定する管理者もいます。ユーザーはユーザーグループにまとめることもでき、ユーザーグループ単位で管理できます。

初めてこのシステムにログインすると、通常どおりアカウントを作成し、その後複数のユーザーを追加したり、そのユーザーをどのグループに入れるかを指定したりできます。

グループ内には一般ユーザーがいることがあり、管理者は新しいユーザーや新しいグループを作成・追加し、ユーザーをさまざまなグループに入れて権限を割り当てることができます。

コンソーシアム環境では、すべてのブロックチェーンアクセスは権限ベースです。ユーザーとサービスにはログイン後に認証トークンが発行されます。この認証トークンは基本的にJWTです。このトークンには権限データが含まれています。現在、すべてのチェーンAPIで読み取り・書き込み権限をサポートしています。トークンは有効期限を設定でき、APIを照会するたびに、チェーンノードにリクエストするために認証トークンを添付する必要があります。認証トークンは、アーキテクチャで示したようにノードゲートウェイで検証されます。

Pantheonではレイヤー2のスケーラビリティにも対応できます。その考え方は、レイヤー2サービスで大量のリクエストがある場合、マークルツリーを使ってそれらをまとめてバッチ処理できるというものです。チェーンの第1レイヤーにはマークルルートのみをコミットします。このようにして、全体のスループットを向上させることができます。

最後に、ぜひご自身でPantheonを試してみてください。基本的には、いくつかの簡単なステップだけです。まずDockerをインストールし、リポジトリをクローンします。次のポートがシステムで利用可能であることを確認してください。その後、非常に簡単なスクリプトを実行するだけです。これにより、Docker HubからすべてのDockerイメージがプルされ、サービスが起動します。その後、ブラウザを開き、ここで私が行ったように、このポートのローカルホストにアクセスできます。選べるさまざまなオプションがあります。Playgroundを使ってAPIゲートウェイにクエリを送信できます。これはGraphQLクエリです。そして、さまざまな結果をすべて返すことができます。ダッシュボードからはすべてのブロックを確認できます。特定のアドレスをクリックすると、すべてのハッシュ、送信者、その他の情報も確認できます。

また、ブロックチェーンシステムの監視を容易にするGrafanaベースの監視ツールも提供しています。ブロック高などについて、何か問題が発生した場合は、ここでシステムの何が問題なのかを突き止めることができます。

以上で私のプレゼンテーションは終わりです。このソリューションの簡単な紹介でした。ご質問があれば、お気軽にお問い合わせください。ありがとうございました!

IoTeXについて

2017年にオープンソースプラットフォームとして設立されたIoTeXは、 Internet of Trusted Things**、すなわち人間、機械、企業、DAppsといったすべての「モノ」が信頼とプライバシーをもって相互にやり取りできるオープンなエコシステムを構築しています。30人以上のトップクラスの研究者とエンジニアからなるグローバルチームに支えられ、IoTeXはブロックチェーン、セキュアハードウェア、コンフィデンシャルコンピューティングを組み合わせ、次世代のIoTデバイス、ネットワーク、経済を実現します。IoTeXは「物理世界をブロックごとにつなぐ」ことで、未来の分散型経済を後押しします。**

詳しくはこちら: Website | Twitter | Telegram | Medium | Reddit

IoTeX