如何向交易链中的最后参与者隐藏交易的完整历史记录?

Abi*_*Abi 3 history transactions privacy corda

通过多方链接交易时,我看到最终接收方对他们可见整个交易历史

即使我使用非验证公证人并怀疑这是因为BroadcastTransactionFlow调用CoreFlowHandlers.NotifyTransactionHandlerwhich 调用subFlow(ResolveTransactionsFlow())并正在解析链中的最后一笔交易以获取最终接收方的整个历史记录也是如此。

这是准确的吗?调用ResolveTransactionsFlow以获取依赖事务作为BroadcastTransactionFlow. 作为 Cordapp 开发人员,是否有建议的方法来保护这些信息?

小智 5

很好的一点:您已经强调了分布式账本(例如 Corda)和分布式数据库之间的根本区别。

对于分布式数据库,假设节点彼此信任,因此它们可以以面值获取集群中另一个节点发送给它们的任何数据。对于分布式账本,我们做出了一个非常不同的假设:我们假设不同的节点由不同的方操作,并且它们可能试图相互欺骗。

因此,如果我向您发送一笔交易,声称要在大通银行向您转账 100 万美元,您不能简单地相信我,这笔钱存在,它是我的,现在是您的。您还必须验证. 您需要查看从 Chase 发放现金开始的一系列证据,其中包括每次转账,直到它到达您手中。

因此,ResolveTransactionsFlow:它是系统完整性的基础。这就是我向你证明我告诉你的毫无疑问是真的。

我在这里更深入地写了这个:https : //gendal.me/2016/11/08/on-distributed-databases-and-distributed-ledgers/

但是,正如您正确观察的那样,这会导致一个问题……您可能会了解我不想让您知道的内容!

好消息是,琴弦是迄今为止在这方面分布式莱杰的最佳...的ResolveTransactionsFlow让你可以把证据链,你需要,但没有更多...它是需要的最小集合。大多数其他平台不分青红皂白地到处散布数据……完全是隐私灾难!

此外,我们还包含诸如密钥随机化之类的技术,因此您不会了解有关先前参与者是谁的任何信息。

更妙的是,我们最近宣布了一项突破,将 Corda 的隐私故事提升到一个全新的水平:支持英特尔的 SGX 技术。Mike 在这里写道:https : //www.corda.net/2017/06/corda-sgx-privacy-update/

所以最重要的是:如果您需要一个允许相互不信任的各方“信任但验证”的平台,那么 DLT 适合您。如果你关心隐私,那么 Corda 是迄今为止最好的平台......而且它只会变得更好:)