这是我们的用例: Anna希望将她的股份出售给Peter,Olga需要批准(作为公司的所有者)。
这将如何在具有共识的区块链hyperledger fabric/composer上工作?
具体地说,这其中的哪一部分是交易,什么是提案(提案需要活人对交易的实际批准?)在区块链上是如何处理的,在应用程序内和应用程序外发生了什么。
请尽可能详细地说明。谢谢!
发布于 2018-04-11 16:41:31
首先有几件事: Composer使用底层区块链配置为使用的任何共识算法。因此,Hyperledger Fabric目前提供单人或KAFKA。KAFKA只提供容错,不提供拜占庭容错。
所以:背书政策确实存在,这就是你所描述的。它不需要活人的批准,你可以让一切变得程序化,它甚至可以是一个IoT设备。审批人必须模拟事务,并查看他们是否同意输出。Olga是您方案中的审批人。
让所有链码(Composer中的事务)具有确定性是很重要的,这样就可以用这种方式模拟它们。
Fabric的文档中对事务流程有一个很好的描述:http://hyperledger-fabric.readthedocs.io/en/latest/txflow.html
我将在一个月内发布一篇论文,其中有一个章节专门讨论共识比较和作曲家/Fabric。如果您有进一步的兴趣,我可以寄给您一份草稿。
发布于 2018-04-19 07:31:18
你的问题有两个方面,一个是活着的人的认可方面,第二个是账本状态的完整性(共识)。
我将以相反的顺序解释。
共识部分
因此,Hyperledger Fabric是一个企业解决方案,其目标是维护一个一致的账本,该联盟的所有组织都需要就此达成一致。这是通过将多个组织的分类帐合并为一个分类帐来实现的,并且该分类帐中记录的交易将包括来自每一方的交易。
这些交易不是随机交易,而是智能合约的实现,在Fabric术语中称为链码。只要在Fabric通道(与其自己的账本关联的私有子网)上部署链码,它就会初始化World State,即默认资产及其值。
接下来,每个组织同意一个背书策略,例如每个组织的1个对等体应该背书交易(在这种状态下称为交易建议),背书只是交易的读写集合,具有读集合(交易模拟前的资产价值)、写集合(交易模拟后的资产价值)。如果来自所有对等体(满足背书策略的所有对等体)的背书是相同的,这意味着资产的世界状态在所有对等体(至少是那些满足背书策略的对等体)上是一致的,因此实现了分类帐数据完整性。
共识还包括将事务批处理成块,并通过订购服务对块内的事务进行排序,该服务再次验证背书人签名,并在块到达对等体进行提交时进行最后一次世界状态验证。
Approval部件
当您有一个需要参与者交互的审批流程时,您必须在您的链代码中处理此问题。Composer是最好的起点。
从Composer示例看CarAuction示例,您将理解每个状态转换您将必须具有注册表例如,卖方参与者拥有一辆汽车,但当汽车拍卖出售时,它必须添加到使用事务的列表注册表,其中它将对所有投标人参与者可见,这种汽车资产状态的移动是由交易AuctionMyCardOrSomething调用的授权方在这里卖方实现。然后,当拍卖人(另一个具有不同角色的参与者)执行另一个称为封闭式竞价的交易时,如果所有条件都满足,则可以将汽车所有权转让给出价最高的竞拍者。出价的节点也是一笔交易。
注意这个例子中的拍卖人和状态转换,同样的模型也可以应用到你的案例中。每次需要状态转换时,您都必须执行事务并更新分类帐。
希望这能有所帮助。
https://stackoverflow.com/questions/49754346
复制相似问题