关于区块链技术在仓储物流行业的应用初探(四)上篇

jarvis

2019-06-05 09:56:16

浏览量:65 次

关于区块链技术在仓储物流行业的应用初探(四)上篇

当前业界对区块链平台的构建通常有两种方式:一是直接基于现成的区块链开发平台来开发上层应用,主要有比特币、以太坊、超级账本等开源平台;二是基于区块链的技术思想从零开始构建全新的、自主知识产权的区块链平台。

 

从开发效率、投入成本等方面看,毫无疑问应该选择第一种方式,本项目嘉盛泰技术团队以开源平台为基础,结合客户已经建立的成熟的基础架构平台,根据客户物流溯源的实际情况和效率需求对公司产品平台进行关键技术点进行改造,打造一套自主可控的,适用于客户特点的自主区块链平台。

 

WMS仓库管理系统

 

目前在业界主要有三种主流的区块链技术框架和平台,即比特币,以太坊和超级账本。三种技术和框架目前都是开源使用的,三种技术各有优缺点。

 

区块结构

 

综合以上的比较,我们可以总结:

  1. 比特币发布最早,是目前最成熟的区块链技术应用,迄今已安全运行近8年的时间。但比特币缺少对智能合约的支持,在比特币上能够加载的应用相对有限,我们通常称为区块链0时代。而且比特币的交易确认时间和交易性能远远无法满足企业级应用的需求。另外,比特币采用的PoW共识算法,对能源消耗量巨大,一般企业应用很难支付如此昂贵的成本。
  2. 以太坊加入了智能合约,所以可以在上面开展更多的应用,我们称为区块链2.0。但以太坊有三个不足,使得其在企业应用方面存在障碍。第一,采用PoS共识算法的同时,需要消耗燃料(GAS),这不符合企业为客户提供应用的原则,对未来能源区块链推广造成阻碍;第二、以太坊的交易性能还是太低,无法适应未来做实时交易;第三、以太坊还是匿名性区块链网络,在企业级区块链网络中是不允许匿名操作的。
  3. 超级账本从设计之初就以企业应用为目标,所以,除了具备智能合约以外,还加入了成员管理的模块,我们称之为区块链3.0。所以,超级账本在节点(交易主体)的准入机制、授权方面更适合企业级应用。而且,超级账本在性能上完全满足大部分企业级应用的需要。更重要的是,超级账本支持可插拔架构,包括共识算法、权限管理、加解密、账本机制等模块,均支持多种类型。

 

1.1 超级账本(Hyperledger)技术体系概览

 

Hyperledger 项目是首个面向企业的开放区块链技术的重要探索。在 Linux 基金会的支持下,吸引了包括 IBM、Intel、摩根等在内的众多科技和金融巨头的参与。

 

Fabric 是在系统中数字事件,交易调用,不同参与者共享的总账。总账只能通过共识的参与者来更新,而且一旦被记录,信息永远不能被修改。每一个记录的事件都可以根据参与者的协议进行加密验证。交易是安全的,私有的并且可信的。每个参与者通过向网络membership服务证明自己的身份来访问系统。交易是通过发放给各个的参与者,不可连接的,提供在网络上完全匿名的证书来生成的。交易内容通过复杂的密钥加密来保证只有参与者才能看到,确保业务交易私密性。总账可以按照规定规则来审计全部或部分总账分录。在与参与者合作中,审计员可以通过基于时间的证书来获得总账的查看,连接交易来提供实际的资产操作。Fabric 是区块链技术的一种实现,比特币是可以在Fabric上构建的一种简单应用。它通过模块化的架构来允许组件的“插入-运行”来实现这份协议规范。它具有强大的容器技术来支持任何主流的语言来开发智能合约。

 

Hyperledger的Fabric当前的版本是1.0版,在讲解1.0版本之前,我们先看看0.6版本的总体架构:

 

WMS

 

对应的0。6版本的运行时架构:

 

嘉盛泰技术

 

