一种基于区块链BaaS平台的节点接入方法与流程

文档序号:21542168发布日期:2020-07-17 17:45阅读:392来源:国知局
一种基于区块链BaaS平台的节点接入方法与流程

本发明属于区块链技术、节点接入技术领域,具体涉及一种基于区块链baas平台的节点接入方法。



背景技术:

区块链技术是一种以块链式数据结构验证与存储数据的分布式数据库技术,在应用层面,更多人愿意将它理解为分布式账本技术,即是一种以分布式节点的共识算法来保证数据的一致性的技术。区块链的编程和操作数据的方式,是以自动化脚本代码组成的智能合约来实现的,其实现的是一种去中心化、透明、安全的分布式基础架构。

通常,区块链采用baas平台实现管理和监控,baas是一种提供方便且集成化的区块链控制平台,用来监控和管理底层区块链网络,同时具有监控和管理量大的特色,既可以将底层网络的状态通过可视化的手段,实时呈现在前端页面上,也可以通过接口封装,将复杂的区块链底层管理简化为用户友好的一键操作。baas通过集成不同的sdk实现不同功能,例如baas集成了相关用户权限的功能,可以使三方机构通过本组织快速接入业务平台。

用户通过baas平台接入区块链网络目前有两种常用的实现方式,包括轻节点接入方式和全节点接入方式,轻节点接入方式是指,用户、组织或团体等只部署一个记账节点的接入方式,而全节点接入方式是指,用户、组织或团体等既有记账节点,又有共识节点的接入方式。这两种方式是通过节点接入区块链网络,即用户可以通过邀请方接入已有区块链网络,接入方拥有全套完整(全节点接入方式)或部分(轻节点接入方式)的区块链节点,拥有属于当前组织的节点,但接入方的baas与被接入方的baas共享一些基础组件,例如一些通信、共识或实现网络负载均衡等的基础组件。

在区块链中,当新组织接入时,若接入全节点则需要部署一套全新的baas系统以及附属程序,实现过程相当复杂和麻烦,因此大多数区块链在新组织接入时,采用接入全节点和轻节点混合的方式实现,但在部分信任度较高的区块链网络中,接入全节点和轻节点,既浪费了资源,又增加了不必要的成本。



技术实现要素:

本发明基于上述背景和现有技术所存在的问题,拟设计一种基于区块链baas平台的节点接入方法,其能够让部分数据、权限不敏感的组织能快速接入区块链网络参与交易,减少接入成本。部分对数据不敏感或对直参机构有足够信任的组织,可以成为区块链网络的间参机构,通过直参机构的节点,做到快速接入方法,提高baas平台的接入效率。设置a为需接入区块链网络用户、组织、团体等,可选择以节点接入方式,或无节点接入区块链网络的方式;

无节点接入区块链网络的具体实现步骤包括:

(1)逻辑结构的建构,包括设置直参机构和间参机构;

(2)完成逻辑结构设计后的baas(blockchainasaservice,区块链服务)监控管理平台,进一步实现直参机构端和间参机构端的功能。所述baas监控管理平台,用于提供方便的集成化的区块链控制台,用来监控和管理底层的区块链网络;

(3)通过直参机构和间参机构实现无节点的接入方式,a通过无节点的方式接入区块链网络;

(4)接入区块链网络的a通过构造符合结构的http(超文本传输协议)请求,通过rest-sdk(权限访问接口)直接访问区块链网络,发送交易。

优选的是,所述以节点接入区块链网络的方式,包括根据自身数据、权限的敏感程度选择以轻节点、全节点接入区块链网络:自身数据、权限敏感度高的选择全节点接入方式,自身数据、权限敏感度低的选择轻节点接入方式,或两种节点混合的方式接入区块链网络,还包括当对自身数据、权限不敏感的选择无节点接入的方式,或三种混合的接入方式。

