CN113986940A - 基于区块链公链的合约处理方法和装置 - Google Patents
基于区块链公链的合约处理方法和装置 Download PDFInfo
- Publication number
- CN113986940A CN113986940A CN202111334109.5A CN202111334109A CN113986940A CN 113986940 A CN113986940 A CN 113986940A CN 202111334109 A CN202111334109 A CN 202111334109A CN 113986940 A CN113986940 A CN 113986940A
- Authority
- CN
- China
- Prior art keywords
- data information
- contract
- block
- identifier
- storing
- 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
- 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/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开提供一种基于区块链公链的合约处理方法和装置,包括:响应于修改合约的修改请求,合约中包括多个数据信息,各个数据信息被存储于预设区块链公链中各自对应的区块节点,修改请求用于指示将合约中的第一数据信息修改为第二数据信息,获取第一数据信息的合约标识、第一数据信息的加密版本标识,根据合约标识确定用于存储第二数据信息的区块节点,并根据第一数据信息的加密版本标识将第二数据信息存储于确定出的区块节点,其中,确定出的区块节点与区块链公链中除第一数据信息对应的区块节点用于确定修改后的合约,实现了合约的可修改性,避免了重新生成合约造成的成本高,且操作过程繁琐的弊端,提高了合约存储的灵活性和多样性的技术效果。
Description
技术领域
本公开实施例涉及区块链技术领域,尤其涉及一种基于区块链公链的合约处理方法和装置。
背景技术
合约又称为合同,是指多方当事人达成的一致协议。随着科学技术的发展,合约的处理逐渐由线下处理发展为线上处理,如由线下的人工存储发展为线上的云端存储等。
区块链技术是可以理解为一个共享数据库技术,存储于其中的数据信息具有“不可修改”“全程留痕”等安全特征,因此,区块链技术被广泛的应用。
然而,当基于区块链技术对合约进行存储等处理时,由于区块链技术的“不可修改”的特征,导致已经被存储的合约无法被修改,所以,当需要对合约进行修改时,需要修改得到新的合约,而后对新的合约进行再次存储,导致操作繁琐,灵活性偏低的技术问题。
发明内容
本公开实施例提供一种基于区块链公链的合约处理方法和装置,用以解决合约修改的灵活性偏低的问题。
第一方面,本公开实施例提供一种基于区块链公链的合约处理方法,包括:
响应于修改合约的修改请求,所述合约中包括多个数据信息,各个数据信息被存储于预设区块链公链中各自对应的区块节点,所述修改请求用于指示将所述合约中的第一数据信息修改为第二数据信息,获取所述第一数据信息的合约标识、所述第一数据信息的加密版本标识;
根据所述合约标识确定用于存储所述第二数据信息的区块节点,并根据所述第一数据信息的加密版本标识将所述第二数据信息存储于确定出的区块节点;其中,所述确定出的区块节点与所述区块链公链中除所述第一数据信息对应的区块节点用于确定修改后的合约。
在一些实施例中,根据所述第一数据信息的加密版本标识将所述第二数据信息存储于确定出的区块节点,包括:
对所述第一数据信息的加密版本标识进行解密处理,得到所述第一数据信息的解密版本标识;
根据所述第一数据信息的解密版本标识生成所述第二数据信息的加密版本标识,并将携带所述第二数据信息的加密版本标识的第二数据信息,存储于所述确定出的区块节点。
在一些实施例中,获取所述第一数据信息的合约标识、所述第一数据信息的加密版本标识,包括:
响应于所述修改请求,获取发起方发起所述修改请求的联网协议地址、所述发起方的私钥、以及相对方的至少部分私钥;
基于所述联网协议地址、所述发起方的私钥、以及相对方的至少部分私钥,对所述发起方的修改权限进行鉴权处理,若鉴权通过,则获取所述第一数据信息的合约标识、所述第一数据信息的加密版本标识。
在一些实施例中,还包括:
响应于查阅合约的查阅请求,根据所述查阅请求确定所述区块链公链中用于存储所述合约的各区块节点;
提取每一区块节点中存储的数据信息,若任意两个数据信息具有相同的合约标识,则确定具有相同的合约标识的两个数据信息中修改前的数据信息、以及修改后的数据信息;
根据所述修改后的数据信息、以及没有修改的数据信息生成并反馈合约。
在一些实施例中,每一数据信息携带加密版本标识;确定具有相同的合约标识的两个数据信息中修改前的数据信息、以及修改后的数据信息,包括:
对具有相同的合约标识的两个数据信息的加密版本标识进行解密处理,得到具有相同的合约标识的两个数据信息各自对应的解密版本标识;
根据具有相同的合约标识的两个数据信息各自对应的解密版本标识,确定具有相同的合约标识的两个数据信息中修改前的数据信息、以及修改后的数据信息。
在一些实施例中,所述方法还包括:
响应于存储合约的存储请求,为所述合约中的每一数据信息分配合约标识,并根据每一数据信息的合约标识,将每一数据信息存储于预设区块链公链中的区块节点。
在一些实施例中,根据每一数据信息的合约标识,将每一数据信息存储于预设区块链公链中的区块节点,包括:
根据每一数据信息的合约标识,确定用于存储每一数据信息的区块节点;
在存储每一数据信息的区块节点中构建用于存储每一数据信息的区块,其中,用于存储每一数据信息的区块包括区块体,用于存储每一数据信息的区块体用于存储每一数据信息中表征所述合约内容的部分。
在一些实施例中,用于存储每一数据信息的区块包括区块头,用于存储每一数据信息的区块头用于存储每一数据信息中表征账户信息和用户信息的内容。
第二方面,本公开实施例提供一种基于区块链公链的合约处理装置,包括:
获取单元,用于响应于修改合约的修改请求,所述合约中包括多个数据信息,各个数据信息被存储于预设区块链公链中各自对应的区块节点,所述修改请求用于指示将所述合约中的第一数据信息修改为第二数据信息,获取所述第一数据信息的合约标识、所述第一数据信息的加密版本标识;
第一确定单元,用于根据所述合约标识确定用于存储所述第二数据信息的区块节点;
第一存储单元,用于根据所述第一数据信息的加密版本标识将所述第二数据信息存储于确定出的区块节点;其中,所述确定出的区块节点与所述区块链公链中除所述第一数据信息对应的区块节点用于确定修改后的合约。
在一些实施例中,所述第一存储单元,包括:
第一解密子单元,用于对所述第一数据信息的加密版本标识进行解密处理,得到所述第一数据信息的解密版本标识;
生成子单元,用于根据所述第一数据信息的解密版本标识生成所述第二数据信息的加密版本标识;
存储子单元,用于将携带所述第二数据信息的加密版本标识的第二数据信息,存储于所述确定出的区块节点。
在一些实施例中,所述获取单元,包括:
第一获取子单元,用于响应于所述修改请求,获取发起方发起所述修改请求的联网协议地址、所述发起方的私钥、以及相对方的至少部分私钥;
鉴权子单元,用于基于所述联网协议地址、所述发起方的私钥、以及相对方的至少部分私钥,对所述发起方的修改权限进行鉴权处理;
第二获取子单元,用于若鉴权通过,则获取所述第一数据信息的合约标识、所述第一数据信息的加密版本标识。
在一些实施例中,还包括:
第二确定单元,用于响应于查阅合约的查阅请求,根据所述查阅请求确定所述区块链公链中用于存储所述合约的各区块节点;
提取单元,用于提取每一区块节点中存储的数据信息;
第三确定单元,用于若任意两个数据信息具有相同的合约标识,则确定具有相同的合约标识的两个数据信息中修改前的数据信息、以及修改后的数据信息;
生成单元,用于根据所述修改后的数据信息、以及没有修改的数据信息生成合约;
反馈单元,用于反馈生成的合约。
在一些实施例中,每一数据信息携带加密版本标识;所述第三确定单元,包括:
第二解密子单元,用于对具有相同的合约标识的两个数据信息的加密版本标识进行解密处理,得到具有相同的合约标识的两个数据信息各自对应的解密版本标识;
第一确定子单元,用于根据具有相同的合约标识的两个数据信息各自对应的解密版本标识,确定具有相同的合约标识的两个数据信息中修改前的数据信息、以及修改后的数据信息。
在一些实施例中,所述方法还包括:
分配单元,用于响应于存储合约的存储请求,为所述合约中的每一数据信息分配合约标识;
第二存储单元,用于根据每一数据信息的合约标识,将每一数据信息存储于预设区块链公链中的区块节点。
在一些实施例中,所述第二存储单元,包括:
第二确定子单元,用于根据每一数据信息的合约标识,确定用于存储每一数据信息的区块节点;
构建子单元,用于在存储每一数据信息的区块节点中构建用于存储每一数据信息的区块,其中,用于存储每一数据信息的区块包括区块体,用于存储每一数据信息的区块体用于存储每一数据信息中表征所述合约内容的部分。
在一些实施例中,用于存储每一数据信息的区块包括区块头,用于存储每一数据信息的区块头用于存储每一数据信息中表征账户信息和用户信息的内容。
第三方面,本公开实施例提供了一种电子设备,包括:存储器,处理器;
存储器,用于存储所述处理器可执行指令;
其中,所述处理器被配置为执行如第一方面所述的方法。
第四方面,本公开实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面所述的方法。
第五方面,本公开实施例提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据第一方面所述的方法。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为本公开一个实施例的基于区块链公链的合约处理方法的示意图;
图2为本公开一个实施例的基于区块链公链的合约处理方法修改数据信息的示意图;
图3为本公开另一个实施例的基于区块链公链的合约处理方法的示意图;
图4为本公开另一个实施例的基于区块链公链的合约处理方法的示意图;
图5为本公开一个实施例的基于区块链公链的合约处理装置的示意图;
图6为本公开另一实施例的基于区块链公链的合约处理装置的示意图;
图7为本公开实施例的基于区块链公链的合约处理方法的电子设备的框图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
随着计算机网络需求日益增长,各当事人(可以为双方当事人,也可以指三方及以上当事人,且当事人可以为企业、公司、个人等)进行的合约时,通常将合约内容存在纸质上,或者以电子内容的行驶存储于计算机中的独立系统中,保存有诸多不便。且随着时间的推移,历史数据变得冗余,各当事人之间也容易出现合约同步不一致等问题。
由于区块链技术在存储数据信息时,具有“不可修改”“全程留痕”等安全特征,因此,可以采用区块链技术对合约进行存储。
然而,当基于区块链技术对合约进行存储等处理时,由于区块链技术的“不可修改”的特征,导致已经被存储的合约无法被修改,所以,当需要对合约进行修改时,需要修改得到新的合约,而后对新的合约进行再次存储,导致操作繁琐,灵活性偏低的技术问题。
为了避免上述技术问题中的至少一种,本公开的发明人经过创造性的劳动,得到了本公开的发明构思:针对合约中需要的数据信息,为该数据信息分配区块节点,并基于该区块节点对该数据信息进行存储,以便由该区块节点中的数据信息与其他区块节点中存储的数据信息确定合约。
下面以具体地实施例对本公开的技术方案以及本公开的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本公开的实施例进行描述。
请参阅图1,图1为本公开一个实施例的基于区块链公链的合约处理方法的示意图。
如图1所示,该方法包括:
S101:响应于修改合约的修改请求,合约中包括多个数据信息,各个数据信息被存储于预设区块链公链中各自对应的区块节点,修改请求用于指示将合约中的第一数据信息修改为第二数据信息,获取第一数据信息的合约标识、第一数据信息的加密版本标识。
示例性的,本实施例的执行主体可以为基于区块链公链的合约处理装置(下文简称合约处理装置),合约处理装置可以为服务器(如本地服务器,或者,云端服务器),也可以为计算机,也可以为终端设备,也可以为处理器,也可以为芯片等,本实施例不做限定。
其中,修改请求可以为签订合约的一方当事人发起的。第一数据信息中的“第一”用于与第二数据信息进行区分,而不能理解为对数据信息的内容的限定,反之亦然。
第一数据信息的合约标识用于表征,第一数据信息为该合约标识对应的合约中的部分数据信息。
第一数据信息的加密版本标识用于表征,第一数据信息的版本,用于区分不同版本的数据信息。
S102:根据合约标识确定用于存储第二数据信息的区块节点,并根据第一数据信息的加密版本标识将第二数据信息存储于确定出的区块节点。其中,确定出的区块节点与区块链公链中除第一数据信息对应的区块节点用于确定修改后的合约。
例如,如图2所示,合约中的四个数据信息被存储于区块节点A、区块节点B、区块节点C、区块节点D,且第一数据信息存储于区块节点B。
合约处理装置确定用于存储第二数据信息的区块节点E,并将第二数据信息存储于区块节点E中,以便由区块节点A中的数据信息、区块节点E中的数据信息(即第二数据信息)、区块节点C中的数据信息、区块节点D中的数据信息确定修改后的合约。
基于上述分析可知,在本实施例中,提供了一种基于区块链公链的合约处理方法,该方法包括:响应于修改合约的修改请求,合约中包括多个数据信息,各个数据信息被存储于预设区块链公链中各自对应的区块节点,修改请求用于指示将合约中的第一数据信息修改为第二数据信息,获取第一数据信息的合约标识、第一数据信息的加密版本标识,根据合约标识确定用于存储第二数据信息的区块节点,并根据第一数据信息的加密版本标识将第二数据信息存储于确定出的区块节点,其中,确定出的区块节点与区块链公链中除第一数据信息对应的区块节点用于确定修改后的合约,在本实施例中,引入了:为第二数据信息确定区块节点,并将第二数据信息存储至确定出的区块节点,以基于该区块节点中的数据信息(即第二数据信息)、以及除第一数据信息对应的区块节点的各区块节点中的数据信息,确定修改后的合约的技术特征,实现了合约的可修改性,避免了重新生成合约造成的成本高,且操作过程繁琐的弊端,提高了合约存储的灵活性和多样性的技术效果。
请参阅图3,图3为本公开另一个实施例的基于区块链公链的合约处理方法的示意图。
如图3所示,该方法包括:
S301:响应于存储合约的存储请求,为合约中的每一数据信息分配合约标识,并根据每一数据信息的合约标识,将每一数据信息存储于预设区块链公链中的区块节点。
其中,本实施例对合约标识的生成方法不做限定,例如,可以采用雪花算法确定每一数据信息的合约标识。
示例性的,区块链公链的确定方法可以参见下述步骤:
第一步骤:构建虚拟圆环。
例如,可以对预设的虚拟节点数量进行取模处理,得到哈希(hash)空间,并基于预设的哈希算法将哈希空间生成虚拟圆环。
第二步骤:确定预设的服务器集群中每一服务器在虚拟圆环中的位置,得到区块链公链中的每一区块节点。
例如,可以获取每一服务器的网际互连协议(Internet Protocol,IP)地址,并根据哈希算法(上一步骤所述的哈希算法)对每一服务器的IP地址进行哈希计算,得到每一服务器在虚拟圆环中的位置。
在一些实施例中,根据每一数据信息的合约标识,将每一数据信息存储于预设区块链公链中的区块节点,包括如下步骤:
第一步骤:根据每一数据信息的合约标识,确定用于存储每一数据信息的区块节点。
例如,根据哈希算法(S301中所述的哈希算法)对每一数据信息的合约标识进行哈希计算,得到用于存储每一数据信息的区块节点,并将每一数据信息存储至相应的区块节点。
第二步骤:在存储每一数据信息的区块节点中构建用于存储每一数据信息的区块。其中,用于存储每一数据信息的区块包括区块体,用于存储每一数据信息的区块体用于存储每一数据信息中表征合约内容的部分。
示例性的,区块包括区块头和区块体。其中,区块头中存储有区块的元信息,如指向叔区块的指针(UncleHash),用于对区块内容进行指向;区块头中还包括根数据(Root),如合约当事人的属性信息,如通过状态数根节点的还哈希值,用于表征当事人的账户信息等;区块头中还包括Coinbas等信息。
区块体中包括数据信息,即合约的具体内容。例如,若合约为抵押式的回购合约,则回购合约中可以回购债券代码、回购天数、占款天数、交易对手方等信息,相应的,一个数据信息可以包括上述信息中的一种或多种。
在本实施例中,通过基于区块头和区块体对不同的信息进行存储,如基于区块体存储合约内容的部分,基于区块头存储账户信息等用户信息的部分,实现了对数据信息存储的灵活性和可靠性的技术效果。
S302:响应于修改合约的修改请求,合约中包括多个数据信息,各个数据信息被存储于预设区块链公链中各自对应的区块节点,修改请求用于指示将合约中的第一数据信息修改为第二数据信息,获取第一数据信息的合约标识、第一数据信息的加密版本标识。
关于S302的实现原理,可以参见S101,此处不再赘述。
在一些实施例中,获取第一数据信息的合约标识、第一数据信息的加密版本标识,可以包括如下步骤:
第一步骤:响应于修改请求,获取发起方发起修改请求的联网协议地址、发起方的私钥、以及相对方的至少部分私钥。
第二步骤:基于联网协议地址、发起方的私钥、以及相对方的至少部分私钥,对发起方的修改权限进行鉴权处理,若鉴权通过,则获取第一数据信息的合约标识、第一数据信息的加密版本标识。
也就是说,在本实施例中,提出了结合三个维度的信息对发起方的修改权限进行鉴权,如果鉴权通过,则说明发起方有修改权限,相应的,合约处理装置获取第一数据信息的合约标识、第一数据信息的加密版本标识,以对第一数据信息进行修改;反之,若鉴权失败,则说明发起方没有修改权限,则拒绝获取第一数据信息的合约标识、第一数据信息的加密版本标识,从而避免对第一数据信息的错误修改,即避免对合约的错误修改和非当事人修改。
其中,三个维度的信息分别为:联网协议地址、发起方的私钥、以及相对方的至少部分私钥,通过结合联网协议地址进行鉴权,可以实现对服务器的追踪,即实现对发起方的追踪,以提高合约修改的可追踪性;通过结合发起方的私钥进行鉴权,可以实现对发起方的权限的控制,防止其他人的篡改行为,提高合约的准确性;通过结合相对方的至少部分私钥进行鉴权,可以进一步锁定发起方的权限,从而进一步防止其他人的篡改行为,提高合约的准确性和可靠性的技术效果。
其中,相对方的至少部分私钥可以是相对方的私钥中的部分私钥,例如,可以为相对方的私钥中的后两位私钥数字,当然,也可以为全部私钥。
在一些实施例中,可以预先设置可修改合约的次数阈值,而当接收到修改请求时,可以确定当前的修改次数,如果当前的修改次数已经达到次数阈值,则可以拒绝该修改请求。
S303:对第一数据信息的加密版本标识进行解密处理,得到第一数据信息的解密版本标识。
例如,在对第一数据信息进行存储前,为第一数据信息分配随机值,如123456,并将该随机值123456进行加密处理,得到第一数据信息的加密版本标识如OLJSIJ。
S304:根据第一数据信息的解密版本标识生成第二数据信息的加密版本标识,并将携带第二数据信息的加密版本标识的第二数据信息,存储于确定出的区块节点。
例如,结合上述分析,对第一数据信息的加密版本标识OLJSIJ进行解密处理,得到第一数据信息的解密版本标识123456,对第一数据信息的解密版本标识123456增加预设步长如1,得到第二数据信息的解密版本标识123457,并对第二数据信息的解密版本标识123457进行加密处理(与对第一数据信息的解密版本标识进行加密处理的加密方法相同),得到第二数据信息的解密版本标识如IKHDKL。
在本实施例中,以通过基于第一数据信息的解密版本标识生成第二数据信息的加密版本标识,以便后续基于第一数据信息的解密版本标识和第二数据信息的解密版本标识,确定修改后的合约的数据信息,无需合约的当事人线下修改,或者,重新订立合约,节约了成本,提高了效率,满足了合约修改的灵活性和可靠性的技术效果。
请参阅图4,图4为本公开另一个实施例的基于区块链公链的合约处理方法的示意图。
如图4所示,该方法包括:
S401:响应于查阅合约的查阅请求,根据查阅请求确定区块链公链中用于存储合约的各区块节点。
其中,任一合约当事人(如上述实施例中的发起方或者相对方)均可以发起查阅请求,以查询合约。
关于确定各区块节点的方法可以参阅上述实施例中确定存储合约的各区块节点的方法,此处不再赘述。
S402:提取每一区块节点中存储的数据信息,若任意两个数据信息具有相同的合约标识,则确定具有相同的合约标识的两个数据信息中修改前的数据信息、以及修改后的数据信息。
基于上述分析可知,如果合约的某数据信息被修改,则至少有两个数据信息的合约标识相同,则可以从至少两个数据信息中确定修改前的数据信息和修改后的数据信息。如,确定第一数据信息为修改前的数据信息,第二数据信息为修改后的数据信息。
在一些实施例中,每一数据信息携带加密版本标识,确定具有相同的合约标识的两个数据信息中修改前的数据信息、以及修改后的数据信息,可以包括如下步骤:
第一步骤:对具有相同的合约标识的两个数据信息的加密版本标识进行解密处理,得到具有相同的合约标识的两个数据信息各自对应的解密版本标识。
第二步骤:根据具有相同的合约标识的两个数据信息各自对应的解密版本标识,确定具有相同的合约标识的两个数据信息中修改前的数据信息、以及修改后的数据信息。
例如,结合上述实施例,若具有相同的合约标识的两个数据信息中,一个数据信息的解密版本标识为123456,另一个数据信息的解密版本标识123457,解密版本标识为123456为修改前的数据信息,解密版本标识123457为修改后的数据信息。
其中,关于解密处理可以参见上述实施例,此处不再赘述。
S403:根据修改后的数据信息、以及没有修改的数据信息生成并反馈合约。
例如,结合上述实施例和图2,可以基于区块节点A、区块节点E、区块节点C、区块节点D中各自存储的数据信息,生成并反馈合约,使得该合约为最新版本的合约,从而提高查阅合约的可靠性和准确性的技术效果。
应该理解的是,本实施例可以与上述任意实施例进行组合,得到新的实施例,如该实施例可以与第一个实施例组合,也可以与第二实施例组合,也可以与第一个实施例和第二实施例组合,本实施例不做限定。
请参阅图5,图5为本公开一个实施例的基于区块链公链的合约处理装置的示意图。
如图5所示,基于区块链公链的合约处理装置500,包括:
获取单元501,用于响应于修改合约的修改请求,所述合约中包括多个数据信息,各个数据信息被存储于预设区块链公链中各自对应的区块节点,所述修改请求用于指示将所述合约中的第一数据信息修改为第二数据信息,获取所述第一数据信息的合约标识、所述第一数据信息的加密版本标识。
第一确定单元502,用于根据所述合约标识确定用于存储所述第二数据信息的区块节点。
第一存储单元503,用于根据所述第一数据信息的加密版本标识将所述第二数据信息存储于确定出的区块节点;其中,所述确定出的区块节点与所述区块链公链中除所述第一数据信息对应的区块节点用于确定修改后的合约。
请参阅图6,图6为本公开另一实施例的基于区块链公链的合约处理装置的示意图。
如图6所示,基于区块链公链的合约处理装置600,包括:
分配单元601,用于响应于存储合约的存储请求,为所述合约中的每一数据信息分配合约标识。
第二存储单元602,用于根据每一数据信息的合约标识,将每一数据信息存储于预设区块链公链中的区块节点。
结合图6可知,在一些实施例中,第二存储单元602,包括:
第二确定子单元6021,用于根据每一数据信息的合约标识,确定用于存储每一数据信息的区块节点。
构建子单元6022,用于在存储每一数据信息的区块节点中构建用于存储每一数据信息的区块,其中,用于存储每一数据信息的区块包括区块体,用于存储每一数据信息的区块体用于存储每一数据信息中表征所述合约内容的部分。
在一些实施例中,用于存储每一数据信息的区块包括区块头,用于存储每一数据信息的区块头用于存储每一数据信息中表征账户信息和用户信息的内容。
获取单元603,用于响应于修改合约的修改请求,所述合约中包括多个数据信息,各个数据信息被存储于预设区块链公链中各自对应的区块节点,所述修改请求用于指示将所述合约中的第一数据信息修改为第二数据信息,获取所述第一数据信息的合约标识、所述第一数据信息的加密版本标识。
结合图6可知,在一些实施例中,获取单元603,包括:
第一获取子单元6031,用于响应于所述修改请求,获取发起方发起所述修改请求的联网协议地址、所述发起方的私钥、以及相对方的至少部分私钥;
鉴权子单元6032,用于基于所述联网协议地址、所述发起方的私钥、以及相对方的至少部分私钥,对所述发起方的修改权限进行鉴权处理;
第二获取子单元6033,用于若鉴权通过,则获取所述第一数据信息的合约标识、所述第一数据信息的加密版本标识。
第一确定单元604,用于根据所述合约标识确定用于存储所述第二数据信息的区块节点。
第一存储单元605,用于根据所述第一数据信息的加密版本标识将所述第二数据信息存储于确定出的区块节点;其中,所述确定出的区块节点与所述区块链公链中除所述第一数据信息对应的区块节点用于确定修改后的合约。
结合图6可知,在一些实施例中,第一存储单元605,包括:
第一解密子单元6051,用于对所述第一数据信息的加密版本标识进行解密处理,得到所述第一数据信息的解密版本标识。
生成子单元6052,用于根据所述第一数据信息的解密版本标识生成所述第二数据信息的加密版本标识。
存储子单元6053,用于将携带所述第二数据信息的加密版本标识的第二数据信息,存储于所述确定出的区块节点。
第二确定单元606,用于响应于查阅合约的查阅请求,根据所述查阅请求确定所述区块链公链中用于存储所述合约的各区块节点。
提取单元607,用于提取每一区块节点中存储的数据信息。
第三确定单元608,用于若任意两个数据信息具有相同的合约标识,则确定具有相同的合约标识的两个数据信息中修改前的数据信息、以及修改后的数据信息。
在一些实施例中,每一数据信息携带加密版本标识;结合图6可知,第三确定单元608,包括:
第二解密子单元6081,用于对具有相同的合约标识的两个数据信息的加密版本标识进行解密处理,得到具有相同的合约标识的两个数据信息各自对应的解密版本标识;
第一确定子单元6082,用于根据具有相同的合约标识的两个数据信息各自对应的解密版本标识,确定具有相同的合约标识的两个数据信息中修改前的数据信息、以及修改后的数据信息。
生成单元609,用于根据所述修改后的数据信息、以及没有修改的数据信息生成合约。
反馈单元610,用于反馈生成的合约。
根据本公开的实施例,本公开还提供了一种电子设备和一种可读存储介质。
根据本公开的实施例,本公开还提供了一种计算机程序产品,程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一实施例提供的方案。
如图7所示,是根据本公开实施例的基于区块链公链的合约处理方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图7所示,该电子设备包括:一个或多个处理器701、存储器702,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图7中以一个处理器701为例。
存储器702即为本公开所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本公开所提供的基于区块链公链的合约处理方法。本公开的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本公开所提供的基于区块链公链的合约处理方法。
存储器702作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本公开实施例中的基于区块链公链的合约处理方法对应的程序指令/模块。处理器701通过运行存储在存储器702中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的基于区块链公链的合约处理方法。
存储器702可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据基于区块链公链的合约处理方法的电子设备的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器702可选包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至基于区块链公链的合约处理方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
基于区块链公链的合约处理方法的电子设备还可以包括:输入装置703和输出装置704。处理器701、存储器702、输入装置703和输出装置704可以通过总线或者其他方式连接,图7中以通过总线连接为例。
输入装置703可接收输入的数字或字符信息,以及产生与基于区块链公链的合约处理方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置704可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。
Claims (11)
1.一种基于区块链公链的合约处理方法,包括:
响应于修改合约的修改请求,所述合约中包括多个数据信息,各个数据信息被存储于预设区块链公链中各自对应的区块节点,所述修改请求用于指示将所述合约中的第一数据信息修改为第二数据信息,获取所述第一数据信息的合约标识、所述第一数据信息的加密版本标识;
根据所述合约标识确定用于存储所述第二数据信息的区块节点,并根据所述第一数据信息的加密版本标识将所述第二数据信息存储于确定出的区块节点;其中,所述确定出的区块节点与所述区块链公链中除所述第一数据信息对应的区块节点用于确定修改后的合约。
2.根据权利要求1所述的方法,其中,根据所述第一数据信息的加密版本标识将所述第二数据信息存储于确定出的区块节点,包括:
对所述第一数据信息的加密版本标识进行解密处理,得到所述第一数据信息的解密版本标识;
根据所述第一数据信息的解密版本标识生成所述第二数据信息的加密版本标识,并将携带所述第二数据信息的加密版本标识的第二数据信息,存储于所述确定出的区块节点。
3.根据权利要求1所述的方法,其中,获取所述第一数据信息的合约标识、所述第一数据信息的加密版本标识,包括:
响应于所述修改请求,获取发起方发起所述修改请求的联网协议地址、所述发起方的私钥、以及相对方的至少部分私钥;
基于所述联网协议地址、所述发起方的私钥、以及相对方的至少部分私钥,对所述发起方的修改权限进行鉴权处理,若鉴权通过,则获取所述第一数据信息的合约标识、所述第一数据信息的加密版本标识。
4.根据权利要求1所述的方法,还包括:
响应于查阅合约的查阅请求,根据所述查阅请求确定所述区块链公链中用于存储所述合约的各区块节点;
提取每一区块节点中存储的数据信息,若任意两个数据信息具有相同的合约标识,则确定具有相同的合约标识的两个数据信息中修改前的数据信息、以及修改后的数据信息;
根据所述修改后的数据信息、以及没有修改的数据信息生成并反馈合约。
5.根据权利要求4所述的方法,其中,每一数据信息携带加密版本标识;确定具有相同的合约标识的两个数据信息中修改前的数据信息、以及修改后的数据信息,包括:
对具有相同的合约标识的两个数据信息的加密版本标识进行解密处理,得到具有相同的合约标识的两个数据信息各自对应的解密版本标识;
根据具有相同的合约标识的两个数据信息各自对应的解密版本标识,确定具有相同的合约标识的两个数据信息中修改前的数据信息、以及修改后的数据信息。
6.根据权利要求1-5任一项所述的方法,所述方法还包括:
响应于存储合约的存储请求,为所述合约中的每一数据信息分配合约标识,并根据每一数据信息的合约标识,将每一数据信息存储于预设区块链公链中的区块节点。
7.根据权利要求6所述的方法,其中,根据每一数据信息的合约标识,将每一数据信息存储于预设区块链公链中的区块节点,包括:
根据每一数据信息的合约标识,确定用于存储每一数据信息的区块节点;
在存储每一数据信息的区块节点中构建用于存储每一数据信息的区块,其中,用于存储每一数据信息的区块包括区块体,用于存储每一数据信息的区块体用于存储每一数据信息中表征所述合约内容的部分。
8.根据权利要求7所述的方法,其中,用于存储每一数据信息的区块包括区块头,用于存储每一数据信息的区块头用于存储每一数据信息中表征账户信息和用户信息的内容。
9.一种基于区块链公链的合约处理装置,包括:
获取单元,用于响应于修改合约的修改请求,所述合约中包括多个数据信息,各个数据信息被存储于预设区块链公链中各自对应的区块节点,所述修改请求用于指示将所述合约中的第一数据信息修改为第二数据信息,获取所述第一数据信息的合约标识、所述第一数据信息的加密版本标识;
第一确定单元,用于根据所述合约标识确定用于存储所述第二数据信息的区块节点;
第一存储单元,用于根据所述第一数据信息的加密版本标识将所述第二数据信息存储于确定出的区块节点;其中,所述确定出的区块节点与所述区块链公链中除所述第一数据信息对应的区块节点用于确定修改后的合约。
10.一种电子设备,包括:存储器,处理器;
存储器,用于存储所述处理器可执行指令;
其中,所述处理器被配置为执行如权利要求1至8中任一项所述的方法。
11.一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现权利要求1至8中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111334109.5A CN113986940A (zh) | 2021-11-11 | 2021-11-11 | 基于区块链公链的合约处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111334109.5A CN113986940A (zh) | 2021-11-11 | 2021-11-11 | 基于区块链公链的合约处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113986940A true CN113986940A (zh) | 2022-01-28 |
Family
ID=79748027
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111334109.5A Pending CN113986940A (zh) | 2021-11-11 | 2021-11-11 | 基于区块链公链的合约处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113986940A (zh) |
-
2021
- 2021-11-11 CN CN202111334109.5A patent/CN113986940A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3916604B1 (en) | Method and apparatus for processing privacy data of block chain, device, storage medium and computer program product | |
CN111737366B (zh) | 区块链的隐私数据处理方法、装置、设备以及存储介质 | |
CN111460429B (zh) | 基于可信执行环境的任务处理方法、装置、设备和介质 | |
CN110048848B (zh) | 通过被动客户端发送会话令牌的方法、系统和存储介质 | |
CN111125763B (zh) | 隐私数据的处理方法、装置、设备和介质 | |
TW201830302A (zh) | 業務處理方法、裝置、資料共享系統及儲存介質 | |
CN108964893B (zh) | 一种密钥处理方法、装置、设备和介质 | |
CN111565109A (zh) | 一种区块链的密钥处理方法、装置、设备和介质 | |
US10623186B1 (en) | Authenticated encryption with multiple contexts | |
CN111131317B (zh) | 一种基于区块链的数据处理方法、装置、设备和介质 | |
CN111934872B (zh) | 密钥处理方法、装置、电子设备以及存储介质 | |
CN111352996A (zh) | 基于区块链网络的数据共享方法、装置、设备及介质 | |
CN111464297B (zh) | 基于区块链的事务处理方法、装置、电子设备和介质 | |
CN116491098A (zh) | 使用后量子密码学的基于证书的安全性 | |
CN111274591A (zh) | 一种访问Kubernetes集群的方法、装置、电子设备和介质 | |
CN109660534B (zh) | 基于多商户的安全认证方法、装置、电子设备及存储介质 | |
CN111275404A (zh) | 基于区块链的评审方法、装置、设备和介质 | |
CN108073823A (zh) | 数据处理方法、装置及系统 | |
CN112989400A (zh) | 一种隐私事务处理方法、装置、电子设备和介质 | |
CN114422237B (zh) | 数据传输方法及装置、电子设备和介质 | |
CN114363088B (zh) | 用于请求数据的方法和装置 | |
CN112529402A (zh) | 任务委派方法、系统、装置、设备和存储介质 | |
CN112565225A (zh) | 用于数据发送的方法、装置、电子设备及可读存储介质 | |
CN112187726A (zh) | 数据传输方法、装置、存储介质及终端 | |
CN111767221A (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 |