CN111738855A - 一种智能合约管理方法及装置 - Google Patents
一种智能合约管理方法及装置 Download PDFInfo
- Publication number
- CN111738855A CN111738855A CN202010581714.1A CN202010581714A CN111738855A CN 111738855 A CN111738855 A CN 111738855A CN 202010581714 A CN202010581714 A CN 202010581714A CN 111738855 A CN111738855 A CN 111738855A
- Authority
- CN
- China
- Prior art keywords
- management
- information
- transaction
- consensus
- intelligent contract
- 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.)
- Pending
Links
Images
Classifications
-
- 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
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例提供一种智能合约管理方法及装置,涉及金融科技(Finetch)技术领域,方法包括:在处理智能合约生效管理交易时,获取对生效前置交易信息的第一审核结果,生效前置交易信息是根据智能合约信息以及针对智能合约信息的合约生效操作或者合约升级操作确定的;若确定第一审核结果为审核通过,则生成生效共识信息,并将生效共识信息发送给其它交易处理节点;根据获取的目标节点列表以及接收的各生效共识信息确定生效管理共识结果,并在确定生效管理共识结果满足获取的生效管理条件时,确定完成智能合约生效管理交易。提高了智能合约管理的效率以及精度。
Description
技术领域
本发明涉及金融科技(Finetch)技术领域,尤其涉及一种智能合约管理方法及装置。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,区块链技术也不例外,但由于金融行业的安全性、实时性要求,金融科技领域也对区块链技术提出了更高的要求。
智能合约是一套以数字形式定义的承诺,承诺控制着数字资产并包含了合约参与者约定的权利和义务,由计算机系统自动执行。智能合约程序不只是一个可以自动执行的计算机程序,它本身就是一个系统参与者,对接收到的信息进行回应,可以接收和储存价值,也可以向外发送信息和价值。这个程序就像一个可以被信任的人,可以临时保管资产,总是按照事先的规则执行操作。
但是在现有技术中,当针对智能合约发起管理交易时,区块链中的所有节点对管理交易是否能够执行的共识过程是与区块链的共识过程耦合在一起的,导致区块链在全局一致的状态下被动执行同一交易,而不能拒绝对智能合约的管理交易。
发明内容
本发明实施例提供一种智能合约管理方法及装置,用以解决现有技术中存在的区块链在全局一致的状态下被动执行同一交易,而不能拒绝对智能合约的管理交易的问题。
一方面,本发明实施例提供一种智能合约管理方法,适用于区块链中的各交易处理节点,针对任一交易处理节点,方法包括:
在处理智能合约生效管理交易时,获取对生效前置交易信息的第一审核结果,所述生效前置交易信息是根据智能合约信息以及针对所述智能合约信息的合约生效操作或者合约升级操作确定的;
若确定所述第一审核结果为审核通过,则生成生效共识信息,并将所述生效共识信息发送给其它交易处理节点;
根据获取的目标节点列表以及接收的各生效共识信息确定生效管理共识结果,并在确定所述生效管理共识结果满足获取的生效管理条件时,确定完成所述智能合约生效管理交易。
本发明实施例中,各交易处理节点在对智能合约进行生效管理交易时,首先获取各交易处理节点对智能合约信息操作的审核结果,然后在确定审核结果为审核通过时,生成生效共识信息并发送给其它交易处理节点,便于通知其它交易处理节点,已同意对智能合约进行生效管理;各交易处理节点已发送生效共识信息的各目标节点,并根据已发送生效共识信息的各目标节点确定了生效管理共识结果;若确定生效管理共识结果满足生效管理条件,则可以确定完成智能合约生效管理交易,也就是执行了针对合约生效的管理交易。
通过上述过程,对智能合约生效管理交易的处理过程分为两个阶段,一个是对智能合约信息操作进行审核的阶段,一个是各交易节点与其他交易节点的共识过程,在共识过程中考虑的是目标节点的共识结果,而不是所有区块链节点的共识结果,并通过设置生效管理条件来确定目标节点的共识结果是否能够生效,所以在本发明实施例中,解耦了对智能合约信息操作进行审核以及共识过程,并根据对智能合约生效管理交易具有实际处理意义的各目标节点的节点信息来确定是否能够共识生效,即通过有效的交易处理节点的审核结果来确定交易生效或者交易不能生效两种处理结果,与现有技术相比,提高了智能合约管理的效率以及精度。
可选的,目标节点列表中包括各目标节点的标识信息,生效管理条件为节点数量阈值,根据获取的目标节点列表以及接收的各生效共识信息确定生效管理共识结果,包括:
根据接收的各生效共识信息确定各生效共识信息对应的各交易处理节点的各节点标识信息;
将各节点标识信息中与目标节点列表中的标识信息匹配的节点标识信息对应的交易处理节点作为目标节点;
将目标节点的总数量作为生效管理共识结果;
确定生效管理共识结果满足获取的生效管理条件,包括:
若确定目标节点的总数量大于节点数量阈值,则确定生效管理共识结果满足获取的生效管理条件。
本发明实施例中,若确定审核结果为审核通过的目标节点的总数量大于节点数量阈值,则可以确定针对生效管理交易的结果为共识成功,与现有技术中通过区块链中所有节点进行共识相比,只统计目标节点的总数量,而不使用其它节点的审核结果,实现了对智能合约生效管理交易的区别化管理,使得对生效管理交易具有有效管理权的各目标节点能够对智能合约生效管理交易进行有效管理。
可选的,目标节点列表中包括各目标节点的标识信息以及各目标节点对应的权重值,生效管理条件为总权重阈值,各交易处理节点根据获取的目标节点列表以及接收的各生效共识信息确定生效管理共识结果,包括:
根据接收的各生效共识信息确定各生效共识信息对应的各交易处理节点的节点标识信息;
将各节点标识信息中与目标节点列表中的标识信息匹配的节点标识信息对应的交易处理节点作为目标节点,并根据目标节点列表中的权重值确定目标节点的权重值;
将各目标节点的总权重值作为生效管理共识结果;
确定生效管理共识结果满足获取的生效管理条件,包括:
若确定总权重值大于总权重阈值,则确定生效管理共识结果满足获取的生效管理条件。
本发明实施例中,可以根据对智能合约生效管理交易的管理权限不同,为每个目标节点分配权重,通过计算目标节点的总权重与总权重阈值来确定是否能够完成生效管理交易,从而实现了各目标节点对管理交易的不同权限的管理。
可选的,若确定第一审核结果为审核通过,则生成生效共识信息,并将生效共识信息发送给其它节点,包括:
若确定第一审核结果为审核通过结果,则生成第一生效共识信息,将第一生效共识信息发送给其它交易处理节点;
根据目标节点列表以及接收的各第一生效共识信息确定第一生效管理共识结果,并在确定第一生效管理共识结果满足生效管理条件时,向其它交易处理节点发送第二生效共识信息;
根据获取的目标节点列表以及接收的各生效共识信息确定生效管理共识结果,包括:
根据目标节点列表以及接收的各第二生效共识信息确定第二生效管理共识结果;
确定生效管理共识结果满足获取的生效管理条件时,确定完成智能合约生效管理交易,包括:
在确定第二生效管理共识结果满足获取的生效管理条件时,确定完成智能合约生效管理交易。
本发明实施例中,共识信息是包括两个阶段的,第一阶段是确定目标节点的审核结果是共识通过的,另一阶段是在确定审核结果共识通过后,确定是否可以执行审核结果的过程,即是否能够完成智能合约生效管理交易。
可选的,各交易处理节点包括主交易处理节点以及从交易处理节点,在处理智能合约生效管理交易前,还包括:
主交易处理节点根据获取的智能合约信息、针对智能合约信息的智能合约生效操作或者智能合约升级操作、目标节点列表以及生效管理条件确定生效前置交易信息,并将生效前置交易信息发送给从交易处理节点;
主交易处理节点向从交易处理节点发送审核请求,并确定针对生效前置交易信息的第一审核结果,将第一审核结果保存在主交易处理节点的私有数据库中,审核请求用于指示从交易处理节点审核生效前置交易信息;
主交易处理节点确定智能合约生效管理交易,将智能合约生效管理交易处理请求发送给其它从交易处理节点。
本发明实施例中,交易处理节点中包括主节点以及从节点,主节点用于确定前置交易信息,并通知从节点进行审核,主节点以及从节点都将审核结果保存各自的私有数据库中,记录是否同意智能合约生效管理交易的操作,并且主节点是确定智能合约生效管理交易的节点,通过设置主节点以及从节点实现了对智能合约生效管理交易的层级管理。
可选的,确定完成智能合约生效管理交易后,还包括:
在处理智能合约失效管理交易时,获取对失效前置交易信息的第二审核结果,失效前置交易信息是根据智能合约信息以及针对智能合约信息进行智能合约销毁操作、智能合约冻结操作以及智能合约解冻操作中的任一操作确定的,智能合约失效管理交易请求是智能合约部署节点发送的,智能合约部署节点为区块链中各交易处理节点以及各非交易处理节点中的任一节点;
若确定第二审核结果为审核通过,则生成失效共识消息,并将失效共识消息发送给其它交易处理节点;
根据目标节点列表以及接收的所述失效共识消息确定失效管理共识结果,并在确定失效管理共识结果满足获取的失效管理条件时,确定完成智能合约失效管理交易。
本发明实施例中,在完成生效管理交易后,还涉及到对智能合约的失效管理交易,所以在本发明实施例中,还可以通过将失效管理交易投票过程与是否完成失效管理交易过程拆分完成,完成了对失效管理交易的有效管理。
可选的,交易处理节点为目标节点列表中的任一节点。
本发明实施例中,区块链中进行交易处理的可以是目标节点,其它节点可以进行智能合约管理的过程,也可以不进行智能合约管理的过程。
一方面,本发明实施例提供一种智能合约管理装置,包括:
第一审核结果获取单元,用于对在处理智能合约生效管理交易时,获取对生效前置交易信息的第一审核结果,生效前置交易信息是根据智能合约信息以及针对智能合约信息的合约生效操作或者合约升级操作确定的;
生效共识信息确定单元,用于若确定第一审核结果为审核通过,则生成生效共识信息,并将生效共识信息发送给其它交易处理节点;
智能合约管理执行单元,用于根据获取的目标节点列表以及接收的各生效共识信息确定生效管理共识结果,并在确定生效管理共识结果满足获取的生效管理条件时,确定完成智能合约生效管理交易。
可选的,目标节点列表中包括各目标节点的标识信息,生效管理条件为节点数量阈值,智能合约管理执行单元具体用于:
根据接收的各生效共识信息确定各生效共识信息对应的各交易处理节点的各节点标识信息;
将各节点标识信息中与目标节点列表中的标识信息匹配的节点标识信息对应的交易处理节点作为目标节点;
将目标节点的总数量作为生效管理共识结果;
若确定目标节点的总数量大于节点数量阈值,则确定生效管理共识结果满足获取的生效管理条件。
可选的,目标节点列表中包括各目标节点的标识信息以及各目标节点对应的权重值,生效管理条件为总权重阈值,智能合约管理执行单元具体用于:
根据接收的各生效共识信息确定各生效共识信息对应的各交易处理节点的节点标识信息;
将各节点标识信息中与目标节点列表中的标识信息匹配的节点标识信息对应的交易处理节点作为目标节点,并根据目标节点列表中的权重值确定目标节点的权重值;
将各目标节点的总权重值作为生效管理共识结果;
若确定总权重值大于总权重阈值,则确定生效管理共识结果满足获取的生效管理条件。
可选的,生效共识信息确定单元具体用于:
若确定第一审核结果为审核通过结果,则生成第一生效共识信息,将第一生效共识信息发送给交易处理节点;
根据目标节点列表以及接收的各第一生效共识信息确定第一生效管理共识结果,并在确定第一生效管理共识结果满足生效管理条件时,向其它交易处理节点发送第二生效共识信息;
智能合约管理执行单元具体用于:
根据目标节点列表以及接收的各第二生效共识信息确定第二生效管理共识结果;
在确定第二生效管理共识结果满足生效管理条件时,确定完成合约生效管理交易。
可选的,各交易处理节点包括主交易处理节点以及从交易处理节点,装置还包括:
生效前置交易信息确定单元,用于根据获取的合约信息、针对合约信息的合约生效操作或者合约升级操作、目标节点列表以及生效管理条件确定生效前置交易信息,并将生效前置交易信息发送给从交易处理节点;
第二审核结果确定单元,用于向从交易处理节点发送审核请求,并确定针对生效前置交易信息的第一审核结果,将第一审核结果保存在主交易处理节点的私有数据库中,审核请求用于指示从交易处理节点审核生效前置交易信息;
合约生效管理交易确定单元,用于确定合约生效管理交易,将合约生效管理交易处理请求发送给其它从交易处理节点。
可选的,合约生效管理交易确定单元具体用于:
在处理合约失效管理交易时,获取对失效前置交易信息的第二审核结果,失效前置交易信息是根据合约信息以及针对合约信息进行合约销毁操作、合约冻结操作以及合约解冻操作中的任一操作确定的,合约失效管理交易请求是合约部署节点发送的,合约部署节点为区块链中各交易处理节点以及各非交易处理节点中的任一节点;
若确定第二审核结果为审核通过,则生成失效共识消息,并将失效共识消息发送给其它交易处理节点;
根据目标节点列表以及接收的失效共识消息确定失效管理共识结果,并在确定失效管理共识结果满足获取的失效管理条件时,确定完成智能合约失效管理交易。
可选的,交易处理节点为目标节点列表中的任一节点。
一方面,本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述智能合约管理方法的步骤。
一方面,本发明实施例还提供一种存储介质,其存储有可由计算机设备执行的计算机程序,当程序在计算机设备上运行时,使得计算机设备执行上述智能合约管理方法的步骤。
本发明实施例中的智能合约管理方法,能够将智能合约的审核过程和智能合约审核结果的共识过程拆分,避免现有技术中由于区块链的一致性导致的动执行同一交易,而不能拒绝对智能合约的管理交易的问题,提高了智能合约管理的效率以及精度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种区块链网络的系统架构示意图;
图2为本发明实施例提供的一种智能合约管理方法的流程示意图;
图3为本发明实施例提供的一种智能合约生效管理方法的流程示意图;
图4为本发明实施例提供的一种智能合约失效管理方法的流程示意图;
图5为本发明实施例提供的一种智能合约管理装置的结构示意图;
图6为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
为了方便理解,下面对本申请实施例中涉及的名词进行解释:
区块链系统:是指采用区块链技术(Blockchain Technology)存储数据的系统。区块链技术也被称为分布式账本技术,是一种互联网数据库技术,其特点是去中心化、公开透明,让每个人均可参与数据库记录。区块链技术可以是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种分布式基础架构与计算方式。区块链系统中存储的数据具有很高的稳定性和可靠性,区块链系统是一个不可篡改的、可信任的数据库。因此,相较于传统的将抵押业务相关的数据进行集中存储的方式,采用区块链系统来存储抵押业务相关的数据,有助于提高抵押业务相关的数据的安全性和可靠性。
智能合约:是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约的目的是提供优于传统合约的安全方法,并减少与合约相关的其他交易成本,智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。
共识算法:是指区块链系统中实现不同节点设备之间建立信任、获取权益的数学算法。在区块链系统中,通过特殊节点设备的投票,可以在很短的时间内完成对交易的验证和确认,对一笔交易,如果利益不相干的若干个节点设备能够达成共识,就可以认为系统中的全部节点设备对该交易也能够达成共识。
在具体实践过程中,本申请的发明人发现,在对智能合约进行管理时,需要将智能合约的状态记录在区块链中,对智能合约的状态修改过程通常是通过向区块链发送交易的方式进行的,交易经过链上的区块链节点进行共识,并在完成共识操作后,将交易写入区块链,智能合约的状态相应的发生修改。
但是现有技术中,对智能合约状态的管理过程存在问题,现有技术中将智能合约管理交易是否能实施的共识过程与区块链节点的共识过程耦合在一起,对智能合约状态进行修改的过程,只要在区块链中有3f+1(f为容错节点数)的区块链节点对智能合约管理交易的信息包进行签名,则对智能合约的管理交易即可通过,区块链节点中的智能合约的状态发生修改。但是区块链中的有些节点对智能合约状态的管理是不具有意义的,若不具有意义3f+1个区块链节点对智能合约管理交易的信息包进行签名,则无论对智能合约状态的管理具有意义的区块链节点是否同意该交易,都被动执行了该交易,即将智能合约的状态进行了修改。
基于上述问题,本申请的发明人提出一种智能合约管理方法,适用于区块链中的各交易处理节点,具体的,区块链中的各交易处理节点在对智能合约生效管理交易进行共识时,首先获取了各交易处理节点是否同意该智能合约生效管理的审核结果,若同意,则向其它交易处理节点发送生效共识消息。在本申请中,将对智能合约管理有权限的区块链节点定义为目标节点,并通过目标节点列表以及设置的生效管理条件来确定各交易处理节点是否能够完成共识,所以各交易处理节点根据发送共识消息的各目标节点以及生效管理条件判断是否能够完成智能合约生效管理交易。
本发明实施例对智能合约生效管理交易的处理过程分为两个阶段,一个是对智能合约信息操作进行审核的阶段,一个是各交易节点与其他交易节点的共识过程,在共识过程中考虑的是目标节点的共识结果,而不是所有区块链节点的共识结果,并通过设置生效管理条件来确定目标节点的共识结果是否能够生效,所以在本发明实施例中,解耦了对智能合约信息操作进行审核以及共识过程,并根据对智能合约生效管理交易具有实际处理意义的各目标节点的节点信息来确定是否能够共识生效,即通过有效的交易处理节点的审核结果来确定交易生效或者交易不能生效两种处理结果,与现有技术相比,提高了智能合约管理的效率以及精度。
在介绍完本申请实施例的设计思想之后,下面对本申请实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
在介绍完本申请实施例的设计思想之后,下面对本申请实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
图1为本发明实施例提供的一种区块链系统100的架构示意图,如图1所示,区块链系统100中可以设置有一个或多个区块链节点110;其中,任意两个区块链节点110可以通过有线方式连接,或者也可以通过无线方式连接,从而共同维护区块链系统100。
区块链系统100中的各区块链节点110还可以与客户端120进行通信,用于处理和存储客户端120发送的交易数据。各区块链节点110中包括多个区块1101,各区块1101用于存储客户端120发送的交易数据。
在本申请实施例中,交易处理节点可以是区块链系统100中的所有区块链节点110,也可以是部分区块链节点110。
进一步地,针对客户端120发送的交易数据,不同的区块链节点110可以具有不同的权限,例如,部分区块链节点110具有审核交易的权限,部门区块链节点110不具有审核交易的权限,例如监管机构等。
需要说明的是,上述图1所示的结构仅是一种示例,本发明实施例对此不做限定。
为进一步说明本申请实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本申请实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。
下面结合图2,对本发明实施例提供的技术方案进行说明,具体的,包括:
步骤S201,区块链中的各交易处理节点在处理智能合约生效管理交易时,获取对生效前置交易信息的第一审核结果,生效前置交易信息是根据智能合约信息以及针对智能合约信息的智能合约生效操作或者智能合约升级操作确定的。
在本发明实施例中,各交易处理节点可以是区块链中的所有区块链节点,也可以是部分区块链节点。一种可选的实施例中,区块链中包括交易处理节点以及非交易处理节点,交易处理节点为具有设定功能,对交易能够进行管理的节点,非交易处理节点可以为不具有交易管理能力的节点。
具体的,智能合约生效管理交易就是对智能合约的状态进行生效操作修改或者升级操作修改的,也就是说,智能合约生效管理交易是对智能合约进行部署或者升级时发送到区块链中的交易,智能合约生效管理交易可以是客户端发送的,也可以是区块链中的交易处理节点根据客户端发送的信息确定的,当客户端确定需要对智能合约进行生效管理时,向区块链中的交易处理节点发送生效消息,交易处理节点根据生效消息确定智能合约生效管理交易。
在本发明实施例中,各交易处理节点已经对生效前置交易信息进行了审核,也就是说,各交易处理节点已经确定了对智能合约生效管理交易的投票结果,所以在本发明实施例中,对智能合约生效管理交易的投票结果确定过程与对智能合约生效管理交易的共识过程是分开进行的。
可选的,在本发明实施例中,生效前置交易信息是各交易处理节点中的任一交易处理节点确定的,或者设定交易节点确定的,也可以是客户端发送到区块链中的。
各交易处理节点对生效前置交易信息的第一审核结果指的是对智能合约生效或者升级管理的投票结果,投票结果可以为审核通过,也可以为审核不通过。
进一步地,为了防止投票结果被篡改,所以各交易处理节点将第一审核结果保存在私有数据库中,并不允许修改第一审核结果。
所以在本发明实施例中,各交易处理节点在处理智能合约生效管理交易时,可以从私有数据库中获取各交易处理节点的第一审核结果。
可选的,在本申请实施例中,各交易处理节点中包括主交易处理节点以及从交易处理节点,一种可选的实施例中,各交易处理节点在处理智能合约生效管理交易前,还要接收到主交易处理节点发送的审核请求,审核生效前置交易信息。
而生效前置交易信息是主交易处理节点生成的,主交易处理节点可以是目标节点,也可以是区块链中具有设定权限的区块链节点,也可以是区块链与客户端直接交互的区块链节点。
具体的,主交易处理节点根据获取的智能合约信息、针对智能合约信息的智能合约生效操作或者智能合约升级操作、目标节点列表以及生效管理条件确定生效前置交易信息,智能合约信息可以是智能合约信息的合约标识以及代码。进一步地,生效前置交易信息中还包括前置交易标识,用来表征该生效前置交易的唯一性。
步骤S202,各交易处理节点若确定第一审核结果为审核通过,则生成生效共识信息,并将生效共识信息发送给其它交易处理节点。
具体的,各交易处理节点在获取到第一审核结果后,若确定第一审核结果为审核通过,即该交易处理节点同意对智能合约生效管理后,生成生效共识信息,这个生效共识信息用于向通知其他交易处理节点,已同意该智能合约生效管理。
可选的,生效共识信息中还包括各交易处理节点的标识信息,用于表征该交易处理节点。
由于本发明实施例中,当各交易处理节点在确定第一审核结果为审核通过后,生成生效共识信息,则当各交易处理节点对生效前置信息的审核结果为审核不通过,则不生成生效共识信息。
进一步地,在本发明实施例中,可以通过两次生成共识信息的过程来实现各交易处理节点之间的交互,具体的若各交易处理节点确定第一审核结果为审核通过结果,则生成第一生效共识信息,将第一生效共识信息发送给交易处理节点,第一生效共识信息用于向其它各交易处理节点表征已审核通过该智能合约生效管理交易,并可以进行共识。
各交易处理节点根据目标节点列表以及接收的各第一生效共识信息确定第一生效管理共识结果,并在确定第一生效管理共识结果满足生效管理条件时,向其它交易处理节点发送第二生效共识信息,也就是说,第二生效共识信息就是实际共识使用的信息,并且在本发明实施例中,通过获取到的目标节点列表确定已经发送了第一生效共识信息的第一目标节点,并根据设置的生效管理条件确定该第一生效共识信息是否共识成功,若确定共识成功,则各交易处理节点生成第二生效共识信息,并将各第二生效共识信息发送给其它交易处理节点。
在本发明实施例中,各交易处理节点既可以发送上述生效共识信息,并且也可以接收其它交易处理节点发送的生效共识信息,同时,各交易处理节点在确定第一生效共识信息是否共识成功时,可以使用多种共识算法,例如多方安全求和算法等,在此不做具体限定。
步骤S203,各交易处理节点根据获取的目标节点列表以及接收的各生效共识信息确定生效管理共识结果,并在确定生效管理共识结果满足获取的生效管理条件时,确定完成智能合约生效管理交易。
具体的,各交易处理节点根据获取的目标节点列表以及接收的各生效共识信息确定生效管理共识结果,具体确定生效管理共识结果的方法有多种,一种可选的实施例中,目标节点列表中包括各目标节点的标识信息,如表1所示,在表1中包括各目标节点的标识信息。
表1
目标节点 | 标识信息 |
目标节点1 | 标识1 |
目标节点2 | 标识2 |
目标节点3 | 标识3 |
…… | …… |
各交易处理节点在接收到其它交易处理节点发送的生效共识信息时,获取发送生效共识信息的各交易处理节点的标识信息,并与表1中的标识信息进行匹配,若匹配成功,则确定已经接收到该目标节点发送的生效共识信息。
在本发明实施例中,生效管理条件的设置方法与目标节点的节点信息是匹配设置的,一种可选的实施例中,若目标节点的节点信息为数量信息,则设置的生效管理条件为数量阈值;另一种可选的实施例,若目标节点的节点信息是权重信息,则设置的生效管理条件为权重阈值。
可选的,在本发明实施例中,目标节点列表中还保存了各目标节点的权重信息,各目标节点的权重信息可以是根据不同目标节点的管理权限确定的,各目标节点分配的权重可以相同,也可以不同。
当各交易处理节点根据权重和/或数量确定了生效管理共识结果后,确定是否满足设置的生效管理条件,若满足,则认为生效共识信息共识完成,各交易处理节点对于智能合约的状态修改为生效状态,即将智能合约的状态变更为生效状态或者将智能合约的状态变更为升级状态。
具体的,各交易处理节点确定是否满足设置的生效管理条件的过程是根据生效管理共识结果的具体内容以及生效管理条件确定,一种可选的实施例中,目标节点列表包括各目标节点的标识信息,生效管理条件为节点数量阈值,则通过各交易处理节点确定已发送生效共识信息的目标节点的数量,若确定目标节点的总数量大于生效管理条件规定的节点数量阈值,则确定生效管理共识结果满足生效管理条件。
示例性的,针对任一交易处理节点,该交易处理节点确定已经接收到5个其它交易处理节点发送的生效共识信息,在确定满足生效管理条件时,并根据目标节点列表确定该交易处理节点是否为目标节点,若是目标节点,则确定已发送生效共识信息的目标节点的数量为6,若生效管理条件规定的节点总数量阈值为5,则确定生效管理共识结果满足生效管理条件。
另一种可选的实施例中,由于各目标节点具有不同的管理权限,还可以通过已发送生效共识信息的目标节点的权重值,确定总的权重值,然后根据生效管理条件规定的总权重阈值,总的权重值大于总权重阈值,则确定生效管理共识结果满足生效管理条件。
进一步地,交易处理节点可以通过目标节点列表确定各目标节点的权重,就是说,目标节点列表中包括目标节点的标识信息以及对应的权重值,示例性的,如表2所示,在表2中包括各目标节点的标识信息以及权重值。
表2
在本发明实施例中,各权重值之和等于1,各权重值可以根据各目标节点的管理权限确定对应的权重值。
针对任一交易处理节点,根据接收到的其它交易处理节点发送的生效共识信息以及目标节点列表确定目标节点以及目标节点的权重,并且确定该交易处理节点是否为目标节点,若是目标节点,则从目标列表中获取该交易处理节点的权重,确定包括该交易处理节点的所有目标节点的总权重值,若确定总权重值大于生效管理条件规定的总权重,则确定生效管理共识结果满足生效管理条件。
示例性的,对于交易处理节点A,接收到的生效共识信息是交易处理节点B、交易处理节点C以及交易处理节点D发送的,且通过目标节点列表确定了交易处理节点A、交易处理节点B、交易处理节点C以及交易处理节点D都是目标节点,且同时通过目标节点列表确定了交易处理节点A的权重值为0.4,交易处理节点B的权重值为0.2,交易处理节点C的权重值为0.1,交易处理节点D的权重值为0.1,通过计算得到交易处理节点A、交易处理节点B、交易处理节点C以及交易处理节点D的总权重值为0.8,而生效管理条件规定的总权重值阈值为0.7,则确定生效管理共识结果满足生效管理条件。
当各交易处理节点确定生效管理共识结果满足生效管理条件后,则确定完成智能合约生效管理交易,也就是将区块中的智能合约的状态修改为生效状态。
具体的,确定完成智能合约生效管理交易后,各交易处理节点的区块中针对智能合约的状态都修改为生效状态,区块链中的其它区块链节点也将针对智能合约的状态都修改为生效状态,这些区块链节点可以是不同意修改智能合约的状态的区块链节点。一种可选的实施例中,其它区块链节点可以是非交易处理节点,所以通过上述方法,区块链中的交易处理节点以及非交易处理节点都将智能合约的状态都修改为生效状态。
在介绍了上述完成智能合约生效管理交易的主要处理过程后,现在针对已经生效或者升级的智能合约进行失效管理,具体的,失效管理可以是针对智能合约进行智能合约销毁操作、智能合约冻结操作以及智能合约解冻操作。
具体的,在本申请实施例中,各交易处理节点在处理智能合约失效管理交易时,获取对失效前置交易信息的第二审核结果,失效前置交易信息是根据智能合约信息以及针对智能合约信息进行智能合约销毁操作、智能合约冻结操作以及智能合约解冻操作中的任一操作确定的,智能合约失效管理交易请求是智能合约部署节点发送的,智能合约部署节点为区块链中所述各交易处理节点以及各非交易处理节点中的任一节点。
各交易处理节点若确定第二审核结果为审核通过,则生成失效共识消息,并将失效共识消息发送给其它交易处理节点,各交易处理节点根据目标节点列表以及接收的失效共识消息确定失效管理共识结果,并在确定失效管理共识结果满足获取的失效管理条件时,确定完成智能合约失效管理交易。
通过上述内容可知,各交易处理节点在处理智能合约失效管理交易的过程与处理生效管理交易的过程相似,智能合约失效管理交易请求是智能合约部署节点发送的,智能合约部署节点可以是上述交易处理节点,也可以是区块链中的其它节点。
具体的,各交易处理节点在处理智能合约失效管理交易前,还需要接收失效前置交易信息,并针对失效前置交易信息进行审核。
在本发明实施例中,失效前置交易信息可以是智能合约部署节点生成的,具体的,失效前置交易信息中包括失效前置交易的标识信息、智能合约的标识信息。
当智能合约部署节点生成失效前置交易信息后,将失效前置交易信息发送给各交易处理节点,并向交易处理节点发送审核请求,各交易处理节点审核失效前置交易信息,审核结果为同意失效管理或者不同意失效管理。
所以在本发明实施例中,智能合约部署节点首先获取智能合约的标识信息构建失效前置交易信息,且失效前置交易信息中还包括失效前置交易的标识信息。
智能合约部署节点将失效前置交易信息发送给各交易处理节点,智能合约部署节点向各交易处理节点发送审核失效前置交易信息的审核请求,智能合约部署节点以及各交易处理节点均对失效前置交易信息进行审核,并将审核结果保存在智能合约部署节点以及各交易处理节点的私有数据库中。
具体的,在生成失效共识交易的过程与生成生效共识交易的过程相似,具体的各交易处理节点在处理智能合约失效管理交易时,获取对失效前置交易信息的第二审核结果,各交易处理节点若确定第二审核结果为审核通过,则生成第一失效共识消息,将第一失效共识信息发送给交易处理节点;各交易处理节点根据目标节点列表以及接收的各第一失效共识信息确定已发送第一失效共识信息的各目标节点的第一生效管理共识结果,并在确定第一生效管理共识结果满足获取的失效管理条件时,向其它交易处理节点发送第二生效共识信息。
当各交易处理节点根据目标节点列表确定已发送失效共识消息的各目标节点,并根据标节点列表以及接收的失效共识消息确定失效管理共识结果;在确定失效管理共识结果满足获取的失效管理条件时,确定完成智能合约失效管理交易。
同样的,确定失效管理共识结果满足获取的失效管理条件的过程同样可以使用目标节点的总数量或者总权重值进行判断,在此不做赘述。
在介绍了针对智能合约的生效管理以及失效管理过程后,下面根据处理流程进行示例性解释,具体的,如图3所示,针对智能合约的生效管理过程,涉及到的区块链节点为目标节点以及其它节点,具体的实施过程为:
步骤S301,主节点构建生效前置交易信息,生效前置交易信息中包括:1)需要进行部署/升级的智能合约的标识及代码;2)目标节点列表;3)每个目标节点的权重值;4)智能合约生效的最小权重值;5)生效前置交易信息的标识,在本发明实施例中,主节点是目标节点中的任一节点;
步骤S302,主节点将生效前置交易信息发送给其它目标节点以及区块链中的非目标节点;
步骤S303,主节点、其它目标节点以及非目标节点对生效前置交易信息进行共识上链,上链后区块链网络中所有节点(包括各目标节点、各非目标节点)均有该智能合约信息,且该智能合约尚未生效,不可调用;
步骤S304,主节点通知各目标节点以及非目标节点对已上链的智能合约信息进行审计;
步骤S305,各目标节点(包括主节点)以及非目标节点对部署/升级智能合约代码及目标节点权重进行审计,并将生效前置交易信息记录在自身的私有数据库,生效前置交易信息的key为生效前置交易信息的标识,value为部署/升级智能合约的发起主节点、自身是否同意该部署/升级操作、生效前置交易信息的其他内容;
步骤S306,主节点构造智能合约生效交易并发送到区块链;
步骤S307,各目标节点(包括主节点)以及非目标节点执行智能合约生效交易时,判断自身私有数据库中是否有该智能合约信息,如果有记录该智能合约信息,判断自身是否同意部署/升级该智能合约,如果同意,则执行步骤S308,否则执行步骤S309;
步骤S308,各目标节点(包括主节点)以及非目标节点对执行结果进行签名,执行步骤S310;
步骤S309,各目标节点(包括主节点)以及非目标节点忽略该交易;
步骤S310,各目标节点(包括主节点)以及非目标节点广播pre-prepare消息包;
步骤S311,各目标节点(包括主节点)以及非目标节点收集到pre-prepare消息包后,统计各签名目标节点的权重信息,判断是否满足最小权重值,如果满足,则执行步骤S312,否则执行步骤S313;
步骤S312,各目标节点(包括主节点)以及非目标节点执行结果进行签名,执行步骤S314;
步骤S313,各目标节点(包括主节点)以及非目标节点不进行广播;
步骤S314,各目标节点(包括主节点)以及非目标节点广播commit消息包;
步骤S315,各目标节点(包括主节点)以及非目标节点收集到commit消息包后,统计签名目标节点的权重信息,判断是否满足最小权重值,如果满足,则执行步骤S316,否则执行步骤S317;
步骤S316,各目标节点(包括主节点)以及非目标节点确定交易落盘,该部署/升级的智能合约生效,后续可被调用;
步骤S317,各目标节点(包括主节点)以及非目标节点确定该部署/升级的智能合约没有生效。
通过上述内容可知,对于智能合约的部署以及升级的过程,在确定目标节点同意部署或者升级智能合约后,且同意部署或者升级智能合约的目标节点的权重值大于最小权重值时,则确定智能合约的部署以及升级生效,且各非目标节点对于部署或者升级智能合约的审核结果不会影响最终对智能合约的部署以及升级,各非目标节点在各目标节点确定智能合约的部署以及升级生效后,也确定智能合约的部署以及升级生效。
下面以更具体的示例介绍区块链中的各节点对于智能合约的生效或者升级的管理方法,具体的区块链中包括各目标节点以及非目标节点1以及非目标节点2,示例性的,目标列表中的目标节点如表3所示,且各目标节点的权重值也为表3所示。
表3
目标节点1为主节点,目标节点1构建生效前置交易信息,生效前置交易信息中包括:1)需要进行部署/升级的智能合约的标识及代码;2)目标节点列表;3)每个目标节点的权重值;4)智能合约生效的最小权重值;5)生效前置交易信息的标识。本发明实施例中的目标节点列表如表3所示,每个目标节点的权重值也如表3所示。
目标节点1将生效前置交易信息发送给目标节点2、目标节点3、目标节点4、目标节点5、目标节点6、非目标节点1以及非目标节点2,各节点对生效前置交易信息进行共识上链,上链后区块链网络中所有节点均有该智能合约信息,且该智能合约尚未生效,不可调用。
目标节点1通知目标节点2、目标节点3、目标节点4、目标节点5、目标节点6、非目标节点1以及非目标节点2对已上链的智能合约信息进行审计,同时目标节点1也对已上链的智能合约信息进行审计。
目标节点1的审计结果为审计通过,目标节点2的审计结果为审计通过,目标节点3的审计结果为审计不通过,目标节点4的审计结果为审计通过、目标节点5的审计结果为审计不通过、目标节点6的审计结果为审计通过,非目标节点1的审计结果为审计不通过,非目标节点2的审计结果为审计通过。
上述各节点对部署/升级智能合约代码及目标节点权重进行审计,并将生效前置交易信息记录在自身的私有数据库,生效前置交易信息的key为生效前置交易信息的标识,value为部署/升级智能合约的发起主节点、自身是否同意该部署/升级操作、生效前置交易信息的其他内容。
目标节点1构造智能合约生效交易并发送到区块链。
各节点执行智能合约生效交易时,判断自身私有数据库中是否有该智能合约信息,如果有记录该智能合约信息,判断自身是否同意部署/升级该智能合约,如果同意,则对执行结果进行签名,并发送pre-prepare消息包。
具体的,目标节点1、目标节点2、目标节点4、目标节点6以及非目标节点2执行结果进行签名,并发送pre-prepare消息包。
目标节点1、目标节点2、目标节点3、目标节点4、目标节点5、目标节点6、非目标节点1以及非目标节点2每个节点统计各签名目标节点的权重信息,判断是否满足最小权重值,在本发明实施例中,最小权重值为0.6,而统计各签名目标节点的权重信息为0.3+0.1+0.1+0.2=0.7,则确定满足最小权重值。
目标节点1、目标节点2、目标节点4、目标节点6以及非目标节点2广播commit消息包,目标节点1、目标节点2、目标节点3、目标节点4、目标节点5、目标节点6、非目标节点1以及非目标节点2每个节点统计签名目标节点的权重信息,判断是否满足最小权重值,具体的,在本发明实施例中,而统计各签名目标节点的权重信息为0.3+0.1+0.1+0.2=0.7,则确定满足最小权重值。
目标节点1、目标节点2、目标节点3、目标节点4、目标节点5、目标节点6、非目标节点1以及非目标节点2确定交易落盘,该部署/升级的智能合约生效,后续可被调用。
在介绍了针对智能合约的部署或者升级管理后,下面以具体实施例介绍针对智能合约的销毁、冻结或者解冻的管理,具体的,如图4所示,针对智能合约的生效管理过程,涉及到的区块链节点为目标节点以及其它节点,具体的实施过程为:
步骤S401,部署了智能合约的任一智能合约部署节点构建失效前置交易信息,失效前置交易信息中包括:1)需要进行失效管理的智能合约的标识;2)失效前置交易信息的标识;
步骤S402,智能合约部署节点将失效前置交易信息发送给目标节点以及区块链中的非目标节点;
步骤S403,各目标节点以及非目标节点对失效前置交易信息进行共识上链;
步骤S404,智能合约部署节点通知各目标节点以及非目标节点对已上链的失效前置交易进行审计;
步骤S405,各目标节点(包括主节点)以及非目标节点对失效前置交易进行审计,并将生效前置交易信息记录在自身的私有数据库,失效前置交易信息的key为生效前置交易信息的标识,value为部署/升级智能合约的发起主节点、自身是否同意该失效管理操作、失效前置交易信息的其他内容;
步骤S406,智能合约部署节点构造智能合约失效交易并发送到区块链;
步骤S407,各目标节点以及非目标节点执行智能合约失效交易时,判断自身是否同意该智能合约的失效管理,如果同意,则执行步骤S408,否则执行步骤S409;
步骤S408,各目标节点以及非目标节点对执行结果进行签名,执行步骤S410;
步骤S409,各目标节点以及非目标节点忽略该交易;
步骤S410,各目标节点以及非目标节点广播pre-prepare消息包;
步骤S411,各目标节点以及非目标节点收集到pre-prepare消息包后,统计各签名目标节点的权重信息,判断是否满足最小权重值,如果满足,则执行步骤S412,否则执行步骤S413;
步骤S412,各目标节点以及非目标节点执行结果进行签名,执行步骤S414;
步骤S413,各目标节点以及非目标节点不进行广播;
步骤S414,各目标节点以及非目标节点广播commit消息包;
步骤S415,各目标节点以及非目标节点收集到commit消息包后,统计签名目标节点的权重信息,判断是否满足最小权重值,如果满足,则执行步骤S416,否则执行步骤S417;
步骤S416,各目标节点以及非目标节点确定交易落盘,对智能合约失效管理落盘;
步骤S417,各目标节点以及非目标节点对智能合约失效管理没有生效。
通过上述内容可知,对于智能合约的失效管理过程,在确定目标节点同意对智能合约的失效管理后,且同意失效管理的目标节点的权重值大于最小权重值时,则确定该智能合约失效,且各非目标节点对于智能合约的失效管理结果不会影响最终对智能合约的失效管理,各非目标节点在各目标节点确定智能合约的失效后,也确定智能合约失效。
下面以更具体的示例介绍区块链中的各节点对于智能合约的失效管理方法,具体的区块链中包括各目标节点以及非目标节点1以及非目标节点2,示例性的,目标列表中的目标节点如表3所示,且各目标节点的权重值也为表3所示。
智能合约部署节点为目标节点1,目标节点1构建失效前置交易信息,失效前置交易信息中包括:1)需要进行失效管理的智能合约的标识;2)失效前置交易信息的标识。
目标节点1将失效前置交易信息发送给目标节点2、目标节点3、目标节点4、目标节点5、目标节点6、非目标节点1以及非目标节点2,各节点对生效前置交易信息进行共识上链。
目标节点1通知目标节点2、目标节点3、目标节点4、目标节点5、目标节点6、非目标节点1以及非目标节点2对已上链的智能合约信息进行失效管理审计,同时目标节点1也对已上链的智能合约信息进行失效管理审计。
目标节点1的审计结果为审计通过,目标节点2的审计结果为审计通过,目标节点3的审计结果为审计不通过,目标节点4的审计结果为审计通过、目标节点5的审计结果为审计不通过、目标节点6的审计结果为审计通过,非目标节点1的审计结果为审计不通过,非目标节点2的审计结果为审计通过。
上述各节点对智能合约的失效管理及目标节点权重进行审计,并将失效前置交易信息记录在自身的私有数据库,生效前置交易信息的key为失效前置交易信息的标识,value为失效前置交易的发起节点、自身是否同意该失效管理操作、失效前置交易信息的其他内容。
目标节点1构造智能合约失效交易并发送到区块链。
各节点执行智能合约失效交易时,判断自身私有数据库中是否同意失效智能合约信息,如果同意,则对执行结果进行签名,并发送pre-prepare消息包。
具体的,目标节点1、目标节点2、目标节点4、目标节点6以及非目标节点2执行结果进行签名,并发送pre-prepare消息包。
目标节点1、目标节点2、目标节点3、目标节点4、目标节点5、目标节点6、非目标节点1以及非目标节点2每个节点统计各签名目标节点的权重信息,判断是否满足最小权重值,在本发明实施例中,最小权重值为0.6,而统计各签名目标节点的权重信息为0.3+0.1+0.1+0.2=0.7,则确定满足最小权重值。
目标节点1、目标节点2、目标节点4、目标节点6以及非目标节点2广播commit消息包,目标节点1、目标节点2、目标节点3、目标节点4、目标节点5、目标节点6、非目标节点1以及非目标节点2每个节点统计签名目标节点的权重信息,判断是否满足最小权重值,具体的,在本发明实施例中,而统计各签名目标节点的权重信息为0.3+0.1+0.1+0.2=0.7,则确定满足最小权重值。
目标节点1、目标节点2、目标节点3、目标节点4、目标节点5、目标节点6、非目标节点1以及非目标节点2确定交易落盘,即智能合约失效。
基于相同的技术构思,本申请实施例还提供一种智能合约管理装置500,如图5所示,包括:
第一审核结果获取单元501,用于对在处理智能合约生效管理交易时,获取对生效前置交易信息的第一审核结果,生效前置交易信息是根据智能合约信息以及针对智能合约信息的合约生效操作或者合约升级操作确定的;
生效共识信息确定单元502,用于若确定第一审核结果为审核通过,则生成生效共识信息,并将生效共识信息发送给其它交易处理节点;
智能合约管理执行单元503,用于根据获取的目标节点列表以及接收的各生效共识信息确定生效管理共识结果,并在确定所述生效管理共识结果满足获取的生效管理条件时,确定完成智能合约生效管理交易。
可选的,目标节点列表包括各目标节点的标识信息,生效管理条件为节点数量阈值,智能合约管理执行单元503具体用于:
根据接收的各生效共识信息确定各生效共识信息对应的各交易处理节点的各节点标识信息;
将各节点标识信息中与目标节点列表中的标识信息匹配的节点标识信息对应的交易处理节点作为目标节点;
将目标节点的总数量作为生效管理共识结果;
若确定目标节点的总数量大于节点数量阈值,则确定生效管理共识结果满足获取的生效管理条件。
可选的,目标节点列表中包括各目标节点的标识信息以及各目标节点对应的权重值,生效管理条件为总权重阈值,智能合约管理执行单元503具体用于:
根据接收的各生效共识信息确定各生效共识信息对应的各交易处理节点的节点标识信息;
将各节点标识信息中与目标节点列表中的标识信息匹配的节点标识信息对应的交易处理节点作为目标节点,并根据目标节点列表中的权重值确定目标节点的权重值;
将各目标节点的总权重值作为生效管理共识结果;
若确定总权重值大于总权重阈值,则确定生效管理共识结果满足获取的生效管理条件。
可选的,生效共识信息确定单元502具体用于:
若确定第一审核结果为审核通过结果,则生成第一生效共识信息,将第一生效共识信息发送给交易处理节点;
根据目标节点列表以及接收的各第一生效共识信息确定第一生效管理共识结果,并在确定第一生效管理共识结果满足生效管理条件时,向其它交易处理节点发送第二生效共识信息;
智能合约管理执行单元503具体用于:
根据目标节点列表以及接收的各第二生效共识信息确定第二生效管理共识结果;
在确定第二生效管理共识结果满足生效管理条件时,确定完成合约生效管理交易。
可选的,各交易处理节点包括主交易处理节点以及从交易处理节点,装置还包括:
生效前置交易信息确定单元504,用于根据获取的合约信息、针对合约信息的合约生效操作或者合约升级操作、目标节点列表以及生效管理条件确定生效前置交易信息,并将生效前置交易信息发送给从交易处理节点;
第二审核结果确定单元505,用于向从交易处理节点发送审核请求,并确定针对生效前置交易信息的第一审核结果,将第一审核结果保存在主交易处理节点的私有数据库中,审核请求用于指示从交易处理节点审核生效前置交易信息;
合约生效管理交易确定单元506,用于确定合约生效管理交易,将合约生效管理交易处理请求发送给其它从交易处理节点。
可选的,合约生效管理交易确定单元506具体用于:
在处理合约失效管理交易时,获取对失效前置交易信息的第二审核结果,失效前置交易信息是根据合约信息以及针对合约信息进行合约销毁操作、合约冻结操作以及合约解冻操作中的任一操作确定的,合约失效管理交易请求是合约部署节点发送的,合约部署节点为区块链中各交易处理节点以及各非交易处理节点中的任一节点;
若确定第二审核结果为审核通过,则生成失效共识消息,并将失效共识消息发送给其它交易处理节点;
根据目标节点列表以及接收的失效共识消息确定失效管理共识结果,并在确定失效管理共识结果满足获取的失效管理条件时,确定完成智能合约失效管理交易。
可选的,交易处理节点为目标节点列表中的任一节点。
基于相同的技术构思,本申请实施例提供了一种计算机设备,如图6所示,包括至少一个处理器601,以及与至少一个处理器连接的存储器602,本申请实施例中不限定处理器601与存储器602之间的具体连接介质,图6中处理器601和存储器602之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。
在本申请实施例中,存储器602存储有可被至少一个处理器601执行的指令,至少一个处理器601通过执行存储器602存储的指令,可以执行前述的智能合约管理方法中所包括的步骤。
其中,处理器601是计算机设备的控制中心,可以利用各种接口和线路连接终端设备的各部分,通过运行或执行存储在存储器602内的指令以及调用存储在存储器602内的数据,从而获得客户端地址。待选的,处理器601可包括一个或多个处理单元,处理器601可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器601中。在一些实施例中,处理器601和存储器602可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器601可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器602作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器602可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器602是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器602还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
基于相同的技术构思,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当程序在计算机设备上运行时,使得计算机设备执行智能合约管理方法的步骤。
本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种智能合约管理方法,其特征在于,适用于区块链中的各交易处理节点,针对任一交易处理节点,所述方法包括:
在处理智能合约生效管理交易时,获取对生效前置交易信息的第一审核结果,所述生效前置交易信息是根据智能合约信息以及针对所述智能合约信息的合约生效操作或者合约升级操作确定的;
若确定所述第一审核结果为审核通过,则生成生效共识信息,并将所述生效共识信息发送给其它交易处理节点;
根据获取的目标节点列表以及接收的各生效共识信息确定生效管理共识结果,并在确定所述生效管理共识结果满足获取的生效管理条件时,确定完成所述智能合约生效管理交易。
2.根据权利要求1所述的方法,其特征在于,所述目标节点列表中包括各目标节点的标识信息,所述生效管理条件为节点数量阈值,所述根据获取的目标节点列表以及接收的各生效共识信息确定生效管理共识结果,包括:
根据接收的各生效共识信息确定各生效共识信息对应的各交易处理节点的各节点标识信息;
将各节点标识信息中与所述目标节点列表中的所述标识信息匹配的节点标识信息对应的交易处理节点作为目标节点;
将目标节点的总数量作为所述生效管理共识结果;
所述确定所述生效管理共识结果满足获取的生效管理条件,包括:
若确定所述目标节点的总数量大于所述节点数量阈值,则确定所述生效管理共识结果满足获取的生效管理条件。
3.根据权利要求1所述的方法,其特征在于,所述目标节点列表中包括各目标节点的标识信息以及各目标节点对应的权重值,所述生效管理条件为总权重阈值,所述根据获取的目标节点列表以及接收的各生效共识信息确定生效管理共识结果,包括:
根据接收的各生效共识信息确定各生效共识信息对应的各交易处理节点的节点标识信息;
将各节点标识信息中与所述目标节点列表中的所述标识信息匹配的节点标识信息对应的交易处理节点作为目标节点,并根据所述目标节点列表中的权重值确定所述目标节点的权重值;
将各目标节点的总权重值作为所述生效管理共识结果;
所述确定所述生效管理共识结果满足获取的生效管理条件,包括:
若确定所述总权重值大于所述总权重阈值,则确定所述生效管理共识结果满足获取的生效管理条件。
4.根据权利要求1~3任一所述的方法,其特征在于,所述若确定所述第一审核结果为审核通过,则生成生效共识信息,并将所述生效共识信息发送给其它节点,包括:
若确定所述第一审核结果为审核通过结果,则生成第一生效共识信息,将所述第一生效共识信息发送给其它交易处理节点;
根据所述目标节点列表以及接收的各第一生效共识信息确定第一生效管理共识结果,并在确定所述第一生效管理共识结果满足所述生效管理条件时,向其它交易处理节点发送第二生效共识信息;
所述根据获取的目标节点列表以及接收的各生效共识信息确定生效管理共识结果,包括:
根据所述目标节点列表以及接收的各第二生效共识信息确定第二生效管理共识结果;
所述确定所述生效管理共识结果满足获取的生效管理条件时,确定完成所述智能合约生效管理交易,包括:
在确定所述第二生效管理共识结果满足获取的生效管理条件时,确定完成所述智能合约生效管理交易。
5.根据权利要求4所述的方法,其特征在于,各交易处理节点包括主交易处理节点以及从交易处理节点,所述在处理智能合约生效管理交易前,还包括:
所述主交易处理节点根据获取的所述智能合约信息、针对所述智能合约信息的智能合约生效操作或者智能合约升级操作、所述目标节点列表以及所述生效管理条件确定生效前置交易信息,并将所述生效前置交易信息发送给所述从交易处理节点;
所述主交易处理节点向所述从交易处理节点发送审核请求,并确定针对所述生效前置交易信息的第一审核结果,将所述第一审核结果保存在所述主交易处理节点的私有数据库中,所述审核请求用于指示所述从交易处理节点审核所述生效前置交易信息;
所述主交易处理节点确定智能合约生效管理交易,将所述智能合约生效管理交易处理请求发送给其它从交易处理节点。
6.根据权利要求5所述的方法,其特征在于,所述确定完成所述智能合约生效管理交易后,还包括:
在处理智能合约失效管理交易时,获取对失效前置交易信息的第二审核结果,所述失效前置交易信息是根据所述智能合约信息以及针对所述智能合约信息进行智能合约销毁操作、智能合约冻结操作以及智能合约解冻操作中的任一操作确定的,所述智能合约失效管理交易请求是智能合约部署节点发送的,所述智能合约部署节点为所述区块链中所述各交易处理节点以及各非交易处理节点中的任一节点;
若确定所述第二审核结果为审核通过,则生成失效共识消息,并将所述失效共识消息发送给其它交易处理节点;
根据所述目标节点列表以及接收的所述失效共识消息确定失效管理共识结果,并在确定所述失效管理共识结果满足获取的失效管理条件时,确定完成所述智能合约失效管理交易。
7.根据权利要求6所述的方法,其特征在于,所述交易处理节点为所述目标节点列表中的任一节点。
8.一种智能合约管理装置,其特征在于,适用于区块链中的各交易处理节点,针对任一交易处理节点,包括:
第一审核结果获取单元,用于对在处理智能合约生效管理交易时,获取对生效前置交易信息的第一审核结果,所述生效前置交易信息是根据智能合约信息以及针对所述智能合约信息的合约生效操作或者合约升级操作确定的;
生效共识信息确定单元,用于若确定所述第一审核结果为审核通过,则生成生效共识信息,并将所述生效共识信息发送给其它交易处理节点;
智能合约管理执行单元,用于根据获取的目标节点列表以及接收的各生效共识信息确定生效管理共识结果,并在确定所述生效管理共识结果满足获取的生效管理条件时,确定完成所述智能合约生效管理交易。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1~7任一权利要求所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行权利要求1~7任一权利要求所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010581714.1A CN111738855A (zh) | 2020-06-23 | 2020-06-23 | 一种智能合约管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010581714.1A CN111738855A (zh) | 2020-06-23 | 2020-06-23 | 一种智能合约管理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111738855A true CN111738855A (zh) | 2020-10-02 |
Family
ID=72650682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010581714.1A Pending CN111738855A (zh) | 2020-06-23 | 2020-06-23 | 一种智能合约管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111738855A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113222606A (zh) * | 2021-07-07 | 2021-08-06 | 中企链信(北京)科技有限公司 | 一种基于智能合约的安全交易执行方法 |
-
2020
- 2020-06-23 CN CN202010581714.1A patent/CN111738855A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113222606A (zh) * | 2021-07-07 | 2021-08-06 | 中企链信(北京)科技有限公司 | 一种基于智能合约的安全交易执行方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109040029B (zh) | 在区块链中执行事务的方法和装置 | |
CN110011996B (zh) | 基于区块链的应用授权方法及装置和电子设备 | |
CN109242675B (zh) | 基于区块链的资产发布方法及装置、电子设备 | |
EP3610436B1 (en) | Rapid distributed consensus on blockchain | |
CN110245186B (zh) | 一种基于区块链的业务处理方法及相关设备 | |
US20190386834A1 (en) | Blockchain management apparatus, blockchain management method, and program | |
CN111327564B (zh) | 一种联盟链的准入方法及装置 | |
CN110569251A (zh) | 一种数据处理方法、相关设备及计算机可读存储介质 | |
CN111382456A (zh) | 提案消息处理方法、装置、设备以及存储介质 | |
EP4050542B1 (en) | Blockchain-based data processing method and apparatus, and device and readable storage medium | |
EP4280531A2 (en) | Computer system and method for distributed privacy-preserving shared execution of one or more processes | |
CN115131022B (zh) | 基于区块链的数字资产交易方法、装置、设备及介质 | |
AU2019219861A1 (en) | Computer system and method for distributed privacy-preserving shared execution of one or more processes | |
CN111010282B (zh) | 一种基于区块链的信息处理方法、相关装置及存储介质 | |
CN111327565B (zh) | 区块链出块方法和系统 | |
CN114239066A (zh) | 基于区块链的合同处理方法及相关设备 | |
CN112037055B (zh) | 交易处理方法、装置、电子设备及可读存储介质 | |
CN111738855A (zh) | 一种智能合约管理方法及装置 | |
CN113128998B (zh) | 一种区块链系统的业务处理方法、装置及系统 | |
CN111817859A (zh) | 基于零知识证明的数据共享方法、装置、设备及存储介质 | |
CN109286616B (zh) | 基于区块链技术的权限校验方法及装置 | |
CN114154969B (zh) | 一种基于区块链的大型交易和结算方法 | |
CN116128658A (zh) | 基于区块链的数据存储保险方法、装置、设备及存储介质 | |
CN111355757B (zh) | 供应链领域的区块链的跨链通信方法及装置 | |
CN112037062A (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 |