所述步骤(1)中的直参机构和间参机构,属于baas平台的用户层,分别属于直参机构端和间参机构端,所述直参机构端是指,直接参与区块链网络的机构,有着一套完整的baas系统,包括非无节点方式,其用于审核间参机构是否接入、赋予间参机构特定的调用权限、以间参机构的信息生成认证中心的证书并管理该证书、查看间参机构调用次数等;所述间参机构端是指,以无节点方式间接接入区块链网络的机构,其主要通过和直参机构进行交互,由直参机构向区块链网络进行转发,最终的结果再由直参机构转发给间参机构;在baas平台中,设置的直参机构,包括用户权限管理、交易数据监控、节点信息监控、世界状态展示和智能合约管理;间参机构包括:交易发送、交易签名和私钥管理。

本发明的目的还可以进一步通过将直参机构作为代理,以无节点的方式参与到区块链网络中,成为间参机构的方法来实现,直参机构对间参机构进行管理,间参机构对区块链进行操作,该方法实现:直参机构创建成为间参机构;直参机构获取间参列表;直参机构更新间参机构权限;直参机构操作间参机构的证书;间参机构调用查询智能合约。

优选的是,所述步骤(2)中,所述实现的功能包括:

所述直参机构创建成为间参机构,是指直参机构根据间参机构信息和a的用户名密码创建间参机构账号,其实现的基础流程包括:直参机构以间参机构的机构名称等信息作为参数,调用直参机构前端的接口,后端根据解析到的请求参数校验间参机构组织名是否重复、a的用户名和密码是否合法,校验通过后利用直参机构的根证书构造实例为间参机构颁发user(用户)证书,并写入到ca表(间参机构证书路径表)和user表中,进行事务管理。

所述直参机构获取间参列表,是指直参机构获取所有间参机构的可操作智能合约、证书状态、智能合约调用次数以及直参机构所有的通道智能合约等,其实现的基础流程包括:直参机构的前端指定页码(pagenum)和页面规格(pagesize),baas平台通过orm(关系映射)从数据库中查找该直参机构管理下的所有间参机构,包括每个间参机构可以调用的智能合约、间参机构证书的有效性等,同时返回的还有直参机构本身可给间参机构分配的通道智能合约等。

所述直参机构更新间参机构的权限及操作间参机构的证书,分别指直参机构根据通道智能合约更新间参机构的权限,修改间参机构通道智能合约配置、对间参机构调用智能合约的限制可以通过间参机构权限的更新进行,也可以直接将间参机构证书在数据库中软删除或恢复,直参机构更新间参机构的权限及操作间参机构的证书的基础流程包括:直参机构在前端修改间参机构的权限后,将所有状态发送给后端baas通过发送来的权限状态和数据库数据库中间参机构已有的权限状态进行添加或删除,最后返回修改结果,在操作间参机构的证书时,只需指定间参机构的身份(id)和操作(action,开始start或停止stop),然后修改ca表中对应间参机构的状态。

所述间参机构调用查询智能合约,是指间参机构根据从直参机构处获取到的用户凭证对智能合约进行调用,其具体实现的基础流程包括:间参机构根据从直参机构那里获取到的身份凭证,使用调用智能合约时的必要参数向baas发起智能合约调用请求,baas收到请求后,解析参数并检查该间参机构是否有权限调用的智能合约、间参机构的证书是否有效,校验通过后,向背书节点发起智能合约调用(invoke)或查询(query)请求,若是invoke请求,需等待共识完成并提交到记账节点并插入调用记录后返回,若是query请求,插入调用记录后直接返回。

间参机构、直参机构前端以及baas平台之间实现功能的基本流程包括:

1.1直参机构前端创建间参机构,baas平台为间参机构颁发user证书;

1.2直参机构前端设置间参机构的权限,并将此修改信息的操作通知到baas平台;

1.3间参机构获取身份通证,并将此获取身份通证的操作通知到baas平台;

1.4间参机构发起调用,并将此调用的操作通知到baas平台;

1.5通过直参机构前端注销间参机构的证书,并将此注销的操作通知到baas平台。

