Hyperledger 中的交易证书如何用于加强隐私保护?
How can the transaction certificates in Hyperledger be used to enforce privacy?
我正在 Hyperledger 中创建一个区块链应用程序,为一家制造公司执行投标流程。投标过程涉及 4 个供应商(供应商 A 到供应商 D)。出价最低者获胜。
我可以为此创建链码。然而,由于它是一个区块链,供应商可以看到彼此的出价(例如,通过简单地查看区块的内容)。此外,未中标的供应商将知道谁真正中标。
我想在区块链中执行以下隐私规则:
a. the bid of a particular supplier should be viewable only by the manufacturing company and the supplier itself (e.g., supplier A cannot see the bid of supplier B)
b. only the manufacturing company and the winning supplier knows who won (e.g., if supplier A loses the bid, supplier A only knows that it lost the bid but has no idea who won)
我查看了交易证书的用途,我认为这将解决我的隐私问题。
我可以使用 REST API 请求多个交易证书。但是,我不确定如何使用交易证书。
它是否打算在链码之外使用(例如,它是否用于加密将传递给调用函数的参数)?
或者它是作为参数传递给链代码函数并在链代码内部使用它来加密特定数据,然后再将其存储在区块链中?
如何使用交易证书执行实际加密?
我目前正在为我的链代码使用 Hyperledger fabric v0.6。对于我的前端,我使用 Node.JS HFC SDK v0.6.5.
是否有示例代码可作为我了解如何使用交易证书解决隐私问题的基础?
注册用户可以申请交易证书。然后,这些证书用于在区块链上调用 Chaincode 交易。我认为这些证书不会让你隐私,它们更多是为了验证交易的所有者。
但是,如果我是你,我会开始使用 Hyperledger Fabric 的 v1.0。
- Hyperledger fabric v0.6是为了测试区块链优缺点而开发的项目。他们意识到网络中的每个节点都需要执行每笔交易,维护分类账和 运行 共识。因此,它们无法很好地扩展,也无法支持真正的私人交易和机密合约。 https://www.youtube.com/watch?v=EKa5Gh9whgU
- v1.0 让您有机会在您的网络中创建独立的区块链。多亏了渠道,这是可能的。当你定义一个通道时,你定义了谁是它的成员,因此,只有那些节点可以通过该通道发送交易。因此,只有频道成员才能看到您的交易。
- 因此,对于您的方法,您应该创建四个渠道,每个渠道对应一个供应商。制造公司应该是所有渠道的成员。
在我看来,现在有更多关于 v1.0 的信息。
除了 allenchen 之前所说的手动方式之外,我认为今天没有其他方法可以执行此操作。但是,您可能希望关注一些未解决的问题:
- 支持 Hyperledger 中的私有数据:https://jira.hyperledger.org/browse/FAB-5131
- 和 Side DB - Channel Private Data - 实验性功能
https://jira.hyperledger.org/browse/FAB-1151 done recently as a experimental feature and being promoted to production on: https://jira.hyperledger.org/browse/FAB-8718
祝您用例顺利!
我正在 Hyperledger 中创建一个区块链应用程序,为一家制造公司执行投标流程。投标过程涉及 4 个供应商(供应商 A 到供应商 D)。出价最低者获胜。
我可以为此创建链码。然而,由于它是一个区块链,供应商可以看到彼此的出价(例如,通过简单地查看区块的内容)。此外,未中标的供应商将知道谁真正中标。
我想在区块链中执行以下隐私规则:
a. the bid of a particular supplier should be viewable only by the manufacturing company and the supplier itself (e.g., supplier A cannot see the bid of supplier B)
b. only the manufacturing company and the winning supplier knows who won (e.g., if supplier A loses the bid, supplier A only knows that it lost the bid but has no idea who won)
我查看了交易证书的用途,我认为这将解决我的隐私问题。
我可以使用 REST API 请求多个交易证书。但是,我不确定如何使用交易证书。
它是否打算在链码之外使用(例如,它是否用于加密将传递给调用函数的参数)?
或者它是作为参数传递给链代码函数并在链代码内部使用它来加密特定数据,然后再将其存储在区块链中?
如何使用交易证书执行实际加密?
我目前正在为我的链代码使用 Hyperledger fabric v0.6。对于我的前端,我使用 Node.JS HFC SDK v0.6.5.
是否有示例代码可作为我了解如何使用交易证书解决隐私问题的基础?
注册用户可以申请交易证书。然后,这些证书用于在区块链上调用 Chaincode 交易。我认为这些证书不会让你隐私,它们更多是为了验证交易的所有者。
但是,如果我是你,我会开始使用 Hyperledger Fabric 的 v1.0。
- Hyperledger fabric v0.6是为了测试区块链优缺点而开发的项目。他们意识到网络中的每个节点都需要执行每笔交易,维护分类账和 运行 共识。因此,它们无法很好地扩展,也无法支持真正的私人交易和机密合约。 https://www.youtube.com/watch?v=EKa5Gh9whgU
- v1.0 让您有机会在您的网络中创建独立的区块链。多亏了渠道,这是可能的。当你定义一个通道时,你定义了谁是它的成员,因此,只有那些节点可以通过该通道发送交易。因此,只有频道成员才能看到您的交易。
- 因此,对于您的方法,您应该创建四个渠道,每个渠道对应一个供应商。制造公司应该是所有渠道的成员。
在我看来,现在有更多关于 v1.0 的信息。
除了 allenchen 之前所说的手动方式之外,我认为今天没有其他方法可以执行此操作。但是,您可能希望关注一些未解决的问题:
- 支持 Hyperledger 中的私有数据:https://jira.hyperledger.org/browse/FAB-5131
- 和 Side DB - Channel Private Data - 实验性功能 https://jira.hyperledger.org/browse/FAB-1151 done recently as a experimental feature and being promoted to production on: https://jira.hyperledger.org/browse/FAB-8718
祝您用例顺利!