CN117499418A - 区块链事务上链方法、相关装置和介质 - Google Patents

区块链事务上链方法、相关装置和介质 Download PDF

Info

Publication number
CN117499418A
CN117499418A CN202311460681.5A CN202311460681A CN117499418A CN 117499418 A CN117499418 A CN 117499418A CN 202311460681 A CN202311460681 A CN 202311460681A CN 117499418 A CN117499418 A CN 117499418A
Authority
CN
China
Prior art keywords
resource
initial
state
node
result
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
Application number
CN202311460681.5A
Other languages
English (en)
Inventor
廖志勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202311460681.5A priority Critical patent/CN117499418A/zh
Publication of CN117499418A publication Critical patent/CN117499418A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3297Cryptographic 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 time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/121Timestamp

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开提供了一种区块链事务上链方法、相关装置和介质。方法包括:接收集结上链请求;将第一节点关联的第一资源池中的第一初始资源、以及第二节点关联的第二资源池中的第二初始资源,纳入集结专用存储空间;利用集结专用存储空间中的第一初始资源和第二初始资源,执行多个事务,第一初始资源在执行多个事务后变为第一结果资源,第二初始资源在执行多个事务后变为第二结果资源;基于第一初始资源、第二初始资源、第一结果资源和第二结果资源,生成集结后事务,记录到区块链。本公开能够在两个节点之间频繁产生大量待上链事务时,降低事务上链成本。本公开可应用于区块链、人工智能、云技术等各种场景。

Description

