Этот вопрос часто возникает в разговорах: когда транзакция Corda отправляется в нотариальную службу, не подтверждающую валидацию, для завершения, что нотариальная служба может видеть и делать выводы о мире?
Какие данные отправляются в Corda в непроверяющую нотариальную службу?
Ответы (1)
Перед отправкой транзакции нотариусу, не прошедшему валидацию, она фильтруется следующим образом:
stx.buildFilteredTransaction(Predicate {
it is StateRef || it is TimeWindow || it == notaryParty
})
(см. NotaryFlow.kt в основном репо Corda). Это означает, что нотариус, не прошедший валидацию, увидит только:
- Любые входные данные в виде
StateRef
s - Временное окно, если оно существует (поскольку нотариус также является органом, устанавливающим временные метки)
- Личность нотариуса сделки
Поскольку транзакция представляет собой дерево Меркла (см. https://docs.corda.net/_images/merkleTree.png), хотя остальные компоненты были удалены и не могут быть просмотрены нотариусом, содержимое транзакции не может быть изменено позже после того, как нотариальная подпись будет применена.
person
Joel
schedule
20.11.2017
Привет @joel! Цените идеи :) Знаете ли вы, какую информацию можно изменить на основе StateRef и какая дополнительная информация потребуется злоумышленнику, чтобы успешно это сделать? Спасибо!
- person Richard Logwood; 30.03.2018
@RichardLogwood Это интересный вопрос. Вы можете поднять это как отдельный вопрос, и я дам ответ?
- person Joel; 03.04.2018