在Corda中,哪些数据会发送到非验证公证服务?

时间:2017-11-20 08:07:09

标签: blockchain corda consensus

这个问题经常出现在对话中:当Corda交易发送到非验证公证服务进行最终确定时,公证服务可以看到并推断出世界的哪些内容?

1 个答案:

答案 0 :(得分:5)

在将交易发送给非验证公证人之前,会按如下方式对其进行过滤:

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

(参见主要Corda回购中的NotaryFlow.kt)。这意味着非验证公证人只会看到:

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

由于交易是Merkle树(参见https://docs.corda.net/_images/merkleTree.png),虽然其余的组件已被删除且公证人无法看到,但交易内容无法更改之后,一旦申请了公证人签名。