【问题标题】:How can the transaction certificates in Hyperledger be used to enforce privacy?Hyperledger 中的交易证书如何用于保护隐私?
【发布时间】:2017-03-09 00:37:04
【问题描述】:

我正在 Hyperledger 中创建一个区块链应用程序,该应用程序为一家制造公司执行投标流程。投标过程涉及 4 家供应商(供应商 A 到供应商 D)。出价最低者获胜。

我可以为此创建链代码。然而,由于它是一个区块链,供应商可以看到彼此的出价(例如,通过简单地查看块的内容)。此外,未中标的供应商将知道谁真正赢得了投标过程。

我想在区块链中执行以下隐私规则:

一个。特定供应商的投标应仅由制造公司和供应商本身可见(例如,供应商 A 无法看到供应商 B 的投标)

b.只有制造公司和中标供应商知道谁中标(例如,如果供应商 A 中标,供应商 A 只知道它中标但不知道谁中标)

我查看了交易证书的用途,我认为这将解决我的隐私问题。

我可以使用 REST API 请求多个交易证书。但是,我不确定如何使用交易证书。

它是否打算在链码之外使用(例如,它是否用于加密将传递给调用函数的参数)?

或者它是否意味着作为参数传递给链码函数并在链码中使用它来加密特定数据,然后再将其存储到区块链中?

如何使用交易证书执行实际加密?

我目前正在为我的链代码使用 Hyperledger 结构的 v0.6。对于我的前端,我使用的是 Node.JS HFC SDK v0.6.5。

是否有示例代码可供我用作了解如何使用交易证书解决隐私问题的基础?

【问题讨论】:

  • 您确定哪种方法最适合您吗?

标签: blockchain hyperledger hyperledger-fabric


【解决方案1】:

注册用户可以申请交易证书。然后,这些证书用于在区块链上调用 Chaincode 交易。我认为这些证书不会让你隐私,它们更多是为了验证交易的所有者。

但是,如果我是你,我会开始使用 Hyperledger Fabric v1.0。

  • Hyperledger Fabric v0.6 是一个为测试区块链优缺点而开发的项目。他们意识到,网络中的每个对等点都需要执行每笔交易、维护账本并达成共识。因此,它们不能很好地扩展,不能支持真正的私人交易和机密合同。 https://www.youtube.com/watch?v=EKa5Gh9whgU
  • v1.0 让您有机会在网络中创建独立的区块链。多亏了渠道,这才成为可能。当你定义一个通道时,你定义了谁是它的成员,因此,只有那些对等方可以通过该通道发送交易。因此,只有频道成员才能看到您的交易。
  • 因此,对于您的方法,您应该为每个供应商创建四个渠道。制造公司应该是所有渠道的成员。

在我看来,现在有更多关于 v1.0 的信息。

【讨论】:

  • 我认为为每个供应商创建一个渠道是不切实际的。可能有数百个供应商。管理这么多渠道是很困难的。不是吗?
  • 如何将信息从一个渠道传输到另一个渠道?是否必须在链下完成?
  • 一旦制造公司拿到供应商A到D的标书,如何保证这四家供应商会执行“最低价中标”规则?我假设“最低投标获胜”将在单独的链码中实现,该链码部署在供应商无法访问的渠道中,否则供应商将看到彼此的投标。由于供应商无法访问此渠道,因此供应商不确定是否真的考虑了他们的投标。
  • 区块链让我们有机会管理分布式账本。因此,我们将开发的业务逻辑是我们的责任。区块链无法解决我们所有的问题。然后,您应该使用通道在我们的网络/区块链中创建隔离的迷你区块链。创建通道后,它们很容易管理。最后,没有人可以保证制造公司不会欺骗供应商。这也发生在我们的日常生活中。区块链不会解决我们所有的问题。
  • 我同意你关于业务逻辑管理渠道的责任。一个投标可能有 4 个供应商,但一年的投标可以有数百个供应商。对于制造公司来说,它应该加入所有这些渠道。是否可以在同一个链码中访问这些单独的分类帐?
【解决方案2】:

我认为除了 allenchen 之前所说的以手动方式执行此操作之外,今天没有其他方法可以执行此操作。但是,您可能希望关注一些未解决的问题:

祝你的用例好运!

【讨论】:

    猜你喜欢
    • 2019-08-17
    • 1970-01-01
    • 2016-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多