次の方法で共有


Confidential Consortium Framework の概要

Confidential Consortium Framework (CCF) は、マルチパーティのコンピューティングとデータに重点を置く、安全な高可用性のパフォーマンスの高いアプリケーションを構築するためのオープンソース フレームワークです。 CCF では、高信頼実行環境 (TEE、つまり、エンクレーブ)、分散システムの概念、暗号化の機能を活用して、エンタープライズ対応のマルチパーティ システムを実現します。 CCF は、クライアントが HTTPS 経由で CCF 対応アプリケーションと対話できるようにする業界標準の Web テクノロジに基づいています。

次の図は、3 つのノードで構成された基本的な CCF ネットワークを示しています。 すべてのノードで、エンクレーブ内で同じアプリケーション コードが実行されます。 ユーザー (ビジネス) トランザクションとメンバー (ガバナンス) トランザクションの影響は、最終的にレプリケートされた暗号化された台帳にコミットされます。 メンバーのコンソーシアムがネットワークの管理を担当します。

A diagram of a A Confidential Consortium Framework network made of 3 nodes.

核となる概念

ネットワークとノード

CCF ネットワークは複数のノードで構成され、それぞれが Intel SGX などの高信頼実行環境 (TEE) 上で実行されます。 CCF ネットワークは分散型で高可用性です。 ノードは、オペレーターによって実行および管理されます。 しかし、ノードは、CCF ネットワークに参加する前に、メンバーのコンソーシアムによって信頼される必要があります。

オペレーターの詳細については、CCF ドキュメントの「オペレーター」セクションを参照してください。

アプリケーション

各ノードで、JavaScript で記述された同じアプリケーションが実行されます。 アプリケーションは、TLS 経由で信頼されたユーザーの HTTP コマンドによってトリガーできるエンドポイントのコレクションです。 各エンドポイントで、ネットワーク内のすべてのノードにわたってレプリケートされるエンクレーブ メモリ内のキー値ストアを変更または読み取ることができます。 キー値ストアに対する変更は、適用する前に、少なくとも大部分のノードによって合意される必要があります。

キー値ストアは、アプリケーションによって定義された (キーを値に関連付ける) マップのコレクションです。 これらのマップは、プライベート (台帳で暗号化) にすることも、パブリック (整合性が確保され、台帳にアクセスできるすべてのユーザーが表示できる) にすることもできます。

CCF ネットワーク内のすべてのノードがプライベート マップの内容を読み取ることができるので、アプリケーション ロジックはそのようなマップへのアクセスを制御する必要があります。 すべてのアプリケーション エンドポイントが要求内のユーザー ID にアクセスできるので、マップへのアクセスを制限する承認ポリシーを実装するのは簡単です。

CCF アプリケーションについてさらに学習し、その構築を開始する場合は、「作業の開始」ページを参照してください。

Ledger

キー値ストアに対するすべての変更は、暗号化され、ネットワークの各ノードによってディスクに記録され、分散型の監査可能な台帳に記録されます。 台帳の整合性は、ルートが現在のプライマリまたはリーダー ノードによって定期的に署名されているマークル ツリーによって保証されます。

CCF 台帳を監査する方法については、CCF ドキュメントの「監査」セクションを参照してください。

ガバナンス

CCF ネットワークは、メンバーのコンソーシアムによって管理されます。 台帳に記録されるスクリプト可能な構成では、メンバーが従う必要がある一連のルールが定義されます。

メンバーは、キー値ストアの状態を変更する提案を送信できます。 たとえば、メンバーは、新しい信頼されたユーザーがアプリケーションに要求を発行したり、コンソーシアムに新しいメンバーを追加したりできるように投票できます。

提案は、構成で定義されている条件が満たされた場合にのみ実行されます (たとえば、メンバーの過半数がその提案に対して好意的な票を投じた場合)。

カスタマイズ可能な構成とガバナンスの詳細については、CCF ドキュメントの「ガバナンス」セクションを参照してください。

次のステップ