简介

京东集团拥有全渠道零售和端到端供应链的高质量大数据,区块链技术天然可以解决京东业务场景中多个主体的信息记录与分享,可信数据交换与传递的业务诉求.。早在2016年,京东集团就全面启动了区块链技术在京东业务场景中的应用探索与研发实践,先后在数据交易、供应链管理、金融科技等领域落地了不同的区块链应用,过程中积累了大量的区块链部署经验与底层技术研发能力。

建立社会化共享的可信数据库,技术搭建一张社会化的共享数据存储网络,有机会以客观的技术手段来解决跨主体的信任问题。
提升交易效率,降低交易成本, 推动供应链创新
逐渐认知到区块链并不单纯是一种技术,而是一种社会化的“共识信任”理念

引文

区块链有哪些特点?

区块链本质上是一种健壮和安全的分布式状态机,典型的技术构成包括共识算法、P2P通讯、密码学、数据库技术和虚拟机。 存储数据,共有数据, 分布式, 防篡改与保护隐私, 数字化合约.
区块链有着去中心化、点对点传输、透明、可追踪、不可篡改、数据安全等特点

区块链适合解决哪些问题?

业务开展需要进行跨主体协作
业务开展需要参与方之间建立低成本信任, 数据可信, 合约履行, 历史可证明
业务过程存在长交易、长周期链条

区块链发展面临的挑战.?

高并发交易能力, 共识算法是制约性能的重要 方面,制约性能的另一个重要因素是账本结构,单链.
数据存储能力, 典型的实现是基于文件系统或者简 单的 KV 数据库存储, 需要探索有效的大数据存储方式。
通用性方面 区块链需要适应多样化的业务需求,区块链对数据的记录方式要有足够的通用和标准.
目前市面上的区块链系统大多采用特定的共识算法,加密算法,账户模型,账本模型,存储类型,缺少可插拔能力,无法适应不同场景要求.
真的可插拔好吗? 安全稳定如何保证?
功能完备性,
易用性

为何难以落地?

不适用的、不可持续的场景,无法解决业务痛点,案例缺少价值
错误的实施方法,没有合理技术方案
技术不成熟
人才稀缺

区块链典型应用场景

供应链、金融、 政务及公共服务等领域, 其实还有社交网络

京东区块链架构体系

设计原则:

面向业务,需要适用广泛的企业场景,在设计上首先从定义企业场景的核心用例出发,设计京东 区块链的协议、数据结构和功能特性。
标准化 设计了标准化的协议和数据结构,目标是使区块链真正地成为一种标准化的互联网基础协 议。
松耦合与模块化, 京东区块链采用模块化设计,通过定义模块间清晰的接口实现模块之间的松耦合,采用不同的可插拔的模 块组件
安全可审计,
简洁与效率

设计方法:

假设要开发一个商品贸易系统,业务的参与者包括贸易买卖双方和物流企业,这个系统 要帮助买卖双方建立交易合同、跟踪货物运输过程、交付结算。基于区块链实现该应用通常 需要以下几个步骤:
(1) 定义参与业务的各个主体的身份账户
为参与者注册登记一个由公私钥对(证书)表示的身份账户。由符合国家标准的证书所 表示的身份账户是能够代表一个特定的法人,由该账户签发的数据可以在法律上被认为是该法人做出的确认。
(2) 编写智能合约对业务过程做出定义
把参与者之间达成的商业协议以智能合约代码的形式进行定义,以数字化形式约定贸易 的商品属性、数量、交付价格、交付期限、交付条件、运输方式、交割检验标准、货款计算 方式、货款支付时限等等,
在智能合约的编写过程中,需要关注的内容通常有:在账本中保存的业务信息的格式; 业务过程中产生的业务状态;改变业务状态需要满足的条件;业务状态变更的触发方式;业 务状态变更涉及更新的业务信息
智能合约代码的编写过程是完全不需要关注非业务功能的处理,比如:业务数据在参与 者之间网络结构、寻址方式、通讯协议、传输格式、响应线程、处理资源。
智能合约虽然也表现为某种形式的编程语言,但是其编写逻辑是完全直接面向业务的, 可以形式化地概括为 3 个方面,定义多主体间的业务数据格式, 定义业务过程包含的业务状态表, 定义各个业务状态的转换条件和触发方式
(3) 联合签署智能合约并触发业务初始条件
智能合约最后需要经过参与者以各自的身份账户做出签署,之后每一方参与者只需要根据自己业务范围内的业务进程做出相应的操作,便触发了智能合约的执行.
确保合约在每一个参与业务的主体的节点上被一致的执行,并得到一致的结果, 确保合约执行过程的每一个步骤都被准确地记录下来, 确保合约执行过程的记录以及最终结果都无法被篡改, 确保参与的主体对合约执行过程的记录以及结果进行签名,确保合约被执行的事实 在今后都不可抵赖

