6

这个问题经常出现在对话中:当 Corda 交易被发送到非验证公证服务进行最终确定时,公证服务可以看到和推断出什么?

4

1 回答 1

6

在将交易发送给非验证公证人之前,它会被过滤如下:

stx.buildFilteredTransaction(Predicate { 
    it is StateRef || it is TimeWindow || it == notaryParty 
})

(请参阅 Corda 主仓库中的 NotaryFlow.kt)。这意味着非验证公证人只会看到:

  • 任何输入,形式为StateRefs
  • 时间窗口,如果存在(因为公证人也是时间戳权威)
  • 交易公证人的身份

因为交易是一棵 Merkle 树(见https://docs.corda.net/_images/merkleTree.png),虽然剩下的组件已经被移除,无法被公证人看到,但交易的内容却可以'一旦应用公证签名,以后就不能更改。

于 2017-11-20T09:28:00.727 回答