Не использует Corda FinalityFlow - PullRequest
0 голосов
/ 28 ноября 2018

Давайте рассмотрим транзакцию DvP между NodeA (владельцем облигации) и NodeB (владельцем денежной наличности), где

  • NodeA отправляет облигацию на NodeB.
  • NodeB отправляет деньги на NodeA.

NodeA создает передачу, из которой состоит InputStates: BondState (запрашивается из его хранилища) + CashState (отправляется NodeB в NodeA с использованием SendStateAndRefFlow).

Предположим, что NodeA не использует Corda FinalityFlow.NodeA отправляет передачу нотариусу.Предположим, что нотариус это подтверждает.Нотариус затем отправляет обратно в NodeA.До этого момента оба InputStates в tx были помечены как использованные.

Теперь, что происходит, если NodeA является мошенническим, и он не передает эту передачу в NodeB?Денежные средства NodeB были помечены как использованные, но еще не получили облигации.

1 Ответ

0 голосов
/ 29 ноября 2018

Интересный вопрос.

Я не думаю, что здесь мы обязательно будем иметь дело с мошенническим узлом, поскольку Узел B должен будет только подписать транзакцию, подтвердив, что он является новым владельцем облигации.В вашем сценарии нотариус будет регистрировать состояние связи с NodeA в качестве владельца в качестве потраченного, а NodeA будет держать бонг с NodeB в качестве владельца.Таким образом, NodeA не сможет совершить мошенничество, если предположить, что только текущий владелец может продать по облигации.

Однако мы имеем дело с вредоносным узлом, и мы должны рассмотреть это с точки зренияперспектива того, что NodeA получает от этого.Помимо создания проблемы для NodeB, NodeA ничего не выигрывает.Они не могут продолжать использовать облигацию.

Таким образом, вы ожидаете, что NodeA откроет себя для судебного разбирательства без какой-либо выгоды.

...