近日,京东数科正式发布智臻链底层引擎JD Chain V1.1新版本。JD Chain V1.1在分布式权限控制机制、系统管理工具、穿透式数据检索等方面全面升级(JD Chain开源社区:http://ledger.jd.com)。
2015年以来,区块链技术作为去中心化、分布式的数据新一代互联网基础技术,其需多方共识等强技术信任机制,防篡改等性能,正在尝试重构原有的商业形态,得到更多产业领域的认可。我国政务、税票、金融、司法、能源、电力等关键领域也有了越来越多的探索与应用,京东数科始终秉承打造“值得信赖的企业级区块链服务”的愿景,持续投入研发自主可控、开源灵活的区块链底层引擎。
自2019年3月JD Chain全面开源半年以来,在第一批社区开发者的共创与支持下,京东数科的区块链团队在技术核心性能提升、安全性、易用性、可视化、功能全备性方面不断攻关,坚持以应用场景需求驱动底层引擎升级的原则,得到了权威评测机构的认证和开发者的认可。今年5月,JD Chain成功入驻了国内自主开源社区——分布式应用账本开源社区(DAppLedger)。
未来京东数科还将持续推动区块链技术与各产业领域的合作开发共创,将自身区块链应用经验与政府、企业的实际需求相融合,提供从技术咨询、技术研发到应用共建一体化的解决方案,联手合作伙伴共同推进中国区块链领域的自主创新。
JD Chain V1.1版本新鲜出炉,汲取了JD Chain众应用企业及开发者的共同智慧,结合了多个行业领域实际业务的开发需求,当然还有我们可敬可耐滴攻城狮的敏锐技术嗅觉和开发热情。
在JD Chain 的开源路线图中,V1.1的推出既是个承上启下的开源技术迭代节点,又具有着开创性意义。自V1.1开始,JD Chain将陆续推出更多具有重要应用价值、能够有效提升技术效能的差异化功能特性,逐步打磨升级为具有全面成熟度、标准化和高效能的企业级区块链底层系统。
新版本JD Chain V1.1主要有以下3项激动人心的新特性,以下为您详细介绍:
1、分布式权限控制机制
2、系统管理工具
3、穿透式数据检索
分布式权限控制机制
区块链系统是一种分布式系统,共识节点以对等的方式,组成了点对点的网络,节点之间以无差别的方式共同对数据信息进行背书和校验。然而,区块链应用是构建在区块链底层网络之上的,在企业场景中,业务上的不同参与方、不同角色的用户在系统中具有的权限与功能通常是不对等的,需要按业务属性进行严格区分。
JD Chain 分布式权限控制机制,则旨在解决在分布式共识网络中为不同角色的用户分配不同操作权限的问题。
JD Chain定义了细粒度的操作权限,以“角色-用户”模型进行授权管理,实现了对终端和网关的接入认证,对用户管理、合约调用权限、账本数据操作、共识网络管理操作等权限以可组合配置的方式进行了授权和控制。
系统的功能权限控制由三个维度组合实现——用户、角色、权限。一个角色可以拥有1个或多个权限,一个用户可以拥有1个或多个角色。权限控制主要包括两个方面,一是对数据账本的读、写操作的控制;另一个是对交易的权限控制,如部署合约、智能合约等。这些元素之间无耦合,可以任意组合满足开发者对于功能权限的使用要求。
功能权限已在V1.1版本中开启,可通过ledger.init配置文件和SDK来进行权限的配置,具体操作还请关注京东智臻链公众号后续将推出的详解专稿。
系统管理工具
系统管理工具面向系统管理人员而设计,目的是通过提供一个可视化的操作台,简化对JD Chain 的账本、数据索引、用户权限等功能的操作配置。JD Chain V1.1中推出“系统管理工具”,工具提供了初始化账本、维护穿透式检索的数据索引两项功能。
(1)初始化账本
在管理工具中初始化一个数据账本,就如同面对面建群一样简单,由其中一方作为协调方指定一个“邀请码”和账本初始化参数,发起一次账本初始化会话。
之后,其它的节点指定同一个“邀请码”和自身的参数(公钥、通讯端口等),便可以加入这一次账本初始化会话。
账本初始化参数会自动地在所有的节点同步,经过每一个节点的操作者手动做出确认签署之后,便自动开始创建账本并共识每个节点的创世区块哈希。当所有节点都完全一致以后,账本初始化便成功了。
(2)数据索引
在管理工具中,可以以数据账户为单位,创建该数据账户上链的数据规则,在业务应用中使用到该数据账户请遵循此规则。根据业务的开展,业务数据不断按照设定好的规则上链存储。当需要进行检索查询时,可以在管理工具中根据上链规则对数据账户创建索引,创建成功后启动索引。
穿透式数据检索
目前典型的区块链底层系统都是以 KV 模型进行数据读写的,这在面向企业场景的区块链系统中尤为常见,底层的区块链系统只能提供基于 Key 的精确检索操作,以及一些提前设计的固定检索条件,而上层的区块链应用系统为了实现丰富的条件检索,通常做法是在链外部署关系数据库中来同步底层链上的数据。
“穿透式数据检索”的设计目标是在JD Chain数据账本中建立丰富的自定义条件检索能力,可以根据链上 KV 数据中Value的结构化内容,提供类SQL的条件检索。这样可以极大地简化上层应用系统的开发和维护的复杂度。
JD Chain V1.1提供了一个“穿透式数据检索”基础版本,支持对 JSON 格式的 Value按JSON字段进行条件检索。未来将支持更丰富的数据类型和检索条件。
在此,我们对JD Chain V1.1中新增和优化功能梳理汇总如下:
新增功能 | ||
序号 | 名称 | 说明 |
1 | SSH密钥解析和crypto-pki证书集成 | 1、支持ssh-keygen生成的RSA、ECDSA、ED25519和DSA等密钥解析; 2、新设的crypto-pki子模块提供了证书签署请求(csr)的生成和证书验证解析功能,能够支持SHA1withRSA2043、SHA1withRSA4096和SM3withSM2算法套件。 |
2 | 共识参与方接口 | 可动态新增参与方,手工同步账本。 |
3 | 分布式权限控制机制 | 针对“功能权限”进行控制。 |
4 | 智能合约编译插件 | 只有通过该插件打包的合约才能正常发布。 1、对合约代码进行黑名单检查,防止非法代码发布; 2、打包后的合约加入JD Chain标记,规范发布渠道的唯一性。 |
5 | 系统管理工具 | 1、通过界面方式实现了账本初始化; 2、数据检索服务元数据索引构建,进而在区块链浏览器的数据账户中实现穿透式检索。 |
优化功能 | ||
1 | 针对不能达成共识的链分叉,系统优化了回滚处理逻辑。 | |
兼容性 | ||
1 | 新合约采用新的jar生成方式,原方式生成的合约jar包无法直接上传,需要采用contract-maven-plugin插件重新编译再上传。 |
关于DAppLedger
分布式应用账本开源社区(DAppLedger)于2017年7月,由中国区块链技术和产业发展论坛(CBD-Forum)发起,在工业和信息化部指导下成立。近两年来,该社区内开源项目活跃开发者不断增加,已开发并提供的应用种类及数量迅速攀升,社区活跃度持续上升,形成了对于国内区块链技术开发与应用很好的平台支撑,推动了我国区块链开源技术的发展。
DAppLedger开源社区架构
扫描二维码关注京东智臻链
值得信赖的企业级区块链服务