使用Hyperledger Composer中的认可来设计流程

时间:2017-12-06 13:20:05

标签: hyperledger-fabric hyperledger hyperledger-composer

注意:我正在寻求了解代言如何运作。这将帮助我确定在使用Hyperledger Composer时如何设计应用程序。

当我阅读链接herehere时,我发现了这样的声明:"交易必须“得到认可”,并且只有经过认可的交易可能会被提交并对其产生影响状态&#34 ;.声明很清楚。但是,让我们考虑一下作曲家开发人员教程here。我们有一种商品,目前由所有者(Trader1)拥有,可以将其出售给其他人(交易商2)。目前,需要多少代言才能将交易放在区块链上?因为,在运行应用程序时,我只提交交易交易并获得结果。我只处理一个函数,我得到了结果。作为程序员,以下事情对我来说是透明的:

创建交易提案, 当交易提案得到认可并由谁支持时, 是否认可是由人在另一端明确执行,还是由编码以编程方式完成 该代言人的提案回复及其数量, 当应用程序验证签名对等签名时 当应用程序从事务提议和响应中创建事务消息时 等

我所做的就是提交一笔交易并获得结果。

因此,除了文中的理论之外,我很难评估认可政策的价值。因此,设计程序以利用它的困难。例如,考虑我们可以用来处理交易的两种情况:

  1. 在提交交易之前,我们需要卖方和买方的2个背书。这实际上是一个交易(这对我来说是透明的)
  2. 在提交交易之前,我们需要卖方和买方的2个授权。这些授权可以更新商品中的状态,以便我们获得卖方和买方的批准。这可能是2笔交易,即 sellerTradeRequest buyerTradeApproval 。 sellerTradeRequest可以更新commodity.sellerApproval = true,而buyerTradeApproval可以更新commodity.buyerApproval = true。然后,最终的交易交易在交易交易之前检查商品上的状态是否正常,即commodity.sellerApproval = true和commodity.buyerApproval = true。
  3. 如果我明确区分1和2,尤其是作曲家如何启用1。那么也许我会开始了解如何使用代言。

    有人可以帮忙吗?

2 个答案:

答案 0 :(得分:3)

docs中描述了认可流程。也就是说,简单来说,认可过程涉及认可对等方使用其证书签署交易提案的读/写集。这基本上说:由签名证书识别的对等体断言这些是建议的事务模拟的读/写集。

调用建议事务的客户端需要知道该信道/链代码的认可策略,以便它可以将建议的事务传输给每个支持对等体(或者支持对等体的足够子集以满足策略) 。当它收到来自每个认可对等方的响应时,它将检查该交易是否有效,然后将所认可的交易广播到订购服务,订购服务将其添加到一个块并广播给该通道的验证对等方。

然后验证对等方将根据块中的事务验证通道/链代码的认可策略,以确保:

  1. 所有认可都有效(即,它们是来自有效证书的有效签名而非预期消息)
  2. 有适当数量的背书
  3. 代言来自预期来源
  4. 如果满足认可政策,则提交事务并使用读/写集更新世界状态。

    目前,Composer无法管理认可政策,但这绝对是发展路线图。

答案 1 :(得分:-1)

认可政策使您有机会向区块链添加额外的验证图层。您可以在创建频道时进行定义。

  • 当(初始)同行发送提案时,所有提案中的第一项将发送给您在背书政策中定义的所有同行。
  • 然后,每个Endorser Peer对其分类帐执行提案。 Endorser Peer会将签署的结果发送给Initial Peer。
  • Initial Peer将收到多个respone。然后,Initial Peer将验证所有签名并将比较每个响应的结果。每个Endorse Peer发送的结果必须相同。
  • 在这种情况下,Initial Peer会将交易发送给Orderers。该交易将包含所有Endorses Peers的所有回复。

因此,您应该根据您的要求定义您的认可政策