络谱区块链登记开放平台(Blockchain-Registry-Open-Platform,下称络谱)是一个基于自主知识产权的开放式可信登记平台。 络谱通过底层区块链联合各合作方对用户身份、数字凭证和存证数据进行可信记录,为企业用户提供可查询、可验证、可监督的权属登记和信息公示服务。
您可通过管理控制台、区块链浏览器、SDK和API等方式简单快速的接入络谱服务。
络谱平台的应用场景主要包括两大方面:
- 信息存证:将业务系统信息存证在平台上,用来对合作方的信息提供存在性、完整性和未篡改的证明
- 信息溯源:信息溯源的各方,通过各自的业务系统在不同的时间,将关于同一溯源信息写入到存证中,通过时间戳和合约流水号自动关联成不可篡改的溯源信息链条。
络谱平台具有以下优势:
- 身份确权:所有合作方的身份经过实名认证
1 基本概念
本篇是对络谱平台中涉及到概念的整体介绍,建议您完整阅读,以确保您在遇到陌生的概念时不至于感到意外。在用户加入并开始使用络谱平台前,我们假设用户已经具备一些关于区块链、智能合约等的基础知识。
节点
如白皮书中所描述的那样,络谱支持3类节点:共识节点、接入节点和见证节点。所有节点都有区块链的账本数据,它们的区别如下:
共识节点负责将底层开放许可链的数据打包,接入节点和见证节点负责各方业务的接入和对业务数据的见证,同时作为共识节点的备份。目前,合作方默认通过接入节点接入络谱平台,通过中间件的开放接口将自己的业务系统接入。
BROPTool
BROPTool 是合作方业务系统接入络谱平台所使用的工具,按照上图所示,BROPTool 主要包含了中间件组件。
用户登录管理控制台后可下载 BROPTool 安装包,关于 BROPTool 的安装部署请见BROPTool,关于 BROPTool 的开放接口请见BROPTool API。
智能合约
在网络启动之初,络谱区块链会部署一套功能强大、结构灵活且支持扩展升级的智能合约。
合作方可以通过管理控制台申请智能合约,由运营方进行审核,审核通过后部署智能合约。为了满足身份认证、业务准入等需求,智能合约原则上由中钞区块链技术研究院部署和升级。所有智能合约向下兼容。当前络谱智能合约主要有两大模块,身份模块和存证模块。
区块链浏览器
区块链上的所有信息都是公开的,区块链浏览器为用户提供了查看区块链信息的一个网站,可对整体联盟链状态(如节点、区块)、身份、存证记录等信息进行查询。通过区块链浏览器进行查询验证,形成了数据存证和验证的业务闭环。
点击查看络谱区块链浏览器。
管理控制台
管理控制台是用户加入络谱平台的入口,为用户能够顺利的使用络谱平台提供相关服务,如服务申请、费用管理,等等。
点击查看络谱管理控制台。
用户模型
用户是使用络谱业务的实体,可能是企业或个人(业务早期主要面向企业)。每个用户通过管理控制台来管理设置自己的络谱资源。
每个用户对应唯一一个实体,通过邮箱登录使用管理控制台。用户将相关资料提交申请,审核通过后获得身份合约。每个用户开通身份合约后,都会绑定一个公私钥对,所有私钥的签名成为该用户在区块链上的真实意愿表达,无论使用者是企业的员工还是个人。
账户
络谱平台的账户基于区块链技术,特指经过认证的身份合约。
身份合约是基于区块链智能合约技术的合约账户。身份合约是一类计算机程序,可以自主执行与合约相关的操作,并产生相应的可以被验证的数据来说明合作操作的有效性。具体来说,如传统银行账户,用户对账户的操作需要银行中心化系统进行授权,离开银行的监管,用户将无法完成最基本的存取款操作。而身份合约基于去中心化的区块链网络,不需要中心化机构的授权,即可通过身份合约进行信息登记、数字凭证发行、流转等数字行为。
公钥地址/外部账户地址
身份合约受到外部账户的控制,每一个外部账户都通过一对私钥和公钥来确定。私钥由用户保存,代表调用身份合约的权利。以发送由私钥签名的签名数据包到身份合约的方式,实现对身份合约的控制和操作。公钥用于公开以验证数据包的数据签名是否是公钥对应的私钥所签。由此,通过非对称密钥算法和其他区块链技术,保证了外部账户对身份合约的唯一控制。
2 设计理念
本篇想告诉您一些我们在设计络谱产品时秉承的理念,它来自我们对行业现状的观察和思考,并致使络谱平台成为独具特色的区块链产品。
信任模型
区块链以加密摘要算法、共享账本等机制天然地提供了记录可信的能力,然而这只构建了信任的最基础部分。现实世界中,建立信任还受诸多层面的影响,比如身份(谁写的记录)、信任关系(是否有背书)、时间(记录产生时间)这些要素的组织形式和操作规范是否符合约定俗称的习惯或者法律法规的要求等等。
因此,我们对照现实世界建立一个更加完整的络谱信任模型,引入CA认证中心、司法和监管部门等机构为络谱提供丰富的基础服务,通过区块链智能合约技术构建身份、记录等可信关系,努力构建可信生态,并最终实现可信协作的愿景。
开发者友好
区块链应用开发需要非常多的专业知识背景,且区块链技术的复杂性带来开发成本的上升。为了降低开发者的难度,络谱平台设计了中间件组件,专门用于实现交互友好性,封装底层区块链的复杂逻辑。中间件组件是一个为了加速区块链技术的落地,专门设计用于与传统MIS、ERP、CRM等各类业务系统对接的可信程序。中间件将业务系统中通常要用到的数据检索、事件通知、数据上链和格式转换等功能进行了封装,从而降低了开发成本。
业务中立
络谱平台与合作方的业务系统相对独立,络谱作为合作方数据的可信公示平台,不为数据的业务正确性背书,数据的业务正确性由合作方负责。络谱负责开放区块链的可信能力,合作方负责开发业务系统并与络谱对接。
3 功能模块
3.1 可信身份
络谱为实名认证通过的用户创建标准化的可信数字身份,所有参与方使用相同的身份合约结构,包括:身份、权限、认证方、认证级别、全网公开的外部账户地址、身份证明文件以及互相协作的接口等。
密钥管理
密钥是操作身份合约的钥匙,络谱为合作方提供了多种密钥管理工具:
安全插件是一种对密钥生命周期进行管理的工具,包括:密钥生成、签名验签、备份、恢复以及销毁等。由于安全插件能够保护私钥在其整个生命周期中不被非法获取,从而保证了区块链身份的可信性和安全性。安全插件还可以支持用户密钥的托管,私钥发给用户既不安全又不便于记忆,用户可以将私钥托管在安全插件中,而转换成通过用户名和密码来进行使用。
安全插件采用软件方式实现,安全等级适合用于联调测试,而不适合用于生产。对于生产环境我们推荐使用安全级别较高的硬件加密机方案,硬件加密机与安全插件采用相同的接口,用户可以无缝的从联调测试切换到生产。
密钥生成
安全插件和密码机等工具提供了生成密钥的 API。
生成的密钥填写在认证开户申请中,即可与络谱账户一起认证并互相绑定。
密钥更新
当用户的密钥丢失时,可重新进行一次密钥生成过程,将身份证明文件和新的外部账户地址一起提交给运营方,提交修改认证开户信息申请。运营方审核通过后,即可使用新的密钥进行业务操作。
签名
发送到络谱区块链的信息需用发送方的私钥签名以确定发送方身份。安全插件和密码机等工具提供了对待上链信息进行签名的 API。
查询密钥
安全插件和密码机等工具中保存了经过加密的用户密钥,用户在生成密钥和查询密钥时使用相同的userId
作为索引。
3.2 信息存证
络谱通过存证智能合约实现信息存证功能,由运营方统一部署的智能合约提供了标准化的数据结构。
存证合约管理
每个存证合约的申请用户默认为管理机构,管理机构可以通过 BROPTool 进行合约写入权限管理,BROPTool 的存证合约管理相关功能描述如下:
功能 | 功能描述 |
---|---|
设置存证合约黑白名单规则 | 设置该存证合约使用白名单或黑名单规则,只能选择其中一种。选择后仍然可以更换,更换后名单是清空的。如果选择白名单,则只有白名单中用户有写入存证权限,下列的白名单相关接口有效;选择黑名单,则只有黑名单中用户没有写入存证权限,下列的黑名单相关接口有效。 |
新增白名单用户 | 把某个身份合约添加到当前存证合约的白名单内 |
删除白名单用户 | 把某个身份合约从当前存证合约的白名单内删除 |
新增黑名单用户 | 把某个身份合约添加到当前存证合约的黑名单内 |
删除黑名单用户 | 把某个身份合约从当前存证合约的黑名单内删除 |
写入存证记录
具有存证合约写入权限的账户,可以通过BROPTool写入存证记录。存证记录结构如下:
字段 | 描述 |
---|---|
存证流水号 | 本条存证记录的存证流水号,合作方自定义规则,确保同一个合约内不重复 |
前序存证流水号 | 前序的存证流水号 |
存证信息 | 需要存证的业务数据的摘要值,推荐使用密文 |
自定义信息 | 合作方自定义,可写入800字节以内的任何数据。推荐写入对存证信息的属性描述等补充说明存证信息的扩展字段,建议用json格式拼装成字符串。 |
修改存证记录
具有存证合约写入权限的账户,可以通过 BROPTool 的 API,根据存证流水号更新相应的存证记录。
更多关于存证功能的应用,请查看存证模型的存证典型示例。
3.3 增值服务
数据托管
数据托管是络谱提供的增值服务。合作方可能需要存储空间保存与区块链存证数据相关联的文件(如图片、视频等),络谱运营方提供了云端存储空间。合作方可选择使用数据托管服务将文件保存在云空间,并在区块链上保存文件摘要和文件信息(如文件下载地址、摘要算法等)。用户拿到原始文件后,可通过公开算法计算出文件摘要,与链上信息比对。