优选的是,所述步骤(3)中,所述无节点的方式接入区块链网络,即在baas创建完毕后,允许新用户通过注册页面上传新组织信息,待其被审核通过后,新用户即实现无节点组织接入整个区块链网络,其通过baas对外提供的api(端口)即可享受安全可控的区块链服务。一般情况下,接入区块链网络的方式可通过节点接入和无节点接入,通过节点接入的用户可以通过邀请方接入已有区块链网络。无节点接入区块链网络,包括直参机构前端、baas平台和数据库之间操作,具体实现流程包括:

2.1直参机构前端创建(indirectcreate)间参机构,通过baas平台为间参机构颁发user证书;

2.2baas平台为间参机构颁发user证书后,插入ca表和user记录到数据库;

2.3数据库将记录操作结果返回到baas平台;

2.4baas平台根据数据库返回的结果,调整操作状态,并将状态信息返回到直参机构的前端。

优选的是,所述步骤(4)的权限访问的目的,是为了控制间参机构过多的权限,具体实现步骤包括:

3.1首先进行身份认证,与baas系统共用根组织,在baas中注册类型为间参机构的组织,其中各个直参机构的间参机构是相互隔离的,每个间参只能向自己的直参机构发送请求;

3.2然后进行交易发送,a通过任意方式构造相应的http请求包,发送到rest-sdk;

3.3将交易数据进行签名处理,签名操作可以根据用户对私钥的敏感度分别放置在调用端和rest-sdk端处理,目前放在rest-sdk端更为安全、方便,私钥存放在rest-sdk侧,即全托管给相应的直参机构,签名操作由直参机构的rest-sdk来进行;

3.4rest-sdk收到请求后,将数据封装成符合区块链交易的格式,转发给区块链网络。

进一步地,所述权限控制接口,还包括权限配置获取,即根据用户查询相应的权限表,获取所有权限列表及自己所拥有的权限列表;权限控制rest-sdk在转发交易时,会对交易的通道(channel)、链码(chaincode)、调用/查询(invoke/query)等相关参数做解析,通过权限表中相应的配置来判断当前交易是否可以做执行操作。

本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。本发明至少包括以下有益效果:

1.让部分数据、权限不敏感的组织快速接入区块链网络参与交易,减少接入成本;

2.不需要部署任何节点,以组织间参机构的形式参与区块链网络,由直参机构创建间参机构的账号并管理间参机构的权限,提高了组织管理的效率;

3.集成了相关用户的权限访问功能,可以使第三方机构通过本组织快速接入业务平台。

附图说明

图1为本发明实现无节点接入区块链网络的整体逻辑架构图;

图2为本发明直参机构创建成为间参机构的基础流程图;

图3为本发明直参机构获取间参机构列表的基础流程图;

图4为本发明直参机构更新间参机构权限及操作间参机构的证书的基础流程图;

图5为本发明间参机构调用查询智能合约的基础流程图;

图6为本发明直参机构、间参机构的功能实现的基础流程图;

图7为本发明以无节点方式接入区块链网络是实现流程图;

图8为本发明实现权限访问的流程图。

具体实施方式

为了清晰地阐述本发明,使本发明实施例的目的、技术方案和优点更加清楚,下面结合了本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,以令本领域技术人员参照说明书文字能够据以实施。下面将附图结合具体实施方式对本发明的技术加以详细说明。

具体实施例1:

1.图1示出了根据本发明的一种实现形式,示出了本发明实现无节点接入区块链网络的整体逻辑架构图,其实现的是整个baas平台的三个层次的功能,其中,所述步骤(1)中的直参机构和间参机构,属于baas平台的用户层,分别属于直参机构端和间参机构端,所述直参机构端是指,直接参与区块链网络的机构,有着一套完整的baas系统,包括非无节点方式,其用于审核间参机构是否接入、赋予间参机构特定的调用权限、以间参机构的信息生成ca证书(或身份通证)并管理该ca证书、查看间参机构调用次数等;所述间参机构端是指,以无节点方式间接接入区块链网络的机构,其主要通过和直参机构进行交互,由直参机构向区块链网络进行转发,最终的结果再由直参机构转发给间参机构;在baas平台中,设置的直参机构,包括用户权限管理、交易数据监控、节点信息监控、世界状态展示和智能合约管理;间参机构包括:交易发送、交易签名和私钥管理。设置a为需接入区块链网络的用户、组织、团体等,可选择以节点或无节点接入区块链网络的方式,所述以节点接入区块链网络的方式,包括根据自身数据、权限的敏感程度选择以轻节点、全节点:自身数据、权限敏感度高的选择全节点接入方式,自身数据、权限敏感度低的选择轻节点接入方式,或两种节点混合的方式接入区块链网络,还包括当对自身数据、权限不敏感的选择无节点接入的方式,以无节点接入区块链网络的方式,或三种混合的接入方式。

