Поддерживает ли кворум конфиденциальность между учетными записями, когда несколько учетных записей используют один и тот же узел кворума?

Из того, что я понимаю из этой вики по обработке транзакций , кворум-узлы, которые имеют доступ к частному Tx, будут обновлять свои частные stateDbs.

Мой вопрос: могут ли две разные учетные записи получить доступ к одному узлу и выполнять частные транзакции с другой учетной записью в другом узле?
Например,
к узлу-A будут обращаться две учетные записи A1,A2.
К узлу-B будут обращаться две учетные записи B1,B2.
Теперь может ли A1 выполнить частную передачу с B1, что приведет к обновлению private-state-A1 и private-state -Б1?

Я чувствую, что я что-то неправильно понял здесь, но я не уверен, что это такое. Я совсем запутался.

Пожалуйста помоги. Спасибо.

Ответы (1)

У вас будет:

  • Узел A с открытым состоянием и частным состоянием A прослушивает A1 и A2.
  • Узел B с открытым состоянием и частным состоянием B прослушивает B1 и B2.

A1 отправит privateForтранзакцию to: B1. Поскольку он частный, он передаст транзакцию менеджеру транзакций. Менеджер транзакций будет знать, что узел B прослушивает B1, и передаст его анклаву для шифрования. Подписанное сообщение возвращается. Менеджер транзакций отправляет подписанное сообщение узлу B, который расшифровывает, подтверждает и записывает хэш транзакции. Узел A помещает хэш транзакции в общедоступное состояние (хеш частной транзакции).

Теперь узел A и узел B знают о приватной транзакции от A1 к B1, но она не была включена в цепочку. Они ждут добытую транзакцию с хэшем транзакции (о котором знают только они). Это делается для того, чтобы установить место частной транзакции в общем порядке сетевых транзакций.

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

Вероятно, лучше думать о частном состоянии контракта, а не о разговоре A1 с B1 — больше похоже на то, как A1 развертывает контракт A1B1 privateFor [A1, B1]. Это начнется с транзакции развертывания контракта privateForA1 и B1. Каждый из A1 и B1 будет отправлять транзакции в частный контракт, который имеет внутреннее частное состояние. Это излагает раздел предмета, о котором будут знать A1 и B1, и, соответственно, узел A и узел B.

Насколько я понимаю, существует сильная уверенность в том, что узел C ничего не знает об этом контракте или его состоянии.

Надеюсь, это поможет.

Мне еще есть что наверстать у себя. Но ваше объяснение дает лучшую перспективу. Спасибо. Таким образом, у каждого узла есть только одно частное состояние, даже если к нему обращаются несколько узлов. Это будет означать, что в приведенном выше примере A2 и B2 будут иметь доступ к контрактам и транзакциям, которые являются privateForA1 и B1, верно?
Насколько я понимаю, одно приватное состояние на ноду.