Hyperledger Fabric: частные данные и состояние мира - PullRequest
0 голосов
/ 26 сентября 2018

Предположим, у меня есть приложение Hyperledger-Fabric, в котором разные участники могут комментировать фотографии друг друга.

Предположим, что есть еще три участника ("организации"): Адам, Боб и Сара.

Кроме того, между Адамом и Бобом Фабриком используется новая функция «Личные данные».Эта функция также используется между Адамом и Сарой.

Предположим, существует транзакция с именем "addCommentToProfile", которую можно использовать для добавления комментариев к другим профилям.

Предположим, Сара отправляет транзакцию "addCommentToProfile", добавив комментарий "ваши волосы выглядят очень хорошо!"в профиль Адама.

Является ли результат транзакции (новый комментарий «Ваши волосы выглядят очень хорошо!» в профиле Адама) невидимым для Боба?

Насколько я понимаю, комментарий не являетсявиден Бобу.Потому что, насколько мне известно, использование личных данных влечет за собой отдельное состояние мира.Следовательно, у Адама будет один профиль в отношении Сары и другой профиль в отношении Боба.

Правильно ли мое понимание?

Ответы [ 5 ]

0 голосов
/ 11 июля 2019

С вашей точки зрения, Боб увидит, что Сара прокомментировала профиль Адама (хеш), но он не увидит, что это за комментарий, а Адам и Сара увидят содержание комментария.

0 голосов
/ 10 октября 2018

Все просто.

В приложении Fabric (v1.2) есть три организации: Адам (org1), Боб (org2) и Сара (org3).и вы определяете подмножество организации на канале между Адамом (org1) и Сарой (org3). Вы создаете частный канал сбора данных, состоящий только из Адама (org1) и Сара (org3).Обратите внимание, что вы не создаете отдельный канал.

Таким образом, данные видны только между этими сторонами, а не Адаму (org2). Адам (org2) получит только хэш.Хеш служит доказательством транзакции и используется для проверки состояния и может использоваться для целей аудита. Но ваши данные остаются закрытыми (зашифрованными).Да, вы правы.

0 голосов
/ 08 октября 2018

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

Что касается вашего вопроса, ответ - да, вы понимаете правильно - по крайней мере, исходя из того, что у вас естьписьменный.

Подробнее об этой функции вы можете прочитать в документации .

0 голосов
/ 09 октября 2018

Да, ваше понимание верно.

Используя функцию «личных данных» в Fabric, вы можете скрыть свои данные от организаций, которые находятся на канале с вашей организацией, но не хотите, чтобы они видели вашиданные.Только хэш данных отправляется в канал.Отправка хеша не позволяет неавторизованным организациям и службам заказов просматривать ваши данные.

0 голосов
/ 04 октября 2018

это тоже мое понимание после рассмотрения всей концепции приватной даты.

в отношениях Адама и Боба, между вами есть частная сделка.Сами данные находятся в отдельной отдельной базе данных, к которой у Сары нет доступа.

В документации они упоминаются как частные коллекции данных между конкретными организациями и не хранятся в базе данных главной книги.Кроме того, каждый узел двух участвующих организаций будет иметь свою собственную копию этих побочных данных, что означает, что API, которые общаются с этими узлами, будут иметь доступ к этим данным.У Сары не будет данных, поскольку они не будут отправлены коллегам этой организации.

Так что сценарий, который вы представили, кажется точным.

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

Это мое понимание этого на данный момент

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...