通过多方链接交易时,我发现最终收件人方可以看到整个交易历史记录
即使我使用非验证公证人并怀疑这是因为BroadcastTransactionFlow
调用CoreFlowHandlers.NotifyTransactionHandler
调用subFlow(ResolveTransactionsFlow())
并且正在解析链中的最后一个事务以获取最终接收方的整个历史。
这准确吗?是否有一个设计原理来调用ResolveTransactionsFlow
来获取作为BroadcastTransactionFlow
的一部分的从属事务。有没有建议的方法来保护这些信息作为Cordapp开发人员?
答案 0 :(得分:3)
非常好的一点:您已经强调了分布式分类账(如Corda)与分布式数据库之间的根本区别。
对于分布式数据库,假设节点彼此信任,因此它们可以采用面值中的另一个节点发送给它们的任何数据。使用分布式分类帐,我们做出了一个非常不同的假设:我们假设不同的节点由不同的各方操作,并且他们可能试图互相欺骗。
因此,如果我向您发送一份意图将大通银行100万美元转移给您的交易,您不能仅仅相信我存钱,它是我的,现在是你的。您还必须验证。你需要看到一系列证据,这些证据从Chase发行现金开始,包括每次转账,直到它到达你。
因此ResolveTransactionsFlow:它对系统的完整性至关重要。这就是我如何向你证明我所告诉你的无疑是真的。
我在这里更深入地写了这篇文章:https://gendal.me/2016/11/08/on-distributed-databases-and-distributed-ledgers/
但是,正如您所正确观察到的那样,这会导致问题...您可能会了解我不想让您知道的内容!
好消息是Corda是迄今为止在这方面最好的分布式分类帐...... ResolveTransactionsFlow允许您获取所需的证据链但不再 ......它&#39 ; s所需的最小集合。大多数其他平台不分青红皂白地喷洒数据......完全隐私灾难!
此外,我们还包括关键随机化等技术,因此您无法了解以前的参与者是谁。
而且,更好的是,我们最近宣布了一项突破,将Corda的隐私故事提升到一个全新的水平:支持英特尔的SGX技术。迈克在这里写到:https://www.corda.net/2017/06/corda-sgx-privacy-update/
所以底线:如果你需要一个平台,允许相互不信任的各方“信任但是验证”#34;然后DLT适合你。如果您关心隐私,那么Corda是迄今为止最好的平台......它只会变得更好:)