【问题标题】:How do I hide the full history of transactions from a party who is the last participant in a transaction chain?如何隐藏交易链中最后一个参与者的完整交易历史?
【发布时间】:2017-07-14 06:57:50
【问题描述】:

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

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

这是准确的吗?是否存在调用ResolveTransactionsFlow 以获取作为BroadcastTransactionFlow 一部分的依赖事务的设计原理。作为 Cordapp 开发人员,是否有建议的方法来保护这些信息?

【问题讨论】:

    标签: transactions history privacy corda


    【解决方案1】:

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

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

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

    因此 ResolveTransactionsFlow:它是系统完整性的根本。这就是我向你证明我所说的毫无疑问是真实的。

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

    但是,正如您正确观察到的那样,这会导致问题...您可能会了解我不想让您知道的东西!

    好消息是 Corda 在这方面是迄今为止最好的分布式分类帐... ResolveTransactionsFlow 允许您获取所需的证据链,但没有更多...这是最小的需要设置。大多数其他平台不分青红皂白地将数据散布在各处……一场彻底的隐私灾难!

    此外,我们还包括密钥随机化等技术,因此您无需了解之前的参与者是谁。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多