Я создаю блокчейн-приложение в Hyperledger, которое выполняет процесс торгов для производственной компании. В процессе торгов участвуют 4 поставщика (от поставщика А до поставщика D). Побеждает тот, у кого самая низкая ставка.
Я могу создать чейнкод для этого. Однако, поскольку это блокчейн, поставщики могут видеть заявки друг друга (например, просто просматривая содержимое блоков). Кроме того, не выигравшие поставщики будут знать, кто на самом деле выиграл процесс торгов.
Я хочу применить следующие правила конфиденциальности в блокчейне:
а. предложение конкретного поставщика должно быть доступно для просмотра только компании-производителю и самому поставщику (например, поставщик А не может видеть предложение поставщика Б)
б. только компания-производитель и выигравший поставщик знают, кто выиграл (например, если поставщик А проиграет заявку, поставщик А знает только, что он проиграл заявку, но понятия не имеет, кто выиграл)
Я изучил назначение сертификата транзакции и думаю, что это решит мою проблему конфиденциальности.
Я могу запросить несколько сертификатов транзакций с помощью REST API. Однако я не уверен, как использовать сертификаты транзакций.
Предназначен ли он для использования вне чейнкода (например, используется ли он для шифрования параметров, которые будут переданы в функцию вызова)?
Или он предназначен для передачи в качестве параметра функции чейнкода и использования его внутри чейнкода для шифрования определенных данных перед их сохранением в цепочке блоков?
Как выполнить фактическое шифрование с использованием сертификатов транзакций?
В настоящее время я использую v0.6 ткани Hyperledger для своего чейнкода. В качестве внешнего интерфейса я использую Node.JS HFC SDK v0.6.5.
Есть ли пример кода, который я могу использовать в качестве основы для понимания того, как сертификаты транзакций используются для защиты конфиденциальности?