青岛嘉盛泰科技服务有限公司0.6版本的架构特点是:结构简单: 应用-成员管理-Peer的三角形关系,主要业务功能全部集中于Peer节点;架构问题:由于peer节点承担了太多的功能,所以带来扩展性、可维护性、安全性、业务隔离等方面的诸多问题,所以0.6版本在推出后,并没有大规模被行业使用,只是在一些零星的案例中进行业务验证;

 

针对上述问题,1.0版本做了很大的改进和重构。这是最新的1.0运行时架构:

 

区块链技术

 

1.0 架构要点:分拆Peer的功能,将Blockchain的数据维护和共识服务进行分离,共识服务从Peer节点中完全分离出来,独立为Orderer节点提供共识服务;基于新的架构,实现多通道(channel)的结构,实现了更为灵活的业务适应性(业务隔离、安全性等方面)支持更强的配置功能和策略管理功能,进一步增强系统的灵活性和适应性;

 

1。0版本架构目标:chaincode信任的灵活性:支持多个ordering服务节点,增强共识的容错能力和对抗orderer作恶的能力;扩展性: 将endorsement和ordering进行分离,实现多通道(实际是分区)结构,增强系统的扩展性;同时也将chaincode执行、ledger、state维护等非常消耗系统性能的任务与共识任务分离,保证了关键任务(ordering)的可靠执行保密性:新架构对于chaincode在数据更新、状态维护等方面提供了新的保密性要求,提高系统的业务、安全方面的能力共识服务的模块化:支持可插拔的共识结构,支持多种共识服务的接入和服务实现。

 

架构特点:Hyperledger fabirc 1。0 版本的在0。6版本基础上,针对安全、保密、部署、维护、实际业务场景需求等方面进行了很多改进,特别是Peer节点的功能分离,给系统架构具备了支持多通道、可插拔的共识的能力,使得Fabric脱离了0。6版本带给人的青涩感,应用于工业生产的需求;

 

1.0版本的关键架构:

 

多链与多通道

 

Fabric 1.0 的重要特征是支持多chain和多channel;所谓的chain(链)实际上是包含Peer节点、账本、ordering通道的逻辑结构,它将参与者与数据(包含chaincode在)进行隔离,满足了不同业务场景下的”不同的人访问不同数据“的基本要求。同时,一个peer节点也可以参与到多个chain中(通过接入多个channel);如下图所示

 

WMS

 

关于通道:通道是有共识服务(ordering)提供的一种通讯机制,类似于消息系统中的发布-订阅(PUB/SUB)中的topic;基于这种发布-订阅关系,将peer和orderer连接在一起,形成一个个具有保密性的通讯链路(虚拟),实现了业务隔离的要求;通道也与账本(ledger)-状态(worldstate)紧密相关;如下图所示:

 

WMS系统

 

共识服务与(P1、PN)、(P1、P2、P3)、(P2、P3)组成了三个相互独立的通道,加入到不同通道的Peer节点能够维护各个通道对应的账本和状态;也其实也对应现实世界中,不同业务场景下的参与方。

 

应用程序通过SDK发送请求道Peer节点(一个或多个)peer节点分别执行交易(通过chaincode),但是并不将执行结果提交到本地的账本中(可以认为是模拟执行,交易处于挂起状态),参与背书的peer将执行结果返回给应用程序(其中包括自身对背书结果的签名)应用程序 收集背书结果并将结果提交给Ordering服务节点Ordering服务节点执行共识过程并生成block,通过消息通道发布给Peer节点,由peer节点各自验证交易并提交到本地的ledger中(包括state状态的变化)

 

上述过程对应的执行序列图如下:

 

仓储管理系统

 

青岛嘉盛泰科技服务有限公司在新的架构中,Peer节点负责维护区块链的账本(ledger)和状态(State),本地的账本称为PeerLedger,其结构如下:

 

仓储系统架构

 

我们可以看到,整个区块结构分为文件系统存储的Block结构和数据库维护的State状态,其中state的存储结构是可以替换的,可选的实现包括各种KV数据库(LEVELDB,CouchDB等);

 

嘉盛泰仓储物流管理系统-智能仓储线上线下一体化解决方案的专业提供商

 

**本文内容来源网络,经AI自动调整,信息仅供参考**
上一篇:
下一篇: