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

Ant*_*ony 5 consensus blockchain corda

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

Joe*_*oel 5

在将事务发送到非验证公证人之前,它按如下方式过滤:

stx.buildFilteredTransaction(Predicate { 
    it is StateRef || it is TimeWindow || it == notaryParty 
})
Run Code Online (Sandbox Code Playgroud)

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

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

因为事务是Merkle树(请参阅https://docs.corda.net/_images/merkleTree.png),虽然其余组件已被删除且公证人无法看到,但事务的内容可以'一旦应用了公证人签名,就可以稍后更改.