Конфиденциальность данных Hyperledger Fabric

Я не нашел хорошего учебника или статьи, отвечающей на этот вопрос до сих пор, может быть, вы можете помочь. Я хочу сделать следующее:

Узел A в Org 1 вызывает код цепи, этот код имеет доступ только к данным, доступным в Org 2, а узел A никогда не получает доступ к полной информации.

Я знаю, что Hyperledger Fabric поддерживает частные каналы и личные данные, возможно ли выполнить это требование? Если да, можете ли вы указать мне правильное направление, чтобы сделать это?

1 ответ

Да, это возможно. ниже приведены шаги для достижения. Используя личные данные, вы можете выполнить ваши требования, но вам не нужно много работать. Вы также следуете документации на ткань, я предоставил ссылки здесь.

  1. Клиентское приложение отправляет запрос предложения для вызова функции цепного кода (чтение или запись личных данных) для одобряющих одноранговых узлов, которые являются частью уполномоченных организаций коллекции. Личные данные или данные, используемые для генерации личных данных в цепочечном коде, отправляются в переходном поле предложения.

  2. Подтверждающие одноранговые узлы моделируют транзакцию и хранят личные данные во временном хранилище данных (временное хранилище, локальное для однорангового узла). Они распространяют личные данные, основанные на политике сбора, авторизованным партнерам через сплетни.

  3. Подтверждающий узел отправляет ответ на предложение обратно клиенту с открытыми данными, включая хэш ключа и значения закрытых данных. Частные данные не отправляются обратно клиенту.

Проверьте это для одобрения: https://hyperledger-fabric.readthedocs.io/en/release-1.4/private-data-arch.html

  1. Клиентское приложение отправляет транзакцию службе заказа (с хэшами личных данных), которая распределяется по блокам в обычном режиме. Блок с хэшированными значениями распределяется по всем одноранговым узлам. Таким образом, все одноранговые узлы в канале могут проверять транзакции с помощью хэшей личных данных согласованным способом, не зная реальных личных данных (это то, что вам нужно сделать).

  2. Во время фиксации блока авторизованные одноранговые узлы используют политику сбора данных, чтобы определить, имеют ли они право на доступ к частным данным (для чтения блочных данных). Если они это сделают, они сначала проверят свое локальное хранилище временных данных, чтобы определить, получили ли они уже личные данные во время подтверждения цепного кода. Если нет, они попытаются получить личные данные от другого партнера. Затем они проверят личные данные по хешам в публичном блоке и передадут транзакцию и блок. После проверки / подтверждения личные данные перемещаются в свою копию частной государственной базы данных и частного хранилища записей. Затем личные данные удаляются из временного хранилища данных.

Ресурсы: https://hyperledger-fabric.readthedocs.io/en/release-1.4/private-data/private-data.html

Другие вопросы по тегам