美文网首页
京东区块链分析

京东区块链分析

作者: 区块链加密货币那点事 | 来源:发表于2019-04-13 12:39 被阅读0次

    京东区块链技术架构分为JD Chain和JD BaaS两部分。其中,JD Chain是核心引擎,JD BaaS是企业级服务平台。

    一、概述

    京东区块链技术架构分为JD Chain和JD BaaS两部分。其中,JD Chain是核心引擎,解决区块链底层的相关技术问题。JD BaaS是企业级服务平台,提供灵活易用和可伸缩的区块链系统管理能力,支持公有云、私有云及混合云环境快速部署,降低企业使用成本,促进应用落地。

    二、架构

    和传统的区块链系统一样,JD Chain区块链系统也包含:密码算法、共识协议、账本、数据存储和API这五个部分。

    三、功能模块

    按照JD Chain自己的设计思路,它主要分为四个部分:网关服务、共识服务、数据账本和工具包。

    网关服务

    JD Chain的网关服务是应用的接入层,提供终端接入、私钥托管、安全隐私和协议转换等功能。

    共识服务

    公式服务是JD Chain的核心实现层,包括共识网络、身份管理、安全权限、交易处理、智能合约和数据检索等功能,来保证各节点间账本信息的一致性。

    数据账本

    数据账本为各参与方提供区块链底层服务功能,包括区块、账户、配置和存储。

    工具包

    节点可以使用JD Chain中提供的工具包获取上述三个层级的功能服务,并响应相关应用和业务。工具包贯穿整个区块链系统,使用者只需调用特定的接口即可使用对应工具。工具包包括数据管理、开发包(SDK)、安装部署和服务监控等。

    四、节点类型

    JD Chain中定义了三种不同类型的节点:

    客户端节点(Client)

    客户端节点是通过SDK进行区块链操作的上层应用。

    网关节点(Gateway)

    网关节点是提供网关服务的节点,用于连接客户端节点和共识节点。

    共识节点(Peer)

    共识节点是共识协议的参与方,产生一致性的账本。

    JD Chain通过这些节点实现信息交互,不同类型的节点可以在同一物理机上部署运行。

    五、共识算法

    JD Chain共识算法采用BFTSmart(Byzantine Fault-Tolerant State Machine Replication),该算法需要节点数为:N=3f+1(其中N为节点总数,f为恶意节点数),因此该共识至少需要四个Peer节点参与。

    相关论文:

    http://www.di.fc.ul.pt/~bessani/publications/tutorial-smr.pdf

    http://www.gsd.inesc-id.pt/~mpc/pubs/document.iscc.pdf

    六、交易流程

    每个参与方在实际处理过程都需要使用Client作为交易处理的载体,每个Client中都有该参与方在该链对应的用户。

    1.启动交易

    参与方通过Client发送所持有的生产数据。Client为实际业务系统,通过调用JD Chain提供的SDK将某溯源产品的生产数据封装为交易。该交易附有业务系统的签名信息,SDK将该交易封装成正确的请求格式,通过Http将其发送至Gateway节点。

    2.验证交易

    Gateway节点收到Client发送的交易后,首先对交易进行验证(包括交易的格式及签名信息),验证通过后Gateway节点会在原交易基础上附加自己的签名信息,然后将交易发送至Peer节点群进行共识。

    3.共识交易

    Peer节点群对交易共识成功后会输出排序后的交易列表,该交易列表对于每个Peer节点而言是平等的,每个Peer节点都会接收到完全一致的按顺序的交易列表。

    4.应答交易

    Peer节点收到排序后交易后对其进行检查(包括合法性验证、验签等),检查通过后会根据实际结块规则生成区块并更新账本。然后将结块的信息作为应答发送至Gateway节点,进而发送至Client节点。

    一次交易流程:

    1.Client调用SDK生成对应的交易请求,并通过SDK将该交易发送至Gateway(HTTP协议)。

    2.Gateway会对交易进行合法性验证,并进行验签,然后使用自身节点的用户进行签名,再将交易发送至Peer节点群进行共识。

    3.Peer节点群接收连续的交易并进行共识,共识通过后会输出排序后的交易列表至每个Peer节点。

    4.每个Peer节点对接收的交易列表进行合法性检查、验签,验证通过后会执行对应的交易并根据结块规则生成区块,更新账本。完成后会将应答(含结块信息)发送至对应Gateway,进而发送至Client。

    5.时序图

    相关文章

      网友评论

          本文标题:京东区块链分析

          本文链接:https://www.haomeiwen.com/subject/hiulwqtx.html