分模块介绍:

区块链协议

账本协议

账本协议是从数据的角度定义的一个标准模型,包含两个方面的定义:
账本数据的标准格式
由两部分构成:
a) “账本状态”表示当前实时的数据内容;
b) “历史证明”表示账本数据的特征以及数据变更历史的特征。
读写账本数据的指令的标准格式
由两部分构成:
a) “账本操作集”定义了对账本数据的写入操作类型的标准表述以及参数的标准格式。 b) “合约指令集”定义了标准化的合约语言指令格式。 定义账本协议的目的是让链上的数据可以被标准化地进行交换、验证、存储和使用,能够跨越不同技术实现的区块链网络,无关特定的数据存储实现

账本状态

京东区块链的 “账本状态”由“身份”、“KV 数据”、“权限”、“合约代码”组 成.
身份”由一个“区块链地址(Address)”和相应的非对称密钥对/证书表示,
KV 数据”是账本数据表示形式,通过键(Key)唯一标识,通过值(Value)记 录内容,
“合约代码”表示状态变更的逻辑,以合约指令序列表示,
“权限”是“身份”对“KV 数据”和“合约代码”的访问控制码.
类似于zookeeper的节点 .

账本操作集

账本操作集”是为了实现跨链互操作而定义一个通用的标准,包含“类型”的标准 码,“参数”的标准格式。
典型的操作包括:
身份注册
状态数据读写
合约部署
合约调用
权限设置
合约指令集
通过设计一个标准化的合约语言指令集,可以用一种通用的方式来表述各种复杂的业务逻辑,从而与具体的编程语言无关

组件模型

共识网络

共识算法主要有 PoW、PoS、PBFT、Raft、Paxos 等
这些 算法在运行过程都可以抽象下面几个阶段:
(1)交易扩散;
(2)交易排序;
(3)调用交易执行程序;
(4)对交易执行结果进行共识;
(5)提交共识结果。
各种共识算法的差异体现在不同阶段采取了不同实现策略。
PoW、PoS 算法在交易扩散和排序时,不采用原子广播协议,同时以随机化的方式选择出 leader 节点执行排序,因此会导致交易可能被随机丢弃。
Raft、Paxos 算法对全部交易进行原子广播和排序,但在共识的过程并不处理拜占庭错误
PBFT 算法对全部交易进行原子广播和排序,同时在共识阶段处理拜占庭错误,不支 持动态调整节点。
我们从面向企业级应用场景的特点出发,选择类 BFT 的算法进行优化,提供了确定性交 易执行、拜占庭容错、动态调整节点的特性。

账本

账本状态与合约分离,使用基于身份的访问控制协议约束合约对状态的访问,这种将数 据与逻辑分离的设计模式是典型的贫血模型,可为上层业务逻辑提供无状态的逻辑抽象。

持久化存储

将账本信息的持久化格式定义为更简洁的 KV 格式数据,使得可以利用成熟的 NoSQL 数据库来实现持久化存储。基于目前在 NoSQL 数据库上成熟的海量数据存储方案,使得区 块链系统能支持海量的交易。
目前参考宇信科技 的 使用的是 CounchDB

