2017-02-20 20 views
0

video(HyperledgerファブリックのIBMコースの一部)は、展開時にチェーンコードを暗号化して、メンバーの一部だけが解読して実行できるようにすることについて説明しています。ただし、Fabricのドキュメント(v0.6およびv1.0)では詳細は記載されていません。未来に構築したいと考えている機能はまだ実装されていませんか?Hyperledger Fabricは暗号化されたトランザクションをサポートしていますか?

これがどのように機能するかはあまり明確ではありません。注文サービスから、復号化できないトランザクションを受け取ったピアは、それを実行して世界の状態を更新することができないので、他に何ができますか?それをスキップするだけですか?また、トランザクションを有効または無効とマークすることさえできません。

何か不足していますか?

答えて

2

はい、データを暗号化してチェーンコードが引き続きデータを参照し、ロジックを適用できるようにデータを暗号化することは可能です(オフライン暗号化ではなく、ガーベッジが使用できない鎖)。 アイデアは、一時的な入力パラメータ(注文サービスや他のチャネルノードには送信されない)の一部として暗号化キーを渡すことです。エンド・ユーザーとキーを知るノードだけがデータを解読できます。 ファブリックは、2018年第1四半期にリリースされるv1.1では、アクセス状態への暗号化レイヤAPIをサポートします(FAB 830参照)。 チェーン上の暗号化されたデータを持っていることの2つの欠点があります。

  • キーメンテナンスや共有は、プライバシーのではなく、暗号化のために、将来の

で破りキー漏れ+暗号化の

  • オーバーヘッドリスクでありますデータ分離アプローチを選択する方が良いかもしれません。 (!実験):

    • 各個人データは、プライベート状態のハッシュがに含まれている
    • それにアクセスできる組織を定義するコレクションに属していることはFAB 1151、V1.1のも一部が提案しているものです公共の状態が
    • エンドーサは、相
    • その他の許可ノードはゴシップを経由してプライベートな状態を要求することができますコミット過渡記憶領域に取引シミュレーション中に計算非公開状態を維持し、それを適用
    3

    ファブリックv1.0には、ネットワークメンバーのサブセットとプライベートにデータを共有するチャネルの概念があります。チャンネルのメンバーだけがデータを保存し、そのデータにアクセスできます。

    データを暗号化したい場合は、データをブロックチェーンに送信する前に、データを暗号化することがあります。