【问题标题】:Do transactions are submitted as encrypted data to Hyperledger Fabric?交易是否作为加密数据提交给 Hyperledger Fabric?
【发布时间】:2019-04-20 11:26:55
【问题描述】:

我想知道开箱即用的 Hyperledger composer SDK (Node JS) 是否对交易数据提供任何加密。 假设如果我通过以下 composer 终端命令将以下事务写入 Hyperledger Fabric,

composer transaction submit -c admin@tutorial-network -d '{"$class":"net.biz.digitalPropertyNetwork.RegisterPropertyForSale","transactionId":"TRANSACTION_001","seller":"mae@biznet.org","title":"TITLE_001"}'

或通过 hyperledger composer SDK 提交交易,如下代码 sn-p(提取自:https://hyperledger.github.io/composer/v0.19/reference/composer.transaction.submit.html)

const TransactionSubmit = require('composer-cli').Transaction.Submit;

let options = {
  card: 'admin@tutorial-network',
  data: '{"$class":"net.biz.digitalPropertyNetwork.RegisterPropertyForSale","transactionId":"TRANSACTION_001","seller":"mae@biznet.org","title":"TITLE_001"}'
};

TransactionSubmit.handler(options);

我可以看到在上述两种情况下都提供了卡值(admin@tutorial-network)。而且我还可以理解,该卡也包含正确授权访问智能合约(在本例中为 RegisterPropertyForSale)的必要详细信息。

问题是,当我们将交易发送到超级账本结构(结构对等体)进行处理时,它们是否以加密形式发送并由卡签名?还是只是以纯文本格式发送?

【问题讨论】:

    标签: hyperledger-fabric hyperledger hyperledger-composer


    【解决方案1】:

    Fabric 交易未加密;他们当然是签名的。 所有 SDK 都使用与客户端身份关联的私钥(包括 Composer 使用的身份证)对消息进行签名。

    加密交易中的数据留给用户。请注意,如果您确实加密了数据,那么每个将认可链码/智能合约的对等方都必须有权访问加密/解密密钥。也可以通过事务消息中的瞬态数据字段传递它。您需要直接通过 SDK 执行此操作,因为它不是 Composer 客户端内置的。

    【讨论】:

      猜你喜欢
      • 2019-09-29
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多