无节点接入baas平台的具体实现步骤包括:

(1)逻辑结构的构建,包括设置直参机构和间参机构,如图1所示;

(2)完成逻辑结构设计后的baas(blockchainasaservice,区块链服务)平台,进一步实现直参机构端和间参机构端的功能。所述baas监控管理平台,用于提供方便的集成化的区块链区块链控制台,用来监控和管理底层的区块链网络;

(3)通过直参机构和间参机构实现无节点的接入方式,a通过无节点的方式接入区块链网络;

(4)接入区块链网络的a通过构造符合结构的http请求,通过rest-sdk(权限访问接口)直接访问区块链网络,发送交易。

将直参机构作为代理,以无节点参与到区块链网络中的角色成为间参机构,直参机构对间参机构进行管理,间参机构对区块链进行操作,该方法实现:直参机构创建成为间参机构;直参机构获取间参列表;直参机构更新间参机构权限;直参机构操作间参机构的证书;间参机构调用查询智能合约。

2.所述步骤(2)中,所述实现的功能包括:

所述直参机构创建成为间参机构,是指直参机构根据间参机构信息和a的用户名密码创建间参机构账号,其实现的基础流程如图2所示,包括:直参机构以间参机构的机构名称等信息作为参数,调用直参机构前端的接口,后端根据解析到的请求参数校验间参机构组织名是否重复、a的用户名和密码是否合法,校验通过后利用直参机构的根证书构造实例为间参机构颁发用户(user)证书,并写入到ca表和user表中,进行事务管理。

所述直参机构获取间参列表,是指直参机构获取所有间参机构的可操作智能合约、证书状态、智能合约调用次数以及直参机构所有的通道智能合约等,其实现的基础流程如图3所示,包括:直参机构的前端指定页码(pagenum)和页面规格(pagesize),baas平台通过orm从数据库中查找该直参机构管理下的所有间参机构,包括每个间参机构可以调用的智能合约、间参机构证书的有效性等,同时返回的还有直参机构本身可给间参机构分配的通道智能合约等。

所述直参机构更新间参机构的权限及操作间参机构的证书,分别指直参机构根据通道智能合约更新间参机构的权限,修改间参机构通道智能合约配置、对间参机构调用智能合约的限制可以通过间参机构权限的更新进行,也可以直接将间参机构证书在数据库中软删除或恢复,直参机构更新间参机构的权限及操作间参机构的证书的基础流程如图4所示,包括:直参机构在前端修改间参机构的权限后,将所有状态发送给后端baas通过发送来的权限状态和数据库数据库中间参机构已有的权限状态进行添加或删除,最后返回修改结果,在操作间参机构的证书时,只需指定间参地址(id)和操作(action,开始start或停止stop),然后修改ca表中对应间参机构的状态。

所述间参机构调用查询智能合约,是指间参机构根据从直参机构处获取到的用户凭证对智能合约进行调用,其具体实现的基础流程如图5所示,包括:间参机构根据从直参机构那里获取到的身份凭证,使用调用智能合约时的必要参数向baas平台发起智能合约调用请求,baas平台收到请求后,解析参数并检查该间参机构是否有权限调用的智能合约、间参机构的证书是否有效,校验通过后,向背书节点发起智能合约调用(invoke)或查询(query)请求,若是invoke请求,需等待共识完成并提交到记账节点并插入调用记录后返回,若是query请求,插入调用记录后直接返回。

