巴比特论坛

发表于 2018-6-1 15:15:45 | 显示全部楼层
本文转载于猎豹移动区块链研究中心,转载请注明:
猎豹移动区块链研究中心

链课堂 | 使用超级账本Fabric构建企业应用
本文是Hyperledger Fabric企业应用开发系列的第三篇,第一篇我们讲解Hyperledger Fabric的原理和架构,第二篇我们了解Hyperledger Fabric和Ethereum的不同应用场景,明白了Hyperledger Fabric在企业应用开发上的优势,本文来到该系列的完结篇,讲讲如何使用Hyperledger Fabric构建一个真实场景下的企业应用。

1 企业应用Hyperledger Fabric的选择标准
作为联盟链,Hyperledger Fabric的成员是需要权限才能参与的,每个成员都会保存一份共同的账本,从而实现去中心化的不可篡改区块链。基于Hyperledger Fabric的特性和性能特点,我们在选择Hyperledger Fabric开发企业区块链应用时,需要从以下几个方面考虑企业的应用场景是否适合选择Hyperledger Fabric:
2.png
-系统对于响应时间的需求:
由于Hyperleger Fabric需要在多个节点间使用背书、排序和验证三步来完成共识,只有共识达成才能确认交易有效,所以Hyperledger Fabric不适合响应时间要求高的系统。证券交易的订单撮合系统不适合使用Hyperledger Fabric,而post-trade的证券清算系统就很适合Hyperleger Fabric的使用场景。

--系统有多个参与方且各参与方是相互了解的
Hyperledger Fabric的参与方一般大于2,但也不能太多,因为TPS性能会随着节点的增加而大幅度下降。因为Hyperledger Fabric是联盟链,系统参与方是有成员准入机制的,所以系统的参与方在链下先期会建立基本的信任或业务往来。

--系统多个参与方有流程的交互并且是可编程的
Hyperledger Fabric除了能够实现不可篡改的统一账本之外,另一个重要的能力就是可以通过智能合约chaincode实现联盟链参与各方业务流程的自动化。业务流程的自动化可以是其中一个参与方触发的,也可以是到了某个时间节点所以触发了。
2 企业应用Hyperledger Fabric的步骤
企业在应用Hyperledger Fabric开发系统时,可以按照以下的步骤进行:

--确定联盟链的参与方
梳理业务流程,弄清楚联盟链参与的各方以及未来可能加入的参与方。主要的参与方包括业务合作伙伴、服务提供方、监管机构等,每个参与方都知道联盟链其他参与方的存在。在一个典型的食品溯源的场景中,参与方包括:农场、分销商、检验检疫部门和终端商场等。考虑到各参与方对数据隐私保护的要求,可以考虑使用多通道,在大的业务场景下,把有直接交互关系的参与方放到一个通道中,一个通道会维护一个独立的账本,该账本的数据只有该通道的成员可以读取。

--梳理参与方间的业务交互流程
根据不同的行业和业务场景,确认参与各方的具体的业务交互流程和需要上链的数据。业务交互流程和对链上数据的存取是在智能合约chaincode中完成的。Hyperledger有一个子项目叫Hyperledger Composer,可以使用Hyperledger Composer对数据、参与方和交易进行建模。

3 企业应用Hyperledger Fabric的问题
作为联盟链里无可争议的第一名,Hyperledger Fabric在证券、保险、物流、版权等各个行业的不同企业都有很多应用的案例。包括IBM、Amazon、Microsoft和华为等企业的云平台也都已经开始提供Hyperledger Fabric的云服务(BaaS)。Hyperledger Fabric在性能、可扩展性、易用性、稳定性和生态建设方面都很有优势,但是Hyperledger Fabric也有几个在应用时需要注意的问题:

--线上线下数据的融合
企业应用中的业务场景往往是比较复杂的,并不是所有业务流程的数据都会数字化,也不是所有业务流程都能够通过智能合约完成。所有会有很多链下的业务流程,这部分流程是没有得到区块链的共识保证的,这样就给整个系统留下的了缺口。

--隐私
虽然Hyperledger Fabric使用了通道来对参与方进行隔离,但是同一个通道的参与方之间还是会存在数据隐私泄露的问题。在传统的企业业务流程中,每一个节点是独立的与不同节点交互,但是在Hyperledger Fabric中,一个通道中的多方共享一个同一个账本,参与方之间可能在业务上有竞争关系,这样就可能造成企业生产经营数据被竞争对手通过对公开账本数据的分析得到。
1.png

--区块链的技术和人才储备
在Hyperledger Fabric去中心化的架构中,每个节点企业需要完成CA的部署、节点的部署和维护、智能合约部署和维护以及前端交互,这需要对Hyperledger Fabric有较深入的理解。目前面临的情况是,由于区块链技术处于发展早期,各个企业对于区块链的态度和应用规划都不一致,但是联盟链又需要各方的参与才能将业务流程通过区块链实现,所以在POC之外,Hyperledger Fabric实际的应用落地就面临各个参与方在区块链技术方面的积累和人才储备上有较大差距,这极大的制约了Hyperledger Fabric的应用和发展。




0条回复 跳转到指定楼层

高级模式
您需要登录后才可以发帖 登录 | 立即注册 | 用新浪微博登录

本版积分规则

搜索

0关注 0粉丝 5主题

作者的其他主题

返回顶部 返回列表

登录

分享 发帖