一种联盟链动态升级服务方法与流程

文档序号:21971027发布日期:2020-08-25 19:00阅读:103来源:国知局
一种联盟链动态升级服务方法与流程
本发明涉及区块链技术,特别涉及一种联盟链动态升级服务方法。
背景技术
:区块链通过技术手段,保证了信息传递的不可篡改性、可信性、高安全性、可追溯性。在区块链技术联盟链应用中,一般由多家组织构建成一个联盟,并创建相应的业务链,实现数字资产在链上的流转。但是在应用过程中,联盟链会遇到组织成员变更、组织成员权限变更的问题。例如,联盟成员增加、联盟成员减少、联盟成员权限变更。以往的做法是通过重新生成配置信息,生成新的配置块,然后停掉联盟链上的节点服务,替换掉配置,重新启动服务。这种做法基本上是手动运维,特别是在分布式联盟节点很多的场景下,这种升级方法不仅会停掉服务,操作繁杂,容易出现操作失误,还必须联盟内多家组织由专业人员一起运维,升级成本非常大,是区块链生态建设的一大障碍。技术实现要素:本发明针对现有技术的不足,提供一种联盟链动态升级服务方法。为实现上述目的,本发明有如下技术方案:一种联盟链动态升级服务方法,该方法包括:服务端向用户提供restful接口服务,包括增加联盟链组织成员、删除联盟链组织成员、联盟链组织成员权限变更服务接口;服务端通过区块链sdk与区块链网络节点进行交互,实现对区块链网络节点的操作;服务端根据联盟成员的升级信息生成升级文件,然后根据背书策略获取联盟成员签名信息,最后将经过多方签名的升级文件发送到区块链网络的共识节点来升级配置块,从而完成联盟链的升级。进一步地,后台服务端向用户提供restful接口服务,调用者可以通过命令行或者前端界面进行操作。进一步地,联盟链的创建具体为:打通各成员节点的网络;由证书签发机构为联盟的各个组织成员分配证书及秘钥;根据各联盟成员的读写权限策略、链上组织成员、背书策略生成配置文件;根据配置文件生成创世块;把创世块分配给各成员节点,启动节点,创建链。进一步地,所述配置块中规定链内的组织成员信息、链内各个组织成员的权限、链内各组织成员的证书、链的管理的背书策略。进一步地,所述背书策略在创建链的时候指定,在进行对链的升级操作时,链内成员对升级内容的签名策略,背书策略包括:链内多数成员签名背书、链内任意成员签名背书、链内指定成员签名背书、链内所有成员签名背书。进一步地,所述配置块包括共识节点配置、应用配置和组织成员配置等;所述共识节点配置包括读写权限、区块验证策略、共识类型、交易打包配置信息、打包超时时间、最大链数目等;所述应用配置,主要针对记账节点,包括读写权限、acl配置等;所述组织成员配置,包括组织签名策略等;所述配置块规定了各组织,各个共识节点,各个记账节点,各个组织成员的权限、签名策略;一个组织可以包含多个共识节点和多个记账节点;节点进行读取操作或写操作时,根据配置块里所对应的权限进行验证。进一步地,增加联盟链组织成员服务接口的实现方法包括:联盟链内需要新增组织时,经过商务合同确定操作组织及背书策略,背书的签名信息上链到区块里;操作组织的客户端准备好新增组织信息及背书策略,调用restful接口,发送到后台服务端;后台服务端解析新增组织信息及背书策略,向区块链网络获取配置块信息;后台服务端根据新增组织信息、背书策略和联盟链的配置块信息构建升级文件;后台服务端使用操作组织对升级文件进行签名;根据背书策略向区块链网络其他组织获取升级文件的签名信息;区块链网络其他组织对升级文件进行签名并返回,可选择同意加入或不同意加入;根据签名的升级文件构建增加组织的区块链升级消息;发送新增组织的区块链交易消息到区块链网络共识节点;区块链网络节点根据签名策略及是否同意新组织加入的状态信息判断是否升级区块链网络;返回新增组织的区块链网络升级结果。进一步地,删除联盟链组织成员服务接口的实现方法包括:联盟链内需要删除某组织时,经过商务合同确定操作组织及背书策略,背书的签名信息上链到区块里;操作组织的客户端准备好删除组织信息及背书策略,调用restful接口,发送到后台服务端;后台服务端解析删除组织信息及背书策略,向区块链网络获取配置块信息;后台服务端根据删除组织信息、背书策略和联盟链的配置块信息构建升级文件;后台服务端使用操作组织对升级文件进行签名;根据背书策略向区块链网络其他组织获取升级文件的签名信息;区块链网络其他组织对升级文件进行签名并返回,可选择同意删除或不同意删除;根据签名的升级文件构建删除组织的区块链升级消息;发送删除组织的区块链交易消息到区块链网络共识节点;区块链网络根据背书策略及是否同意删除组织的状态信息判断是否升级区块链网络;返回删除组织的区块链网络升级结果。进一步地,联盟链组织成员权限变更服务接口的实现方法包括:联盟链内需要变更组织权限时,经过商务合同确定操作组织及背书策略,签名信息上链到区块里;操作组织的客户端准备好组织权限变更信息及背书策略,调用restful接口,发送到后台服务端;后台服务端解析组织权限变更信息及背书策略,并向区块链网络获取配置块信息;后台服务端根据组织权限变更信息、背书策略和联盟链的配置块信息生成升级文件;后台服务端使用操作组织对升级文件进行签名;根据背书策略向区块链网络其他组织获取升级文件的签名信息;区块链网络其他组织对升级文件进行签名并返回,可选择同意变更或不同意变更;根据签名的升级文件构建区块链升级消息;发送组织权限变更的区块链交易消息到区块链网络共识节点;区块链网络根据签名策略及是否同意变更组织权限的状态信息判断是否升级区块链网络;返回组织权限变更的区块链网络升级结果。本发明的有益效果是:本发明通过向外提供简单的restful接口服务,就可以实现联盟链的动态升级,使得联盟链的扩展升级十分便捷,为构建联盟链生态打下基础。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为联盟链的创建流程图;图2为本发明的总体架构图;图3为增加联盟链组织成员流程图;图4为删除联盟链组织成员流程图;图5为联盟链组织成员权限变更流程图。具体实施方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。如图1所示,本发明中联盟链的建立过程如下:创建联盟链一般先打通各成员节点的网络,再由ca(证书签发机构)为联盟的各个组织成员分配证书及秘钥,按照各个联盟成员的读写权限策略、链上组织成员、背书策略生成配置文件,然后根据配置文件生成创世块。把创世块分配给各成员节点,然后启动节点,创建链等。其中创世块又是配置块,配置块里面规定链内的组织成员信息、链内各个组织成员的权限、链内各组织成员的证书、链的管理(主要指链的升级操作)的背书策略等信息,决定了该链的隔离性、安全性、成员准入等特性。背书策略是在创建链的时候指定的,在进行对链的升级操作时,链内成员对升级内容的签名策略,背书策略主要包括:链内多数成员签名背书、链内任意成员签名背书、链内指定成员签名背书、链内所有成员签名背书。如图2所示,本发明的总体架构如下:对用户提供restful接口,调用者可以通过命令行或者前端界面进行操作。后台服务端通过区块链sdk与区块链网络节点进行交互,实现对区块链网络节点的操作。后台服务端主要提供增加联盟链组织成员,删除联盟链组织成员,联盟链组织成员权限变更这些服务接口。后台服务端根据联盟成员的升级信息生成升级文件,然后根据背书策略获取联盟成员签名信息,最后把经过多方签名的升级文件发送到区块链网络的共识节点来升级配置块,从而达到升级联盟链的目的。其中,配置块主要包括:1、共识节点配置,具体如下:读写权限:admin权限,write权限,read权限;区块验证策略:any,all,majority;共识类型,主要包括solo、raft、pbft;交易打包配置信息,例如batchsize等;打包超时时间最大链的数目共识节点的修改权限,一般为admin权限,即可以读写;共识节点的组织信息,通过map表来存储所有组织的信息,主要包括证书信息,签名策略。2、应用配置,主要针对记账节点,具体如下:读写权限:admin权限,write权限,read权限;acl(访问控制列表)配置,主要针对一些api接口,例如getblock接口为read权限;记账节点的修改权限,一般为admin权限,即可以读写。3、组织成员配置,具体如下:组织签名策略组织配置信息,通过map表存储所有组织信息,包括组织的order节点配置,其中主要包括证书信息,签名策略;链的创建策略配置一般为any策略,即任一组织成员都可创建链。配置块规定了各组织,各个共识节点,各个记账节点,各个组织成员的权限、签名策略等。其中一个组织可以包含多个共识节点和多个记账节点。节点进行操作时这个操作包括读取操作,例如读取链上信息;写操作例如发起交易生成区块,写入账本,升级配置块操作;这些操作需要根据配置块里所对应的权限进行验证。配置块的定义实现了区块链的权限管理,针对不同组织可以定义不同权限,有效的保证了链的安全性。并能够根据业务场景进行差异化配置,丰富了应用场景。后台服务端提供了增加联盟链组织成员,删除联盟链组织成员,联盟链组织成员权限变更这些服务接口,服务接口的具体实现及流程如下:(一)增加联盟链组织成员,流程如图3所示。1、联盟链内,需要新增组织,经过商务合同确定操作组织及背书策略,这里背书策略可以选择联盟内多数组织同意加入、任意组织同意加入、指定组织同意加入、全部组织同意加入。只有满足背书策略,才能加入成功,这些背书的签名信息会上链即保存到区块里。操作组织的客户端准备好新增组织信息及背书策略,调用restful接口:https://ip:port/addorg,发送到后台服务端。2、后台服务端解析新增组织信息及背书策略,并向区块链网络获取配置块信息。3、后台服务端根据新增组织信息、背书策略和联盟链的配置块信息构建升级文件。4、后台服务端使用操作组织对升级文件进行签名。5、根据背书策略向区块链网络其他组织获取升级文件的签名信息。6、区块链网络其他组织对升级文件进行签名并返回,可选择同意加入或不同意加入。7、根据签名的升级文件构建增加组织的区块链升级消息。8、发送新增组织的区块链交易消息到区块链网络共识节点。9、区块链网络节点根据签名策略及是否同意新组织加入的状态信息判断是否升级区块链网络。10、返回新增组织的区块链网络升级结果。(二)删除联盟链组织成员,流程如图4所示。1、联盟链内,需要删除某组织,经过商务合同确定操作组织及背书策略,这里背书策略可以选择联盟内多数组织同意删除、任意组织同意删除、指定组织同意删除、全部组织同意删除。只有满足背书策略,才能删除成功,这些背书的签名信息会上链即保存到区块里。操作组织的客户端准备好删除组织信息及背书策略,调用restful接口:https://ip:port/deleteorg,发送到后台服务端。2、后台服务端解析删除组织信息及背书策略,并向区块链网络获取配置块信息。3、后台服务端根据删除组织信息、背书策略和联盟链的配置块信息构建升级文件。4、后台服务端使用操作组织对升级文件进行签名。5、根据背书策略向区块链网络其他组织获取升级文件的签名信息。6、区块链网络其他组织对升级文件进行签名并返回,可选择同意删除或不同意删除。7、根据签名的升级文件构建删除组织的区块链升级消息。8、发送删除组织的区块链交易消息到区块链网络共识节点。9、区块链网络根据背书策略及是否同意删除组织的状态信息判断是否升级区块链网络。10、返回删除组织的区块链网络升级结果。(三)联盟链组织成员权限变更,流程如图5所示。1、联盟链内,需要变更组织权限,一般联盟链内组织有读权限、写权限、admin权限。经过商务合同确定操作组织及背书策略,这里背书策略可以选择联盟内多数组织同意变更权限、任意组织同意变更权限、指定组织同意变更权限、全部组织同意变更权限。只有满足背书策略,才能变更组织权限成功,这些签名信息会上链即保存到区块里。操作组织的客户端准备好组织权限变更信息及背书策略,调用restful接口:http://ip:port/changepermission,发送到后台服务端。2、后台服务端解析组织权限变更信息及背书策略,并向区块链网络获取配置块信息。3、后台服务端根据组织权限变更信息、背书策略和联盟链的配置块信息生成升级文件。4、后台服务端使用操作组织对升级文件进行签名。5、根据背书策略向区块链网络其他组织获取升级文件的签名信息。6、区块链网络其他组织对升级文件进行签名并返回,可选择同意变更或不同意变更。7、根据签名的升级文件构建区块链升级消息。8、发送组织权限变更的区块链交易消息到区块链网络共识节点。9、区块链网络根据签名策略及是否同意变更组织权限的状态信息判断是否升级区块链网络。10、返回组织权限变更的区块链网络升级结果。此外,本申请的一些实施例中,主要消息、主要函数、主要接口按如下方式定义,但不限于此:主要消息定义如下:addorgrequest:新增组织请求消息deleteorgrequest:删除联盟链组织请求消息changepermissionrequest:联盟链组织权限变更请求消息主要函数定义如下:函数名函数说明addorg()增加组织createaddorgupdate()构建增加组织升级文件deleteorg()删除组织createdelorgupdate()构建删除组织升级文件changepermission()组织权限变更createchangepermissionupdate()构建组织权限变更升级文件getconfigblockbychannel()获取联盟链配置块configupdate()升级文件构建compute()根据配置变更计算升级文件signupdate()对配升级文件进行签名sign()签名函数主要接口定义如下:https://ip:port/addorghttps://ip:port/deleteorghttps://ip:port/changepermission以上所述仅是本发明的优选实施方式,虽然本发明已以较佳实施例披露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何的简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1