CN115426256B - 联盟链配置方法、装置及存储介质 - Google Patents
联盟链配置方法、装置及存储介质 Download PDFInfo
- Publication number
- CN115426256B CN115426256B CN202110603100.3A CN202110603100A CN115426256B CN 115426256 B CN115426256 B CN 115426256B CN 202110603100 A CN202110603100 A CN 202110603100A CN 115426256 B CN115426256 B CN 115426256B
- Authority
- CN
- China
- Prior art keywords
- configuration
- chain
- request
- node
- consensus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 230000007246 mechanism Effects 0.000 claims abstract description 30
- 230000008569 process Effects 0.000 claims abstract description 20
- 238000012795 verification Methods 0.000 claims description 33
- 238000012550 audit Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 10
- 238000005516 engineering process Methods 0.000 claims description 10
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000012508 change request Methods 0.000 claims description 4
- 238000012217 deletion Methods 0.000 claims description 2
- 230000037430 deletion Effects 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 description 9
- 230000008520 organization Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 239000004744 fabric Substances 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012552 review Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000036651 mood Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/042—Network management architectures or arrangements comprising distributed management centres cooperatively managing the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种联盟链配置方法、装置及存储介质,在联盟链之上构建了配置链,配置链的节点可以是根据所述联盟链中的节点构建得到的,配置链在接收到对联盟链的配置请求时,可以对配置请求进行共识,并在共识通过时,发送配置指令,并将该配置请求和配置指令上传到配置链。所谓“共识机制”,是通过共识节点的投票,在很短的时间内完成对交易的验证和确认,利用共识机制,本发明将对联盟链的配置决策放在配置链上,配置链负责对联盟链的配置过程进行决策,基于共识机制可以省去很多繁复的配置过程,决策效率更高,在一定程度上避免联盟链的部署、管理等配置效率低的问题。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种联盟链配置方法、装置及存储介质。
背景技术
目前,适用于企业的联盟链技术,比如超级账本结结构(Hyperledger Fabric)、区块链底层技术开源平台(BCOS)以及可信任结构化查询语言(Trust Structured QueryLanguage。TrustSQL)提供了企业所需的准入手段、协作流程、灵活度以及高性能,但却带来了额外的复杂性,比如学习、部署以及管理成本。
因此,如何联盟链进行高效配置。
发明内容
本发明提供一种联盟链配置方法、装置及存储介质,用以解决现有技术中联盟链配置效率低的缺陷,实现对联盟链的高效配置。
第一方面,本发明提供一种联盟链配置方法,应用于基于区块链技术的配置链的节点,所述配置链是根据所述联盟链中的节点构建得到的,所述联盟链配置方法包括:
接收对所述联盟链的配置请求;
对所述配置请求进行共识;
若共识通过,则对所述配置请求发送配置指令;
将所述配置请求和所述配置指令上传到所述配置链。
在一个实施例中,所述配置请求为针对所述联盟链的节点配置请求,所述节点配置请求包括节点添加请求、节点删除请求、节点信息更新请求和锚节点变更请求中的至少一种。
在一个实施例中,如果所述节点配置请求包括节点添加请求,则对所述配置请求进行共识,包括:
从所述节点添加请求中提取所述联盟链对待添加节点的审核通过结果;
对所述审核通过结果进行共识。
在一个实施例中,还包括:
从所述配置链中提取所述联盟链中部署的智能合约;
将提取的所述智能合约发送给根据所述节点添加请求添加的节点。
在一个实施例中,所述配置请求为智能合约配置请求,所述智能合约配置请求包括智能合约部署请求和智能合约升级请求中的至少一种,则对所述配置请求进行共识,包括:
判断所述配置请求是否包含所述联盟链中的指定节点对所述智能合约的审核信息;
若是,则对所述审核信息进行共识。
在一个实施例中,所述配置请求是所述联盟链中的节点发起的业务链创建请求,则对所述配置请求进行共识,包括:
对所述业务链创建请求进行共识;
则对所述配置请求发送执行配置指令,包括:
向基于所述业务链创建请求所创建业务链的节点发送签名请求,使所创建业务链的节点对所述业务链创建请求进行签名;
则将所述配置请求和所述配置指令上传到所述配置链,包括:
将共识信息和签名信息上传到所述配置链。
在一个实施例中,如果所述配置请求包括对所述联盟链中交易的验证请求,所述验证请求包括交易密文和证明文件,所述证明文件是对交易密文、解密密钥和交易明文的哈希值运行规则电路得到中间文件并根据所述中间文件和证明密钥生成的,所述证明密钥和规则电路是根据证明规则配置的,则在对所述配置请求进行共识之前,还包括:
对所述交易密文计算哈希值,得到所述规则电路的参数;
根据所述规则电路的参数和证明文件调用智能合约进行验证,所述智能合约是根据验证密钥生成的,所述验证密钥是根据所述证明规则配置的;
若验证结果显示通过,对所述配置请求进行共识,包括:
对所述验证结果进行共识;
则对所述配置请求发送执行配置指令,包括:
将所述验证结果发送给所述联盟链。
第二方面,本发明提供一种联盟链配置系统,包括:
联盟链;
配置链,是根据所述联盟链中的节点构建得到的,接收对所述联盟链的配置请求,对所述配置请求进行共识,若共识通过,则对所述配置请求发送配置指令,将所述配置请求和所述配置指令上传到所述配置链。
第三方面,本发明提供一种联盟链配置装置,应用于基于区块链技术的配置链的节点,所述配置链是根据所述联盟链中的节点构建得到的,所述联盟链配置装置包括:
接收模块,接收对所述联盟链的配置请求;
共识模块,对所述配置请求进行共识;
发送模块,若共识通过,则对所述配置请求发送执行配置指令;
上链模块,将所述配置请求和所述配置指令上传到所述配置链。
第四方面,本发明提供一种电子设备,包括存储器和存储有计算机程序的存储器,所述处理器执行所述程序时实现第一方面所述联盟链配置方法的步骤。
第五方面,本发明提供一种处理器可读存储介质,所述处理器可读存储介质存储有计算机程序,所述计算机程序用于使所述处理器执行第一方面所述联盟链配置方法的步骤。
本发明提供的联盟链配置方法、装置及存储介质,在联盟链之上构建了配置链,配置链的节点可以是根据所述联盟链中的节点构建得到的,配置链在接收到对联盟链的配置请求时,可以对配置请求进行共识,并在共识通过时,发送配置指令,并将该配置请求和配置指令上传到配置链。所谓“共识机制”,是通过共识节点的投票,在很短的时间内完成对交易的验证和确认,利用共识机制,本发明将对联盟链的配置决策放在配置链上,配置链负责对联盟链的配置过程进行决策,基于共识机制可以省去很多繁复的配置过程,决策效率更高,在一定程度上避免联盟链的部署、管理等配置效率低的问题。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的联盟链配置系统的结构示意图之一;
图2是本发明提供的联盟链配置系统的结构示意图之二;
图3是本发明提供的联盟链配置方法的流程示意图之一;
图4是本发明提供的联盟链配置方法的流程示意图之二;
图5是本发明提供的联盟链配置方法的流程示意图之三;
图6是本发明提供的联盟链配置方法的流程示意图之四;
图7是本发明提供的联盟链配置方法的流程示意图之五;
图8是本发明提供的联盟链配置方法的流程示意图之六;
图9是本发明提供的联盟链配置方法的流程示意图之七;
图10是本发明提供的联盟链配置方法的流程示意图之八;
图11是本发明提供的联盟链配置方法的流程示意图之九;
图12是本发明提供的联盟链配置方法的流程示意图之十;
图13是本发明提供的联盟链配置装置的结构示意图;
图14是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明发明人对现有技术进行分析发现,现有技术方案是由实体对象向联盟链发起加入的申请;接着,联盟链发起方对申请进行审核,审核申请通过后,实体对象接入到联盟链中;加入到联盟链中的成员即可进行申请通道和拉取智能合约等业务。只有联盟链发起方可以对通道、智能合约进行管理,智能合约升级成功后,联盟链其他成员可选升级,如果不升级将不可以再进行业务流转。
例如,作为联盟链技术的Hyperledger Fabric是一个面向企业应用的区块链框架,是一种开源技术框架,其功能强大,应用比较广泛。但是在企业实际的应用过程中还存在一些问题,比如:Fabric框架本身配置繁琐,操作步骤过多,缺乏比较好的运维工具或平台。Fabric对企业用户的托管服务商MSP成员的管理采取一视同仁的方式,当成员数量达到一定数量时,更新配置会非常麻烦。Fabric某些操作需要多个机构在同一个时间窗口进行,例如升级合约,但现实中由于各个机构存在差异,难以满足这样的更新策略等。
参照图1,本发明提供一种联盟链配置系统100,包括:
联盟链110,本发明所称联盟链可以是联盟链本身或联盟链中的部分节点创建的业务链;
配置链120,是根据联盟链110中的节点构建得到的,接收对联盟链110的配置请求,对配置请求进行共识,若共识通过,则对配置请求发送配置指令,将配置请求和配置指令上传到所述配置链120。
配置链120与联盟链110中的区块链节点部分或全部相同。
具体地,参考图2所示,与图1所示实施例相比,区块链配置系统200还包括:
底层组件210,底层组件支持多种部署方式,包括Docker容器部署,Kubernetes(又称K8S)、Swarm集群部署等;
区块链层220,可支持多种架构,当前支持包括Fabric、国产自主可控的ChainSQL等,本发明的联盟链和配置链可在区块链层220运行;
服务接口层230,支持JAVA、Node.JS、Raw-SQL和Raw-TX,并可支持扩展其它APIs及SDKs;
提供数据隐私保护的区块链+层240,提供零知识证明、身份隐私保护等;
应用层250,可针对区块链层220开发区块链上层工具,包括:链上治理系统、匿名用户身份追踪和撤销、零知识证明功能等等;
运维层260,包括运维监控和日志管理,运维监控包括交易、区块、节点及服务器资源的监控,日志管理包括:操作日志和节点日志。
下面结合图3-图12描述本发明的联盟链配置方法。
参照图3,本方法应用于配置链的节点,联盟链为联盟链本身或联盟链中的部分节点创建的业务链,配置链是根据联盟链中的节点构建得到的,所述联盟链配置方法包括如下步骤:
步骤310:接收对所述联盟链的配置请求;
步骤320:对所述配置请求进行共识;
步骤330:若共识通过,则对所述配置请求发送配置指令;
步骤340:将配置请求和配置指令上传到所述配置链。
本发明将对联盟链配置的决策过程放在配置链上,配置链负责对联盟链进行配置决策,基于共识机制可以省去很多繁复的配置过程,决策效率更高。
在本发明中,配置请求可以为针对联盟链的节点配置请求,该节点配置请求包括节点添加请求、节点删除请求、节点信息更新请求和锚节点变更请求中的至少一种。
对于节点配置请求的不同场景类型,可执行相应的共识机制。在本发明中,对于不同配置请求的类型,所对应的共识机制原理可以不同。
参照图4,如果所述节点配置请求包括节点添加请求,则对所述配置请求进行共识,包括:
步骤410:从节点添加请求中提取联盟链对待添加节点的审核通过结果;
步骤420:对所述审核通过结果进行共识。
在这种情况下,节点添加请求可以先经联盟链中的指定成员进行审核,待审核通过之后,再提交到配置链进行共识。
具体地,参照图5,联盟链新节点添加过程包括如下步骤:
步骤510:联盟链管理员对待添加节点进行审核,该联盟链管理员可以是配置链中的一个节点或联盟链中的一个节点;
步骤520:若审核通过,则根据节点添加请求向配置链发起投票流程;
步骤530:配置链对评估通过结果进行投票,即共识;
步骤540:若投票通过,则确定节点添加成功;
步骤550:若投票不通过,则确定节点添加失败。
通过配置链的投票共识,可以避免联盟链内的少数机构进行恶意审批,而且投票共识过程是透明的,对所有成员均可见,增强了区块链节点添加的可信任度。
在本发明实施例中,参照图6,当在联盟链中添加新的节点,则可以执行如下步骤:
步骤610:从配置链中提取联盟链中部署的智能合约;
步骤620:将提取的智能合约发送给根据节点添加请求添加的节点。
联盟链中部署的智能合约存储在配置链,这样联盟链成员在需要进行操作的通道内均可选择已上传的智能合约进行部署或升级,实现合约代码一次上传,处处部署。
在本发明实施例中,对节点删除请求,可以在配置链对要删除的节点发起共识投票,当共识通过则确定配置指令为删除指令,当共识不通过则删除失败。
而对节点信息更新请求,节点信息为节点身份或其他资料信息,则对要更新的节点信息发起共识投票,当共识通过则确定配置指令为更新指令,当共识不通过则更新失败。
对上述节点配置请求,可以是针对联盟链或根据联盟链中节点所创建的业务链的节点配置请求。
在本发明实施例中,配置请求可以为智能合约配置请求,其中智能合约配置请求包括智能合约部署请求和智能合约升级请求中的至少一种,则参照图7,对所述配置请求进行共识,包括如下步骤:
步骤710:判断所述配置请求是否包含所述联盟链中的指定节点对所述智能合约的审核信息;
步骤720:若是,则对所述审核信息进行共识。
智能合约的配置也由配置链进行共识决策,并在共识通过后,可以部署生效。此时,配置指令即为对智能合约执行部署或升级的指令。
具体地,参照图8,智能合约配置过程包括如下步骤:
步骤810:业务链运营机构用户在配置链发起合约审核投票,该业务链运营机构用户同时是配置链的节点;
步骤820:业务链核心机构管理员查询待审核合约,该业务链核心机构管理员同时是配置链的节点;
步骤830:业务链核心机构管理员对待审核合约进行审核,并将审核信息提交配置链进行共识;
步骤840:配置链中指定的业务链节点对审核信息进行投票;
步骤850:若投票通过,则发送智能合约审核通过事件发送给业务链运营机构客户端,或者直接发送给业务链运营机构用户;
步骤860:启用合约;
步骤870:配置链中指定的业务链节点生成链码Docker镜像并实例化。
在本发明实施例中,配置请求可以是联盟链中的节点发起的业务链创建请求,则参考图9所示,联盟链配置方法具体包括如下步骤:
步骤910:接收联盟链节点发起的业务链创建请求;
步骤920:对业务链创建请求进行共识;
步骤930:在共识通过后,向基于所述业务链创建请求所创建业务链的节点发送签名请求,使所创建业务链的节点对所述业务链创建请求进行签名;
步骤940:将共识信息和签名信息上传到配置链。
本发明该实施例提供动态的业务链创建流程。
具体地,参照图10,业务链创建过程具体包括如下步骤:
步骤1010:联盟运营机构在配置链发起创建业务链提案,联盟运营机构可以是配置链的一个节点;
步骤1020:由配置链中的相应节点,如联盟核心机构成员,对该创建业务链提案进行投票共识;
步骤1030:若共识通过,则请求新创建业务链的全体成员进行签名;
步骤1040:将投票共识结果及签名信息存储到配置链;
步骤1050:在签名后,联盟运营机构确认并执行配置更新,具体地评审通过时会模拟执行创建新业务链,在模拟通过后提交交易,联盟配置会自动更新。
之后,新业务链的成员就可以获取新业务链的创世纪块,以在业务链中创建账本,并将其他节点加入。
一个新业务链创建类似成立一个新公司,在联盟核心机构投票通过后,要求新业务链的全体成员的管理员对新业务链成立的提议进行签署。签署人包括Orderer供应商,因为即使不是新业务链的成员,新业务链使用了Orderer的排序出块服务,因此要求所有Orderer供应商的管理员签署。存在的例外是第二阶段的全体签名中签名人本身也是联盟的核心成员(在前一步投票表决中已经签署过来了),这种场景无需重复签署。
在本发明实施例中,若还接收到对所述联盟链中交易的验证请求,所述验证请求包括交易密文和证明文件,所述证明文件是对交易密文、解密密钥和交易明文的哈希值运行规则电路得到中间文件并根据所述中间文件和证明密钥生成的,所述证明密钥和规则电路是根据证明规则配置的,则参考图11,本实施例的联盟链配置方法包括:
步骤1110:对交易密文计算哈希值,得到所述规则电路的参数;
步骤1120:根据规则电路的参数和证明文件调用智能合约进行验证,所述智能合约是根据验证密钥生成的,所述验证密钥是根据所述证明规则配置的;
步骤1130:若验证结果显示通过,则对所述验证结果进行共识;
步骤1140:将验证结果发送给联盟链。
另外,如果验证不通过,则交易被返回验证失败,注意此验证过程中,交易始终为密文形态,平台方并没有解密交易的密钥,无法得知交易的明文信息,但是通过零知识证明技术,可以验证交易明文是否符合电路设计的规则,即实现了不泄漏用户隐私数据对前提下的零知识证明。
零知识证明指的是证明者能够在不向验证者提供任何有用信息的情况下,使验证者相信某个论断是正确的。
零知识证明具有完备性、合理性、零知识性等特点:
完备性:证明方和验证方都是诚实的,并遵循证明过程的每一步,进行正确的计算,那么这个证明一定是成功的,验证方一定能够接受证明方;
合理性:没有人能够假冒证明方,使这个证明成功;
零知识性:证明过程执行完成之后,验证方只获得了“证明方拥有这个知识”的信息,而没有获得关于这个知识本身的任何信息。
例如,zk-snark是零知识证明的一个变体,它使得证明者能够简洁地使任何验证者相信给定论断的有效性,并且实现计算零知识,而不需要证明者与任何验证者之间进行交互。
zk-snark具有如下特点:
零知识,证明者在证明的过程中不透露任何内情,验证者除了从证明中了解到声明真实性之外,什么也无法得到;
简洁的,指验证过程不涉及大量数据传输,同时验证算法简单;
无交互,证明不需要证明者和验证者之间来回交互;
证明在计算上是正确的,即伪造假NP声明的证明是不可行的;
该证明不仅证明NP声明是真实的,而且证明者知道为什么是这样的。
ZoKrates是以太坊上zk-snark的工具箱,其能够实现链下计算/链上验证:
整个交易(Tx)的内容都是存储在区块链上的,并且每个节点都需要执行整个交易。
链下计算并生成证明,链上只需要验证证明是否正确,从而确认相应的计算。
Zo-Krates的优点是提供隐私的能力、降低链上数据存储、减少链上的计算量,具体原理流程如下:
编译(Compile):编译电路对于想证明的计算,需要设计和开发电路。Zokrates采用DSL(Domain Specific Language)描述电路。Zokrates也提供了一些常用的电路库(SHA256,椭圆曲线的计算等等);
配置(Setup):对于每个电路,在生成证明之前,必须setup一次,生成CRS;
计算证明(Compute-witness):在提供了private/public输入的情况下,Zokrates自动根据电路计算出对应的witness;
生成证明信息(Generate-proof):生成证明信息;
导出验证工具(Export-verifier)。比如在以太坊上,Export-Verifier可以导出可在以太坊上部署的证明验证合约。
更具体地,采用上述零知识证明规则应用到本发明,参照图12,具体包括如下步骤:
配置链中的审计平台根据证明规则,例如“敏感词”或“黑名单”规则,编写规则电路;
对规则电路编译out.code文件,以及根据规则电路配置生成证明密钥proving_key和验证密钥verification_key,并发布out.code文件和证明proving_key,并发布根据证明密钥配置的verification智能合约,客户端通过平台下载out.code文件和proving_key;
客户端在发送区块链交易前,交易密文与解密密钥以及交易明文哈希值通过参数传入out.code文件并参与电路计算,计算结果为witness中间文件;
将witness中间文件与proving_key一起参与计算可以生成proof证明文件,proof证明文件与交易密文一起打包为交易,发送给区块链平台;
区块链平台在接受到交易以后,通过对交易密文计算hash,得到电路公共参数,然后与proof文件一并调用verification智能合约,进行零知识验证。
本发明实施例的配置请求还可以是锚节点变更请求。锚节点(Anchor Peer)是定义在一个已经加入到通道的组织的节点。该节点主要用于节点的发现。一个通道中,锚节点可以被这个通道的其他任何节点发现和通信。因此,每一个加入到管道内的组织都至少有一个锚节点,一个组织的节点可以通过查找锚节点来发现这个通道内的其他组织的所有节点。
锚节点指机构成员安装的节点,并且提供给其他机构在发起交易提案时预执行交易提案(Chaincode代码)并对结果签名背书。
锚节点信息属于机构成员自有的属性,但是锚节点也与联盟其他成员有关,会影响到业务链的正常使用,因此锚节点变更可以包括如下审批流程:
当事机构的管理员会对申请的变更进行核对和确认。如果同意变更,还需要对变更进行数字签名。
机构管理员评审通过后,系统会通知业务链的运营机构成员。运营机构需要进行人工检测,确认新的锚节点可以连接;
对确认信息进行共识;
共识通过后,上链存储,锚节点变更会自动生效,业务链的其他机构也会自动更新所连接的锚节点信息。
下面对本发明提供的联盟链配置装置进行描述,下文描述的联盟链配置装置与上文描述的联盟链配置方法可相互对应参照。
本发明的联盟链配置装应用于基于区块链技术的配置链的节点,所述配置链是根据所述联盟链中的节点构建得到的。参考图13,本发明提供的联盟链配置装置包括:
接收模块1310,接收对所述联盟链的配置请求;
共识模块1320,对所述配置请求进行共识;
发送模块1330,若共识通过,则对配置请求发送执行配置指令;
上链模块1340,将配置请求和配置指令上传到所述配置链。
图14示例了一种电子设备的实体结构示意图,如图14所示,该电子设备可以包括:处理器(processor)1410、通信接口(Communication Interface)1420、存储器(memory)1430和通信总线1440,其中,处理器1410,通信接口1420,存储器1430通过通信总线1440完成相互间的通信。处理器1410可以调用存储器1430中的计算机程序,以执行联盟链配置方法的步骤,例如包括:
接收对所述联盟链的配置请求;
对所述配置请求进行共识;
若共识通过,则对所述配置请求发送配置指令;
将所述配置请求和所述配置指令上传到所述配置链。
此外,上述的存储器1430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的联盟链配置方法,该方法包括:
接收对所述联盟链的配置请求;
对所述配置请求进行共识;
若共识通过,则对所述配置请求发送配置指令;
将所述配置请求和所述配置指令上传到所述配置链。
另一方面,本申请实施例还提供一种处理器可读存储介质,所述处理器可读存储介质存储有计算机程序,所述计算机程序用于使所述处理器执行上述各实施例提供的方法,例如包括:
接收对所述联盟链的配置请求;
对所述配置请求进行共识;
若共识通过,则对所述配置请求发送配置指令;
将所述配置请求和所述配置指令上传到所述配置链。
所述处理器可读存储介质可以是处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NANDFLASH)、固态硬盘(SSD))等。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种联盟链配置方法,其特征在于,应用于基于区块链技术的配置链的节点,所述配置链是根据所述联盟链中的节点构建得到的,所述联盟链配置方法包括:
接收对所述联盟链的配置请求;
对所述配置请求进行共识;
若共识通过,则对所述配置请求发送配置指令;
将所述配置请求和所述配置指令上传到所述配置链;
所述配置请求为智能合约配置请求的情况下,所述智能合约配置请求包括智能合约部署请求和智能合约升级请求中的至少一种,则对所述配置请求进行共识,包括:
判断所述配置请求是否包含所述联盟链中的指定节点对所述智能合约的审核信息;
若是,则对所述审核信息进行共识,共识通过后,则部署生效,相应地,配置指令为对智能合约执行部署或升级的指令;
其中,智能合约配置过程包括如下步骤:
业务链运营机构用户在配置链发起合约审核投票,该业务链运营机构用户同时是配置链的节点;
业务链核心机构管理员查询待审核合约,该业务链核心机构管理员同时是配置链的节点;
业务链核心机构管理员对待审核合约进行审核,并将审核信息提交配置链进行共识;
配置链中指定的业务链节点对审核信息进行投票;
若投票通过,则发送智能合约审核通过事件发送给业务链运营机构客户端,或者直接发送给业务链运营机构用户;
启用合约;
配置链中指定的业务链节点生成链码Docker镜像并实例化。
2.根据权利要求1所述的联盟链配置方法,其特征在于,所述配置请求为针对所述联盟链的节点配置请求的情况下,所述节点配置请求包括节点添加请求、节点删除请求、节点信息更新请求和锚节点变更请求中的至少一种。
3.根据权利要求2所述的联盟链配置方法,其特征在于,如果所述节点配置请求包括节点添加请求,则对所述配置请求进行共识,包括:
从所述节点添加请求中提取所述联盟链对待添加节点的审核通过结果;
对所述审核通过结果进行共识。
4.根据权利要求2所述的联盟链配置方法,其特征在于,还包括:
从所述配置链中提取所述联盟链中部署的智能合约;
将提取的所述智能合约发送给根据所述节点添加请求添加的节点。
5.根据权利要求1所述的联盟链配置方法,其特征在于,所述配置请求是所述联盟链中的节点发起的业务链创建请求的情况下,则对所述配置请求进行共识,包括:
对所述业务链创建请求进行共识;
则对所述配置请求发送执行配置指令,包括:
向基于所述业务链创建请求所创建业务链的节点发送签名请求,使所创建业务链的节点对所述业务链创建请求进行签名;
则将所述配置请求和所述配置指令上传到所述配置链,包括:
将共识信息和签名信息上传到所述配置链。
6.根据权利要求1所述的联盟链配置方法,其特征在于,如果所述配置请求包括对所述联盟链中交易的验证请求,所述验证请求包括交易密文和证明文件,所述证明文件是对交易密文、解密密钥和交易明文的哈希值运行规则电路得到中间文件并根据所述中间文件和证明密钥生成的,所述证明密钥和规则电路是根据证明规则配置的,则在对所述配置请求进行共识之前,还包括:
对所述交易密文计算哈希值,得到所述规则电路的参数;
根据所述规则电路的参数和证明文件调用智能合约进行验证,所述智能合约是根据验证密钥生成的,所述验证密钥是根据所述证明规则配置的;
若验证结果显示通过,对所述配置请求进行共识,包括:
对所述验证结果进行共识;
则对所述配置请求发送执行配置指令,包括:
将所述验证结果发送给所述联盟链。
7.一种联盟链配置装置,其特征在于,应用于基于区块链技术的配置链的节点,所述配置链是根据所述联盟链中的节点构建得到的,所述联盟链配置装置包括:
接收模块,接收对所述联盟链的配置请求;
共识模块,对所述配置请求进行共识;
发送模块,若共识通过,则对所述配置请求发送执行配置指令;
上链模块,将所述配置请求和所述配置指令上传到所述配置链;
所述配置请求为智能合约配置请求的情况下,所述智能合约配置请求包括智能合约部署请求和智能合约升级请求中的至少一种,则共识模块用于:
判断所述配置请求是否包含所述联盟链中的指定节点对所述智能合约的审核信息;
若是,则对所述审核信息进行共识,共识通过后,则部署生效,相应地,配置指令为对智能合约执行部署或升级的指令;
其中,智能合约配置过程包括如下步骤:
业务链运营机构用户在配置链发起合约审核投票,该业务链运营机构用户同时是配置链的节点;
业务链核心机构管理员查询待审核合约,该业务链核心机构管理员同时是配置链的节点;
业务链核心机构管理员对待审核合约进行审核,并将审核信息提交配置链进行共识;
配置链中指定的业务链节点对审核信息进行投票;
若投票通过,则发送智能合约审核通过事件发送给业务链运营机构客户端,或者直接发送给业务链运营机构用户;
启用合约;
配置链中指定的业务链节点生成链码Docker镜像并实例化。
8.一种电子设备,包括处理器和存储有计算机程序的存储器,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任一项所述联盟链配置方法的步骤。
9.一种处理器可读存储介质,其特征在于,所述处理器可读存储介质存储有计算机程序,所述计算机程序用于使所述处理器执行权利要求1至6任一项所述联盟链配置方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110603100.3A CN115426256B (zh) | 2021-05-31 | 2021-05-31 | 联盟链配置方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110603100.3A CN115426256B (zh) | 2021-05-31 | 2021-05-31 | 联盟链配置方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115426256A CN115426256A (zh) | 2022-12-02 |
CN115426256B true CN115426256B (zh) | 2024-07-02 |
Family
ID=84195480
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110603100.3A Active CN115426256B (zh) | 2021-05-31 | 2021-05-31 | 联盟链配置方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115426256B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110222535A (zh) * | 2019-05-06 | 2019-09-10 | 平安科技(深圳)有限公司 | 区块链配置文件的处理装置、方法及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11531975B2 (en) * | 2018-04-13 | 2022-12-20 | International Business Machines Corporation | Network node management on a blockchain |
CN109784882A (zh) * | 2018-12-14 | 2019-05-21 | 深圳壹账通智能科技有限公司 | 联盟链信息发布控制方法及终端设备 |
CN111163165A (zh) * | 2019-12-28 | 2020-05-15 | 北京工业大学 | 一种基于Fabric联盟链的投票共识方法 |
CN111476548B (zh) * | 2020-04-16 | 2024-01-23 | 山东师范大学 | 一种基于区块链的职称评审方法及系统 |
CN112468537A (zh) * | 2020-11-02 | 2021-03-09 | 国家信息中心 | 基于局域网环境的区块链网络搭建结构及数据处理方法 |
-
2021
- 2021-05-31 CN CN202110603100.3A patent/CN115426256B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110222535A (zh) * | 2019-05-06 | 2019-09-10 | 平安科技(深圳)有限公司 | 区块链配置文件的处理装置、方法及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115426256A (zh) | 2022-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10965472B2 (en) | Secure bootstrap for a blockchain network | |
Anisetti et al. | A semi-automatic and trustworthy scheme for continuous cloud service certification | |
WO2022057679A1 (zh) | 一种区块链系统应用智能合约安装部署管理方法 | |
US8434129B2 (en) | Method and apparatus for multi-domain identity interoperability and compliance verification | |
WO2019037561A1 (zh) | 一种基于联盟链的智能合约升级方法和系统 | |
WO2022166637A1 (zh) | 基于区块链网络的数据处理方法、装置及计算机设备 | |
CN113271211A (zh) | 一种数字身份验证系统、方法、电子设备及存储介质 | |
CN111159753B (zh) | 区块链智能合约管理方法及系统、存储介质及终端 | |
US7930763B2 (en) | Method of authorising a computing entity | |
CN113271311B (zh) | 一种跨链网络中的数字身份管理方法及系统 | |
CN114978635B (zh) | 跨域认证方法及装置、用户注册方法及装置 | |
CN116055308B (zh) | 一种供应链金融平台的底层区块链网络部署方法及装置 | |
CN114760071B (zh) | 基于零知识证明的跨域数字证书管理方法、系统和介质 | |
Anisetti et al. | Modeling time, probability, and configuration constraints for continuous cloud service certification | |
CN115426256B (zh) | 联盟链配置方法、装置及存储介质 | |
CN116975901A (zh) | 基于区块链的身份验证方法、装置、设备、介质及产品 | |
CN115967568A (zh) | 基于区块链和群签名机制的跨链访问控制方法 | |
CN111245869B (zh) | 一种信息物理系统中的跨域匿名认证方法 | |
KR20230132878A (ko) | 실행-오더-검증 블록체인 모델들에서 트랜잭션 취소들 감소 | |
CN113890751A (zh) | 控制联盟链权限投票的方法、设备和可读存储介质 | |
CN114362961A (zh) | 基于区块链的账户恢复方法、装置、设备及存储介质 | |
KR20210027012A (ko) | 피어 노드와 그 정보 처리 방법 및 블록체인 플랫폼 시스템 | |
Ellul et al. | Verifiable External Blockchain Calls: Towards Removing Oracle Input Intermediaries | |
CN116192446A (zh) | 一种基于智能合约的联盟链系统 | |
CN116545696B (zh) | 一种基于去中心化数字身份的链下服务可信化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |