Конфиденциальность на уровне собственности в Hyperledger Fabric 1.0

Возможно ли достичь конфиденциальности на уровне свойств в Fabric 1.0? Например: если у меня есть цепной код, представляющий договор аренды. Я хочу, чтобы только арендатор и арендодатель видели все детали, банки видели только условия оплаты, а фактический владелец видел все, кроме условий оплаты. Как я могу добиться этого в Fabric 1.0. Если я использую каналы, мне нужно будет развернуть два разных контракта, и общее количество каналов, которые я могу создать, ограничено производительностью сети. Каналы не предназначены для использования для обеспечения конфиденциальности на уровне собственности. Я не хочу делать это вне сети, а также не хочу использовать шифрование в цепочке, поскольку я не могу применять к нему интеллектуальные операции. Какое лучшее решение для этого?


person Narayan Prusty    schedule 14.06.2017    source источник


Ответы (3)


Боковая база данных для данных частного канала планируется в качестве будущей функции для Hyperledger Fabric, где она сможет ограничивать данные только подмножеством одноранговых узлов, в то время как свидетельство данных доступно всем в канале. Подробнее здесь (https://jira.hyperledger.org/browse/FAB-1151)

person adnan.c    schedule 31.07.2017

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

Таким образом, в отсутствие декларативного контроля доступа со стороны механизма ACL вам пришлось бы использовать getCurrentParticipant() runtime API и добавлять проверки процедурного контроля доступа к функциям вашего процессора транзакций.

Вы можете прочитать о языке ACL здесь: https://hyperledger.github.io/composer/reference/acl_language.html

person Dan Selman    schedule 14.06.2017
comment
то, что вы упомянули, - это разрешение, а не конфиденциальность. У однорангового узла все еще будут данные, и для их чтения можно применить обратный инжиниринг. - person Narayan Prusty; 15.06.2017

Взгляните на личные данные Fabric 1.2. См. Официальную документацию здесь. Он предоставляет боковую БД, упомянутую в одном из ответов.

person Abhinay B    schedule 23.08.2018