CN117349867B - 智能合约部署方法、系统、设备及介质 - Google Patents
智能合约部署方法、系统、设备及介质 Download PDFInfo
- Publication number
- CN117349867B CN117349867B CN202311639424.8A CN202311639424A CN117349867B CN 117349867 B CN117349867 B CN 117349867B CN 202311639424 A CN202311639424 A CN 202311639424A CN 117349867 B CN117349867 B CN 117349867B
- Authority
- CN
- China
- Prior art keywords
- contract
- target
- deployed
- node
- blockchain
- 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 58
- 238000012795 verification Methods 0.000 claims abstract description 97
- 238000004590 computer program Methods 0.000 claims description 10
- 238000012163 sequencing technique Methods 0.000 claims description 10
- 238000011156 evaluation Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 5
- 230000003068 static effect Effects 0.000 abstract description 12
- 238000004891 communication Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012067 mathematical method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明提供了一种智能合约部署方法、系统、设备及介质,涉及区块链技术领域,包括在静态存储过程中检测智能合约被调用则根据对应的目标低级区块链节点的相关参数对其存储地址的密文进行更新,该策略不需要对智能合约的存储位置进行移动,就能够保证智能合约的安全,或者在动态发送过程中,只要检测到需要将智能合约发生至待部署区块链节点,则根据对应的目标高级区块链节点的相关参数对发生后的智能合约进行验证,从而确保智能合约在发生过程中没有发生篡改。本申请不仅能够对智能合约的静态存储过程进行安全保护,还能够对智能合约的动态发送过程进行安全验证,有效避免了智能合约被篡改。
Description
技术领域
本发明涉及区块链技术领域,特别是涉及一种智能合约部署方法、系统、设备及介质。
背景技术
相关技术中,在对智能合约的安全性进行检测时,只能保证该智能合约的静态安全,而在智能合约部署过程中,将智能合约发送到区块链节点后被篡改的情况相关技术中没有相应的检测方法。
发明内容
针对现有技术中的上述问题,本发明提供了一种高安全的智能合约部署方法、系统、设备及介质,避免智能合约被动篡改。
为了达到上述发明目的,本发明采用的技术方案如下:
第一方面,提供一种智能合约部署方法,包括:
获取区块链部署智能合约的部署请求,所述部署请求包括待部署智能合约的合约标识信息以及待部署区块链节点的区块链节点标识信息;
根据所述合约标识信息确定待部署智能合约的合约标识及其存储地址,根据所述区块链节点标识信息确定目标区块链网络,并获取所述目标区块链网络的合约部署信息,所述合约部署信息包括各个区块链节点的节点密钥及其已部署智能合约的合约标识和数量,根据各个区块链节点已部署智能合约的合约标识和数量确定出目标低级区块链节点和目标高级区块链节点;
根据所述目标低级区块链节点的节点密钥对所述存储地址进行解密,得到目标存储地址,从所述目标存储地址获取所述待部署智能合约,根据所述目标高级区块链节点的节点密钥及其已部署智能合约的合约标识和数量构建验证模型,将所述验证模型和所述待部署智能合约发送至待部署区块链节点;
根据所述验证模型计算所述待部署智能合约的合约验证信息,向所述目标高级区块链节点发送验证请求,获取所述目标高级区块链节点返回的验证信息,根据所述验证信息和所述合约验证信息验证所述待部署智能合约是否为目标智能合约;
在所述待部署智能合约为目标智能合约时,将所述目标智能合约部署至所述待部署区块链节点。
优选的,所述区块链节点标识信息包括网络标识信息和节点标识信息,根据所述区块链节点标识信息确定目标区块链网络包括:
根据所述网络标识信息确定区块链网络,获取所述区块链网络的节点信息;
在所述节点信息中存在所述节点标识信息时,确定所述区块链网络为目标区块链网络。
优选的,根据各个区块链节点的合约标识和数量确定出目标低级区块链节点和目标高级区块链节点,包括:
判断各个区块链节点中已部署智能合约的合约标识中是否存在与所述待部署智能合约的合约标识相同的合约标识;
若存在且已部署智能合约的合约标识为一个,则确定所述区块链节点为低级区块链节点;
若存在且已部署智能合约的合约标识为多个,则确定所述区块链节点为高级区块链节点;
根据所述高级区块链节点的数量和所述低级区块链节点的数量的差值从所述低级区块链节点中确定出目标低级区块链节点;
根据所述高级区块链节点已部署智能合约的合约标识和数量从所述高级区块链节点中确定出目标高级区块链节点。
优选的,根据所述高级区块链节点的数量和所述低级区块链节点的数量的差值从所述低级链节点中确定出目标低级区块链节点,包括:
若所述差值为正数,则根据所述差值的绝对值正向从低级区块链节点序列中确定出目标低级区块链节点,其中,所述低级区块链节点序列根据各个低级区块链节点的编号大小进行排序得到,所述编号根据其对应的节点标识信息确定;
若所述差值为零,则获取各个低级区块链节点中已经部署的智能合约的部署时间,并对所述部署时间进行排序,得到部署时间序列,确定部署时间序列中值所对应的低级区块链节点为目标低级区块链节点;
若所述差值为负数,则根据所述差值的绝对值逆向从低级区块链节点序列中确定出目标低级区块链节点。
优选的,根据所述高级区块链节点的合约标识从所述高级区块链节点中确定出目标高级区块链节点,包括:
根据高级区块链节点中已部署智能合约的合约标识计算节点评估值;
将评估值大于预设值的高级区块链节点作为目标高级区块链节点。
优选的,向所述目标高级区块链节点发送验证请求,获取所述目标高级区块链节点返回的验证信息,包括:
向所述目标高级区块链节点发送验证请求,所述验证请求包括待部署智能合约的合约标识;
目标高级区块链节点根据所述待部署智能合约的合约标识获取存储的已部署目标智能合约的目标合约摘要信息,其中,已部署目标智能合约为目标高级区块链节点中已部署智能合约的合约标识与待部署智能合约的合约标识一致的智能合约;
根据目标高级区块链节点的数量对所述目标合约摘要信息进行第一次拆分,根据目标高级区块链节点序列从第一次拆分后的目标合约摘要信息中提取第一目标合约摘要信息,其中,所述目标高级区块链节点序列根据各个目标高级区块链节点的编号大小进行排序得到,所述编号根据其对应的节点标识信息确定;
根据目标高级区块链节点中已部署智能合约的数量对所述第一目标合约摘要信息进行第二次拆分,根据目标高级区块链节点中已部署目标智能合约的部署时间从所述第二次拆分后的合约摘要信息中提取第二目标合约摘要信息,
根据所述目标高级区块链节点的节点密钥对所述第二目标合约摘要信息进行加密,得到验证信息。
优选的,根据所述验证信息和所述合约验证信息验证所述待部署智能合约是否为目标智能合约,包括:
判断所述验证信息与所述合约验证信息是否一致;
若是,则确定所述待部署智能合约为目标智能合约;
若否,则确定所述待部署智能合约为非目标智能合约。
第二方面,提供一种智能合约部署系统,包括:
获取模块,用于获取区块链部署智能合约的部署请求,所述部署请求包括待部署智能合约的合约标识信息以及待部署区块链节点的区块链节点标识信息;
确定模块,用于根据所述合约标识信息确定待部署智能合约的合约标识及其存储地址;根据所述区块链节点标识信息确定目标区块链网络,并获取所述目标区块链网络的合约部署信息,所述合约部署信息包括各个区块链节点的节点密钥及其已部署智能合约的合约标识和数量,根据各个区块链节点已部署智能合约的合约标识和数量确定出目标低级区块链节点和目标高级区块链节点;
处理模块,根据所述目标低级区块链节点的节点密钥对所述存储地址进行解密,得到目标存储地址,从所述目标存储地址获取所述待部署智能合约,根据所述目标高级区块链节点的节点密钥及其已部署智能合约的合约标识和数量构建验证模型,将所述验证模型和所述待部署智能合约的区块链节点标识信息发送至待部署区块链节点;
验证模块,根据所述验证模型计算所述待部署智能合约的合约验证信息,向所述目标高级区块链节点发送验证请求,获取所述目标高级区块链节点返回的验证信息,根据所述验证信息和所述合约验证信息验证所述待部署智能合约是否为目标智能合约;
部署模块,在所述待部署智能合约为目标智能合约时,将所述目标智能合约部署至所述待部署区块链节点。
第三方面,提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一项所述的方法。
第四方面,一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的方法。
本发明的有益效果为:本申请提供一种智能合约部署方法、系统、设备及介质,不仅能够对智能合约的静态存储过程进行安全保护,还能够对智能合约的动态发送过程进行安全验证,有效避免了智能合约被篡改。
附图说明
图1为本申请实施例提供一种智能合约部署方法的流程图;
图2为本申请实施例提供一种智能合约部署系统的结构示意图;
图3为本申请实施例提供一种电子设备的结构示意图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
如图1所示,本申请实施例提供一种智能合约部署方法,包括:
S1,获取区块链部署智能合约的部署请求,所述部署请求包括待部署智能合约的合约标识信息以及待部署区块链节点的区块链节点标识信息。
随着区块链技术和业务的广泛深入发展,越来越多的业务依赖于智能合约来接入或实现,而往往一个业务就需要一个智能合约或者多个智能合约,因此一个区块链网络中至少存在多个区块链,每个区块链的节点中可以部署一个或者多个智能合约,每个智能合约之间存在一定的业务逻辑关系。为了更好的管理合约资源池或者数据库中可以存储合约信息以及整个各个区块链网络的相关信息,包括合约标识信息、区块链节点标识信息、部署信息、智能合约的执行代码等。
S2,根据所述合约标识信息确定待部署智能合约的合约标识及其存储地址,根据所述区块链节点标识信息确定目标区块链网络,并获取所述目标区块链网络的合约部署信息,所述合约部署信息包括各个区块链节点的节点密钥及其已部署智能合约的合约标识和数量,根据各个区块链节点已部署智能合约的合约标识和数量确定出目标低级区块链节点和目标高级区块链节点。
在本申请实施例中,所述区块链节点标识信息包括网络标识信息和节点标识信息,根据所述区块链节点标识信息确定目标区块链网络包括:根据所述网络标识信息确定区块链网络,获取所述区块链网络的节点信息;在所述节点信息中存在所述节点标识信息时,确定所述区块链网络为目标区块链网络。
在一个区块链网络中,节点标识信息可以用来唯一标识不同区块链节点,而网络标识信息可以用来标识不同的区块链网络。通过使用这些标识信息,可以确定目标区块链网络。一旦目标区块链网络确定,可以获取该网络中的节点信息,与所述节点标识信息确定的节点是否为该网络中的节点。
示例性地,节点信息以信息表的形式进行存储,该表可表示节点标识信息与节点的编号、合约权重之间的映射关系。
现有技术中,在智能合约发送到待部署区块链节点之前需要通过静态分析工具对智能合约的代码进行检查,以确定其中是否存在潜在的安全漏洞或逻辑错误,这些工具可以检测出一些已知的漏洞类型,如重入攻击、整数溢出等,并提供给开发者相应的警告或建议。除了静态分析工具,还可以使用其他验证方法,如形式化验证和模型检测,形式化验证是一种使用数学方法对智能合约进行严格证明的方法,可以确保智能合约满足特定的安全属性或规范。在智能合约发送到待部署区块链节点之后,需要获取待部署智能合约的合约摘要信息,重新根据其合约摘要信息计算合约哈希值,根据重新计算的合约哈希值以及已经部署完成的相同智能合约的合约哈希值来确定发送后的智能合约是否发送更改。
在静态存储过程中,虽然可以通过一些手段来验证智能合约是否被篡改,但是其验证过程较长,降低部署效率,且不能避免智能合约被篡改,在动态发送过程中,虽然可以通过重新计算的哈希值验证发送后的智能合约是否被更改,但是由于智能合约可能在其他区块链节点被公开,其被攻击和篡改的可能性更大,并不有利于发送过程验证的安全性。
因此,为了保证智能合约在静态存储过程以及动态发送过程中的安全,本申请实施例提供了两种安全策略,一种是在静态存储策略,其实现过程依赖于目标低级区块链节点,一种是在动态发生策略,其实现过程依赖于目标高级区块链节点。
具体的,根据各个区块链节点的合约标识和数量确定出目标低级区块链节点和目标高级区块链节点,包括:判断各个区块链节点中已部署智能合约的合约标识中是否存在与所述待部署智能合约的合约标识相同的合约标识;若存在且已部署智能合约的合约标识为一个,则确定所述区块链节点为低级区块链节点;若存在且已部署智能合约的合约标识为多个,则确定所述区块链节点为高级区块链节点;根据所述高级区块链节点的数量和所述低级区块链节点的数量的差值从所述低级区块链节点中确定出目标低级区块链节点;根据所述高级区块链节点已部署智能合约的合约标识和数量从所述高级区块链节点中确定出目标高级区块链节点。
进一步的,根据所述高级区块链节点的数量和所述低级区块链节点的数量的差值从所述低级链节点中确定出目标低级区块链节点,包括:若所述差值为正数,则根据所述差值的绝对值正向从低级区块链节点序列中确定出目标低级区块链节点,其中,所述低级区块链节点序列根据各个低级区块链节点的编号大小进行排序得到,所述编号根据其对应的节点标识信息确定;若所述差值为零,则获取各个低级区块链节点中已经部署的智能合约的部署时间,并对所述部署时间进行排序,得到部署时间序列,确定部署时间序列中值所对应的低级区块链节点为目标低级区块链节点;若所述差值为负数,则根据所述差值的绝对值逆向从低级区块链节点序列中确定出目标低级区块链节点。
进一步的,根据所述高级区块链节点的合约标识从所述高级区块链节点中确定出目标高级区块链节点,包括:根据高级区块链节点中已部署智能合约的合约标识计算节点评估值;将评估值大于预设值的高级区块链节点作为目标高级区块链节点。
不同的智能合约代表不同业务流程或者业务路逻辑,其具有不同的合约权重,合约权重可以用来表示智能合约的重要性或价值,根据每个高级区块链节点中已部署合约的合约权重,可以计算节点的评估值,根据评估值不同可以筛选出少量的目标高级区块链,从而减少后续动态发生验证的参与节点,提高部署效率。
S3,根据所述目标低级区块链节点的节点密钥对所述存储地址进行解密,得到目标存储地址,从所述目标存储地址获取所述待部署智能合约,根据所述目标高级区块链节点的节点密钥及其已部署智能合约的合约标识和数量构建验证模型,将所述验证模型和所述待部署智能合约发送至待部署区块链节点;
为了避免智能合约在静态存储过程以及动态发送过程中被篡改,本申请实施例提供了两种安全策略,一种是在静态存储过程中,只要检测智能合约被调用一次,则根据对应的目标低级区块链节点的相关参数对其存储地址的密文进行更新,该策略不需要对智能合约的存储位置进行移动,就能够保证智能合约的安全,即使攻击者获得了存储地址的密文,仍然需要解密才能得到实际的存储地址,同时,避免了长期使用相同的密文,导致攻击者能够解密来获取实际存储地址的可能。另一种是在动态发送过程中,只要检测到需要将智能合约发生至待部署区块链节点,则根据对应的目标高级区块链节点的相关参数对发生后的智能合约进行验证,从而确保智能合约在发生过程中没有发生篡改。
需要说明的是,在部署用户发送部署请求之前,其还发送了部署用户验证请求,该请求中包括部署用户的用户信息,所述用户信息包括账号的用户密钥,本申请的方法能够获取该部署用户验证请求并对部署用户进行验证,其验证方法为:根据所述部署用户验证请求生产校验数据,并将所述校验数据发送给部署用户,部署用户使用其用户密钥对所述校验数据进行加密处理,得到加密数据;获取部署用户发送的加密数据并利用数据库中对应的用户密钥对所述加密数据进行解密,得到解密数据,将所述解密数据和所述校验数据进行对比,若一致,则验证通过,向所述部署用户发送待部署合约的存储地址。
S4,根据所述验证模型计算所述待部署智能合约的合约验证信息,向所述目标高级区块链节点发送验证请求,获取所述目标高级区块链节点返回的验证信息,根据所述验证信息和所述合约验证信息验证所述待部署智能合约是否为目标智能合约;
在本申请实施例中,向所述目标高级区块链节点发送验证请求,获取所述目标高级区块链节点返回的验证信息,包括:向所述目标高级区块链节点发送验证请求,所述验证请求包括待部署智能合约的合约标识;目标高级区块链节点根据所述待部署智能合约的合约标识获取存储的已部署目标智能合约的目标合约摘要信息,其中,已部署目标智能合约为目标高级区块链节点中已部署智能合约的合约标识与待部署智能合约的合约标识一致的智能合约;根据目标高级区块链节点的数量对所述目标合约摘要信息进行第一次拆分,根据目标高级区块链节点序列从第一次拆分后的目标合约摘要信息中提取第一目标合约摘要信息,其中,所述目标高级区块链节点序列根据各个目标高级区块链节点的编号大小进行排序得到,所述编号根据其对应的节点标识信息确定;根据目标高级区块链节点中已部署智能合约的数量对所述第一目标合约摘要信息进行第二次拆分,根据目标高级区块链节点中已部署目标智能合约的部署时间从所述第二次拆分后的合约摘要信息中提取第二目标合约摘要信息,根据所述目标高级区块链节点的节点密钥对所述第二目标合约摘要信息进行加密,得到验证信息。
示例性地,若目标高级区块链节点的数量为3个,目标区块链节点的编号为47且对应的目标高级区块链节点序列为34-47-69,则将目标合约摘要信息拆分为3份,可根据字节大小进行拆分,在本申请实施例中不做限制,抽取第二份作为第一目标合约摘要信息,若目标区块链节点中已部署智能合约的数量为3个,已部署目标智能合约为fxx且对应的部署时间序列为axx-fxx-dxx,则将所述第二目标合约摘要信息拆分为3份,抽取第二份作为第二目标合约摘要信息。
提取后的摘要信息不全面且更少,可以提高验证效率,进一步保证验证的安全性。
需要说明的是,上述构建的验证模型与本申请实施例提供的验证信息的获取过程为相同的思路,区别在于构建好的模型是将拆分过程和加密过程通过数字的形式表达的,使用数字是为了避免传输的过程中攻击者截获对应数字的含义。
在本申请实施例中,根据所述验证信息和所述合约验证信息验证所述待部署智能合约是否为目标智能合约,包括:判断所述验证信息与所述合约验证信息是否一致;若是,则确定所述待部署智能合约为目标智能合约;若否,则确定所述待部署智能合约为非目标智能合约。
S5,在所述待部署智能合约为目标智能合约时,将所述目标智能合约部署至所述待部署区块链节点。
综上,本申请实施例提供的一种智能合约部署方法,不仅能够对智能合约的静态存储过程进行安全保护,还能够对智能合约的动态发送过程进行安全验证,可以有效避免了智能合约被篡改。
如图2所示,本申请实施例提供一种智能合约部署系统,包括:获取模块100,用于获取区块链部署智能合约的部署请求,所述部署请求包括待部署智能合约的合约标识信息以及待部署区块链节点的区块链节点标识信息;确定模块200,用于根据所述合约标识信息确定待部署智能合约的合约标识及其存储地址;根据所述区块链节点标识信息确定目标区块链网络,并获取所述目标区块链网络的合约部署信息,所述合约部署信息包括各个区块链节点的节点密钥及其已部署智能合约的合约标识和数量,根据各个区块链节点已部署智能合约的合约标识和数量确定出目标低级区块链节点和目标高级区块链节点;处理模块300,根据所述目标低级区块链节点的节点密钥对所述存储地址进行解密,得到目标存储地址,从所述目标存储地址获取所述待部署智能合约,根据所述目标高级区块链节点的节点密钥及其已部署智能合约的合约标识和数量构建验证模型,将所述验证模型和所述待部署智能合约的区块链节点标识信息发送至待部署区块链节点;验证模块400,根据所述验证模型计算所述待部署智能合约的合约验证信息,向所述目标高级区块链节点发送验证请求,获取所述目标高级区块链节点返回的验证信息,根据所述验证信息和所述合约验证信息验证所述待部署智能合约是否为目标智能合约;部署模块500,在所述待部署智能合约为目标智能合约时,将所述目标智能合约部署至所述待部署区块链节点。
需要说明的是,本申请实施例提供的智能合约部署装置所包括的各模块,可以通过电子设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU,Central Processing Unit)、微处理器(MPU,MicroProcessorUnit)、数字信号处理器(DSP,Digital Signal Processor)或现场可编程门阵列(FPGA,Field-Programmable Gate Array)等。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请实施例装置实施例中未披露的技术细节,请参照本申请实施例方法实施例的描述而理解。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的信息处理方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请实施例各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
本申请实施例还提供一种电子备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述智能合约部署方法。
本申请实施例还提供了一种存储介质,存储有计算机程序,所述计算机程序被处理器执行时,实现上述智能合约部署方法。
这里需要指出的是:以上对存储介质实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请实施例存储介质和设备实施例中未披露的技术细节,请参照本申请实施例方法实施例的描述而理解。
需要说明的是,图3为本申请实施例电子设备的一种硬件实体示意图,如图3所示,所述电子设备1700包括:一个处理器1701、至少一个通信总线1702、至少一个外部通信接口1704和存储器1705。其中,通信总线1702配置为实现这些组件之间的连接通信。在一示例中,电子设备1700还包括:用户接口1703、其中,用户接口1703可以包括显示屏,外部通信接口1704可以包括标准的有线接口和无线接口。
存储器1705配置为存储由处理器1701可执行的指令和应用,还可以缓存待处理器1701以及电子设备中各模块待处理或已经处理的数据(例如,图像数据、音频数据、和通信数据),可以通过闪存(FLASH)或随机访问存储器(Random Access Memory,RAM)实现。
本领域内的技术人员应明白,尽管已经描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性的概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围内的所有变更和修改。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求机器等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种智能合约部署方法,其特征在于,包括:
获取区块链部署智能合约的部署请求,所述部署请求包括待部署智能合约的合约标识信息以及待部署区块链节点的区块链节点标识信息;
根据所述合约标识信息确定待部署智能合约的合约标识及其存储地址,根据所述区块链节点标识信息确定目标区块链网络,并获取所述目标区块链网络的合约部署信息,所述合约部署信息包括各个区块链节点的节点密钥及其已部署智能合约的合约标识和数量,根据各个区块链节点已部署智能合约的合约标识和数量确定出目标低级区块链节点和目标高级区块链节点;
根据所述目标低级区块链节点的节点密钥对所述存储地址进行解密,得到目标存储地址,从所述目标存储地址获取所述待部署智能合约,根据所述目标高级区块链节点的节点密钥及其已部署智能合约的合约标识和数量构建验证模型,将所述验证模型和所述待部署智能合约发送至待部署区块链节点;
根据所述验证模型计算所述待部署智能合约的合约验证信息,向所述目标高级区块链节点发送验证请求,获取所述目标高级区块链节点返回的验证信息,根据所述验证信息和所述合约验证信息验证所述待部署智能合约是否为目标智能合约;
在所述待部署智能合约为目标智能合约时,将所述目标智能合约部署至所述待部署区块链节点;
根据各个区块链节点的合约标识和数量确定出目标低级区块链节点和目标高级区块链节点,包括:
判断各个区块链节点中已部署智能合约的合约标识中是否存在与所述待部署智能合约的合约标识相同的合约标识;
若存在且已部署智能合约的合约标识为一个,则确定所述区块链节点为低级区块链节点;
若存在且已部署智能合约的合约标识为多个,则确定所述区块链节点为高级区块链节点;
根据所述高级区块链节点的数量和所述低级区块链节点的数量的差值从所述低级区块链节点中确定出目标低级区块链节点;
根据所述高级区块链节点已部署智能合约的合约标识和数量从所述高级区块链节点中确定出目标高级区块链节点;
向所述目标高级区块链节点发送验证请求,获取所述目标高级区块链节点返回的验证信息,包括:
向所述目标高级区块链节点发送验证请求,所述验证请求包括待部署智能合约的合约标识;
目标高级区块链节点根据所述待部署智能合约的合约标识获取存储的已部署目标智能合约的目标合约摘要信息,其中,已部署目标智能合约为目标高级区块链节点中已部署智能合约的合约标识与待部署智能合约的合约标识一致的智能合约;
根据目标高级区块链节点的数量对所述目标合约摘要信息进行第一次拆分,根据目标高级区块链节点序列从第一次拆分后的目标合约摘要信息中提取第一目标合约摘要信息,其中,所述目标高级区块链节点序列根据各个目标高级区块链节点的编号大小进行排序得到,所述编号根据其对应的节点标识信息确定;
根据目标高级区块链节点中已部署智能合约的数量对所述第一目标合约摘要信息进行第二次拆分,根据目标高级区块链节点中已部署目标智能合约的部署时间从所述第二次拆分后的合约摘要信息中提取第二目标合约摘要信息,
根据所述目标高级区块链节点的节点密钥对所述第二目标合约摘要信息进行加密,得到验证信息。
2.根据权利要求1所述的方法,其特征在于,所述区块链节点标识信息包括网络标识信息和节点标识信息,根据所述区块链节点标识信息确定目标区块链网络包括:
根据所述网络标识信息确定区块链网络,获取所述区块链网络的节点信息;
在所述节点信息中存在所述节点标识信息时,确定所述区块链网络为目标区块链网络。
3.根据权利要求2所述的方法,其特征在于,根据所述高级区块链节点的数量和所述低级区块链节点的数量的差值从所述低级区块链节点中确定出目标低级区块链节点,包括:
若所述差值为正数,则根据所述差值的绝对值正向从低级区块链节点序列中确定出目标低级区块链节点,其中,所述低级区块链节点序列根据各个低级区块链节点的编号大小进行排序得到,所述编号根据其对应的节点标识信息确定;
若所述差值为零,则获取各个低级区块链节点中已经部署的智能合约的部署时间,并对所述部署时间进行排序,得到部署时间序列,确定部署时间序列中值所对应的低级区块链节点为目标低级区块链节点;
若所述差值为负数,则根据所述差值的绝对值逆向从低级区块链节点序列中确定出目标低级区块链节点。
4.根据权利要求3所述的方法,其特征在于,根据所述高级区块链节点的合约标识从所述高级区块链节点中确定出目标高级区块链节点,包括:
根据高级区块链节点中已部署智能合约的合约标识计算节点评估值;
将评估值大于预设值的高级区块链节点作为目标高级区块链节点。
5.根据权利要求1所述的方法,其特征在于,根据所述验证信息和所述合约验证信息验证所述待部署智能合约是否为目标智能合约,包括:
判断所述验证信息与所述合约验证信息是否一致;
若是,则确定所述待部署智能合约为目标智能合约;
若否,则确定所述待部署智能合约为非目标智能合约。
6.一种智能合约部署系统,其特征在于,包括:
获取模块,用于获取区块链部署智能合约的部署请求,所述部署请求包括待部署智能合约的合约标识信息以及待部署区块链节点的区块链节点标识信息;
确定模块,用于根据所述合约标识信息确定待部署智能合约的合约标识及其存储地址;根据所述区块链节点标识信息确定目标区块链网络,并获取所述目标区块链网络的合约部署信息,所述合约部署信息包括各个区块链节点的节点密钥及其已部署智能合约的合约标识和数量,根据各个区块链节点已部署智能合约的合约标识和数量确定出目标低级区块链节点和目标高级区块链节点;根据各个区块链节点的合约标识和数量确定出目标低级区块链节点和目标高级区块链节点包括:判断各个区块链节点中已部署智能合约的合约标识中是否存在与所述待部署智能合约的合约标识相同的合约标识;若存在且已部署智能合约的合约标识为一个,则确定所述区块链节点为低级区块链节点;若存在且已部署智能合约的合约标识为多个,则确定所述区块链节点为高级区块链节点;根据所述高级区块链节点的数量和所述低级区块链节点的数量的差值从所述低级区块链节点中确定出目标低级区块链节点;根据所述高级区块链节点已部署智能合约的合约标识和数量从所述高级区块链节点中确定出目标高级区块链节点;
处理模块,根据所述目标低级区块链节点的节点密钥对所述存储地址进行解密,得到目标存储地址,从所述目标存储地址获取所述待部署智能合约,根据所述目标高级区块链节点的节点密钥及其已部署智能合约的合约标识和数量构建验证模型,将所述验证模型和所述待部署智能合约的区块链节点标识信息发送至待部署区块链节点;
验证模块,根据所述验证模型计算所述待部署智能合约的合约验证信息,向所述目标高级区块链节点发送验证请求,获取所述目标高级区块链节点返回的验证信息,根据所述验证信息和所述合约验证信息验证所述待部署智能合约是否为目标智能合约;其中,向所述目标高级区块链节点发送验证请求,获取所述目标高级区块链节点返回的验证信息包括:向所述目标高级区块链节点发送验证请求,所述验证请求包括待部署智能合约的合约标识;目标高级区块链节点根据所述待部署智能合约的合约标识获取存储的已部署目标智能合约的目标合约摘要信息,其中,已部署目标智能合约为目标高级区块链节点中已部署智能合约的合约标识与待部署智能合约的合约标识一致的智能合约;根据目标高级区块链节点的数量对所述目标合约摘要信息进行第一次拆分,根据目标高级区块链节点序列从第一次拆分后的目标合约摘要信息中提取第一目标合约摘要信息,其中,所述目标高级区块链节点序列根据各个目标高级区块链节点的编号大小进行排序得到,所述编号根据其对应的节点标识信息确定;根据目标高级区块链节点中已部署智能合约的数量对所述第一目标合约摘要信息进行第二次拆分,根据目标高级区块链节点中已部署目标智能合约的部署时间从所述第二次拆分后的合约摘要信息中提取第二目标合约摘要信息,根据所述目标高级区块链节点的节点密钥对所述第二目标合约摘要信息进行加密,得到验证信息;
部署模块,在所述待部署智能合约为目标智能合约时,将所述目标智能合约部署至所述待部署区块链节点。
7.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述的方法。
8.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311639424.8A CN117349867B (zh) | 2023-12-04 | 2023-12-04 | 智能合约部署方法、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311639424.8A CN117349867B (zh) | 2023-12-04 | 2023-12-04 | 智能合约部署方法、系统、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117349867A CN117349867A (zh) | 2024-01-05 |
CN117349867B true CN117349867B (zh) | 2024-02-09 |
Family
ID=89356005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311639424.8A Active CN117349867B (zh) | 2023-12-04 | 2023-12-04 | 智能合约部署方法、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117349867B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018111295A1 (en) * | 2016-12-16 | 2018-06-21 | Hitachi, Ltd. | Blockchain monitoring and management |
CN108960830A (zh) * | 2018-07-16 | 2018-12-07 | 百度在线网络技术(北京)有限公司 | 智能合约的部署方法、装置、设备及存储介质 |
CN109033823A (zh) * | 2018-07-23 | 2018-12-18 | 上海点融信息科技有限责任公司 | 用于在区块链网络中验证和运行智能合约的方法和装置 |
CN110443075A (zh) * | 2019-08-05 | 2019-11-12 | 中国工商银行股份有限公司 | 一种区块链智能合约验证部署的方法及装置 |
CN110855777A (zh) * | 2019-11-12 | 2020-02-28 | 腾讯科技(深圳)有限公司 | 一种基于区块链的节点管理方法及装置 |
CN111768200A (zh) * | 2020-08-31 | 2020-10-13 | 支付宝(杭州)信息技术有限公司 | 一种部署智能合约的方法、区块链节点和存储介质 |
CN112596754A (zh) * | 2021-03-01 | 2021-04-02 | 腾讯科技(深圳)有限公司 | 区块链智能合约部署方法及装置 |
CN112866412A (zh) * | 2020-08-31 | 2021-05-28 | 支付宝(杭州)信息技术有限公司 | 一种部署智能合约的方法、区块链节点和存储介质 |
CN113886495A (zh) * | 2021-09-30 | 2022-01-04 | 支付宝(杭州)信息技术有限公司 | 验证区块链数据的方法、装置、电子设备和存储介质 |
CN114168159A (zh) * | 2021-12-14 | 2022-03-11 | 深圳前海微众银行股份有限公司 | 智能合约部署方法、交易方法、装置及电子设备 |
CN115099791A (zh) * | 2022-07-27 | 2022-09-23 | 成都峰潮信息技术有限公司 | 一种基于区块链的智能合约交付平台及其操作方法 |
CN115577382A (zh) * | 2021-07-06 | 2023-01-06 | 腾讯科技(深圳)有限公司 | 基于区块链的智能合约部署方法及相关设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11238029B2 (en) * | 2020-02-14 | 2022-02-01 | International Business Machines Corporation | Runtime endorsement policy determination |
-
2023
- 2023-12-04 CN CN202311639424.8A patent/CN117349867B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018111295A1 (en) * | 2016-12-16 | 2018-06-21 | Hitachi, Ltd. | Blockchain monitoring and management |
CN108960830A (zh) * | 2018-07-16 | 2018-12-07 | 百度在线网络技术(北京)有限公司 | 智能合约的部署方法、装置、设备及存储介质 |
CN109033823A (zh) * | 2018-07-23 | 2018-12-18 | 上海点融信息科技有限责任公司 | 用于在区块链网络中验证和运行智能合约的方法和装置 |
CN110443075A (zh) * | 2019-08-05 | 2019-11-12 | 中国工商银行股份有限公司 | 一种区块链智能合约验证部署的方法及装置 |
CN110855777A (zh) * | 2019-11-12 | 2020-02-28 | 腾讯科技(深圳)有限公司 | 一种基于区块链的节点管理方法及装置 |
CN111768200A (zh) * | 2020-08-31 | 2020-10-13 | 支付宝(杭州)信息技术有限公司 | 一种部署智能合约的方法、区块链节点和存储介质 |
CN112866412A (zh) * | 2020-08-31 | 2021-05-28 | 支付宝(杭州)信息技术有限公司 | 一种部署智能合约的方法、区块链节点和存储介质 |
CN112596754A (zh) * | 2021-03-01 | 2021-04-02 | 腾讯科技(深圳)有限公司 | 区块链智能合约部署方法及装置 |
CN115577382A (zh) * | 2021-07-06 | 2023-01-06 | 腾讯科技(深圳)有限公司 | 基于区块链的智能合约部署方法及相关设备 |
CN113886495A (zh) * | 2021-09-30 | 2022-01-04 | 支付宝(杭州)信息技术有限公司 | 验证区块链数据的方法、装置、电子设备和存储介质 |
CN114168159A (zh) * | 2021-12-14 | 2022-03-11 | 深圳前海微众银行股份有限公司 | 智能合约部署方法、交易方法、装置及电子设备 |
CN115099791A (zh) * | 2022-07-27 | 2022-09-23 | 成都峰潮信息技术有限公司 | 一种基于区块链的智能合约交付平台及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117349867A (zh) | 2024-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110113167B (zh) | 一种智能终端的信息保护方法、系统以及可读存储介质 | |
ES2804771T3 (es) | Método y sistema para facilitar identificadores de terminal | |
EP3552131B1 (en) | Password security | |
US10783277B2 (en) | Blockchain-type data storage | |
CN115168888B (zh) | 一种业务自适应的数据治理方法、装置及设备 | |
EP4182823A1 (en) | Threat analysis and risk assessment for cyber-physical systems based on physical architecture and asset-centric threat modeling | |
CN111367923A (zh) | 数据处理方法、装置、节点设备及存储介质 | |
CN111585995B (zh) | 安全风控信息传输、处理方法、装置、计算机设备及存储介质 | |
CN110266653B (zh) | 一种鉴权方法、系统及终端设备 | |
US9177123B1 (en) | Detecting illegitimate code generators | |
CN110381114B (zh) | 接口请求参数的处理方法、装置、终端设备及介质 | |
CN117349867B (zh) | 智能合约部署方法、系统、设备及介质 | |
CN116112216A (zh) | 云数据验证方法、装置、电子设备及非易失性存储介质 | |
CN114117388A (zh) | 设备注册方法、设备注册装置、电子设备以及存储介质 | |
CN111046440B (zh) | 一种安全区域内容的篡改验证方法及系统 | |
CN114861144A (zh) | 基于区块链的数据权限处理方法 | |
CN114500044A (zh) | 一种数据验证方法、装置、存储介质及电子设备 | |
CN110858803B (zh) | 认证方法、系统、服务器和计算机可读存储介质 | |
CN113556333A (zh) | 一种计算机网络数据安全传输方法、装置 | |
CN112311551A (zh) | 保护可证明的资源所有权 | |
CN117499159B (zh) | 一种基于区块链的数据交易方法、装置及电子设备 | |
CN113965366B (zh) | 反向代理钓鱼攻击的防御方法、系统和计算机设备 | |
CN112749964B (zh) | 一种信息监控方法、系统、设备及存储介质 | |
CN116992494B (zh) | 一种用于景区数据流通的安全保护方法、设备和介质 | |
CN112241513B (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 | ||
GR01 | Patent grant |