合约引擎

合约引擎包含两大部分,前端包括合约高级语言规范及其工具链,后端是一个轻量级的 合约中间代码的执行环境。所有对账本的操作通过账本组件提供的 API 实现。

服务平台

功能模块分为区块链网关、区块链节点服务、区块链基础网络、配套工具四个部分

区块链网关

“区块链网关”被设计为一种轻量的网关系统,通常是部署在参与者的网络环境中,提 供功能包括:
a) 私钥管理:提供完全本地化的私钥保管功能;
b) 隐私保护:采用端到端加密手段实现隐私保护;
c) 协议转换:提供轻量化的 HTTP Restful Service ,适配 TCP 协议的区块链节点API

区块链节点服务

在区块链基础网络的基础上提供的面向应用的通用的功能组件,目的是提供通用功能的 复用,包括:
a) 面向应用的账户管理;
b) 账户的认证授权;
c) 面向对象的账本数据访问框架;
d) 事件通知机制;
e) 智能合约管理。

区块链共识网络

由共识节点组成的网络,基于 P2P 网络和共识算法确保交易数据在节点之间保持一致

工具

配套的工具集合,包含 SDK、数据管理、安装部署工具、监控服务。
其实个人理解这个监控特别重要,未来节点多,系统性能如何,如何测试,如何监控?如何查找问题?都需要监控.

如何部署架构

京东区块链支持以下几种部署模式:
a、 参与主体维护完整的共识节点,好处是参与者可持有数据,但需要付出运维成本;
b、 参与主体仅维护网关节点,通过公共的共识节点接入区块链,好处是便于自行管理 私钥,且维护成本低,但网关节点不持有数据;
c、 参与主体通过公共的网关节点接入,适用于 2C 场景,用户可以基于公共的网关节 点托管私钥;
d、 监管方可以只部署“备份节点”,从其它节点同步数据作为备案;
e、 监管方还可以部署共识和网关节点,对公众开放查询,作为“存证公示”。

性能

采用优化的 BFT 共识协议和 P2P 通讯,支持多链并行共识;
采用面向消息的高并发处理架构,支持横向伸缩,并行处理海量交易。
支持横向伸缩存储和在线动态扩容,以实现海量数据;
采用灵活的数据存储结构,支持冷热数据分离;
支持节点动态加入和退出,实现系统的高可用性,保证业务不间断运行。

功能

支持用户实名与认证;支持企业数据治理;支持事件驱动的业务协作模型;支持多账本以实现按业务维度管理链上数据。

安全

可插拔的密码算法,可以灵活的制定相应的密码体系;
平台默认实现多套密码算法,包括国密算法和硬件加密设备。

合约

支持可复用的智能合约;支持智能合约语言的调试功能。

合规

支持基于 CA 的账户认证;支持监管节点的接入,支持数据备案。