区块链事务上链方法、相关装置和介质
技术领域
本公开涉及区块链技术领域,特别是涉及一种区块链事务上链方法、相关装置和介质。
背景技术
目前,在区块链事务上链过程中,经常发现两个节点之间频繁产生大量待上链事务,要记录到区块链。每次记录到区块链上要增加区块链网络上链负担,且增加节点的上链成本和开销。例如,节点A每天都要调用节点B的资源或向节点B提供资源,因此,每天向节点B调用或提供资源的事务都会被记录到区块链上,会产生较大的事务上链成本。
发明内容
本公开实施例提供了一种区块链事务上链方法、相关装置和介质,它能够在两个节点之间频繁产生大量待上链事务时,降低事务上链成本。
根据本公开的一方面,提供了一种区块链事务上链方法,所述方法包括:
接收集结上链请求,所述集结上链请求用于将之后在第一节点和第二节点之间的多个事务集结成集结后事务记录到区块链,而多个所述事务本身不记录到所述区块链;
将所述第一节点关联的第一资源池中的第一初始资源、以及所述第二节点关联的第二资源池中的第二初始资源,纳入集结专用存储空间;
利用所述集结专用存储空间中的所述第一初始资源和所述第二初始资源,执行多个所述事务,其中,所述第一初始资源在执行多个所述事务后变为第一结果资源,所述第二初始资源在执行多个所述事务后变为第二结果资源;
基于所述第一初始资源、所述第二初始资源、所述第一结果资源和所述第二结果资源,生成所述集结后事务,记录到所述区块链。
根据本公开的一方面,提供了一种区块链事务上链装置,所述装置包括:
接收单元,用于接收集结上链请求,所述集结上链请求用于将之后在第一节点和第二节点之间的多个事务集结成集结后事务记录到区块链,而多个所述事务本身不记录到所述区块链;
存储单元,用于将所述第一节点关联的第一资源池中的第一初始资源、以及所述第二节点关联的第二资源池中的第二初始资源,纳入集结专用存储空间;
执行单元,用于利用所述集结专用存储空间中的所述第一初始资源和所述第二初始资源,执行多个所述事务,其中,所述第一初始资源在执行多个所述事务后变为第一结果资源,所述第二初始资源在执行多个所述事务后变为第二结果资源;
事务上链单元,用于基于所述第一初始资源、所述第二初始资源、所述第一结果资源和所述第二结果资源,生成所述集结后事务,记录到所述区块链。
可选地,所述事务上链单元,具体包括:
第一验证单元,用于基于所述第一初始资源、所述第二初始资源、所述第一结果资源和所述第二结果资源进行第一验证;
资源分配单元,用于如果确定所述第一验证通过,对所述第一结果资源和所述第二结果资源进行资源分配;
事务生成单元,用于基于所述第一结果资源与所述第一初始资源的差值、和所述第二结果资源与所述第二初始资源的差值,生成所述集结后事务。
可选地,所述第一验证单元,用于:
确定所述集结专用存储空间的事务执行标识的当前状态;
如果所述事务执行标识的当前状态符合第一条件,则对所述第一结果资源关联的第一结果资源状态、和所述第二结果资源关联的第二结果资源状态进行签名验证;
如果确定第一结果资源状态的签名、和第二结果资源状态的签名验证通过,对所述第一结果资源状态、和所述第二结果资源状态进行时间戳验证;
如果确定所述第一结果资源状态、和所述第二结果资源状态的时间戳验证通过,则对所述第一结果资源状态和所述第二结果资源状态进行关联资源验证;
如果确定所述第一结果资源和所述第二结果资源的和、与所述第一初始资源和所述第二初始资源的和相等,则确定所述第一验证通过。
可选地,所述第一初始资源关联的第一初始资源状态具有第一时间戳,所述第二初始资源关联的第二初始资源状态具有第二时间戳,第一结果资源状态具有第三时间戳,第二结果资源状态具有第四时间戳;
所述对所述第一结果资源状态、和所述第二结果资源状态进行时间戳验证,包括:
对所述第一时间戳和所述第三时间戳进行比对,并对所述第二时间戳和所述第四时间戳进行比对;
如果所述第三时间戳晚于所述第一时间戳,且所述第四时间戳晚于所述第二时间戳,则确定所述第一结果资源状态、和所述第二结果资源状态的时间戳验证通过。
可选地,所述资源分配单元具体用于:
将所述第一结果资源纳入所述第一节点的第一资源池;
将所述第二结果资源纳入所述第二节点的第二资源池。
可选地,所述存储单元具体用于:
确定所述第一节点的第一初始资源状态、和所述第二节点的第二初始资源状态;
如果确定所述第一初始资源状态、和所述第二初始资源状态符合预定条件,
基于所述第一初始资源状态所指示的资源数目,从所述第一资源池中提取所述第一初始资源,并将所述第一初始资源纳入所述集结专用存储空间;
基于所述第二初始资源状态所指示的资源数目,从所述第二资源池中提取所述第二初始资源,并将所述第二初始资源纳入所述集结专用存储空间。
可选地,所述第一初始资源状态、和所述第二初始资源状态通过以下方式确定:
基于所述第一节点和所述第二节点的共识确认,得到所述第一节点的第一原始资源状态、和所述第二节点的第二原始资源状态;
基于对所述第一原始资源状态的签名处理,得到所述第一初始资源状态;
基于对所述第二原始资源状态的签名处理,得到所述第二初始资源状态。
可选地,所述确定所述第一初始资源状态、和所述第二初始资源状态符合预定条件,包括:
确定所述第一初始资源状态的第一签名,并确定所述第二初始资源状态的第二签名;
对所述第一签名和所述第二签名进行签名验证;
如果确定所述第一签名和所述第二签名都验证通过,则确定所述第一初始资源状态、和所述第二初始资源状态符合预定条件。
可选地,所述区块链事务上链装置还包括映射单元,所述映射单元用于:
确定所述集结专用存储空间的存储空间标识;
将所述存储空间标识作为关键字,并将所述第一初始资源作为值,构建第一键值对;
将所述存储空间标识作为关键字,并将所述第二初始资源作为值,构建第二键值对;
基于所述第一键值对、和所述第二键值对,确定所述集结专用存储空间的资源映射关系。
可选地,所述存储空间标识通过以下方式生成:
对所述第一节点的第一区块链地址、所述第一初始资源关联的第一初始资源状态、所述第二节点的第二区块链地址、和所述第二初始资源关联的第二初始资源状态进行串接,得到串接结果;
对所述串接结果进行摘要运算,得到摘要结果,并将所述摘要结果确定为所述存储空间标识。
可选地,所述区块链事务上链装置还包括上链单元,所述上链单元用于:
接收执行多个所述事务的关联资源数据;
将所述关联资源数据记录到所述区块链。
可选地,所述执行单元,具体包括:
确定单元,用于基于执行多个所述事务,确定所述第一初始资源在执行目标事务后变为的第一中间资源、和所述第二初始资源在执行目标事务后变为的第二中间资源;
第二验证单元,用于对所述第一中间资源和所述第二中间资源进行第二验证;
更新单元,用于如果确定所述第二验证通过,则基于所述第一中间资源、所述第二中间资源进行事务更新;
关闭单元,用于基于预设计时器对所述集结专用存储空间进行关闭计时,以在预定时长之后,基于所述第一中间资源、所述第二中间资源、所述第一初始资源、和所述第一初始资源生成所述集结后事务,并关闭所述集结专用存储空间。
可选地,所述关闭单元用于:
确定所述预设计时器的当前计时状态;
如果所述当前计时状态为未启动状态,则开启所述预设计时器,并基于所述预定时长对所述预设计时器进行计时设置;
如果所述当前计时状态为结束状态或者计时状态,则重置所述预设计时器。
可选地,所述在预定时长之后,基于所述第一中间资源、所述第二中间资源、所述第一初始资源、和所述第一初始资源生成所述集结后事务,包括:
如果确定所述集结专用存储空间的事务执行标识的当前状态符合第二条件,则确定所述预设计时器的当前计时状态;
如果确定所述当前计时状态为结束状态,基于所述集结专用存储空间的所述第一中间资源、所述第二中间资源进行资源分配;
基于所述第一中间资源和所述第一初始资源的差值、以及所述第二中间资源和所述第一初始资源的差值生成所述集结后事务,记录到所述区块链上。
可选地,所述第一初始资源关联的第一初始资源状态具有第一时间戳,所述第二初始资源关联的第二初始资源状态具有第二时间戳,所述第一中间资源关联的第一中间资源状态具有第五时间戳,所述第二中间资源关联的第二中间资源状态具有第六时间戳;
所述第二验证单元用于:
确定所述集结专用存储空间的事务执行标识的当前状态;
如果所述事务执行标识的当前状态符合第二条件,则对所述第一中间资源状态、和所述第二中间资源状态进行签名验证;
如果确定所述第一中间资源状态的签名、和所述第二中间资源状态的签名验证通过,对所述第一中间资源状态、和所述第二中间资源状态进行时间戳验证;
如果确定所述第五时间戳晚于所述第一时间戳、且所述第六时间戳晚于所述第二时间戳,则对所述第一中间资源状态和所述第二中间资源状态进行关联资源验证;
如果确定所述第一中间资源和所述第二中间资源的和、与所述第一初始资源和所述第二初始资源的和相等,则确定所述第二验证通过。
可选地,所述区块链事务上链装置还包括授权单元,所述授权单元用于:
接收合约调用请求,所述合约调用请求用于调用区块链上记录的智能合约,所述合约调用请求包含所述第一节点的第一区块链地址、和所述集结专用存储空间的通道标识;
基于所述第一区块链地址和所述通道标识,生成授权签名,以基于所述授权签名,通过所述智能合约向所述集结专用存储空间进行资源纳入授权。
根据本公开的一方面,提供了一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述的区块链事务上链方法。
根据本公开的一方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的区块链事务上链方法。
根据本公开的一方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,所述计算机程序被计算机设备的处理器读取并执行,使得该计算机设备执行如上所述的区块链事务上链方法。
本公开实施例中,区块链在接收集结上链请求之后,将第一节点关联的第一资源池中的第一初始资源、以及第二节点关联的第二资源池中的第二初始资源,纳入集结专用存储空间。本公开考虑到了利用集结专用存储空间代存多个事务关联到的资源,并且将多个事务集结成集结后事务记录到区块链,仅将集结后事务记录到区块链,但不记录多个事务,能有效地减少需要上链的事务的事务数目。具体地,本公开实施例利用集结专用存储空间中的第一初始资源和第二初始资源,执行多个事务;同时确定第一初始资源在执行多个事务后变为第一结果资源,第二初始资源在执行多个事务后变为第二结果资源,能清楚地反映出在执行多个事务之后第一节点和第二节点的资源变化,并基于第一初始资源、第二初始资源、第一结果资源和第二结果资源,生成集结后事务,记录到区块链,这一方式能够在两个节点之间频繁产生大量待上链事务时,降低事务上链成本。
本公开的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开而了解。本公开的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本公开技术方案的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开的技术方案,并不构成对本公开技术方案的限制。
图1是根据本公开的实施例的区块链事务上链方法应用的系统的体系构架图;
图2A-图2E示出了根据本公开的实施例的区块链事务上链方法应用在事务上链场景的示意图;
图3是根据本公开的一个实施例的区块链事务上链方法的流程图;
图4是根据本公开的一个实施例的将第一初始资源和第二初始资源纳入集结专用存储空间的流程图;
图5是根据本公开的一个实施例的确定第一初始资源状态和第二初始资源状态的流程图;
图6是根据本公开的一个实施例的确定第一初始资源状态、和第二初始资源状态符合预定条件的流程图;
图7是根据本公开的一个实施例的生成集结专用存储空间的资源映射关系的流程图;
图8是根据本公开的一个实施例的生成集结专用存储空间的资源映射关系的实现过程示意图;
图9是根据本公开的一个实施例的生成存储空间标识的流程图;
图10是根据本公开的一个实施例生成集结后事务的流程图;
图11是根据本公开的一个实施例的第一验证的流程图;
图12是根据本公开的一个实施例的第一验证的实现过程示意图;
图13是根据本公开的一个实施例的根据第一结果资源和第二结果资源进行资源分配的流程图;
图14是根据本公开的一个实施例的将关联资源数据记录到区块链的流程图;
图15是根据本公开的一个实施例的基于中间资源对集结专用存储空间进行资源状态更新的流程图;
图16是根据本公开的一个实施例的第二验证的流程图;
图17是根据本公开的一个实施例的设置预设计时器的流程图;
图18是根据本公开的一个实施例的基于中间资源生成集结后事务的流程图;
图19是根据本公开的一个实施例的集结专用存储空间进行授权的流程图;
图20是根据本公开的一个实施例的区块链事务上链方法的实施细节示意图;
图21是根据本公开的一个实施例的区块链事务上链装置的模块图;
图22是根据本公开的一个实施例的区块链事务上链方法的终端结构图;
图23是根据本公开的一个实施例的区块链事务上链方法的服务器结构图。
具体实施方式
为了使本公开的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本公开进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本公开,并不用于限定本公开。
对本公开实施例进行进一步详细说明之前,对本公开实施例中涉及的名词和术语进行说明,本公开实施例中涉及的名词和术语适用于如下的解释:
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、预训练模型技术、操作/交互系统、机电一体化等。其中,预训练模型又称大模型、基础模型,经过微调后可以广泛应用于人工智能各大方向下游任务。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
区块链:区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链它本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批交易的信息,用于验证其信息的有效性(防伪)和关联前一区块。
目前,在区块链事务上链过程中,经常发现两个节点之间频繁产生大量待上链事务,要记录到区块链。每次记录到区块链上要增加区块链网络上链负担,且增加节点的上链成本和开销。例如,节点A每天都要调用节点B的资源或向节点B提供资源,因此,每天向节点B调用或提供资源的事务都会被记录到区块链上,会产生较大的事务上链成本。
本公开实施例应用的系统体系构架及场景说明
图1是根据本公开的实施例的区块链事务上链方法所应用的系统构架图。它包括对象终端140、互联网130、网关120、区块链服务器110等。
对象终端140包括桌面电脑、膝上型电脑、PDA(个人数字助理)、手机、车载终端、家庭影院终端、专用终端等多种形式。另外,它可以是单台设备,也可以是多台设备组成的集合。对象终端140可以以有线或无线的方式与互联网130进行通信,交换数据。其中,对象终端140包含对象终端A和对象终端B,对象终端A和对象终端B可以实现在区块链下的信息交互、或者资源交换等操作。
参见图1所示的区块链服务器110,它包括共识网络160。共识网络160是指对待上链事务进行共识后在区块链上进行上链的网络,它包括多个共识节点。共识节点即区块链节点。共识节点或区块链节点可以为区块链服务器中的服务器,也可以为接入区块链服务器中的对象终端,这里对共识节点或区块链节点的具体形式不做限定。
区块链服务器110还包括智能合约150,智能合约150用于响应于对象终端A和对象终端B提出的事务上链请求,利用集结专用存储空间将对象终端A和对象终端B之间产生的多个事务集结成一个事务,并将集结成的事务发送给共识网络进行共识后上链。
网关120又称网间连接器、协议转换器。网关在传输层上实现网络互连,是一种充当转换作用的计算机系统或设备。在使用不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。同时,网关也可以提供过滤和安全功能。对象终端140向区块链服务器110发送的消息要通过网关120发送到相应的区块链服务器110。区块链服务器110向对象终端140发送的消息也要通过网关120发送到相应的对象终端140。
本公开实施例可以应用在多种场景下,例如图2A-图2E所示的事务上链场景等。
如图2A所示,对象A和对象B通过通信交互,确定在需要频繁产生大量的资源交换事件时,对象A和对象B会通过协商确定对象A的初始资源为30,确定对象B的初始资源是0。同时,对象B将协商结果“对象A的初始资源为30,确定对象B的初始资源是0”发送给智能合约150。以请求智能合约对需要频繁产生大量的资源交换事件进行处理。
如图2B所示,当智能合约接收到对象B的请求之后,智能合约会在经过对象A的授权许可的前提下,在区块链服务器中对象A的资源池里提取30个虚拟资源存储在集结专用存储空间,并在区块链服务器中对象B的资源池里提取0个虚拟资源存储在集结专用存储空间。
如图2C所示,当智能合约将虚拟资源存储在集结专用存储空间之后,集结专用存储空间中会记录“对象A的初始资源为30,对象B的初始资源为0,资源总量是30”。另外,对象A和对象B还会在区块链下确定进行多次资源转移操作。具体地,对象A和对象B确定在12:00由对象A向对象B转移5个虚拟资源。对象A和对象B确定在13:04由对象A向对象B转移5个虚拟资源。对象A和对象B确定在13:10由对象B向对象A转移5个虚拟资源。对象A和对象B确定在15:10由对象A向对象B转移15个虚拟资源。
如图2D所示,对象A和对象B基于前述的4次资源转移,协商确定对象A的最终资源为10,对象B的最终资源为20。同时,对象B将协商结果“对象A的最终资源为10,确定对象B的最终资源为20”发送给智能合约150。以请求智能合约对前述产生的4笔资源转移进行整合,形成一个能够上链的事务。
如图2E所示,当智能合约150接收到对象B发送的协商结果“对象A的最终资源为10,确定对象B的最终资源为20”之后,智能合约150在验证协商结果“对象A的最终资源为10,确定对象B的最终资源为20”符合要求的情况下,将10个虚拟资源转移到对象A的资源池,将20个虚拟资源转移到对象B的资源池。进一步地,智能合约会生成一个待上链事务“由对象A向对象B转移20个虚拟资源”,同时将待上链事务发送给共识网络进行共识和上链。
本公开实施例的总体说明
根据本公开的一个实施例,提供了一区块链事务上链方法。
该区块链事务上链方法一般应用在两个节点之间频繁产生大量待上链事务要记录到区块链的业务场景中,例如图2A-图2E所示的事务上链场景。本公开实施例提供了一种将多个事务集结成一个事务进行上链的方案,能够在两个节点之间频繁产生大量待上链事务时,降低事务上链成本。该区块链事务上链方法由区块链服务器中的智能合约执行。
如图3所示,根据本公开一个实施例的区块链事务上链方法可以包括:
步骤310、接收集结上链请求;
步骤320、将第一节点关联的第一资源池中的第一初始资源、以及第二节点关联的第二资源池中的第二初始资源,纳入集结专用存储空间;
步骤330、利用集结专用存储空间中的第一初始资源和第二初始资源,执行多个事务;
步骤340、基于第一初始资源、第二初始资源、第一结果资源和第二结果资源,生成集结后事务,记录到区块链。
下面对步骤310-340进行详细描述。
在步骤310中,接收集结上链请求。
集结上链请求用于将之后在第一节点和第二节点之间的多个事务集结成集结后事务记录到区块链,而多个事务本身不记录到区块链。
第一节点指的是区块链上的某个区块链用户。第二节点指的是区块链上区别于第一节点的另一个区块链用户。第一节点和第二节点分别对应于一个对象终端。
第一节点和第二节点之间产生的多个事务用于指示两个对象终端在区块链下的交互。例如,第一节点和第二节点之间的多个事务用于指示对象终端A和对象终端B之间的多次资源交换。
集结后事务指的是对第一节点和第二节点之间的多个事务进行整合所形成的一个事务。集结后事务用于指示第一节点和第二节点之间的多个事务所产生的最终结果。
在该实施例具体实现时,当第一节点和第二节点之间需要执行多个事务时,第一节点或者第二节点会向区块链系统发送一个集结上链请求,以通过集结上链请求将在当前时间之后在第一节点和第二节点之间的多个事务集结成集结后事务记录到区块链上,但不将多个事务本身记录到区块链上。
进一步地,当第一节点和第二节点之间需要执行多个事务时,第一节点和第二节点会事先进行共识操作,以对将要执行的多个事务进行估计,并基于对多个事务的估计先确定各自需要提供的资源、程序代码等等。
在步骤320中,将第一节点关联的第一资源池中的第一初始资源、以及第二节点关联的第二资源池中的第二初始资源,纳入集结专用存储空间。
第一资源池用于存储第一节点所拥有的虚拟资源。
第一初始资源指的是第一节点和第二节点在确定发送集结上链请求时,所确定的第一节点为执行多个事务所提供的虚拟资源。
第二资源池用于存储第二节点所拥有的虚拟资源。
第二初始资源指的是第一节点和第二节点在确定发送集结上链请求时,所确定的第二节点为执行多个事务所提供的虚拟资源。
集结专用存储空间指的是区块链系统中智能合约提供的存储空间,集结专用存储空间用于根据集结上链请求产生,并用于存储执行多个事务所关联的虚拟资源、消息、程序代码等等。
在该实施例具体实现时,首先,在经过第一节点的授权许可的情况下,从第一节点关联的第一资源池中提取第一初始资源。同时,在经过第二节点的授权许可的情况下,从第二节点关联的第二资源池中提取第二初始资源。接着,将提取到的第一初始资源和提取到的第二初始资源存储至集结专用存储空间,以实现第一初始资源和第二初始资源的代存。
在步骤330中,利用集结专用存储空间中的第一初始资源和第二初始资源,执行多个事务。
在本公开实施例中,第一初始资源在执行多个事务后变为第一结果资源,第二初始资源在执行多个事务后变为第二结果资源。
第一结果资源指的是第一节点和第二节点所确定的在执行多个事务之后第一节点应该拥有的虚拟资源。
第二结果资源指的是第一节点和第二节点所确定的在执行多个事务之后第二节点应该拥有的虚拟资源。
在该实施例具体实现时,由于第一节点和第二节点之间执行多个事务时,针对多个事务都记录到区块链上会导致事务上链成本较高,基于此,第一节点和第二节点可以在区块链下基于集结专用存储空间中的第一初始资源和第二初始资源,执行多个事务。
例如,第一节点和第二节点可以在区块链下根据第一初始资源和第二初始资源执行5次资源交换,在每次资源交换中,第一节点确定将一部分的第一初始资源转移给第二节点。此时,每次资源交换事件作为一个事务。
在步骤340中,基于第一初始资源、第二初始资源、第一结果资源和第二结果资源,生成集结后事务,记录到区块链。
在该实施例具体实现时,由于第一初始资源是第一节点在执行多个事务之前所提供的资源,而第一结果资源是第一节点在执行多个事务之后应该拥有的虚拟资源。所以第一结果资源和第一初始资源的资源差距就是第一节点向第二节点提供的资源。由于第二初始资源是第二节点在执行多个事务之前所提供的资源,多个事务之后应该拥有的虚拟资源。所以第二结果资源和第二初始资源的资源差距就是第一节点向第二节点提供的资源。基于此,根据第一结果资源和第一初始资源的差异、和第二结果资源和第二初始资源的差异,确定多个事务最终产生的第一节点和第二节点之间的资源交换,从而确定出集结后事务,并将集结后事务记录到区块链。
为节省篇幅,基于第一初始资源、第二初始资源、第一结果资源和第二结果资源,生成集结后事务的具体实现过程将在下文中进行详细描述。此处不作赘述。
通过上述步骤310-340,本公开实施例,区块链在接收集结上链请求之后,将第一节点关联的第一资源池中的第一初始资源、以及第二节点关联的第二资源池中的第二初始资源,纳入集结专用存储空间。本公开考虑到了利用集结专用存储空间代存多个事务关联到的资源,并且将多个事务集结成集结后事务记录到区块链,仅将集结后事务记录到区块链,但不记录多个事务,能有效地减少需要上链的事务的事务数目。具体地,本公开实施例利用集结专用存储空间中的第一初始资源和第二初始资源,执行多个事务;同时确定第一初始资源在执行多个事务后变为第一结果资源,第二初始资源在执行多个事务后变为第二结果资源,能清楚地反映出在执行多个事务之后第一节点和第二节点的资源变化,并基于第一初始资源、第二初始资源、第一结果资源和第二结果资源,生成集结后事务,记录到区块链,这一方式能够在两个节点之间频繁产生大量待上链事务时,降低事务上链成本。
以上是对步骤310-340进行的总体描述。由于步骤310和步骤330已在上述总体描述中详尽,下面将针对步骤320、和步骤340的具体实现展开详细描述。
步骤320的详细描述
在步骤320中,将第一节点关联的第一资源池中的第一初始资源、以及第二节点关联的第二资源池中的第二初始资源,纳入集结专用存储空间。
请参照图4,在一个实施例中,将第一初始资源、和第二初始资源纳入集结专用存储空间的过程包括但不限于包括以下步骤410-430:
步骤410、确定第一节点的第一初始资源状态、和第二节点的第二初始资源状态;
步骤420、如果确定第一初始资源状态、和第二初始资源状态符合预定条件,基于第一初始资源状态所指示的资源数目,从第一资源池中提取第一初始资源,并将第一初始资源纳入集结专用存储空间;
步骤430、基于第二初始资源状态所指示的资源数目,从第二资源池中提取第二初始资源,并将第二初始资源纳入集结专用存储空间。
下面对步骤410-430进行详细描述。
在步骤410中,确定第一节点的第一初始资源状态、和第二节点的第二初始资源状态。
第一初始资源状态用于指示第一节点和第二节点事先确定的在执行多个事务之前,第一节点所要提供的资源的总数目。
第二初始资源状态用于指示第一节点和第二节点事先确定的在执行多个事务之前,第二节点所要提供的资源的总数目。
在该实施例具体实现时,第一节点的第一初始资源状态和第二节点的第二初始资源状态由第一节点和第二节点在生成集结上链请求时共识确认。当第一节点和第二节点共识确认第一初始资源状态和第二初始资源状态之后,会将第一初始资源状态和第二初始资源状态随集结上链请求一同发送到区块链的智能合约。
例如,第一节点和第二节点事先确定在执行多个事务时,由第一节点提供200个虚拟资源,由第二节点提供20个虚拟资源。基于此,第一初始资源状态为第一节点:200;第二初始资源状态为第二节点:20。
在步骤420中,如果确定第一初始资源状态、和第二初始资源状态符合预定条件,基于第一初始资源状态所指示的资源数目,从第一资源池中提取第一初始资源,并将第一初始资源纳入集结专用存储空间。
预定条件用于衡量第一初始资源状态是否符合将第一初始资源纳入集结专用存储空间的要求,以及用于衡量第二初始资源状态是否符合将第二初始资源纳入集结专用存储空间的要求。
在该实施例具体实现时,如果确定第一初始资源状态、和第二初始资源状态符合预定条件,表明第一初始资源状态和第二初始资源状态是符合将资源纳入集结专用存储空间的要求的。基于此,基于第一初始资源状态所指示的资源数目,从第一资源池中提取与第一初始资源状态所指示的资源数目一致的虚拟资源作为第一初始资源,并将提取到的第一初始资源存储至集结专用存储空间。
在步骤430中,基于第二初始资源状态所指示的资源数目,从第二资源池中提取第二初始资源,并将第二初始资源纳入集结专用存储空间。
第二初始资源状态所指示的资源数目用于表示需要将多少虚拟资源从第二资源池转入到集结专用存储空间。
在该实施例具体实现时,步骤430的具体实现过程与上述步骤420的具体实现过程类似。区别在于,步骤420是从第一资源池提取第一初始资源,步骤430是从第二资源池提取第二初始资源,两者提取资源的位置不同,提取的资源数目也可能不相同。为节省篇幅,不再赘述。
通过上述步骤410-430,本公开实施例,按照第一节点和第二节点所确定的第一初始资源状态从第一资源池提取第一初始资源存储到集结专用存储空间,并按照第一节点和第二节点所确定的第二初始资源状态从第二资源池提取第二初始资源存储到集结专用存储空间,能提高集结专用存储空间所存储的虚拟资源的来源准确性和数目准确性。
请参照图5,在一个实施例中,确定第一初始资源状态、和所述第二初始资源状态的过程包括但不限于包括以下步骤510-530:
步骤510、基于第一节点和第二节点的共识确认,得到第一节点的第一原始资源状态、和第二节点的第二原始资源状态;
步骤520、基于对第一原始资源状态的签名处理,得到第一初始资源状态;
步骤530、基于对第二原始资源状态的签名处理,得到第二初始资源状态。
下面对步骤510-530进行详细描述。
在步骤510中,基于第一节点和第二节点的共识确认,得到第一节点的第一原始资源状态、和第二节点的第二原始资源状态。
第一原始资源状态指的是未签名的第一初始资源状态。
第二原始资源状态指的是未签名的第二初始资源状态。
在该实施例具体实现时,首先由第一节点和第二节点进行共识确认,确认针对执行多个事务,第一节点应当提供的资源或者程序、以及第二节点应当提供的资源或者程序。当第一节点和第二节点经过共识确认,确定第一节点和第二节点均认可的资源或者程序提供方式,并基于双方均确认的提供方式,得到第一节点的第一原始资源状态、和第二节点的第二原始资源状态。
例如,第一节点和第二节点经过通信交互,确认了多个资源提供方式,其中,资源提供方式包含第一节点A提出的方式1:第一节点提供100个虚拟资源、第二节点提供50个虚拟资源;以及第二节点B提出的方式2:第一节点提供150个虚拟资源,第二节点提供50个虚拟资源。针对两个资源提供方式,第二节点B不认可方式1,但是第一节点A认可了方式2,则按照方式2,将第一节点的第一原始资源状态确定为150,并将第二节点的第二原始资源状态确定为50。
在步骤520中,基于对第一原始资源状态的签名处理,得到第一初始资源状态。
在该实施例具体实现时,由第一节点和第二节点按照既定的签名算法分别对第一原始资源状态进行签名处理,将经过签名的第一原始资源状态作为第一初始资源状态。
需要说明的是,本公开实施例的既定的签名算法包括但不限于包括基于椭圆曲线数字签名算法(ECDSA)、非对称签名算法等等。
签名算法是指数字签名的算法。数字签名指的是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。数字签名是通过一个单向函数,对要传送的信息进行处理得到的用以认证信息来源,并核实信息在传送过程中是否发生变化的一个字母数字串。在本公开实施例中,信息的发送者指的是第一节点和第二节点。
例如,第一节点和第二节点利用自己的私钥分别对第一原始资源状态进行加密,将加密之后的第一原始资源状态作为第一初始资源状态。
在步骤530中,基于对第二原始资源状态的签名处理,得到第二初始资源状态。
在该实施例具体实现时,步骤530的具体实现过程与上述步骤520的具体实现过程类似。区别在于,步骤520是对第一原始资源状态进行签名操作,步骤530是对第二原始资源状态进行签名操作,两者签名对象不同。为节省篇幅,不再赘述。
通过上述步骤510-530,本公开实施例,根据第一节点和第二节点的共识确认第一节点应当提供的虚拟资源的第一原始资源状态、以及第二节点应当提供的虚拟资源的第二原始资源状态。进一步地,由第一节点和第二节点分别对第一原始资源状态进行签名,并分别对第二原始资源状态进行签名,使第一初始资源状态和第二初始资源状态都是经过双方签名的资源状态,从而提高第一初始资源状态和第二初始资源状态的真实性和可靠性。
请参照图6,在一个实施例中,确定第一初始资源状态、和第二初始资源状态符合预定条件的过程包括但不限于包括以下步骤610-630:
步骤610、确定第一初始资源状态的第一签名,并确定第二初始资源状态的第二签名;
步骤620、对第一签名和第二签名进行签名验证;
步骤630、如果确定第一签名和第二签名都验证通过,则确定第一初始资源状态、和第二初始资源状态符合预定条件。
下面对步骤610-630进行详细描述。
在步骤610中,确定第一初始资源状态的第一签名,并确定第二初始资源状态的第二签名。
第一签名指的是第一节点和第二节点对第一原始资源状态进行签名操作所产生的的签名,第一签名是一个数字串。
第二签名指的是第一节点和第二节点对第二原始资源状态进行签名操作所产生的签名,第二签名是一个数字串。
在该实施例具体实现时,由于第一初始资源状态和第二初始资源状态均为签名后状态数据,所以第一初始资源状态和第二初始资源状态均会携带相应的签名。基于此,直接从第一初始资源状态的携带信息中提取第一签名,并从第二初始资源状态的携带信息中提取第二签名。
在步骤620中,对第一签名和第二签名进行签名验证。
签名验证用于衡量第一初始资源状态和第二初始资源状态是否由第一节点和第二节点所发送。
在该实施例具体实现时,当对第一签名和第二签名进行签名验证时,首先获取第一节点的公钥和第二节点的公钥,接着,基于第一节点的公钥和第二节点的公钥来验证第一签名的合法性、以及第二签名的合法性。当确定第一签名具备合法性时,确定第一签名验证通过,当确定第二签名具备合法性时,确定第二签名验证通过。
在另一个实施例中,当对第一签名和第二签名进行签名验证时,也可以获取第三方机构签发的数字证书,基于数字证书来验证第一签名的合法性、以及第二签名的合法性。
在步骤630中,如果确定第一签名和第二签名都验证通过,则确定第一初始资源状态、和第二初始资源状态符合预定条件。
在该实施例具体实现时,如果确定第一签名和第二签名都验证通过,则表明第一初始资源状态、和第二初始资源状态是经过第一节点和第二节点所确定的,并未被篡改或者从其他节点发送得来,所以确定第一初始资源状态、和第二初始资源状态符合预定条件。
通过上述步骤610-630,本公开实施例,基于第一初始资源状态的第一签名、和第二初始资源状态的第二签名进行状态校验,基于签名的有效性来衡量资源状态的有效性,能提高验证效率和验证准确性,减小第一初始资源状态和第二初始资源状态被篡改的风险,提高第一初始资源状态和第二初始资源状态的来源真实性和状态有效性。
由于当存在多个集结上链请求时,智能合约往往需要针对不同的集结上链请求分别构建集结专用存储空间,并利用不同的集结专用存储空间来存储不同的资源。而当存在多个集结专用存储空间时,往往会造成资源存储出现混乱,还会导致不能准确地确定每个集结专用存储空间中具体存储的资源情况,会导致事务上链效率低下。基于此,本公开实施例提供了一种基于键值对的方式为每个集结专用存储空间构建资源映射的方案,能较为准确地确定每个集结专用存储空间中具体存储的资源情况,提高资源和集结专用存储空间的关联性,进而提高事务上链效率。
请参照图7,在一个实施例中,生成集结专用存储空间的资源映射关系的过程包括但不限于包括以下步骤710-740:
步骤710、确定集结专用存储空间的存储空间标识;
步骤720、将存储空间标识作为关键字,并将第一初始资源作为值,构建第一键值对;
步骤730、将存储空间标识作为关键字,并将第二初始资源作为值,构建第二键值对;
步骤740、基于第一键值对、和第二键值对,确定集结专用存储空间的资源映射关系。
下面对步骤710-740进行详细描述。
在步骤710中,确定集结专用存储空间的存储空间标识。
存储空间标识用于区分不同的集结专用存储空间,不同集结专用存储空间的存储空间标识是不同的。
在该实施例具体实现时,由于集结专用存储空间是专用存储于某两个节点、或者多个特定节点之间执行多个事务所涉及的资源或者程序的,所以集结专用存储空间与节点之间存在较强的关联性。基于此,在确定集结专用存储空间的存储空间标识,可以根据集结专用存储空间所关联的节点的节点特点来构建存储空间标识,以加强不同集结专用存储空间的可区分性。
为节省篇幅,本公开实施例中,确定集结专用存储空间的存储空间标识的具体实现过程将在下文中详细描述。此处不作赘述。
在步骤720中,将存储空间标识作为关键字,并将第一初始资源作为值,构建第一键值对。
在该实施例具体实现时,将存储空间标识作为关键字key,将第一初始资源作为值value。
在步骤730中,将存储空间标识作为关键字,并将第二初始资源作为值,构建第二键值对。
在该实施例具体实现时,将存储空间标识作为关键字key,将第二初始资源作为值value。
在步骤740中,基于第一键值对、和第二键值对,确定集结专用存储空间的资源映射关系。
资源映射关系用于指示集结专用存储空间与资源状态之间的对应关系。
在该实施例具体实现时,首先,基于第一键值对和第二键值对形成数组,接着,将多个数组存储在一个数组表中,将数组表中的数据映射关系作为集结专用存储空间的资源映射关系。其中,数组表中包含两列,一列是存储空间标识所表示的关键字,另一列是第一初始资源和第二初始资源所表示的值。关键字和值之间的映射关系即为集结专用存储空间的资源映射关系。
如图8所示,是智能合约中的集结专用存储空间的资源映射表。智能合约中存在两个集结专用存储空间、具体地,存储空间标识是t6113的集结专用存储空间的第一初始资源是100,第二初始资源是50;存储空间标识是Pp12re的集结专用存储空间的第一初始资源是200,第二初始资源是0。这两个集结专用存储空间针对不同的集结上链请求所设置。
通过上述步骤710-740,本公开实施例,基于键值对的方式为集结专用存储空间构建资源映射,实现存储空间标识到资源状态的映射关系的记录,能较为准确地确定集结专用存储空间中具体存储的资源情况,提高资源和集结专用存储空间的关联性,进而提高事务上链效率。
请参照图9,在一个实施例中,集结专用存储空间的存储空间标识的生成过程包括但不限于包括以下步骤910-920:
步骤910、对第一节点的第一区块链地址、第一初始资源关联的第一初始资源状态、第二节点的第二区块链地址、和第二初始资源关联的第二初始资源状态进行串接,得到串接结果;
步骤920、对串接结果进行摘要运算,得到摘要结果,并将摘要结果确定为存储空间标识。
下面对步骤910-920进行详细描述。
在步骤910中,对第一节点的第一区块链地址、第一初始资源关联的第一初始资源状态、第二节点的第二区块链地址、和第二初始资源关联的第二初始资源状态进行串接,得到串接结果识。
第一区块链地址用于指示第一节点在区块链系统中的所处位置。
第二区块链地址用于指示第二节点在区块链系统中的所处位置。
在本公开实施例中,第一区块链地址指的是第一节点所关联的第一资源池的地址,第二区块链地址指的是第二节点所关联的第二资源池的地址。其中,第一区块链地址和第二区块链地址均为虚拟地址,第一区块链地址和第二区块链地址可以用于进行点对点的资源转移。
在该实施例具体实现时,按照串接顺序,对第一节点的第一区块链地址、第一初始资源状态关联的第一初始资源状态、第二节点的第二区块链地址、和第二初始资源关联的第二初始资源状态依次进行串接,得到串接结果。其中,串接结果是一个字符串。
例如,第一区块链地址是AA123,第二区块链地址是BB789,第一初始资源状态是150,第二初始资源状态是50。基于此,按照某个固定串接顺序,串接结果可以表示为AA123+150+BB789+50。
在步骤920中,对串接结果进行摘要运算,得到摘要结果,并将摘要结果确定为存储空间标识。
在该实施例具体实现时,按照预定摘要算法对串接结果进行摘要运算,得到摘要结果,并将摘要结果确定为存储空间标识。
在本公开实施例中,预定摘要算法可以包括但不限于可靠消息摘要算法(RACEIntegrity Primitives Evaluation Message Digest)、散列算法(MD5 Message-DigestAlgorithm)、波塞冬哈希算法等等。
例如,当串接结果表示为AA123+150+BB789+50时,存储空间标识可以表示为hash(AA123+150+BB789+50)。
通过上述步骤910-920,本公开实施例,根据集结专用存储空间关联的第一节点和第二节点的区块链地址、以及初始资源状态的串接后摘要结果作为存储空间标识,考虑到了根据集结专用存储空间所关联的节点的节点特点来构建存储空间标识,能有效地加强不同集结专用存储空间的可区分性,同时还能提高存储空间标识的构建效率和构建合理性。
步骤340的详细描述
在步骤340中,基于第一初始资源、第二初始资源、第一结果资源和第二结果资源,生成集结后事务,记录到区块链。
请参照图10,在一个实施例中,基于第一初始资源、第二初始资源、第一结果资源和第二结果资源,生成集结后事务的过程包括但不限于包括以下步骤1010-1030:
步骤1010、基于第一初始资源、第二初始资源、第一结果资源和第二结果资源进行第一验证;
步骤1020、如果确定第一验证通过,对第一结果资源和第二结果资源进行资源分配;
步骤1030、基于第一结果资源与第一初始资源的差值、和第二结果资源与第二初始资源的差值,生成集结后事务。
下面对步骤1010-1030进行详细描述。
在步骤1010中,基于第一初始资源、第二初始资源、第一结果资源和第二结果资源进行第一验证。
第一验证用于验证第一结果资源的有效性和第二结果资源的有效性。
在该实施例具体实现时,由于第一结果资源和第二结果资源也是经过第一节点和第二节点共识确认得到的,基于此,在第一验证时,可以对第一结果资源和第二结果资源是否真实地经过第一节点和第二节点确认进行验证,以确定第一结果资源和第二结果资源在来源上的有效性。另外,由于第一结果资源和第二结果资源也是随着多个事务执行所确定的,第一结果资源和第一初始资源、以及第二初始资源和第二结果资源在时间维度是具有较为明确的先后顺序的,基于此,在第一验证时,还可以验证第一结果资源和第二结果资源在时间维度上的有效性。
为了节省篇幅,本公开实施例中,基于第一初始资源、第二初始资源、第一结果资源和第二结果资源进行第一验证的具体实现过程将在下文中进行详细描述。此处不作赘述。
在步骤1020中,如果确定第一验证通过,对第一结果资源和第二结果资源进行资源分配。
资源分配指的是将第一结果资源和第二结果资源分配给第一节点的第一资源池和第二节点的第二资源池。
在该实施例具体实现时,在确定第一验证通过之后,将集结专用存储空间的第一结果资源分配给第一节点的第一资源池,将集结专用存储空间的第二结果资源分配给第二节点的第二资源池。
在步骤1030中,基于第一结果资源与第一初始资源的差值、和第二结果资源与第二初始资源的差值,生成集结后事务。
在该实施例具体实现时,由于第一初始资源是第一节点在执行多个事务之前所提供的资源,而第一结果资源是第一节点在执行多个事务之后应该拥有的虚拟资源。所以第一结果资源和第一初始资源的差值就是第一节点向第二节点提供的资源。同样地,由于第二初始资源是第二节点在执行多个事务之前所提供的资源,多个事务之后应该拥有的虚拟资源。所以第二结果资源和第二初始资源的差值就是第一节点向第二节点提供的资源。基于此,确定多个事务最终产生的资源交换数目,并根据资源交换数目、以及第一节点和第二节点的区块链地址,生成集结后事务。其中,集结后事务用于指示从生成集结上链请求开始,到第一初始资源变为第一结果资源、第二初始资源变为第二结果资源为止,从第一节点的区块链地址向第二节点的区块链地址转移的虚拟资源数目。
例如,第一节点的第一初始资源是150,第二节点的第二初始资源是0。基于此,集结专用存储空间中总共存储的虚拟资源有150+0=150个。当执行多个事务时,多个事务包含事务1、事务2、事务3,其中,事务1用于指示由第一节点向第二节点转移10个虚拟资源,事务2用于指示由第一节点向第二节点转移20个虚拟资源,事务3用于指示由第一节点向第二节点转移10个虚拟资源。基于此,第一节点和第二节点确定第一初始资源由150变为110,即确定第一结果资源为110,同时,第一节点和第二节点确定第二初始资源由0变为40,即确定第二结果资源为40。所以,根据第一结果资源与第一初始资源的差值、和第二结果资源与第二初始资源的差值,确定在执行上述3个事务所形成的集结后事务是由第一节点向第二节点转移40个虚拟资源。进一步地,第一节点的区块链地址为AA123,第二节点的区块链地址为BB789;将集结后事务确定为event(transfor(from AA123 to BB789,unit 40)。最后,将集结后事务记录到区块链上。
通过上述步骤1010-1030,本公开实施例,首先针对执行多个事务产生的第一结果资源和第二结果资源进行验证,在确定第一结果资源和第二结果资源符合一定条件的情况下,认为第一结果资源和第二结果资源符合执行多个事务的最终资源分配结果,所以根据第一结果资源和第一初始资源的比对、和第二结果资源和第二初始资源的比对,生成集结后事务,实现了将多个事务集结成集结后事务,达到简化上链事务的目的,从而仅将集结后事务上链,而不将多个事务进行上链,有效地减少了需要上链的事务的数目,从而降低事务上链成本,并节省了事务上链时间。
请参照图11、和图12,在一个实施例中,基于第一初始资源、第二初始资源、第一结果资源和第二结果资源进行第一验证的过程包括但不限于包括以下步骤1110-1150:
步骤1110、确定集结专用存储空间的事务执行标识的当前状态;
步骤1120、如果事务执行标识的当前状态符合第一条件,则对第一结果资源关联的第一结果资源状态、和第二结果资源关联的第二结果资源状态进行签名验证;
步骤1130、如果确定第一结果资源状态的签名、和第二结果资源状态的签名验证通过,对第一结果资源状态、和第二结果资源状态进行时间戳验证;
步骤1140、如果确定第一结果资源状态、和第二结果资源状态的时间戳验证通过,则对第一结果资源状态和第二结果资源状态进行关联资源验证;
步骤1150、如果确定第一结果资源和第二结果资源的和、与第一初始资源和第二初始资源的和相等,则确定第一验证通过。
下面对步骤1110-1150进行详细描述。
在步骤1110中,确定集结专用存储空间的事务执行标识的当前状态。
事务执行标识用于指示集结专用存储空间所对应的多个事务的执行情况。
在本公开实施例中,事务执行标识的状态包含true、和false两种形式,或者,事务执行标识的状态包含0、和1两种形式。当事务执行标识是true或者1时,表示可以直接停止执行多个事务,以及可以将集结专用存储空间直接关闭,以终止第一节点和第二节点的多个事务。当事务执行标识是false或者0时,表示不能直接停止执行多个事务,也不能将集结专用存储空间直接关闭,以终止第一节点和第二节点的多个事务。
在该实施例具体实现时,当第一节点和第二节点在执行多个事务将第一初始资源确定为第一结果资源,将第二初始资源确定为第二结果资源时,会对第一结果资源、第二结果资源进行签名操作,并对第一结果资源、第二结果资源赋予一个结果标识,以确定将第一结果资源、第二结果资源作为最终的资源状态。同时,当第一节点和第二节点完成共识确认之后,第一节点或者第二节点会将第一结果资源的第一结果资源状态、第二结果资源的第二结果资源状态提供给智能合约,并提供一个自己确认的集结专用存储空间的事务执行标识的当前状态。
在步骤1120中,如果事务执行标识的当前状态符合第一条件,则对第一结果资源关联的第一结果资源状态、和第二结果资源关联的第二结果资源状态进行签名验证。
第一条件用于衡量由第一节点或者第二节点提供的事务执行标识的当前状态是否满足将第一结果资源、第二结果资源作为最终的资源状态的要求。其中,当由第一节点或者第二节点提供的事务执行标识的当前状态是false或者0时,表明由第一节点或者第二节点提供的事务执行标识的当前状态符合第一条件。
第一结果资源状态用于指示第一节点和第二节点所确定的在执行多个事务之后第一节点应该拥有的虚拟资源的数目。
第二结果资源状态用于指示第一节点和第二节点所确定的在执行多个事务之后第二节点应该拥有的虚拟资源的数目。
签名验证用于验证第一结果资源状态和第二结果资源状态的有效性。
在该实施例具体实现时,对第一结果资源关联的第一结果资源状态、和第二结果资源关联的第二结果资源状态进行签名验证的具体实现过程与上述步骤610-630的具体实现过程类似。区别在于,步骤610-630是对第一初始资源状态和第二初始资源状态进行签名验证;而步骤1120则是对第一结果资源状态和第二结果资源状态进行签名验证,两者进行签名验证的状态数据不同。为节省篇幅,不再赘述。
在步骤1130中,如果确定第一结果资源状态的签名、和第二结果资源状态的签名验证通过,对第一结果资源状态、和第二结果资源状态进行时间戳验证。
时间戳验证用于验证第一结果资源和第二结果资源在时间维度上的有效性。
在本公开实施例中,第一初始资源关联的第一初始资源状态具有第一时间戳,第二初始资源关联的第二初始资源状态具有第二时间戳,第一结果资源状态具有第三时间戳,第二结果资源状态具有第四时间戳。其中,第一时间戳用于指示第一初始资源状态的产生时间点,第二时间戳用于指示第二初始资源状态的产生时间点,第三时间戳用于指示第一结果资源状态的产生时间点,第四时间戳用于指示第二结果资源状态的产生时间点。
在该实施例具体实现时,首先对第一时间戳和第三时间戳进行比对,并对第二时间戳和所述第四时间戳进行比对。如果第三时间戳晚于第一时间戳,且第四时间戳晚于第二时间戳,则表明第一结果资源状态是在第一初始资源状态之后产生的资源状态、且第二结果资源状态是在第二初始资源状态之后产生的资源状态。因此,确定第一结果资源状态、和第二结果资源状态的时间戳验证通过。
例如,由于在执行多个事务前,第一节点和第二节点在14点协商出了第一初始资源的数目、以及第二初始资源的数目,那么,确定第一初始资源状态和第二初始资源状态的时间戳都是14点。当经过多个事务之后,第一节点和第二节点在20点协商出了各自最终应当持有的虚拟资源,因此,确定第一结果资源状态和第二结果资源状态的时间戳都是20点。由于20点晚于16点,所以第一结果资源状态和第二结果资源状态晚于第一初始资源状态和第二初始资源状态产生,因此,第一结果资源状态和第二结果资源状态在时间维度上有效。然而,当第一节点和第二节点将在前一日的20点协商出的各自应当持有的虚拟资源作为第一结果资源状态和第二结果资源状态时,前一日的20点早于16点,第一结果资源状态和第二结果资源状态早于第一初始资源状态和第二初始资源状态产生,这不符合常理,此时,第一结果资源状态和第二结果资源状态在时间维度上是无效的。
在步骤1140中,如果确定第一结果资源状态、和第二结果资源状态的时间戳验证通过,则对第一结果资源状态和第二结果资源状态进行关联资源验证。
关联资源验证用于指示第一结果资源状态和第二结果资源状态所关联的资源是否与集结专用存储空间存储的总资源一致。
在该实施例具体实现时,如果确定第一结果资源状态、和第二结果资源状态的时间戳验证通过,表明第一结果资源和第二结果资源在时间维度上是符合要求的。基于此,首先对第一结果资源和第二结果资源进行资源求和,得到第一结果资源和第二结果资源的和。其中,第一结果资源和第二结果资源的和用于表示执行多个事务之后集结专用存储空间的总资源。接着,对第一初始资源和第二初始资源进行求和,得到第一初始资源和第二初始资源的和。其中,第一初始资源和第二初始资源的和用于指示集结专用存储空间最初存储的总资源。进一步地,比较第一结果资源和第二结果资源的和、与第一初始资源和第二初始资源的和。根据第一结果资源和第二结果资源的和、与第一初始资源和第二初始资源的和的一致性,确定第一结果资源状态和第二结果资源状态的关联资源验证是否通过。
在步骤1150中,如果确定第一结果资源和第二结果资源的和、与第一初始资源和第二初始资源的和相等,则确定第一验证通过。
在该实施例具体实现时,如果第一结果资源和第二结果资源的和、与第一初始资源和第二初始资源的和相等,表明集结专用存储空间的总资源在经过执行多个事务之后始终未改变,第一结果资源和第二结果资源的和是符合要求的,因此,确定第一结果资源状态和第二结果资源状态的关联资源验证通过,并确定第一验证通过。如果第一结果资源和第二结果资源的和、与第一初始资源和第二初始资源的和不相等,表明集结专用存储空间的总资源在经过执行多个事务之后发生了改变,第一结果资源和第二结果资源的和不符合要求。因此,确定第一结果资源状态和第二结果资源状态的关联资源验证不通过,并确定第一验证不通过。
如图12所示,智能合约150的集结专用存储空间中记录有对象终端A和对象终端B经过共识确认和签名的初始资源状态为“第一初始资源:300、第二初始资源:0、时间戳:10:00、签名:rews156”。当对象终端A和对象终端B执行多个事务之后,经过对象终端A和对象终端B的共识确认和签名,对象终端B将最终资源状态发送给智能合约,其中,最终资源状态是“第一结果资源:100、第二结果资源:200、时间戳:16:00、签名:rews156”。基于此,智能合约首先进行签名验证,由于rews156和rews156一致,所以签名验证通过。接着,智能合约进行时间戳验证,由于16:00晚于10:00,所以时间戳验证通过。进一步地,智能合约进行关联资源验证,由于300+0=100+200,所以关联资源验证通过。因此,将最终资源状态作为执行多个事务所产生的资源交换结果。
通过上述步骤1110-1150,本公开实施例,针对第一结果资源、第二结果资源依次进行了签名验证、时间戳验证、以及关联资源验证,从多个维度来验证第一结果资源、第二结果资源的有效性,能较为全面地确定第一结果资源、第二结果资源是否可以作为执行多个事务所产生的最终资源变化结果,能够有效地提高第一结果资源、第二结果资源的准确性和真实性,进而提高集结后事务的生成准确性,以便更加准确地将第一节点和第二节点之间频繁产生的多个事务记录到区块链。
请参照图13,在一个实施例中,基于第一结果资源和第二结果资源进行资源分配的过程包括但不限于包括以下步骤1310-1320:
步骤1310、将第一结果资源纳入第一节点的第一资源池;
步骤1320、将第二结果资源纳入第二节点的第二资源池。
下面对步骤1310-1320进行详细描述。
在该实施例具体实现时,由于第一结果资源是第一节点和第二节点之间经过多个事务所确定的第一节点应当具备的资源,所以将第一结果资源纳入第一节点的第一资源池。同样地,由于第二结果资源是第一节点和第二节点之间经过多个事务所确定的第二节点应当具备的资源,所以将第二结果资源纳入第一节点的第二资源池。
例如,在接收到集结上链请求时,确定第一节点的第一初始资源是100,第二节点的初始资源是50,那么集结专用存储空间纳入的总资源是100+50=150。在执行多个事务之后,确定第一节点的第一结果资源是50,确定第二节点的第二结果资源是100,则将集结专用存储空间存储的50个资源转移到第一节点的第一资源池;将集结专用存储空间存储的100个资源转移到第二节点的第二资源池,从而实现了第一节点向第二节点转移50个资源。
通过上述步骤1310-1320,本公开实施例,在接收集结上链请求之后,分别从第一节点的第一资源池、以及第二节点的第二资源池中提取一部分资源纳入到集结专用存储空间,通过集结专用存储空间进行资源代存。进一步地,当第一节点和第二节点之间执行多个事务之后,根据事务执行的最终结果将集结专用存储空间中代存的资源按照既定配额归还到第一资源池、和第二资源池,实现了快速的资源分配和资源流转,将第一节点和第二节点之间的多个事务集结成一个事务,能简化事务处理过程,仅将集结成的一个事务进行上链,能有效地降低事务上链成本。
由于每个事务的执行都会导致一个资源变化,如果只是将第一结果资源和第二结果资源所指示的集结后事务记录到区块链上,往往无法在区块链上体现出每一笔事务的具体内容。基于此,本公开实施例还提供了一种将事务批量上链的方案,能将第一节点和第二节点之间执行多个事务所产生的资源变换情况清楚地记录到区块链上,以提高事务的可查询性。
请参照图14,在一个实施例中,在将集结后事务记录到区块链之后,区块链事务上链方法还可以包括但不限于包括以下步骤1410-1420:
步骤1410、接收执行多个事务的关联资源数据;
步骤1420、将关联资源数据记录到区块链。
下面对步骤1410-1420进行详细描述。
在该实施例具体实现时,关联资源数据指的是执行的每个事务所产生的资源状态变化数据,关联资源数据同样由第一节点和第二节点经过共识确认和签名得到。具体地,当第一节点或者第二节点想要将各个事务导致的资源状态变化记录到区块链上时,第一节点或者第二节点会将在区块链下执行多个事务所产生的资源状态数据进行签名,并将经过签名之后的资源状态数据作为多个事务的关联资源数据发送给智能合约,并由智能合约关联资源数据记录到区块链。
通过上述步骤1410-1420,本公开实施例,将多个事务的关联资源数据批量上链,能将第一节点和第二节点之间执行多个事务所产生的资源变换情况清楚地记录到区块链上,以提高事务的可查询性,还能减小由于频繁进行事务上链导致的资源开销、和区块链的吞吐压力。这一方式能实现将第一节点和第二节点的初始资源状态在区块链的智能合约中进行初次记录,并在第一节点和第二节点在区块链执行多个事务之后,基于区块链上的集结专用存储空间对最终的资源状态进行结算,在有效地减少上链事务的情况下,将多个事务的资源状态变化体现在区块链上,能有效地减小事务上链成本。
本公开的一个实施例的基于中间资源生成集结后事务的过程的详细描述
在步骤330中,利用集结专用存储空间中的第一初始资源和第二初始资源,执行多个事务。
由于在第一节点和第二节点执行多个事务时,常常会由某个节点离线等原因造成事务无法继续正常执行,此时,另一个节点常常需要按照两个节点已经执行的多个事务来申请将存储在集结专用存储空间的虚拟资源重新转移到各自的资源池,并将已执行的多个事务集结生成集结后事务进行上链。基于此,本公开实施例提供了一种基于第一初始资源变为第一结果资源之前,第二初始资源变为第二结果资源之前,根据已执行的多个事务产生的中间资源生成集结后事务的方案,能够提高生成集结后事务的灵活性和真实性。
请参照图15,在一个实施例中,基于中间资源生成集结后事务的过程包括但不限于包括以下步骤1510-1540:
步骤1510、基于执行多个事务,确定第一初始资源在执行目标事务后变为的第一中间资源、和第二初始资源在执行目标事务后变为的第二中间资源;
步骤1520、对第一中间资源和第二中间资源进行第二验证;
步骤1530、如果确定第二验证通过,则基于第一中间资源、第二中间资源进行事务更新;
步骤1540、基于预设计时器对集结专用存储空间进行关闭计时。
下面对步骤1510-1540进行详细描述。
在步骤1510中,基于执行多个事务,确定第一初始资源在执行目标事务后变为的第一中间资源、和第二初始资源在执行目标事务后变为的第二中间资源。
目标事务指的是多个事务中的其中一个。针对多个事务中的每个事务,第一节点和第二节点均会确认一个与该事务对应的资源状态。
第一中间资源指的是在执行完目标事务之后,经过第一节点和第二节点共识确认的第一初始资源应当变为的资源。
第二中间资源指的是在执行完目标事务之后,经过第一节点和第二节点共识确认的第二初始资源应当变为的资源。
在该实施例具体实现时,当第一节点或者第二节点、想要将暂存在集结专用存储空间的虚拟资源按照已执行的多个事务重新转移到自己的资源池时,第一节点或者第二节点会将经过双方共识并签名的某个资源状态提供给智能合约,以便智能合约根据提供的资源状态进行资源分配。基于此,智能合约可以在执行多个事务之后,根据第一节点或者第二节点发送的请求获取到第一初始资源在执行目标事务后变为的第一中间资源、和第二初始资源在执行目标事务后变为的第二中间资源。
例如,当第一节点和第二节点在最初共识确认并签名的资源状态为第一节点:100;第二节点:0。当执行事务1,由第一节点向第二节点转移10个虚拟资源之后,基于事务1,第一节点和第二节点在链下共识确认并签名的资源状态为第一节点:90;第二节点:10。当执行事务2,由第一节点向第二节点转移10个虚拟资源之后,基于事务2,第一节点和第二节点在链下共识确认并签名的资源状态为第一节点:80;第二节点:20。当执行事务3,由第二节点向第一节点转移10个虚拟资源之后,基于事务3,第一节点和第二节点在链下共识确认并签名的资源状态为第一节点:90;第二节点:10。此时,如果第一节点离线,则第二节点接收不到第一节点的任何消息,那么第二节点会请求停止与第一节点之间的资源交换,并请求将已执行的事务1、事务2、事务3所对应的虚拟资源转移到自己的资源池。如果第二节点是一个诚实节点,那么第二节点会根据与第一节点执行的最后一个事务所对应的资源状态请求智能合约进行事务上链和资源分配,即按照事务3所对应的资源状态:“第一节点:90;第二节点:10”,获取10个虚拟资源。如果第二节点是一个非诚实节点,那么第二节点也会根据与第一节点执行的对自己最为有利的事务所对应的资源状态请求智能合约进行事务上链和资源分配,即按照事务2所对应的资源状态:“第一节点:80;第二节点:20”,获取20个虚拟资源。因此,本公开实施例还考虑到了对第一中间资源和第二中间资源进行第二验证。
在步骤1520中,对第一中间资源和第二中间资源进行第二验证。
第二验证用于验证第一中间资源的有效性和第二中间资源的有效性。
为了节省篇幅,对第一中间资源和第二中间资源进行第二验证的具体实现过程将在下午中进行详细描述。此处不做赘述。
在步骤1530中,如果确定第二验证通过,则基于第一中间资源、第二中间资源进行事务更新。
在该实施例具体实现时,如果确定第二验证通过,表明第一节点或者第二节点所提供的第一中间资源状态和第二中间资源状态符合对集结专用存储空间的资源状态进行调整的要求,因此,将第一中间资源、第二中间资源作为经过多个事务执行之后,集结专用存储空间中代存的虚拟资源的真实分配方式。
在步骤1540中,基于预设计时器对集结专用存储空间进行关闭计时。
预设计时器用于确定集结专用存储空间的可使用时长,预设计时器还用于指示允许第一节点和第二节点之间执行多个事务的时长。
在本公开实施例中,基于预设计时器对集结专用存储空间进行关闭计时,可以在预定时长之后,基于第一中间资源、第二中间资源、第一初始资源、和第一初始资源生成集结后事务,并关闭集结专用存储空间。
在该实施例具体实现时,由于预设计时器需要衡量集结专用存储空间将要在什么时间关闭。基于此,首先确定预设计时器的计时时长,接着,基于确定的计时时长对预设计时器进行倒计时设置,从而根据倒计时来对集结专用存储空间进行关闭计时,以便在倒计时结束时,将倒计时结束时记录的资源状态记录到区块链上,并使集结专用存储空间关闭。
通过上述步骤1510-1540,本公开实施例,基于第一初始资源变为第一结果资源之前,第二初始资源变为第二结果资源之前,根据已执行的多个事务产生的中间资源生成集结后事务,并且针对第一节点或者第二节点所声称的第一中间资源和第二中间资源进行验证,提高第一中间资源和第二中间资源的真实性;进一步地,在第一中间资源和第二中间资源符合要求时,根据第一中间资源和第二中间资源生成集结后事务,能够提高生成集结后事务的灵活性和真实性。
请参照图16,在一个实施例中,第一初始资源关联的第一初始资源状态具有第一时间戳,第二初始资源关联的第二初始资源状态具有第二时间戳,第一中间资源关联的第一中间资源状态具有第五时间戳,第二中间资源关联的第二中间资源状态具有第六时间戳。其中,第五时间戳用于指示第一中间资源状态的产生时间点,第六时间戳用于指示第二中间资源状态的产生时间点。
第一中间资源状态用于指示第一节点和第二节点中的其中一个所认为的在执行多个事务之后,第一节点应当拥有的虚拟资源的数目。
第二中间资源状态用于指示第一节点和第二节点中的其中一个所认为的在执行多个事务之后,第二节点应当拥有的虚拟资源的数目。
需要说明的是,第一中间资源状态和第二中间资源状态是第一节点和第二节点在执行目标事务之后,经过共识确认和双方签名产生的资源状态。
其中,对第一中间资源和第二中间资源进行第二验证的过程包括但不限于包括以下步骤1610-1650:
步骤1610、确定集结专用存储空间的事务执行标识的当前状态;
步骤1620、如果事务执行标识的当前状态符合第二条件,则对第一中间资源状态、和第二中间资源状态进行签名验证;
步骤1630、如果确定第一中间资源状态的签名、和第二中间资源状态的签名验证通过,对第一中间资源状态、和第二中间资源状态进行时间戳验证;
步骤1640、如果确定第五时间戳晚于第一时间戳、且第六时间戳晚于第二时间戳,则对第一中间资源状态和第二中间资源状态进行关联资源验证;
步骤1650、如果确定第一中间资源和第二中间资源的和、与第一初始资源和第二初始资源的和相等,则确定第二验证通过。
下面对步骤1610-1650进行详细描述。
在步骤1610中,确定集结专用存储空间的事务执行标识的当前状态。
在该实施例具体实现时,步骤1610的具体实现过程与上述步骤1110的具体实现过程类似。为节省篇幅,不再赘述。
在步骤1620中,如果事务执行标识的当前状态符合第二条件,则对第一中间资源状态、和第二中间资源状态进行签名验证。
第二条件用于衡量由第一节点或者第二节点提供的事务执行标识的当前状态是否满足将第一中间资源、第二中间资源作为集结专用存储空间的新的资源状态的要求。其中,当由第一节点或者第二节点提供的事务执行标识的当前状态是true或者1时,表明由第一节点或者第二节点提供的事务执行标识的当前状态符合第二条件。
签名验证用于验证第一中间资源状态和第二中间资源状态的有效性。
在该实施例具体实现时,步骤1620的具体实现过程与上述步骤1120的具体实现过程类似。区别在于,两者的签名验证对象不同。为节省篇幅,不再赘述。
在步骤1630中,如果确定第一中间资源状态的签名、和第二中间资源状态的签名验证通过,对第一中间资源状态、和第二中间资源状态进行时间戳验证。
时间戳验证用于验证第一中间资源和第二中间资源在时间维度上的有效性。
在该实施例具体实现时,步骤1630的具体实现过程与上述步骤1130的具体实现过程类似。区别在于,两者的时间戳验证对象不同。为节省篇幅,不再赘述。
在步骤1640中,如果确定第五时间戳晚于第一时间戳、且第六时间戳晚于第二时间戳,则对第一中间资源状态和第二中间资源状态进行关联资源验证。
关联资源验证用于指示第一中间资源状态和第二中间资源状态所关联的资源是否与集结专用存储空间存储的总资源一致。
在该实施例具体实现时,步骤1640的具体实现过程与上述步骤1140的具体实现过程类似。区别在于,两者的关联资源验证对象不同。为节省篇幅,不再赘述。
在步骤1650中,如果确定第一中间资源和第二中间资源的和、与第一初始资源和第二初始资源的和相等,则确定第二验证通过。
在该实施例具体实现时,步骤1650的具体实现过程与上述步骤1150的具体实现过程类似。为节省篇幅,不再赘述。
通过上述步骤1610-1650,本公开实施例,针对第一中间资源、第二中间资源依次进行了签名验证、时间戳验证、以及关联资源验证,从多个维度来验证第一中间资源、第二中间资源的有效性,能较为全面地确定第一中间资源、第二中间资源是否可以作为执行多个事务所产生的资源变化结果,能够有效地提高第一中间资源、第二中间资源的准确性和真实性。
请参照图17,在一个实施例中,基于预设计时器对集结专用存储空间进行关闭计时的过程包括但不限于包括以下步骤1710-1730:
步骤1710、确定预设计时器的当前计时状态;
步骤1720、如果当前计时状态为未启动状态,则开启预设计时器,并基于预定时长对预设计时器进行计时设置;
步骤1730、如果当前计时状态为结束状态或者计时状态,则重置预设计时器。
下面对步骤1710-1730进行详细描述。
在步骤1710中,确定预设计时器的当前计时状态。
当前计时状态用于指示预设计时器在当前时间的所处状态,其中,预设计时器的当前计时状态包括未启动状态、结束状态、或者计时状态。
在该实施例具体实现时,可以通过设置代码程序来实时的记录预设计时器在每个时间点的状态,并将当前时间所记录的状态确定为预设计时器的当前计时状态。
在步骤1720中,如果当前计时状态为未启动状态,则开启预设计时器,并基于预定时长对预设计时器进行计时设置。
预定时长用于指示能够接收第一节点和第二节点提供的资源状态的最长时间。
在该实施例具体实现时,如果当前计时状态为未启动状态,则开启预设计时器,使预设计时器开始工作。同时,还基于预定时长对预设计时器进行计时设置,使预设计时器的倒计时时长为预定时长。其中,预定时长可以设置为7天。
在步骤1730中,如果当前计时状态为结束状态或者计时状态,则重置预设计时器。
在该实施例具体实现时,如果当前计时状态为结束状态或者计时状态,则表明预设计时器一直处于工作状态,为了使处于离线状态的节点或者出现异常的节点有足够的时间来响应并确认另一个节点在集结专用存储空间中确定的最新资源状态,所以将预设计时器重置,使基于预定时长对预设计时器进行计时设置,使预设计时器的倒计时时长为预定时长。
通过上述步骤1710-1730,本公开实施例,根据预设计时器的当前计时状态的不同,采取不同的方式对预设计时器进行调整,以实现对预设计时器的计时校准,能在预设计时器计时结束时生成集结后事务,并将集结后事务上链,以提高集结后事务的生成准确性和生成效率。
请参照图18,在一个实施例中,基于第一中间资源、第二中间资源、第一初始资源、和第一初始资源生成集结后事务的过程包括但不限于包括以下步骤1810-1830:
步骤1810、如果确定集结专用存储空间的事务执行标识的当前状态符合第二条件,则确定预设计时器的当前计时状态;
步骤1820、如果确定当前计时状态为结束状态,基于集结专用存储空间的第一中间资源、第二中间资源进行资源分配;
步骤1830、基于第一中间资源和第一初始资源的差值、以及第二中间资源和第一初始资源的差值生成集结后事务,记录到区块链上。
下面对步骤1810-1830进行详细描述。
在步骤1810中,如果确定集结专用存储空间的事务执行标识的当前状态符合第二条件,则确定预设计时器的当前计时状态。
在该实施例具体实现时,确定集结专用存储空间的事务执行标识的当前状态符合第二条件的具体实现过与上述步骤1620的具体实现过程类似。为节省篇幅,不再赘述。
进一步地,确定预设计时器的当前计时状态的具体实现过程与上述步骤1710的具体实现过程类似。为节省篇幅,不再赘述。
在步骤1820中,如果确定当前计时状态为结束状态,基于集结专用存储空间的第一中间资源、第二中间资源进行资源分配。
在该实施例具体实现时,步骤1820的具体实现过程与上述步骤1020的具体实现过程类似。区别在于,步骤1020的资源分配是按照第一节点和第二节点共同确定的,步骤1820的资源分配是按照第一节点或者第二节点提供的资源状态分配的,步骤1020的资源分配的准确性高于步骤1820的资源分配。为节省篇幅,不再赘述。
在步骤1830中,基于第一中间资源和第一初始资源的差值、以及第二中间资源和第一初始资源的差值生成集结后事务,记录到区块链上。
在该实施例具体实现时,步骤1830的具体实现过程与上述步骤1030的具体实现过程类似。区别在于,步骤1030是基于第一结果资源与第一初始资源的差值、和第二结果资源与第二初始资源的差值,生成集结后事务,集结后事务是根据第一节点和第二节点的共识确认结果所生成的;步骤1830是基于第一中间资源和第一初始资源的差值、以及第二中间资源和第一初始资源的差值生成集结后事务,集结后事务是根据第一节点和第二节点的其中一个所提供的资源状态所生成的,步骤1030中的集结后事务相较于步骤1830中的集结后事务具备更高的真实性。为节省篇幅,不再赘述。
通过上述步骤1810-1830,本公开实施例,当确定集结专用存储空间的事务执行标识的当前状态符合第二条件,且确定当前计时状态为结束状态,基于集结专用存储空间的第一中间资源、第二中间资源进行资源分配,并基于第一中间资源和第一初始资源的差值、以及第二中间资源和第一初始资源的差值生成集结后事务,记录到区块链上,能较好地解决由于一方节点离线或者等原因导致的无法将已执行的多个事务记录到区块链上的问题,提高了事务集结的效率和合理性,有利于在双方节点无法达成最终共识时,将较为准确地集结后事务记录到区块链上,提高了事务处理效率。
本公开实施例的对集结专用存储空间进行授权的详细描述
由于第一节点的第一资源池的虚拟资源、和第二节点的第二资源池的虚拟资源具备较高的安全性,如果使任意节点或者任意智能合约随意提取到资源池的虚拟资源,往往会给第一节点或者第二节点造成不利影响。基于此,本公开实施例提高了一种基于授权验证的方式将第一初始资源和第二初始资源纳入到集结专用存储空间的方案,能提高资源提取的安全性。
请参照图19,在一个实施例中,对集结专用存储空间进行授权的过程包括但不限于包括以下步骤1910-1920:
步骤1910、接收合约调用请求;
步骤1920、基于第一区块链地址和通道标识,生成授权签名,以基于授权签名,通过智能合约向集结专用存储空间进行资源纳入授权。
下面对步骤1910-1920进行详细描述。
在步骤1910中,接收合约调用请求。
合约调用请求用于调用区块链上记录的智能合约,合约调用请求包含第一节点的第一区块链地址、和集结专用存储空间的通道标识。
在该实施例具体实现时,当第一节点和第二节点对集结专用存储空间进行资源纳入授权时,会向区块链系统发送合约调用请求,以调用到区块链上记录的、能够用于代替自己进行资源交换的智能合约,并利用智能合约中的授权方法为集结专用存储空间授权。
在本公开实施例中,智能合约中的授权方法常常是通过确定集结专用存储空间所在的智能合约的合约地址,将从资源池提取虚拟资源的权限授权给该合约地址。
在步骤1920中,基于第一区块链地址和通道标识,生成授权签名,以基于授权签名,通过智能合约向集结专用存储空间进行资源纳入授权。
授权签名是第一区块链地址和通道标识的摘要。授权签名用于指示第一节点对集结专用存储空间的授权。
在该实施例具体实现时,首先将第一区块链地址和通道标识进行串接后摘要,得到授权签名。接着,调用用于实现资源处理的智能合约的授权方法。最后,依据授权方法和授权签名对集结专用存储空间进行资源纳入授权,以使集结专用存储空间所在的智能合约取得代替第一节点和第二节点处理资源交换事务的权限。
通过上述步骤1910-1920,本公开实施例,基于授权验证的方式将第一初始资源和第二初始资源纳入到集结专用存储空间,在第一节点和第二节点调用相应的智能合约对集结专用存储空间进行授权签名之后,集结专用存储空间才能提取和存储第一初始资源和第二初始资源,能提高资源提取的安全性。
本公开的一个实施例的区块链事务上链方法的实施细节描述
下面参照图20详细说明本公开实施例的区块链事务上链方法的一个具体实现过程。
步骤2001、由第一节点和第二节点确定第一初始资源状态和第二初始资源状态;
步骤2002、第二节点向区块链的智能合约发送集结上链请求;
步骤2003、区块链的智能合约依据集结上链请求生成集结专用存储空间和空间存储标识;
步骤2004、第二节点对区块链的智能合约进行合约授权、以赋予智能合约从自己的资源池提取资源的权限;
步骤2005、第一节点对区块链的智能合约进行合约授权、以赋予智能合约从自己的资源池提取资源的权限;
步骤2006、智能合约基于第一节点和第二节点的授权,将第一节点的资源池中的第一初始资源、以及第二节点的第二初始资源纳入集结专用存储空间;
步骤2007、由第一节点和第二节点基于第一初始资源和第二初始资源执行多个事务,并生成每个事务所对应的资源状态数据;
步骤2008、第一节点将执行完目标事务之后的第一中间资源状态和第二中间资源状态发送给智能合约;
步骤2009、智能合约对第一中间资源状态和第二中间资源状态进行状态验证;
步骤2010、如果确定验证通过,智能合约基于第一中间资源状态和第二中间资源状态对集结专用存储空间的资源状态更新,以将第一中间资源状态和第二中间资源状态最为最新的资源状态;
步骤2011、智能合约在对资源状态更新之后,还设置预设计时器,利用预设计时器进行关闭计时、以在计时结束时关闭集结专用存储空间;
步骤2012、由第一节点和第二节点确定执行多个事务之后的第一结果资源状态和第二结果资源状态;
步骤2013、第二节点请求依据第一结果资源状态和第二结果资源状态结束与第一节点之间的事务执行;
步骤2014、智能合约依据第二节点的请求,对第一结果资源状态和第二结果资源状态进行验证;
步骤2015、如果确定验证通过,智能合约会基于第一结果资源状态和第二结果资源状态对多个事务集结成集结后事务;
步骤2016、智能合约将存储在集结专用存储空间的第一结果资源和第二结果资源进行分配,以将第一结果资源分配给第一节点的资源池、将第二结果资源分配给第二节点的资源池;
步骤2017、智能合约将集结后事务上链到区块链的共识网络、以及使共识节点的各个共识节点对集结后事务进行共识确认,并记录到区块链上。
上述的步骤2001的具体实现过程与上述步骤510-530类似。步骤2002的具体实现过程与上述步骤310类似。步骤2003的具体实现过程与上述步骤910-920类似。步骤2004、步骤2005的具体实现过程与上述步骤1910-1920类似。步骤2006的具体实现过程与上述步骤320类似。步骤2007-2008的具体实现过程与上述步骤1510类似。步骤2009-2011的具体实现过程与上述步骤1520-1540类似。步骤2009-2011的具体实现过程与上述步骤1520-1540类似。步骤2012-2013的具体实现过程与上述步骤330类似。步骤2014-2017的具体实现过程与上述步骤1010-1030类似。为节省篇幅,不再赘述。
本公开实施例的装置和设备描述
可以理解的是,虽然上述各个流程图中的各个步骤按照箭头的表征依次显示,但是这些步骤并不是必然按照箭头表征的顺序依次执行。除非本实施例中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时间执行完成,而是可以在不同的时间执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
需要说明的是,在本申请的各个具体实施方式中,当涉及到需要根据目标对象属性信息或属性信息集合等与目标对象特性相关的数据进行相关处理时,都会先获得目标对象的许可或者同意,而且,对这些数据的收集、使用和处理等,都会遵守相关法律法规和标准。此外,当本申请实施例需要获取目标对象属性信息时,会通过弹窗或者跳转到确认页面等方式获得目标对象的单独许可或者单独同意,在明确获得目标对象的单独许可或者单独同意之后,再获取用于使本申请实施例能够正常运行的必要的目标对象相关数据。
图21为本公开实施例提供的区块链事务上链装置2100的结构示意图。该区块链事务上链装置2100包括:
接收单元2110,用于接收集结上链请求,集结上链请求用于将之后在第一节点和第二节点之间的多个事务集结成集结后事务记录到区块链,而多个事务本身不记录到区块链;
存储单元2120,用于将第一节点关联的第一资源池中的第一初始资源、以及第二节点关联的第二资源池中的第二初始资源,纳入集结专用存储空间;
执行单元2130,用于利用集结专用存储空间中的第一初始资源和第二初始资源,执行多个事务,其中,第一初始资源在执行多个事务后变为第一结果资源,第二初始资源在执行多个事务后变为第二结果资源;
事务上链单元2140,用于基于第一初始资源、第二初始资源、第一结果资源和第二结果资源,生成集结后事务,记录到区块链。
可选地,事务上链单元2140具体包括:
第一验证单元(未示出),用于基于第一初始资源、第二初始资源、第一结果资源和第二结果资源进行第一验证;
资源分配单元(未示出),用于如果确定第一验证通过,对第一结果资源和第二结果资源进行资源分配;
事务生成单元(未示出),用于基于第一结果资源与第一初始资源的差值、和第二结果资源与第二初始资源的差值,生成集结后事务。
可选地,第一验证单元(未示出)用于:
确定集结专用存储空间的事务执行标识的当前状态;
如果事务执行标识的当前状态符合第一条件,则对第一结果资源关联的第一结果资源状态、和第二结果资源关联的第二结果资源状态进行签名验证;
如果确定第一结果资源状态的签名、和第二结果资源状态的签名验证通过,对第一结果资源状态、和第二结果资源状态进行时间戳验证;
如果确定第一结果资源状态、和第二结果资源状态的时间戳验证通过,则对第一结果资源状态和第二结果资源状态进行关联资源验证;
如果确定第一结果资源和第二结果资源的和、与第一初始资源和第二初始资源的和相等,则确定第一验证通过。
可选地,第一初始资源关联的第一初始资源状态具有第一时间戳,第二初始资源关联的第二初始资源状态具有第二时间戳,第一结果资源状态具有第三时间戳,第二结果资源状态具有第四时间戳;
对第一结果资源状态、和第二结果资源状态进行时间戳验证,包括:
对第一时间戳和第三时间戳进行比对,并对第二时间戳和第四时间戳进行比对;
如果第三时间戳晚于第一时间戳,且第四时间戳晚于第二时间戳,则确定第一结果资源状态、和第二结果资源状态的时间戳验证通过。
可选地,资源分配单元(未示出)具体用于:
将第一结果资源纳入第一节点的第一资源池;
将第二结果资源纳入第二节点的第二资源池。
可选地,存储单元2120具体用于:
确定第一节点的第一初始资源状态、和第二节点的第二初始资源状态;
如果确定第一初始资源状态、和第二初始资源状态符合预定条件,
基于第一初始资源状态所指示的资源数目,从第一资源池中提取第一初始资源,并将第一初始资源纳入集结专用存储空间;
基于第二初始资源状态所指示的资源数目,从第二资源池中提取第二初始资源,并将第二初始资源纳入集结专用存储空间。
可选地,第一初始资源状态、和第二初始资源状态通过以下方式确定:
基于第一节点和第二节点的共识确认,得到第一节点的第一原始资源状态、和第二节点的第二原始资源状态;
基于对第一原始资源状态的签名处理,得到第一初始资源状态;
基于对第二原始资源状态的签名处理,得到第二初始资源状态。
可选地,确定第一初始资源状态、和第二初始资源状态符合预定条件,包括:
确定第一初始资源状态的第一签名,并确定第二初始资源状态的第二签名;
对第一签名和第二签名进行签名验证;
如果确定第一签名和第二签名都验证通过,则确定第一初始资源状态、和第二初始资源状态符合预定条件。
可选地,区块链事务上链装置2100还包括映射单元(未示出),映射单元(未示出)用于:
确定集结专用存储空间的存储空间标识;
将存储空间标识作为关键字,并将第一初始资源作为值,构建第一键值对;
将存储空间标识作为关键字,并将第二初始资源作为值,构建第二键值对;
基于第一键值对、和第二键值对,确定所述集结专用存储空间的资源映射关系。
可选地,存储空间标识通过以下方式生成:
对第一节点的第一区块链地址、第一初始资源关联的第一初始资源状态、第二节点的第二区块链地址、和第二初始资源关联的第二初始资源状态进行串接,得到串接结果;
对串接结果进行摘要运算,得到摘要结果,并将摘要结果确定为存储空间标识。
可选地,区块链事务上链装置还包括上链单元(未示出),上链单元(未示出)用于:
接收执行多个事务的关联资源数据;
将关联资源数据记录到区块链。
可选地,执行单元2130具体包括:
确定单元(未示出),用于基于执行多个事务,确定第一初始资源在执行目标事务后变为的第一中间资源、和第二初始资源在执行目标事务后变为的第二中间资源;
第二验证单元(未示出),用于对第一中间资源和第二中间资源进行第二验证;
更新单元(未示出),用于如果确定第二验证通过,则基于第一中间资源、第二中间资源进行事务更新;
关闭单元(未示出),用于基于预设计时器对集结专用存储空间进行关闭计时,以在预定时长之后,基于第一中间资源、第二中间资源、第一初始资源、和第一初始资源生成集结后事务,并关闭集结专用存储空间。
可选地,关闭单元(未示出)用于:
确定预设计时器的当前计时状态;
如果当前计时状态为未启动状态,则开启预设计时器,并基于预定时长对预设计时器进行计时设置;
如果当前计时状态为结束状态或者计时状态,则重置预设计时器。
可选地,在预定时长之后,基于第一中间资源、第二中间资源、第一初始资源、和第一初始资源生成集结后事务,包括:
如果确定集结专用存储空间的事务执行标识的当前状态符合第二条件,则确定预设计时器的当前计时状态;
如果确定当前计时状态为结束状态,基于集结专用存储空间的第一中间资源、第二中间资源进行资源分配;
基于第一中间资源和第一初始资源的差值、以及第二中间资源和第一初始资源的差值生成集结后事务,记录到区块链上。
可选地,第一初始资源关联的第一初始资源状态具有第一时间戳,第二初始资源关联的第二初始资源状态具有第二时间戳,第一中间资源关联的第一中间资源状态具有第五时间戳,第二中间资源关联的第二中间资源状态具有第六时间戳;
第二验证单元(未示出)用于:
确定集结专用存储空间的事务执行标识的当前状态;
如果事务执行标识的当前状态符合第二条件,则对第一中间资源状态、和第二中间资源状态进行签名验证;
如果确定第一中间资源状态的签名、和第二中间资源状态的签名验证通过,对第一中间资源状态、和第二中间资源状态进行时间戳验证;
如果确定第五时间戳晚于第一时间戳、且第六时间戳晚于第二时间戳,则对第一中间资源状态和第二中间资源状态进行关联资源验证;
如果确定第一中间资源和第二中间资源的和、与第一初始资源和第二初始资源的和相等,则确定第二验证通过。
可选地,区块链事务上链装置2100还包括授权单元(未示出),授权单元(未示出)用于:
接收合约调用请求,合约调用请求用于调用区块链上记录的智能合约,合约调用请求包含第一节点的第一区块链地址、和集结专用存储空间的通道标识;
基于第一区块链地址和通道标识,生成授权签名,以基于授权签名,通过智能合约向集结专用存储空间进行资源纳入授权。
参照图22,图22为实现本公开实施例的区块链事务上链方法的终端的部分的结构框图,该终端包括:射频(Radio Frequency,简称RF)电路2210、存储器2215、输入单元2230、显示单元2240、传感器2250、音频电路2260、无线保真(wireless fidelity,简称WiFi)模块2270、处理器2280、以及电源2290等部件。本领域技术人员可以理解,图22示出的终端结构并不构成对手机或电脑的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
RF电路2210可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器2280处理;另外,将设计上行的数据发送给基站。
存储器2215可用于存储软件程序以及模块,处理器2280通过运行存储在存储器2215的软件程序以及模块,从而执行对象终端的各种功能应用以及数据处理。
输入单元2230可用于接收输入的数字或字符信息,以及产生与对象终端的设置以及功能控制有关的键信号输入。具体地,输入单元2230可包括触控面板2231以及其他输入装置2232。
显示单元2240可用于显示输入的信息或提供的信息以及对象终端的各种菜单。显示单元2240可包括显示面板2241。
音频电路2260、扬声器2261,传声器2262可提供音频接口。
在本实施例中,该终端所包括的处理器2280可以执行前面实施例的区块链事务上链方法。
本公开实施例的终端包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。本发明实施例可应用于各种场景,包括但不限于数据安全、区块链、数据存储、信息技术等。
图23为实施本公开实施例的区块链事务上链方法的服务器的部分的结构框图。服务器可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,简称CPU)2322(例如,一个或一个以上处理器)和存储器2332,一个或一个以上存储应用程序2342或数据2344的存储介质2130(例如一个或一个以上海量存储装置)。其中,存储器2332和存储介质2330可以是短暂存储或持久存储。存储在存储介质2330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器2322可以设置为与存储介质2330通信,在服务器上执行存储介质2330中的一系列指令操作。
服务器还可以包括一个或一个以上电源2323,一个或一个以上有线或无线网络接口2350,一个或一个以上输入输出接口2358,和/或,一个或一个以上操作系统2341,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
服务器中的中央处理器2322可以用于执行本公开实施例的区块链事务上链方法。
本公开实施例还提供一种计算机可读存储介质,计算机可读存储介质用于存储程序代码,程序代码用于执行前述各个实施例的区块链事务上链方法。
本公开实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序。计算机设备的处理器读取该计算机程序并执行,使得该计算机设备执行实现上述的区块链事务上链方法。
本公开的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“包含”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或装置不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或装置固有的其它步骤或单元。
应当理解,在本公开中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
应了解,在本公开实施例的描述中,多个(或多项)的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。
在本公开所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)执行本公开各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
还应了解,本公开实施例提供的各种实施方式可以任意进行组合,以实现不同的技术效果。
以上是对本公开的实施方式的具体说明,但本公开并不局限于上述实施方式,熟悉本领域的技术人员在不违背本公开精神的条件下还可作出种种等同的变形或替换,这些等同的变形或替换均包括在本公开权利要求所限定的范围内。

