Hyperledger共识 - 它是如何运作的?

时间:2018-04-10 12:57:54

标签: hyperledger-fabric hyperledger-composer consensus

这是我们的用例: 安娜想把她的股票出售给彼得,奥尔加需要批准它(作为公司的所有者)。

如何协调区块链超级结构组织/作曲家?

特别是,交易的哪一部分是交易,什么是提案(提案需要生物实体批准交易?)以及如何处理区块链,应用程序和外部会发生什么?申请。

请尽可能具体。 谢谢!

2 个答案:

答案 0 :(得分:2)

首先要做的事情: Composer使用底层区块链配置使用的任何一致性算法。所以; Hyperledger Fabric目前提供SOLO或KAFKA。 KAFKA仅提供容错,而不是拜占庭容错。

所以: 确实存在背书政策,这就是您所描述的内容。它不需要活人批准,你可以使所有程序化,它甚至可以是一个物联网设备。审批人必须模拟交易并查看他们是否同意输出。 Olga是您方案中的批准者。

使所有链码(Composer中的事务)具有确定性是很重要的,因此可以用这种方式模拟它们。

有关Fabric文档的交易流程的详细说明:http://hyperledger-fabric.readthedocs.io/en/latest/txflow.html

我将在一个月内发布一篇论文,其中有一篇关于共识比较和Composer / Fabric的专题文章。如果你有兴趣,我可以寄给你一份草稿。

答案 1 :(得分:1)

您的问题有两个方面,一个是活人的审批方面,二是分类账州的完整性(共识)。

我将以相反的顺序解释。

共识部分

因此,Hyperledger Fabric是一种企业解决方案,旨在维护一致的分类帐,联盟的所有组织都需要就此达成一致。这是通过将多个组织的分类账合并为一个分类账来实现的,而在这个分类账中记录的交易将包括来自各方的交易。

这些交易不是随机交易,而是在Fabric术语中实现称为链码的智能合约。只要在Fabric通道(与其自己的分类帐关联的私有子网)上部署链代码,它就会初始化World State,即默认资产及其值。

接下来,每个组织都同意一个认可政策,例如每个组织的1个同行应该认可该事务(在此状态下称为交易提议),认可只是具有读取集的事务的读写集(值为事务模拟前的资产),写集(事务模拟后的资产值)。如果所有同行(所有那些满足认可政策的同行)的认可是相同的,这意味着世界资产状态在所有同行中是一致的(至少是那些满足认可政策的同行),因此实现了分类账数据的完整性。

协商一致意见还包括通过订购服务将交易分成块并对块内的交易进行排序,该服务再次验证代言人签名,并且当块到达同行进行提交时,最后一次完成世界状态验证。

审批部分

当您拥有需要参与者互动的审批流程时,您需要在链代码中处理这些事务。作曲家是最好的起点。

从Composer示例中查看CarAuction示例,您将了解每个状态转换,您必须拥有注册,例如卖家参与者拥有资产Car,但当汽车被拍卖以进行销售时,必须将其添加到列表中注册表使用交易,所有投标人参与者都可以看到,这种汽车资产状态的移动是由授权方在此卖方调用的交易AuctionMyCardOrSomething实现的。然后,当拍卖师(具有不同角色的另一个参与者)执行另一个称为已结算出价的交易时,如果满足所有条件,则可以将汽车所有权转移到最高出价者。出价的节点也是一个交易。

在此示例中注意Auctioneer和状态转换,并且可以将相同的模型应用于您的案例。每次需要状态转换时,您必须执行事务并更新分类帐。

希望这会有所帮助。