京东区块链白皮书摘要相关推荐

  1. 京东区块链白皮书解读, 做“链接器”,一次技术宣言

    前天,京东对外发布了<京东区块链技术白皮书(2018)>. 昨天,京东金融发布了旨在帮助中小银行提升零售信贷效率的产品"北斗×××".目前,"北斗×××&qu ...

  2. 三分钟看完京东区块链白皮书

    京东区块链白皮书分析了区块链在企业级应用上的场景,以及技术发展目前的短板,编写者文字功底深厚,是一份优秀的区块链资料概括. 白皮书可以认为是京东在Baas即Blockchain as service方 ...

  3. “京东区块链技术白皮书”解密互联网应用(附下载链接)

    Hardy 架构师技术联盟 请点击此处输入图片描述 请点击此处输入图片描述 前不久,京东发布了"京东区块链技术白皮书(2018)".相比华为发布的"华为区块链白皮书(附下 ...

  4. 京东区块链技术实践白皮书(附下载地址)

    CSDN下载地址:https://download.csdn.net/download/u010144805/10303943 3月22日消息,京东公司(股票代码:JD)今日正式发布区块链方案白皮书, ...

  5. 京东区块链开源项目——JD Chain介绍及区块链白皮书发布

    导言 近日,京东区块链底层引擎JD Chain正式对外开源并同步上线开源社区,旨在为企业级用户和开发者提供开源服务,帮助他们提高研发效率,加速技术创新.3月30日,国家互联网信息办公室公布了第一批区块 ...

  6. 2020年交通运输区块链白皮书

    来源:中国公路 近年来,随着比特币.数字货币的兴起,区块链成为热点话题.作为分布式数据存储.点对点传输.共识机制.加密算法等多技术组合创新的全新分布式基础架构,区块链具有多中心化.不可篡改.公开透明的 ...

  7. 从技术到应用实践,揭秘京东区块链布局全景

    从提出到现在,国内外的科技巨头都在加紧布局产业区块链,并在区块链的场景化应用落地方面不断加速.目前看来,区块链技术毫无疑问在未来拥有广阔的发展前景,但在与各产业深度结合之后,其可能碰撞出怎样的火花还充 ...

  8. 从技术到应用实践 揭秘京东区块链布局全景

    从提出到现在,国内外的科技巨头都在加紧布局产业区块链,并在区块链的场景化应用落地方面不断加速.目前看来,区块链技术毫无疑问在未来拥有广阔的发展前景,但在与各产业深度结合之后,其可能碰撞出怎样的火花还充 ...

  9. 京东区块链(智臻链):1. 应用场景

    "京东智臻链"是京东区块链的技术品牌,致力于打造全方位.全生命周期的企业级区块链应用解决方案,让开发者和企业实现一站式规划.配置.开发.上线.运维,一键自动配置和部署区块链网络,降 ...

最新文章

  1. java读取系统中指定的文件_java读取jar中指定的文件
  2. php 中set是什么_php中set
  3. java 获取六个月账期,应收帐龄分析里面账期分析能不能改为0-30天?
  4. eslint是什么_为什么eslint没有 no-magic-string?
  5. 关于ST-Link下载STM32程序的使用
  6. 设置图片和文字的垂直居中
  7. 【PAT B1019/A1069】数字黑洞
  8. C/C++图书管理系统
  9. 人工智能搜索算法案例分析
  10. 服务器添加打印机显示没有权限,无法连接打印机(没有权限使用网络资源)解决方法和原因...
  11. Autodesk AutoCAD 2015 英文版+简体中文版,附有效注册机
  12. aspen压缩因子_利用aspen plus进行物性参数的估算讲解
  13. 高铁盈利地图:东部赚翻 中西部普遍巨亏
  14. CorelDRAW 学习笔记(一)
  15. 抖音聊天”上线,字节最后的社交梦?
  16. R语言中描述统计量的多种方法
  17. 为什么说:即便疫情过后,远程办公依旧实行不起来
  18. 量子计算机治愈癌症,如果量子计算机实现了,癌症可以治愈吗?
  19. 02_29_0328
  20. electron调用python_electron教程(一): electron的安装和项目的创建

热门文章

  1. dogcs2.1 粗略预防CVE-2022-39197 XSS to RCE探究
  2. u盘win7纯净版_U盘PE启动安装Win7系统教程(微PE版)
  3. 台州银行笔试考什么_【精选】台州银行历年真题笔试题面试题大全.pdf
  4. QUOTED_IDENTIFIER选项设置不正确
  5. 数控技能大赛计算机程序员,全国数控技能大赛计算机程序设计员-广东职业技能鉴定指导.DOC...
  6. DevExpress XtraReport报表开发相关知识点
  7. 云服务器与物理服务器有什么区别?
  8. 一级域名注册如何申请?需要注意哪些事项?
  9. 前端JavaScript-面向对象
  10. tp5 JWT生成token验证接口安全、防止高频请求