Claims (20)

1.一种区块链事务上链方法,其特征在于,所述方法包括:
接收集结上链请求,所述集结上链请求用于将之后在第一节点和第二节点之间的多个事务集结成集结后事务记录到区块链,而多个所述事务本身不记录到所述区块链;
将所述第一节点关联的第一资源池中的第一初始资源、以及所述第二节点关联的第二资源池中的第二初始资源,纳入集结专用存储空间;
利用所述集结专用存储空间中的所述第一初始资源和所述第二初始资源,执行多个所述事务,其中,所述第一初始资源在执行多个所述事务后变为第一结果资源,所述第二初始资源在执行多个所述事务后变为第二结果资源;
基于所述第一初始资源、所述第二初始资源、所述第一结果资源和所述第二结果资源,生成所述集结后事务,记录到所述区块链。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一初始资源、所述第二初始资源、所述第一结果资源和所述第二结果资源,生成所述集结后事务,包括:
基于所述第一初始资源、所述第二初始资源、所述第一结果资源和所述第二结果资源进行第一验证;
如果确定所述第一验证通过,对所述第一结果资源和所述第二结果资源进行资源分配;
基于所述第一结果资源与所述第一初始资源的差值、和所述第二结果资源与所述第二初始资源的差值,生成所述集结后事务。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第一初始资源、所述第二初始资源、所述第一结果资源和所述第二结果资源进行第一验证,包括:
确定所述集结专用存储空间的事务执行标识的当前状态;
如果所述事务执行标识的当前状态符合第一条件,则对所述第一结果资源关联的第一结果资源状态、和所述第二结果资源关联的第二结果资源状态进行签名验证;
如果确定第一结果资源状态的签名、和第二结果资源状态的签名验证通过,对所述第一结果资源状态、和所述第二结果资源状态进行时间戳验证;
如果确定所述第一结果资源状态、和所述第二结果资源状态的时间戳验证通过,则对所述第一结果资源状态和所述第二结果资源状态进行关联资源验证;
如果确定所述第一结果资源和所述第二结果资源的和、与所述第一初始资源和所述第二初始资源的和相等,则确定所述第一验证通过。
4.根据权利要求3所述的方法,其特征在于,所述第一初始资源关联的第一初始资源状态具有第一时间戳,所述第二初始资源关联的第二初始资源状态具有第二时间戳,第一结果资源状态具有第三时间戳,第二结果资源状态具有第四时间戳;
所述对所述第一结果资源状态、和所述第二结果资源状态进行时间戳验证,包括:
对所述第一时间戳和所述第三时间戳进行比对,并对所述第二时间戳和所述第四时间戳进行比对;
如果所述第三时间戳晚于所述第一时间戳,且所述第四时间戳晚于所述第二时间戳,则确定所述第一结果资源状态、和所述第二结果资源状态的时间戳验证通过。
5.根据权利要求2所述的方法,其特征在于,所述对所述第一结果资源和所述第二结果资源进行资源分配,包括:
将所述第一结果资源纳入所述第一节点的第一资源池;
将所述第二结果资源纳入所述第二节点的第二资源池。
6.根据权利要求1所述的方法,其特征在于,所述将所述第一节点关联的第一资源池中的第一初始资源、以及所述第二节点关联的第二资源池中的第二初始资源,纳入集结专用存储空间,包括:
确定所述第一节点的第一初始资源状态、和所述第二节点的第二初始资源状态;
如果确定所述第一初始资源状态、和所述第二初始资源状态符合预定条件,基于所述第一初始资源状态所指示的资源数目,从所述第一资源池中提取所述第一初始资源,并将所述第一初始资源纳入所述集结专用存储空间;
基于所述第二初始资源状态所指示的资源数目,从所述第二资源池中提取所述第二初始资源,并将所述第二初始资源纳入所述集结专用存储空间。
7.根据权利要求6所述的方法,其特征在于,所述第一初始资源状态、和所述第二初始资源状态通过以下方式确定:
基于所述第一节点和所述第二节点的共识确认,得到所述第一节点的第一原始资源状态、和所述第二节点的第二原始资源状态;
基于对所述第一原始资源状态的签名处理,得到所述第一初始资源状态;
基于对所述第二原始资源状态的签名处理,得到所述第二初始资源状态。
8.根据权利要求6所述的方法,其特征在于,所述确定所述第一初始资源状态、和所述第二初始资源状态符合预定条件,包括:
确定所述第一初始资源状态的第一签名,并确定所述第二初始资源状态的第二签名;
对所述第一签名和所述第二签名进行签名验证;
如果确定所述第一签名和所述第二签名都验证通过,则确定所述第一初始资源状态、和所述第二初始资源状态符合预定条件。
9.根据权利要求1所述的方法,其特征在于,在所述将所述第一节点关联的第一资源池中的第一初始资源、以及所述第二节点关联的第二资源池中的第二初始资源,纳入集结专用存储空间之后,所述方法还包括:
确定所述集结专用存储空间的存储空间标识;
将所述存储空间标识作为关键字,并将所述第一初始资源作为值,构建第一键值对;
将所述存储空间标识作为关键字,并将所述第二初始资源作为值,构建第二键值对;
基于所述第一键值对、和所述第二键值对,确定所述集结专用存储空间的资源映射关系。
10.根据权利要求9所述的方法,其特征在于,所述存储空间标识通过以下方式生成:
对所述第一节点的第一区块链地址、所述第一初始资源关联的第一初始资源状态、所述第二节点的第二区块链地址、和所述第二初始资源关联的第二初始资源状态进行串接,得到串接结果;
对所述串接结果进行摘要运算,得到摘要结果,并将所述摘要结果确定为所述存储空间标识。
11.根据权利要求1所述的方法,其特征在于,在所述基于所述第一初始资源、所述第二初始资源、所述第一结果资源和所述第二结果资源,生成所述集结后事务,记录到所述区块链之后,所述方法还包括:
接收执行多个所述事务的关联资源数据;
将所述关联资源数据记录到所述区块链。
12.根据权利要求1所述的方法,其特征在于,所述利用所述集结专用存储空间中的所述第一初始资源和所述第二初始资源,执行多个所述事务,包括:
基于执行多个所述事务,确定所述第一初始资源在执行目标事务后变为的第一中间资源、和所述第二初始资源在执行目标事务后变为的第二中间资源;
对所述第一中间资源和所述第二中间资源进行第二验证;
如果确定所述第二验证通过,则基于所述第一中间资源、所述第二中间资源进行事务更新;
基于预设计时器对所述集结专用存储空间进行关闭计时,以在预定时长之后,基于所述第一中间资源、所述第二中间资源、所述第一初始资源、和所述第一初始资源生成所述集结后事务,并关闭所述集结专用存储空间。
13.根据权利要求12所述的方法,其特征在于,所述基于预设计时器对所述集结专用存储空间进行关闭计时,包括:
确定所述预设计时器的当前计时状态;
如果所述当前计时状态为未启动状态,则开启所述预设计时器,并基于所述预定时长对所述预设计时器进行计时设置;
如果所述当前计时状态为结束状态或者计时状态,则重置所述预设计时器。
14.根据权利要求12所述的方法,其特征在于,所述在预定时长之后,基于所述第一中间资源、所述第二中间资源、所述第一初始资源、和所述第一初始资源生成所述集结后事务,包括:
如果确定所述集结专用存储空间的事务执行标识的当前状态符合第二条件,则确定所述预设计时器的当前计时状态;
如果确定所述当前计时状态为结束状态,基于所述集结专用存储空间的所述第一中间资源、所述第二中间资源进行资源分配;
基于所述第一中间资源和所述第一初始资源的差值、以及所述第二中间资源和所述第一初始资源的差值生成所述集结后事务,记录到所述区块链上。
15.根据权利要求12所述的方法,其特征在于,所述第一初始资源关联的第一初始资源状态具有第一时间戳,所述第二初始资源关联的第二初始资源状态具有第二时间戳,所述第一中间资源关联的第一中间资源状态具有第五时间戳,所述第二中间资源关联的第二中间资源状态具有第六时间戳;
所述对所述第一中间资源和所述第二中间资源进行第二验证,包括:
确定所述集结专用存储空间的事务执行标识的当前状态;
如果所述事务执行标识的当前状态符合第二条件,则对所述第一中间资源状态、和所述第二中间资源状态进行签名验证;
如果确定所述第一中间资源状态的签名、和所述第二中间资源状态的签名验证通过,对所述第一中间资源状态、和所述第二中间资源状态进行时间戳验证;
如果确定所述第五时间戳晚于所述第一时间戳、且所述第六时间戳晚于所述第二时间戳,则对所述第一中间资源状态和所述第二中间资源状态进行关联资源验证;
如果确定所述第一中间资源和所述第二中间资源的和、与所述第一初始资源和所述第二初始资源的和相等,则确定所述第二验证通过。
16.根据权利要求1所述的方法,其特征在于,在所述将所述第一节点关联的第一资源池中的第一初始资源、以及所述第二节点关联的第二资源池中的第二初始资源,纳入集结专用存储空间之前,所述方法还包括:
接收合约调用请求,所述合约调用请求用于调用区块链上记录的智能合约,所述合约调用请求包含所述第一节点的第一区块链地址、和所述集结专用存储空间的通道标识;
基于所述第一区块链地址和所述通道标识,生成授权签名,以基于所述授权签名,通过所述智能合约向所述集结专用存储空间进行资源纳入授权。
17.一种区块链事务上链装置,其特征在于,所述装置包括:
接收单元,用于接收集结上链请求,所述集结上链请求用于将之后在第一节点和第二节点之间的多个事务集结成集结后事务记录到区块链,而多个所述事务本身不记录到所述区块链;
存储单元,用于将所述第一节点关联的第一资源池中的第一初始资源、以及所述第二节点关联的第二资源池中的第二初始资源,纳入集结专用存储空间;
执行单元,用于利用所述集结专用存储空间中的所述第一初始资源和所述第二初始资源,执行多个所述事务,其中,所述第一初始资源在执行多个所述事务后变为第一结果资源,所述第二初始资源在执行多个所述事务后变为第二结果资源;
事务上链单元,用于基于所述第一初始资源、所述第二初始资源、所述第一结果资源和所述第二结果资源,生成所述集结后事务,记录到所述区块链。
18.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至16任意一项所述的区块链事务上链方法。
19.一种计算机可读存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至16任意一项所述的区块链事务上链方法。
20.一种计算机程序产品,该计算机程序产品包括计算机程序,所述计算机程序被计算机设备的处理器读取并执行,使得该计算机设备执行权利要求1至16任意一项所述的区块链事务上链方法。
CN202311460681.5A 2023-11-03 2023-11-03 区块链事务上链方法、相关装置和介质 Pending CN117499418A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311460681.5A CN117499418A (zh) 2023-11-03 2023-11-03 区块链事务上链方法、相关装置和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311460681.5A CN117499418A (zh) 2023-11-03 2023-11-03 区块链事务上链方法、相关装置和介质

