Hyperledger Fabric:Hyperledger中私钥的存储方式?

时间:2018-03-11 18:00:20

标签: blockchain hyperledger-fabric hyperledger hyperledger-composer smartcontracts

情景:

每个对等方都会向区块链发送一个私人号码,智能合约应添加这些号码并公开分享结果。每个节点只能看到它的编号。

在超级数据中,数字已加密,因此用户无法查看数字。但是,智能合约可以访问解密密钥,这是添加数字所必需的。知道智能合约被复制到所有对等方并且存储在本地。因此,用户可以访问智能合约,而智能合约又可以访问解密密钥。因此,用户可以通过篡改机器来获得解密密钥。如果是这种情况那么它就不是完全安全的。我是对的吗?

问题2: 私钥是否存储在所有节点上?

问题3: 代码是否只能作为限制具有私钥的节点数的代言人?

1 个答案:

答案 0 :(得分:3)

有多种假设/概念可能并非100%正确。我希望您再花一些时间来了解HLF的工作原理。

  • 智能合约(读取Hyperledger Fabric的链码)始终是公开的,至少对管理员或合同中所有参与方的决策者都是公开的。通常,智能合约与各方的最终用户隔离,因此最终用户访问链码不会那么容易。同样,在HLF中,链码是在部署之前构建的,这可以增加一层安全性。现在,您要说的是,如果您将私钥放在链码上,那么它将向该合同的所有参与者公开(取决于各方)。

  • 通过私钥,我假设您是在谈论最终用户的私钥。现在由最终用户或组织决定密钥的存储位置。 Hyperledger默认情况下不存储任何私钥/公钥。同样,这都是关于如何管理每个组织的用户的。

  • 是的,Chaincode可以在有限数量的节点上运行,并且与私钥无关(假设这些是您正在谈论的用户私钥)