间参机构、直参机构前端以及baas平台之间实现功能的基本流程如图6所示,包括:

1.1直参机构前端创建间参机构,baas平台为间参机构颁发user证书;

1.2直参机构前端设置间参机构的权限,并将此修改信息的操作通知到baas平台;

1.3间参机构获取身份通证,并将此获取身份通证的操作通知到baas平台;

1.4间参机构发起调用,并将此调用的操作通知到baas平台;

1.5通过直参机构前端注销间参机构的证书,并将此注销的操作通知到baas平台。

具体实施例2:

在直参机构新建间参机构的组织的实现过程中,在baas平台中有相应的按键可以实现,当按下“新建”按键后,会弹出对应模态的窗口,按提示填写信息并提交后,就可以实现调用后端接口新建间参机构组织。

间参机构的详细信息包含有间参机构的名称、间参机构的通道、通道内的智能合约、智能合约调用次数以及证书状态等。对于证书停用的间参机构或组织,会显示“启用”按键,对于证书正常的机构或组织,会显示“停用”按键。

同理,在直参机构更新间参机构的权限的过程中,修改间参机构的通道智能合约的配置的实现,通过点击“修改通道智能合约配置”按键,进行修改。

3.所述步骤(3)中,所述无节点的方式接入区块链网络,如图7所示,在baas创建完毕后,允许新用户通过注册页面上传新组织信息,待其被审核通过后,新用户即实现无节点组织接入整个区块链网络,其通过baas平台对外提供的api即可享受安全可控的区块链服务。一般情况下接入区块链网络的方式可通过节点接入和无节点接入,通过节点接入的用户可以通过邀请码接入已有区块链网络。接入方拥有全套完整的区块链节点,拥有属于当前组织的节点(例如普通对等节点、排序节点等),但接入方的baas平台与被接入方的baas平台共享kafka,zookeeper等基础组件。无节点接入区块链网络,包括直参机构前端、baas平台和数据库之间操作,具体实现流程包括:

2.1直参机构前端创建间参机构(indirectcreate),调用baas组件,通过baas平台为间参机构颁发user证书;

2.2baas平台为间参机构颁发user证书后,插入ca表和user记录到数据库;

2.3数据库将记录操作结果返回到baas平台;

2.4baas平台根据数据库返回的结果,调整操作状态,并将状态信息返回到直参机构的前端。

4.所述步骤(4)的权限访问的目的,是为了控制间参机构过多的权限,其实现流程图如图8所示,具体实现步骤包括:

3.1首先进行身份认证,与baas系统共用根组织,在baas中注册类型为间参机构的组织,其中各个直参机构的间参机构是相互隔离的,每个间参只能向自己的直参机构发送请求,例如,直参机构a创建间参用户,设置名字为test,直参机构b也可以创建间参用户test,但所述两个间参用户test是相互隔离的;

3.2然后进行交易发送,a可以通过任意方式构造相应的http请求包,发送到rest-sdk;

3.3将交易数据进行签名处理,签名操作可以根据用户对私钥的敏感度分别放置在调用端和rest-sdk端处理,目前放在rest-sdk端更为安全、方便,私钥存放在rest-sdk侧,即全托管给相应的直参机构,签名操作由直参机构的rest-sdk来进行;

3.4rest-sdk收到请求后,将数据封装成符合区块链交易的格式,转发给区块链网络。

所述权限控制接口,还包括权限配置获取,即根据用户查询相应的权限表,获取所有权限列表及自己所拥有的权限列表;权限控制rest-sdk在转发交易时,会对交易的通道(channel)、链码(chaincode)、调用/查询(invoke/query)等相关参数做解析,通过权限表中相应的配置来判断当前交易是否可以做执行操作。

这里说明的实现方法是用来简化本发明的说明的。对本发明的无节点接入方式的应用、修改和变化对本领域的技术人员来说是显而易见的。

上述对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1