Publications (1)

Publication Number Publication Date
CN117499418A true CN117499418A (zh) 2024-02-02

Family

ID=89677673

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311460681.5A Pending CN117499418A (zh) 2023-11-03 2023-11-03 区块链事务上链方法、相关装置和介质

Country Status (1)

Country Link
CN (1) CN117499418A (zh)

Similar Documents

Publication Publication Date Title
EP4120114A1 (en) Data processing method and apparatus, smart device and storage medium
EP3494685B1 (en) Token based network service among iot applications
EP3872737B1 (en) Numerical value transfer method, device, and computer storage medium
CN109361508A (zh) 数据传输方法、电子设备及计算机可读存储介质
EP4412152A1 (en) Authentication method and communication apparatus
US20220337570A1 (en) System and method for distributed, keyless electronic transactions with authentication
CN114491656A (zh) 区块链网络中的方法和设备
WO2022265740A1 (en) Cross-session issuance of verifiable credential
CN115701078B (zh) 跨链交易处理方法、装置、电子设备以及存储介质
CN111597537A (zh) 基于区块链网络的证书签发方法、相关设备及介质
CN114519197A (zh) 一种基于区块链和云服务的数据存储架构和方法
CN110708390A (zh) 基于节点间数据共享的数据处理方法、设备、装置、介质
CN112860805A (zh) 一种区块链数据交互方法及系统
CN117499418A (zh) 区块链事务上链方法、相关装置和介质
CN113064899B (zh) 资产类证券型通证交易凭证的存储方法、装置和电子设备
CN116095671A (zh) 一种基于元宇宙的资源共享方法及其相关设备
CN117010889A (zh) 数据处理方法、装置及设备、介质、产品
CN114697077A (zh) 电能数据的传输方法、装置、存储介质及计算机设备
CN115001707A (zh) 基于区块链的设备认证方法和相关设备
CN115983850A (zh) 基于区块链的设备控制方法和相关设备
CN117828647B (zh) 区块链事务上链方法、相关装置和介质
CN110766407A (zh) 基于区块链的交易验证方法、记账节点及介质
CN114499869B (zh) 基于区块链的资源跨链交换方法、装置和计算机设备
EP4443851A1 (en) Data processing method, system and apparatus, device, and storage medium
WO2023197259A1 (en) Devices and methods for providing a federated learning model

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication