CN110443075B - 一种区块链智能合约验证部署的方法及装置 - Google Patents
一种区块链智能合约验证部署的方法及装置 Download PDFInfo
- Publication number
- CN110443075B CN110443075B CN201910716636.9A CN201910716636A CN110443075B CN 110443075 B CN110443075 B CN 110443075B CN 201910716636 A CN201910716636 A CN 201910716636A CN 110443075 B CN110443075 B CN 110443075B
- Authority
- CN
- China
- Prior art keywords
- contract
- unique identifier
- container
- mark
- block chain
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Marketing (AREA)
- Computer Hardware Design (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- General Business, Economics & Management (AREA)
- Software Systems (AREA)
- Economics (AREA)
- Computing Systems (AREA)
- Development Economics (AREA)
- Data Mining & Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供了一种区块链智能合约验证部署的方法及装置,包括:在事前将通过评审的智能合约依据哈希算法提取信息摘要存入区块链节点的白名单中,在部署智能合约时,区块链联盟各方按照相同的哈希算法对需要部署的智能合约进行信息摘要以便验证所部署智能合约的合法性、有效性,当接收到新增智能合约时对该合约采用哈希算法提取信息摘要并与白名单中的信息摘要进行比对验证。本申请通过引入智能合约事前管理机制,事前将需要发布的智能合约字节数组以哈希算法生成信息摘要的形式进行白名单管理,事中将需要部署在节点上的智能合约做合法性校验验证,弥补了目前智能合约管理只有事后监督机制的漏洞。
Description
技术领域
本申请涉及区块链技术领域,具体地讲,涉及一种区块链智能合约白名单验证部署的方法及装置。
背景技术
区块链系统是将数据及数据的操作记录,通过密码学方法进行加密和散列,从而形成一种公开透明、不可篡改、可追溯的分布式数据库记账系统,该技术可以在支付清算、存证取证、价值转移、供应链金融、用户征信、监管审计等领域进行广泛应用。
在实际应用中,目前业界区块链智能合约发布是通过合约发布方直接上传到所属区块链节点,并由该节点自动广播到其他区块链节点,这一环节缺乏有效的监管机制,容易遭受恶意用户编写恶意合约的攻击,且一旦发生错误只能通过事后机制进行漏洞弥补,没有很好的事前和事中机制严格控制,从而造成一定的风险。
发明内容
本申请提供了一种区块链智能合约验证部署的方法,以至少解决现有技术中智能合约的发布缺乏有效的监管机制,容易遭受恶意用于编写恶意合约的攻击,而且一旦发生错误只能够通过事后机制进行漏洞弥补的问题。
根据本申请的一个方面,提供了一种区块链智能合约验证部署的方法,包括:区块链节点从接收到的交易请求报文中读取发布调用标志、目标合约唯一标识,交易请求报文包括:合约字节码数组、所需计算资源、发布调用标志和目标合约唯一标识;若交易报文中标志位为发布,此时目标合约唯一标识为空,区块链节点对目标合约赋予唯一标识,再对交易请求报文进行验证;对验证结果为通过的交易请求报文进行共识处理,并根据共识处理的结果确定交易的执行顺序;将所需计算资源、发布调用标志、目标合约唯一标识和合约字节码数组组成创建合约报文发送给预先选定的容器进行处理。
在一实施例中,对交易请求报文进行验证,包括:
利用哈希算法根据合约字节码数组生成信息摘要;
将信息摘要与预存的白名单信息摘要列表进行匹配,生成验证结果。
在一实施例中,区块链智能合约验证部署的方法还包括:
容器接收创建合约报文后建立容器唯一标识与目标合约唯一标识的对应关系并计算一共消耗的计算资源;
判断消耗的计算资源是否超过所需计算资源并设置相应的合约执行成功失败标志。
在一实施例中,判断消耗的计算资源是否超过所需计算资源并设置相应的合约执行成功失败标志,包括:
如果是,容器停止执行并报错退出,将合约执行成功失败标志设置为失败;
如果否,容器根据合约字节码数组执行具体的合约业务逻辑,将合约执行成功失败标志设置为成功。
根据本申请的另一个方面,还提供了一种区块链智能合约验证部署的装置,包括:
读取单元,用于区块链节点从接收到的交易请求报文中读取发布调用标志、目标合约唯一标识,交易请求报文包括:发布调用标志、目标合约唯一标识、合约字节码数组和所需计算资源;
验证单元,用于若发布调用标志为发布,所述目标合约唯一标识为空,对目标合约赋予唯一标识,并对交易请求报文进行验证;
共识单元,用于对验证结果为通过的交易请求报文进行共识处理,并根据共识处理的结果确定交易的执行顺序;
发送单元,用于将所需计算资源、目标合约唯一标识和合约字节码数组组成创建合约报文发送给预先选定的容器进行处理。
在一实施例中,验证单元,包括:
信息摘要模块,用于利用哈希算法根据合约字节码数组生成信息摘要;
匹配模块,用于将信息摘要与预存的白名单信息摘要列表进行匹配,生成验证结果。
在一实施例中,本申请的装置还包括:
创建对应关系单元,用于容器接收创建合约报文后建立容器唯一标识与目标合约唯一标识的对应关系并计算一共消耗的计算资源;
标志设置单元,用于判断消耗的计算资源是否超过所需计算资源并设置相应的合约执行成功失败标志。
在一实施例中,标志设置单元,包括:
失败设置模块,如果是,用于容器停止执行并报错退出,将合约执行成功失败标志设置为失败;
成功设置模块,如果否,用于容器根据合约字节码数组执行具体的合约业务逻辑,将合约执行成功失败标志设置为成功。
本申请提供的区块链智能合约验证部署的方法和装置通过白名单管理和哈希算法信息摘要的验证机制,覆盖了当下智能合约发布、部署的风险敞口,保证智能合约的真实性、有效性和防篡改。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请的一种区块链智能合约验证部署方法流程图。
图2为本申请的一种报文验证方法流程图。
图3为本申请实施例中的一种区块链智能合约验证部署方法流程图。
图4为本申请的一种区块链智能合约验证部署装置结构框图。
图5为本申请的验证单元的结构框图。
图6为本申请实施例中的一种区块链智能合约验证部署装置结构框图。
图7为本申请的区块链智能合约验证部署方法的一种电子设备的具体实施方式。
图8为本申请的白名单摘要列表的示意图。
图9为本申请的区块链中白名单线下生成流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中,智能合约经发布方发布评审后即安装部署到联盟节点上,并没有有效机制管理和保障智能合约发布,存在多种安全漏洞,如何保证线下发布评审的智能合约与线上部署的智能合约一致性尤为重要,杜绝潜在篡改风险。基于上述原因,本申请提供了一种区块链智能合约白名单验证部署的方法及装置,通过引入智能合约事前和事中管理机制,事前将需要发布的智能合约字节数组以哈希生成信息摘要的形式进行白名单管理,并存证区块链节点中。事中在执行职能合约之前将即将要部署的现有智能合约信息摘要与之前存证区块链上的信息摘要进行比对,从而达到智能合约部署前的合理验证,弥补了目前智能合约管理只有事后监督机制的漏洞。
如图1所示,本申请提供的一种区块链智能合约验证部署方法,包括如下步骤:
S101区块链节点从接收到的交易请求报文中读取发布调用标志、目标合约唯一标识,交易请求报文包括:发布调用标志、目标合约唯一标识、合约字节码数组和所需计算资源。
在一具体实施例中,联盟节点中的智能合约发布方发起线下智能合约评审,联盟各方接收新发布智能合约,并对智能合约的代码发起评审,对满足其业务功能和逻辑的智能合约进行准入,联盟各参与方按照相同的哈希算法(SHA1等)对智能合约字节数组进行信息唯一摘要,最后将线下评审准入的智能合约信息摘要进行白名单管理,将智能合约对应的信息摘要以白名单信息摘要列表的方式记录在区块链节点中,白名单信息摘要列表的生成流程如图9所示。接入区块链的应用系统(各联盟机构的可信服务器或工作站),发送创建合约交易请求到区块链中的某个区块链节点,交易请求的报文内容包括:发布调用标志、目标合约唯一标识、合约字节码数组和所需计算资源。区块链节点接收接入区块链的应用系统发送给本区块链节点的交易请求报文,根据报文内容进行信息摘要操作得到交易唯一标识。
S102若发布调用标志为发布,所述目标合约唯一标识为空,区块链节点对目标合约赋予唯一标识,并对交易请求报文进行验证。
S103对验证结果为通过的交易请求报文进行共识处理,并根据共识处理的结果确定交易的执行顺序。
在一具体实施例中,区块链节点从交易报文中读取发布调用标志和目标合约唯一标识,如果发布调用标志为发布,目标合约唯一标识为空,则表明本次交易是新增业务智能合约,对于新增业务智能合约需要进行验证,在合法性验证通过后,与其他区块链节点根据约定好的共识算法对交易进行共识处理,这里的共识算法可以是POW、POS、DPOS、PBFT等,最后根据共识的结果确定交易的执行顺序。然后从交易中读取所需计算资源,然后为该交易中的智能合约的执行分配适量的计算资源,以满足执行合约业务逻辑的需要。
S104将所需计算资源、发布调用标志、目标合约唯一标识和合约字节码数组组成创建合约报文发送给预先选定的容器进行处理。
在一具体实施例中,区块链节点把交易唯一标识、发布调用标志、目标合约唯一标识、合约字节码数组和所需计算资源组装成交易报文,并广播到区块链内其他区块链节点,同时接收其他区块链节点广播的交易报文,最后把交易报文进行共识处理。
图1所示的方法的执行主体可以为可信服务器或工作站,该方法实现了在交易执行之前通过哈希算法将交易中的信息摘要提取出来与白名单中的信息摘要进行比对的功能,防止恶意合约进入执行环节。
在一实施例中,S102中对交易请求报文进行验证,如图2所示,包括:
S201利用哈希算法根据合约字节码数组生成信息摘要。
在一具体实施例中,如果本次交易是新增业务智能合约,那么区块链节点对现有的智能合约的合约字节码数组进行哈希算法得到信息摘要。将这个智能合约的信息摘要与区块链节点中已存储的对应的智能合约白名单的信息摘要列表进行匹配,若一致,则把交易进行后续共识处理,否则拒绝执行后续的共识流程。
S202将信息摘要与预存的白名单信息摘要列表进行匹配,生成验证结果。
在一具体实施例中,区块链节点将这个智能合约的信息摘要与区块链节点中已存储的对应的智能合约白名单的信息摘要列表进行匹配,白名单信息摘要列表如图8所示,若一致,则把交易进行后续共识处理,否则拒绝执行后续的共识流程。
在一实施例中,如图3所示,区块链智能合约验证部署的方法还包括:
S301容器接收创建合约报文后建立容器唯一标识与目标合约唯一标识的对应关系并计算一共消耗的计算资源。
在一具体实施例中,容器解析从区块链节点发送过来的报文,如果是创建合约报文,则建立容器唯一标识与目标合约唯一标识的对应关系,根据合约字节码数组执行具体的合约业务逻辑。
S302判断消耗的计算资源是否超过所需计算资源并设置相应的合约执行成功失败标志。
在一具体实施例中,容器在执行智能合约的过程中根据配置计算本次执行一共消耗的计算资源,并且判断消耗的计算资源是否超过所需计算资源。
在一实施例中,S302中判断消耗的计算资源是否超过所需计算资源并设置相应的合约执行成功失败标志,包括:
如果是,容器停止执行并报错退出,将合约执行成功失败标志设置为失败;
在一具体实施例中,如果消耗的计算资源超过所需计算资源,停止执行并报错退出,合约执行成功失败标志置为失败。
如果否,容器根据智能合约执行具体的合约业务逻辑,将合约执行成功失败标志设置为成功。
在一具体实施例中,如果消耗的计算资源没有超过所需计算资源,合约执行成功失败标志设置为成功,然后容器把包含合约执行成功失败标志、合约执行返回值和消耗计算资源总和的执行结果转发给区块链节点。
基于同一发明构思,本申请实施例还提供了一种区块链智能合约验证部署装置,可以用于实现上述实施例中所描述的方法,如下面实施例所述。由于该区块链智能合约验证部署装置解决问题的原理与区块链智能合约验证部署方法相似,因此区块链智能合约验证部署装置的实施可以参见区块链智能合约验证部署方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
如图4所示,为本申请提供的一种区块链智能合约验证部署装置,包括:
读取单元401,用于区块链节点从接收到的交易请求报文中读取发布/调用标志、目标合约唯一标识,交易请求报文包括:发布调用标志、目标合约唯一标识、合约字节码数组和所需计算资源。
验证单元402,用于若发布调用标志为发布,所述目标合约唯一标识为空,对目标合约赋予唯一标识,并对交易请求报文进行验证。
共识单元403,用于对验证结果为通过的交易请求报文进行共识处理,并根据共识处理的结果确定交易的执行顺序。
发送单元404,用于将所需计算资源、发布调用标志、目标合约唯一标识和合约字节码数组组成创建合约报文发送给预先选定的容器进行处理。
在一实施例中,验证单元402,如图5所示,包括:
信息摘要模块501,用于利用哈希算法根据合约字节码数组生成信息摘要。
匹配模块502,用于将信息摘要与预存的白名单信息摘要列表进行匹配,生成验证结果。
在一实施例中,如图6所示,本申请的装置还包括:
创建对应关系单元601,用于容器接收创建合约报文后建立容器唯一标识与目标合约唯一标识的对应关系并计算一共消耗的计算资源。
标志设置单元602,用于判断消耗的计算资源是否超过所需计算资源并设置相应的合约执行成功失败标志。
在一实施例中,标志设置单元602,包括:
失败设置模块,如果是,用于容器停止执行并报错退出,将合约执行成功失败标志设置为失败。
成功设置模块,如果否,用于容器根据合约字节码数组执行具体的合约业务逻辑,将合约执行成功失败标志设置为成功。
本申请通过智能合约白名单管理和哈希算法(SHA1,SHA2,MD5)信息摘要的验证机制,覆盖了当下智能合约发布、部署的风险敞口,保证智能合约的真实性、有效性和防篡改,杜绝智能合约造假篡改等风险威胁,有效保障线下和线上智能合约发布的真实性、有效性、一致性。通过线下评审后准入的智能合约进行管理,通过哈希算法完成对智能合约的信息摘要唯一值,并将信息摘要唯一值进行白名单管理并存储在区块链上,有效保证了智能合约发布的事前管理,为后续智能合约部署提供校验基础,有效杜绝智能合约造假篡改;在智能合约正式部署前,根据智能合约字节码数组进行哈希算法得到信息摘要,将这个智能合约的信息摘要与线下流程中已存储区块链节点白名单中对应的智能合约信息摘要列表进行匹配,这种智能合约部署的事中校验机制有效保证智能合约部署的真实性、有效性和一致性,严控篡改等风险敞口,解决了目前只靠事后机制发现智能合约部署的漏洞问题。
本发明中应用了具体实施例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
本申请的实施例还提供能够实现上述实施例中的方法中全部步骤的一种电子设备的具体实施方式,参见图7,所述电子设备具体包括如下内容:
处理器(processor)701、内存702、通信接口(Communications Interface)703、总线704和非易失性存储器705;
其中,所述处理器701、内存702、通信接口703通过所述总线704完成相互间的通信;
所述处理器701用于调用所述内存702和非易失性存储器705中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的方法中的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
S101区块链节点从接收到的交易请求报文中读取发布调用标志、目标合约唯一标识,交易请求报文包括:发布调用标志、目标合约唯一标识、合约字节码数组和所需计算资源。
S102若发布调用标志为发布,所述目标合约唯一标识为空,对目标合约赋予唯一标识,并对交易请求报文进行验证;对验证结果为通过的交易请求报文进行共识处理,并根据共识处理的结果确定交易的执行顺序。
S103对验证结果为通过的交易请求报文进行共识处理,并根据共识处理的结果确定交易的执行顺序。
S104将所需计算资源、发布调用标志、目标合约唯一标识和合约字节码数组组成创建合约报文发送给预先选定的容器进行处理。
本申请的实施例还提供能够实现上述实施例中的方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
S101区块链节点从接收到的交易请求报文中读取发布调用标志、目标合约唯一标识,交易请求报文包括:发布调用标志、目标合约唯一标识、合约字节码数组和所需计算资源。
S102若发布调用标志为发布,所述目标合约唯一标识为空,区块链节点对目标合约赋予唯一标识,并对交易请求报文进行验证;对验证结果为通过的交易请求报文进行共识处理,并根据共识处理的结果确定交易的执行顺序。
S103对验证结果为通过的交易请求报文进行共识处理,并根据共识处理的结果确定交易的执行顺序。
S104将所需计算资源、发布调用标志、目标合约唯一标识和合约字节码数组组成创建合约报文发送给预先选定的容器进行处理。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。虽然本说明书实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。
在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。以上所述仅为本说明书实施例的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。
Claims (8)
1.一种区块链智能合约验证部署的方法,其特征在于,包括:
区块链节点从接收到的交易请求报文中读取发布调用标志、目标合约唯一标识,所述交易请求报文包括:发布调用标志、目标合约唯一标识、合约字节码数组和所需计算资源;
若所述发布调用标志为发布,所述目标合约唯一标识为空,区块链节点对目标合约赋予唯一标识,并利用哈希算法根据所述合约字节码数组生成信息摘要;
将所述信息摘要与预存的白名单信息摘要列表进行匹配,生成验证结果;
对验证结果为通过的交易请求报文进行共识处理,并根据共识处理的结果确定交易的执行顺序;
将所述所需计算资源、所述发布调用标志、所述目标合约唯一标识和所述合约字节码数组组成创建合约报文发送给预先选定的容器进行处理。
2.根据权利要求1所述的方法,其特征在于,还包括:
容器接收所述创建合约报文后建立容器唯一标识与所述目标合约唯一标识的对应关系并计算一共消耗的计算资源;
判断所述消耗的计算资源是否超过所述所需计算资源并设置相应的合约执行成功失败标志。
3.根据权利要求2所述的方法,其特征在于,所述判断所述消耗的计算资源是否超过所述所需计算资源并设置相应的合约执行成功失败标志,包括:
如果是,容器停止执行并报错退出,将所述合约执行成功失败标志设置为失败;
如果否,容器根据所述合约字节码数组执行具体的合约业务逻辑,将所述合约执行成功失败标志设置为成功。
4.一种区块链智能合约验证部署的装置,其特征在于,包括:
读取单元,用于区块链节点从接收到的交易请求报文中读取发布调用标志、目标合约唯一标识,所述交易请求报文包括:发布调用标志、目标合约唯一标识、合约字节码数组和所需计算资源;
验证单元,用于若所述发布调用标志为发布,所述目标合约唯一标识为空,对目标合约赋予唯一标识,并利用哈希算法根据所述合约字节码数组生成信息摘要;将所述信息摘要与预存的白名单信息摘要列表进行匹配,生成验证结果;
共识单元,用于对验证结果为通过的交易请求报文进行共识处理,并根据共识处理的结果确定交易的执行顺序;
发送单元,用于将所述所需计算资源、所述目标合约唯一标识、所述发布调用标志和所述合约字节码数组组成创建合约报文发送给预先选定的容器进行处理。
5.根据权利要求4所述的装置,其特征在于,还包括:
创建对应关系单元,用于容器接收所述创建合约报文后建立容器唯一标识与所述目标合约唯一标识的对应关系并计算一共消耗的计算资源;
标志设置单元,用于判断所述消耗的计算资源是否超过所述所需计算资源并设置相应的合约执行成功失败标志。
6.根据权利要求5所述的装置,其特征在于,所述标志设置单元,包括:
失败设置模块,如果是,用于容器停止执行并报错退出,将所述合约执行成功失败标志设置为失败;
成功设置模块,如果否,用于容器根据所述合约字节码数组执行具体的合约业务逻辑,将所述合约执行成功失败标志设置为成功。
7.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至3中任一项所述区块链智能合约验证部署方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至3中任一项所述区块链智能合约验证部署方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910716636.9A CN110443075B (zh) | 2019-08-05 | 2019-08-05 | 一种区块链智能合约验证部署的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910716636.9A CN110443075B (zh) | 2019-08-05 | 2019-08-05 | 一种区块链智能合约验证部署的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110443075A CN110443075A (zh) | 2019-11-12 |
CN110443075B true CN110443075B (zh) | 2021-05-25 |
Family
ID=68433128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910716636.9A Active CN110443075B (zh) | 2019-08-05 | 2019-08-05 | 一种区块链智能合约验证部署的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110443075B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111028077B (zh) * | 2019-11-20 | 2023-04-11 | 华中科技大学 | 一种基于输入过滤器的智能合约防护方法及系统 |
CN111031036B (zh) * | 2019-12-12 | 2020-11-27 | 深圳大学 | 基于区块链的疫苗信息监控方法、装置及计算机设备 |
CN111355718B (zh) * | 2020-02-25 | 2022-04-15 | 中国工商银行股份有限公司 | 区块链智能合约云化部署系统及方法 |
CN111339201B (zh) * | 2020-02-28 | 2023-04-25 | 中国工商银行股份有限公司 | 基于区块链的测评方法及系统 |
CN111461886B (zh) * | 2020-04-01 | 2022-02-01 | 杭州溪塔科技有限公司 | 区块链上不依赖智能合约的系统配置的管理方法和装置 |
CN111461722A (zh) * | 2020-04-17 | 2020-07-28 | 支付宝(杭州)信息技术有限公司 | 一种智能合约的部署方法、装置及设备 |
CN112199096A (zh) * | 2020-09-30 | 2021-01-08 | 深圳壹账通智能科技有限公司 | 智能合约的部署检测方法、装置、节点设备及存储介质 |
CN112417435A (zh) * | 2020-10-15 | 2021-02-26 | 北京八分量信息科技有限公司 | 一种社区环境下执行的可信计算白名单 |
CN112632617A (zh) * | 2020-12-29 | 2021-04-09 | 北京八分量信息科技有限公司 | 基于白名单进行数据访问的监测方法、装置及相关产品 |
CN112765677B (zh) * | 2020-12-30 | 2024-01-23 | 杭州溪塔科技有限公司 | 一种基于区块链的联邦学习方法、装置和系统 |
CN113362024B (zh) * | 2021-06-03 | 2022-04-26 | 深圳市赞悦科技有限公司 | 一种基于区块链的应用程序开发多模块协同系统 |
CN113643157A (zh) * | 2021-07-05 | 2021-11-12 | 中国人民银行数字货币研究所 | 智能合约的执行方法和装置 |
CN114168159A (zh) * | 2021-12-14 | 2022-03-11 | 深圳前海微众银行股份有限公司 | 智能合约部署方法、交易方法、装置及电子设备 |
CN114584513A (zh) * | 2022-03-10 | 2022-06-03 | 中国工商银行股份有限公司 | 区块链和安全多方技术相结合的内容感知方法及系统 |
CN117349867B (zh) * | 2023-12-04 | 2024-02-09 | 成都峰潮信息技术有限公司 | 智能合约部署方法、系统、设备及介质 |
CN118151843A (zh) * | 2024-01-24 | 2024-06-07 | 深圳宏欣网络科技有限公司 | 云平台的信息存储方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180041054A (ko) * | 2017-09-06 | 2018-04-23 | 주식회사 코인플러그 | 스마트 컨트랙트 기반의 인증서 서비스를 제공하는 방법 및 이를 이용한 서버 |
CN108769751B (zh) * | 2018-05-02 | 2020-09-08 | 中广热点云科技有限公司 | 一种基于智能合约的网络视听管理支撑系统 |
CN108989061B (zh) * | 2018-09-14 | 2020-06-02 | 腾讯科技(深圳)有限公司 | 通信系统、方法、服务器及存储介质 |
CN110335043B (zh) * | 2019-07-03 | 2022-03-18 | 中国银行股份有限公司 | 一种基于区块链系统的交易隐私保护方法、设备以及系统 |
CN110390525B (zh) * | 2019-07-31 | 2022-05-20 | 中国工商银行股份有限公司 | 区块链世界状态的直接访问方法及区块链节点 |
-
2019
- 2019-08-05 CN CN201910716636.9A patent/CN110443075B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110443075A (zh) | 2019-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110443075B (zh) | 一种区块链智能合约验证部署的方法及装置 | |
CN110599173B (zh) | 区块链的共识节点确定方法、装置、设备及存储介质 | |
CN103685138B (zh) | 移动互联网上的Android平台应用软件的认证方法和系统 | |
CN111314067B (zh) | 区块存储方法、装置、计算机设备及存储介质 | |
CN111079136B (zh) | 一种基于区块链技术的雾计算入侵检测特征共享系统 | |
CN112686671B (zh) | 基于区块链的智能合约部署方法、装置、设备以及介质 | |
CN112527912B (zh) | 基于区块链网络的数据处理方法、装置及计算机设备 | |
CN111090581B (zh) | 智能合约测试方法、装置、计算机设备和存储介质 | |
CN112700246B (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
CN112953978B (zh) | 一种多重签名认证方法、装置、设备及介质 | |
CN111159753B (zh) | 区块链智能合约管理方法及系统、存储介质及终端 | |
CN111488134B (zh) | 基于区块链的公开随机数生成方法及设备 | |
CN115701078B (zh) | 跨链交易处理方法、装置、电子设备以及存储介质 | |
CN112818414B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN111949531A (zh) | 区块链网络的测试方法、装置、介质及电子设备 | |
CN113706313A (zh) | 基于区块链的融资方法、系统及计算机可读存储介质 | |
Xia et al. | Trust in Software Supply Chains: Blockchain-Enabled SBOM and the AIBOM Future | |
CN111222963A (zh) | 基于区块链的招标信息处理方法及装置 | |
CN111131318A (zh) | 一种去中心化的密钥管理分发方法、系统及存储介质 | |
CN111274597A (zh) | 一种数据处理方法以及设备 | |
CN113328854B (zh) | 基于区块链的业务处理方法及系统 | |
De Carvalho et al. | Secure cloud storage service for detection of security violations | |
CN113890751B (zh) | 控制联盟链权限投票的方法、设备和可读存储介质 | |
CN113869901B (zh) | 密钥生成方法、装置、计算机可读存储介质及计算机设备 | |
CN115913734A (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 |