CN118261597A - 基于区块链的交易处理方法、装置、设备、介质及产品 - Google Patents

基于区块链的交易处理方法、装置、设备、介质及产品 Download PDF

Info

Publication number
CN118261597A
CN118261597A CN202211742668.4A CN202211742668A CN118261597A CN 118261597 A CN118261597 A CN 118261597A CN 202211742668 A CN202211742668 A CN 202211742668A CN 118261597 A CN118261597 A CN 118261597A
Authority
CN
China
Prior art keywords
transaction
processed
information
resource
party
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
CN202211742668.4A
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 CN202211742668.4A priority Critical patent/CN118261597A/zh
Publication of CN118261597A publication Critical patent/CN118261597A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本申请的实施例公开了一种基于区块链的交易处理方法、装置、设备、介质及产品,该方法包括:接收交易方发送的待处理交易;对待处理交易进行封装得到上链交易信息;将上链交易信息发送至对应的区块链节点,并向区块链节点预支付交易消耗资源,以通过区块链节点执行上链交易信息;接收区块链节点发送的资源结算信息,资源结算信息中携带有针对待处理交易从预支付的交易消耗资源中所结算的资源信息。本申请实施例的技术方案无需交易方自身支付交易消耗资源,简化了交易方交易上链处理的流程。

Description

基于区块链的交易处理方法、装置、设备、介质及产品
技术领域
本申请涉及计算机及通信技术领域,具体而言,涉及一种基于区块链的交易处理方法、基于区块链的交易处理装置、电子设备、计算机可读存储介质及计算机程序产品。
背景技术
当前随着各类去中心化应用在区块链上广泛部署,区块链外的对象在区块链上的活动日益增加,其中,区块链外的对象在区块链网络上进行操作时,该对象发出交易,直接和区块链网络进行交互,但对象发出交易需要支付交易消耗资源时,且只能是自己支付该交易消耗资源。
发明内容
为解决上述技术问题,本申请的实施例提供了一种基于区块链的交易处理方法、基于区块链的交易处理装置、电子设备、计算机可读存储介质及计算机程序产品,无需交易方自身支付交易消耗资源,简化了简化交易上链处理的流程。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供了一种基于区块链的交易处理方法,包括:接收交易方发送的待处理交易;对所述待处理交易进行封装得到上链交易信息;将所述上链交易信息发送至对应的区块链节点,并向所述区块链节点预支付交易消耗资源,以通过所述区块链节点执行所述上链交易信息;接收所述区块链节点发送的资源结算信息,所述资源结算信息中携带有针对所述待处理交易从预支付的交易消耗资源中所结算的资源信息。
根据本申请实施例的一个方面,还提供了一种基于区块链的交易处理方法,包括:接收服务方发送的上链交易信息和所述服务方预支付的交易消耗资源,所述上链交易信息是所述服务方对交易方发送的待处理交易进行封装得到的;对所述上链交易信息进行解析得到所述待处理交易,并执行所述待处理交易;向所述服务方发送资源结算信息,其中,所述资源结算信息中携带有针对所述待处理交易从所述预支付的交易消耗资源中所结算的资源信息。
根据本申请实施例的一个方面,提供了一种基于区块链的交易处理装置,所述装置包括:第一接收模块,用于接收交易方发送的待处理交易;封装模块,用于对所述待处理交易进行封装得到上链交易信息;第一发送模块,用于将所述上链交易信息发送至对应的区块链节点,并向所述区块链节点预支付交易消耗资源,以通过所述区块链节点执行所述上链交易信息;第一接收模块,还用于接收所述区块链节点发送的资源结算信息,所述资源结算信息中携带有针对所述待处理交易从预支付的交易消耗资源中所结算的资源信息。
在本申请的一实施例中,第一发送模块进一步用于获取服务方部署在区块链网络中的服务合约;将所述上链交易信息发送至调用所述服务合约的区块链节点;通过所述服务合约对应的合约账户向所述区块链节点预支付所述交易消耗资源。
在本申请的一实施例中,所述第一发送模块还用于根据所述资源结算信息向所述交易方发送资源支付信息,以使所述交易方支付与所述所结算的资源信息对应的目标资源;根据所述区块链节点返回的针对所述上链交易信息的执行结果,将针对所述待处理交易的交易结果发送至所述交易方。
在本申请的一实施例中,所述第一接收模块进一步用于接收各个交易方分别发送的待处理交易,以得到多个待处理交易;所述封装模块进一步用于根据所述多个待处理交易生成服务交易,并对所述服务交易进行签名得到所述上链交易信息。
在本申请的一实施例中,所述待处理交易是基于所述交易方的私钥进行签名所生成的,所述封装模块进一步用于对各个交易方的签名分别进行验证得到验证结果,并根据所述验证结果确定目标待处理交易;将多个所述目标待处理交易进行打包,得到所述服务交易。
根据本申请实施例的一个方面,提供了一种基于区块链的交易处理装置,包括:第二接收模块,用于接收服务方发送的上链交易信息和所述服务方预支付的交易消耗资源,所述上链交易信息是所述服务方对交易方发送的待处理交易进行封装得到的;执行模块,用于对所述上链交易信息进行解析得到所述待处理交易,并执行所述待处理交易;第二发送模块,用于向所述服务方发送资源结算信息,其中,所述资源结算信息中携带有针对所述待处理交易从所述预支付的交易消耗资源中所结算的资源信息。
在本申请的一实施例中,所述第二发送模块还用于根据执行所述待处理交易所得到的交易结果,生成针对所述上链交易信息的执行结果;将所述上链交易信息的执行结果发送至所述服务方,以使服务方根据所述执行结果将针对所述待处理交易的交易结果发送至所述交易方。
在本申请的一实施例中,所述待处理交易是基于所述交易方的私钥进行签名所生成的,所述上链交易信息是基于服务方的签名所生成的;所述执行模块进一步用于对所述服务方的签名进行验证,若对所述服务方的签名验证通过,则对所述上链交易信息进行解析得到所述待处理交易;运行服务合约,以根据所述服务合约对所述交易方的签名进行验证,所述服务合约是所述服务方部署在区块链网络中的;若对所述交易方的签名验证通过,则执行所述待处理交易,得到所述交易结果。
在本申请的一实施例中,所述执行模块进一步用于获取所述待处理交易的交易参数;运行所述交易参数对应的逻辑智能合约,以根据所述逻辑智能合约执行所述待处理交易,得到所述交易结果。
在本申请的一实施例中,所述装置还包括结算模块,所述结算模块进一步用于获取所述待处理交易的交易参数;根据所述待处理交易的交易参数对所述预支付的交易消耗资源进行结算得到所述资源结算信息。
在本申请的一实施例中,所述结算模块进一步用于根据所述待处理交易的交易参数,确定针对所述待处理交易的交易消耗资源的支付状态;若所述支付状态指示需要支付针对所述待处理交易的交易消耗资源,以及所需支付的交易消耗资源的资源类型,则从所述预支付的交易消耗资源中,结算与所述资源类型相匹配的所述待处理交易的所需支付的交易消耗资源得到所述资源结算信息。
在本申请的一实施例中,所述结算模块进一步用于从所述待处理交易的交易参数中提取支付标识;若所述支付标识表征需要支付针对所述待处理交易的交易消耗资源,则从所述待处理交易对应的交易参数中提取支付地址;根据所述支付地址,确定所述待处理交易的所需支付的交易消耗资源的资源类型。
根据本申请实施例的一个方面,提供了一种电子设备,包括一个或多个处理器;存储装置,用于存储一个或多个计算机程序,当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述电子设备实现如上所述的基于区块链的交易处理方法。
根据本申请实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被电子设备的处理器执行时,使电子设备执行如上所述的基于区块链的交易处理方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序存储在计算机可读存储介质中,电子设备的处理器从所述计算机可读存储介质读取并执行所述计算机程序,使得所述电子设备执行如上所述的基于区块链的交易处理方法。
在本申请的实施例所提供的技术方案中,服务方接收交易方发送的待处理交易,并进行封装得到上链交易信息,进而由服务方将上链交易信息发送至对应的区块链节点,并向区块链节点预支付交易消耗资源,以使区块链节点执行上链交易信息,最后服务方接收区块链节点发送的资源结算信息,以获知针对待处理交易所结算的资源信息,即由服务方通过对待处理交易进行封装,代替交易方进行交易上链,并通过预支付交易消耗资源和资源结算信息,为交易方支付针对待处理交易的交易消耗资源,针对交易方来说,只需与服务方进行交互,无需自身支付交易消耗资源,提升了交易上链处理操作的便捷性,简化交易上链处理的流程。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。在附图中:
图1是区块链网络的结构示意图;
图2是区块链中各区块的连接关系示意图;
图3是本申请涉及的一种实施环境的示意图;
图4是本申请的一示例性实施例示出的一种基于区块链的交易处理方法的流程图;
图5是本申请的一示例性实施例示出的另一种基于区块链的交易处理方法的流程图;
图6是本申请的一示例性实施例示出的另一种基于区块链的交易处理方法的流程图;
图7是本申请的一示例性实施例示出的另一种基于区块链的交易处理方法的流程图;
图8是本申请的一示例性实施例示出的另一种基于区块链的交易处理方法的流程图;
图9是本申请的另一示例性实施例示出的一种基于区块链的交易处理方法的流程图;
图10是本申请的另一示例性实施例示出的另一种基于区块链的交易处理方法的流程图;
图11是本申请的一示例性实施例示出的另一种基于区块链的交易处理方法的流程图;
图12是本申请的一示例性实施例示出的另一种基于区块链的交易处理方法的流程图;
图13是本申请的一示例性实施例示出的另一种基于区块链的交易处理方法的流程图;
图14是本申请的另一示例性实施例示出的一种基于区块链的交易处理方法的流程图;
图15是本申请的另一示例性实施例示出的另一种基于区块链的交易处理方法的流程图;
图16是本申请的另一示例性实施例示出的另一种基于区块链的交易处理方法的流程图;
图17是本申请的一示例性实施例示出的基于区块链的交易处理装置的结构框图;
图18是本申请的另一示例性实施例示出的基于区块链的交易处理装置的结构框图;
图19示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
还需要说明的是:在本申请中提及的“多个”是指两个或者两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本申请实施例的技术方案涉及区块链技术领域,在介绍本申请实施例的技术方案之前,先简单介绍区块链技术。
区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块(即区块),每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
如上所述,区块链本质上是一个去中心化的数据库,而区块链是由区块链网络中的节点共同维护的。例如请参阅图1,在图1所示的区块链网络中,可以包括多个节点101,多个节点101可以是形成区块链网络的各个服务器、客户端。每个节点101在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护该区块链网络内的共享数据。为了保证区块链网络内的信息互通,区块链网络中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。例如当区块链网络中的任意节点接收到输入信息时,区块链网络中的其它节点便根据共识算法获取该输入信息,将该输入信息作为共享数据进行存储,使得区块链网络中全部节点上存储的数据均一致。
对于区块链网络中的每个节点,均具有与其对应的节点标识,而且区块链网络中的每个节点均可以存储有其它节点的节点标识,以便后续根据其它节点的节点标识,将生成的区块广播至区块链网络中的其它节点。每个节点中可维护一个节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为IP(InternetProtocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息。
参见图1示出的区块链网络中各节点,各个节点涉及的功能包括:
1)路由,节点具有的基本功能,用于支持节点之间的通信。
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
其中,应用实现的业务包括:智能合约,智能合约是一种计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的数据进行处理的合约。
请参阅图2,区块链由多个区块组成,创始块中包括区块头和区块体,区块头中存储有输入信息特征值、版本号、时间戳和难度值等,区块体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值等,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
可以理解的是,区块链网络中各个节点可以是服务器,也可以是客户端。其中服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算(Cloud Computing)、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和智能平台等基础云计算服务的云服务器。其中客户端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、在汽车上使用的客户端、飞行器等,但并不局限于此。各个节点之间可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
本申请实施例的技术方案具体涉及区块链技术,以下对本申请实施例的技术方案进行详细介绍:
请参阅图3,图3是本申请涉及的一种实施环境的示意图。该实施环境包括主要包含了交易方301、服务方302和区块链网络303中的区块链节点101。
其中,交易方301为交易的发起方,其可以是使用对象,也可以是使用对象所使用的客户端,使用对象通过客户端发起交易。
在一示例中,交易方301可以是任意具有输入接口的客户端,该客户端上运行有用于实现区块链网络的交易发起功能的应用程序,其中,客户端包括但不限于智能手机、平板、笔记本电脑、计算机、智能语音交互设备、智能家电、在汽车上使用的客户端、飞行器等等,其中输入接口包括但不限于触摸屏、键盘、物理按键、音频拾取装置等,进而,例如使用对象操作输入接口,进而客户端响应操作,运行应用程序为使用对象发起交易。
服务方302为响应交易方301发起的交易的一方,其可以交易方301发起的交易进行封装得到上链交易信息,将上链交易信息发送至对应的区块链节点,并向该区块链节点预支付交易消耗资源。
服务方302可以是用于服务交易的服务器,该服务器可以接收不同交易方发起的交易。其可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和智能平台等基础云计算服务的云服务器,本处对此不进行限制。
区块链节点101即为前述介绍的区块链网络的中业务节点,其接收服务方发送的上链交易信息和服务方预支付的交易消耗资源,对上链交易信息进行解析得到待处理交易,以执行待处理结果;向服务方发送资源结算信息,资源结算信息中携带有针对待处理交易从预支付的交易消耗资源中所结算的资源信息。
服务方302则可以通过区块链节点101发送的资源结算信息获知针对待处理交易所结算的资源信息。
需要说明的是,在本申请的具体实施方式中,若待处理交易涉及到对象相关,则当本申请实施例运用到具体产品或技术中时,需要获得对象许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关规定和标准。
以下对本申请实施例的技术方案的各种实现细节进行详细阐述:
如图4所示,图4是本申请的一个实施例示出的基于区块链的交易处理方法的流程图,该方法可以应用于图3所示的实施环境,该方法可以由图3中所示的服务方来执行,该基于区块链的交易处理方法可以包括步骤S410至步骤S440,详细介绍如下:
S410、接收交易方发送的待处理交易。
本申请实施例中,交易方可以是交易对象,也可以是交易对象所操作的客户端,例如交易对象可以通过客户端生成待处理交易,并将该客户端将待处理交易发送至服务方。其中,待处理交易可以是任何类型的交易,在此不进行限定。
在一示例中,服务方可以接收同一交易方发送的多个待处理交易,也可以接收不同交易方分别发送的待处理交易。
在一示例中,在接收待处理交易时,可以是实时接收待处理交易,也可以周期性地接收待处理交易,例如每隔1分钟接收一次所有的待处理交易。
S420、对待处理交易进行封装得到上链交易信息。
在本申请实施例中,服务方接收到待处理交易后,需要将待处理交易进行封装得到上链交易信息;待处理交易是交易方的,通过封装将待处理交易转换为服务方的上链交易信息。
在一示例中,服务方获取到多个待处理交易后,将多个待处理交易封装得到一个上链交易信息;例如在t1时刻,服务方接收到3个待处理交易,则将这3个待处理交易封装为一个上链交易信息;在t1时刻至t2时刻,服务方接收到4个待处理交易,则将这4个待处理交易封装为一个上链交易信息。
S430、将上链交易信息发送至对应的区块链节点,并向区块链节点预支付交易消耗资源,以通过区块链节点执行上链交易信息。
可以理解的是,在区块链网络中,当需要区块链节点执行对应交易时,需要向区块链节点支付交易消耗资源,以衡量执行交易所消耗的计算和存储资源;因此,服务方将上链交易信息发送至对应的区块链节点,服务方需要向区块链节点预支付交易消耗资源,进而区块链节点在获取该上链交易信息时,可以执行该上链交易信息。
其中,服务方预支付交易消耗资源可以是将上链交易信息发送至对应的区块链节点,同时向该区块链节点预支付交易消耗资源;也可以是先向该区块链节点预支付交易消耗资源,然后将上链交易信息发送至该区块链节点;还可以是先将上链交易信息发送至区块链节点,然后预支付交易消耗资源。
在一示例中,服务方预支付的交易消耗资源的资源量可以是执行该上链交易信息所需的交易消耗资源,例如执行该上链交易信息需要10个单位的交易消耗资源,则服务方预支付10个单位的交易消耗资源。
在另一示例中,服务方预支付的交易消耗资源的资源量可以是大于执行该上链交易信息所需的交易消耗资源,例如执行该上链交易信息需要10个单位的交易消耗资源,则服务方预支付20个单位的交易消耗资源。
在另一示例中,服务方还可以预支付指定资源量的交易消耗资源,该指定量可以是服务方或/和区块链节点确定。
S440、接收区块链节点发送的资源结算信息,资源结算信息中携带有针对待处理交易从预支付的交易消耗资源中所结算的资源信息。
在本申请实施例中,区块链节点在执行完上链交易信息后,会进行资源结算,进而服务方会接收到区块链节点发送的资源结算信息,该资源结算信息中携带有针对待处理交易从预支付的交易消耗资源中所结算的资源信息,即服务方会获知处理上链交易信息的待处理交易所花费的资源信息,以及预支付的交易消耗资源中还剩下多少资源信息。
其中,从预支付的交易消耗资源中所结算的资源信息包括待处理交易所花费的交易消耗资源,以及所花费的交易消耗资源的资源类型、结算时间、结算人等结算记录信息。
在本申请实施例中,服务方为交易方支付了待处理交易所花费的交易消耗资源,此时,服务方可以向交易方收取对应的交易消耗资源,也可以不向交易方收取对应的交易消耗资源,在此不进行限定。
本申请实施例中,服务方接收交易方发送的待处理交易,并进行封装得到上链交易信息,进而由服务方将上链交易信息发送至对应的区块链节点,并向区块链节点预支付交易消耗资源,以使区块链节点执行上链交易信息,最后服务方接收区块链节点发送的资源结算信息,以获知针对待处理交易所结算的资源信息,即由服务方通过对待处理交易进行封装,代替交易方进行交易上链,并通过预支付交易消耗资源和资源结算信息,为交易方支付针对待处理交易的交易消耗资源,针对交易方来说,只需与服务方进行交互,无需自身支付交易消耗资源,提升了交易上链处理操作的便捷性,简化交易上链处理的流程。
在本申请的一个实施例中,提供了另一种基于区块链的交易处理方法,该基于区块链的交易处理方法可以应用于图3所示的实施环境,该方法可以由图3中所示的服务方来执行,如图5所示,该基于区块链的交易处理方法在图4的基础上,将步骤S430扩展为S510~S520。步骤S510~S520详细介绍如下:
S510、获取服务方部署在区块链网络中的服务合约。
在本申请实施例中,服务方预先在区块链网络中部署有服务合约,该服务合约用于对服务方发送的交易信息进行验证,以及调用其他智能合约执行该交易信息。
可以理解的是,服务方可以在区块链网络部署多个服务合约,每个服务合约所实现的功能不同,因此在一示例中,服务方需要从多个服务合约中获取指定的服务合约,例如根据待处理交易的交易类型,从多个服务合约中确定与该交易类型对应的指定服务合约。
S520、将上链交易信息发送至调用服务合约的区块链节点;通过服务合约对应的合约账户向区块链节点预支付交易消耗资源。
区块链网络中的区块链节点有多个,服务方将上链交易信息发送至指定区块链节点,该指定区块链节点即为调用其部署的服务合约的区块链节点。
合约账户是在区块链网络中完成合约部署后所生成的账户,服务方预支付交易消耗资源时,会向服务合约对应的合约账户发送预支付的交易消耗资源,则合约账户会被触发,按照预先编写的服务合约代码向区块链节点预支付交易消耗资源。
需要说明的是,图5中所示步骤S410~S420、S440的其他详细介绍请参见图4所示的步骤S410~S420、S440,在此不再赘述。
本申请实施例中,服务方通过将封装的上链交易信息发送至调用服务合约的区块链节点,实现交易的上链,并通过服务合约对应的合约账户为交易方的待处理交易支付交易消耗资源,避免交易方在区块链网络发出交易需要自身支付。
本申请实施例提供了另一种基于区块链的交易处理方法,该基于区块链的交易处理方法可以应用于图3所示的实施环境,该方法可以由图3中所示的服务方来执行,如图6所示,该基于区块链的交易处理方法在图4的基础上,在步骤S440之后增加了步骤S610~S620。步骤S610~S620详细介绍如下:
S610、根据资源结算信息向交易方发送资源支付信息,以使交易方支付与所结算的资源信息对应的目标资源。
在本申请实施例中,服务方为交易方支付了执行待处理交易所花费的资源信息,此时,服务方需要交易方向其支付对应的资源。服务方根据资源结算信息向交易方发送资源支付信息。
在一示例中,该资源支付信息包括服务方针对待处理交易所花费的资源交易消耗资源,进而交易方接收到该资源支付信息后,向服务方支付区块链节点所结算的资源信息对应的目标资源。
需要说明的是,区块链网络中支付的资源类型与区块链网络外支付的资源类型不同,交易方向服务方支付的目标资源可以是区块链网络中资源类型,也可以是区块链网络外的资源类型,目标资源的资源类型可以根据服务方和/或交易方确定。
在另一示例中,该资源支付信息还可以包括为交易方办理交易事项所收取的补偿资源,则交易方需要支付的目标资源除了包括所结算的交易消耗资源,还包括服务方所收取的补偿资源。
S620、根据区块链节点返回的针对上链交易信息的执行结果,将针对待处理交易的交易结果发送至交易方。
在本申请实施例中,区块链节点执行上链交易信息,会得到执行结果,进而服务方会接收到区块链节点返回的执行结果。
服务方在接收到交易方支付的目标资源后,根据区块链节点返回的针对上链交易信息的执行结果,将针对待处理交易的交易结果发送至交易方。
在一示例中,服务方会对上链交易信息的执行结果进行解析,从执行结果中提取出针对待处理交易的交易结果,进而将该待处理交易的交易结果发送至交易方。
例如,上链交易信息是由多个待处理交易封装得到的,上链交易信息的执行结果包括多个待处理交易的多个交易结果,则对执行结果进行解析,得到多个交易结果;其中,交易结果中携带有交易标识,该交易标识用于指示该交易结果所匹配的待处理交易,进而可以根据交易结果中的交易标识将各个交易结果分别至所匹配的待处理交易所属的交易方。
需要说明的是,图6中所示步骤S410~S440的详细介绍请参见图4所示的步骤S410~S440在此不再赘述。
本申请实施例中,在区块链节点结算后,服务方会向交易方结算,以向交易方收取与所结算的资源信息对应的目标资源,实现服务方资源的收取,进而将交易方发送待处理交易的交易结果,以使交易方获知交易结果。
本申请实施例还提供了另一种基于区块链的交易处理方法,该基于区块链的交易处理方法可以应用于图3所示的实施环境,该方法可以由图3中所示的服务方来执行,如图7所示,该基于区块链的交易处理方法在图4中所示的基础上,将S410扩展为S710,此时,将S420扩展为S720。步骤S710~S720详细介绍如下:
S710、接收各个交易方分别发送的待处理交易,以得到多个待处理交易。
在本申请实施例中,服务方可以在同一时间接收多个交易方分别发送的待处理交易,得到多个待处理交易;服务方也可以在一段时间段内接收多个交易方分别发送的待处理交易。
S720、根据多个待处理交易生成服务交易,并对服务交易进行签名得到上链交易信息。
在本申请实施例中,服务方根据多个待处理交易生成一服务交易,之后服务方使用自身的私钥对服务交易进行签名得到上链交易信息,通过签名来表征上链交易信息受到服务方授权。
其中,服务方根据多个待处理交易生成一服务交易可以是直接将多个待处理交易打包为一个服务交易,可以是对多个待处理交易进行相应处理后,根据处理后的待处理交易生成一服务交易。
需要说明的是,图7中所示的步骤S430~S440的其他详细介绍请参见图4中所示的步骤S430~S440,在此不再赘述。
本申请实施例中,服务方接收多个交易方的待处理交易,以生成一笔交易方的服务交易,节省服务方的处理资源,服务方通过签名来表征上链交易信息是合法信息,保证信息的可靠性。
在本申请的一个实施例中,还提供了另一种基于区块链的交易处理方法,该基于区块链的交易处理方法可以应用于图3所示的实施环境,该方法可以由图3中所示的服务方来执行,如图8所示,该基于区块链的交易处理方法在图7中所示的基础上,将S720扩展为S810~S820,其中,步骤S710中的待处理交易是基于交易方的私钥进行签名所生成的。步骤S810~S820详细介绍如下:
S810、对各个交易方的签名分别进行验证得到验证结果,并根据验证结果确定目标待处理交易。
在本申请实施例中,服务方会对交易方的签名进行验证,以确定交易方发送的待处理交易是合法交易。其中,服务方对交易方的签名验证时,可以使用交易方的公钥进行验证得到验证结果,验证结果包括验证成功和验证失败,将验证成功的待处理交易作为目标待处理交易。
S820、将多个目标待处理交易进行打包,得到服务交易,对服务交易进行签名得到上链交易信息。
在本申请实施例中,服务方会将多个目标待处理交易进行打包,形成一服务交易,然后对该服务交易进行签名得到上链交易信息。
需要说明的是,图8中所示的步骤S710、S430~S440的其他详细介绍请参见图7所示的步骤S710、S430~S440,在此不再赘述。
本申请实施例,服务方需要先对交易方的签名进行验证,保证待处理交易的可靠性和安全性,然后通过将多个验证成功的待处理交易打包得到服务交易,实现从交易方至服务方的转换,以便于后续服务方进行交易上链。
图4至图8所示实施例是从区块链节点的角度进行的阐述,以下结合图9至图15从区块链节点的角度对本申请实施例的技术方案的实现细节进行详细阐述:
本申请实施例提供了一种基于区块链的交易处理方法,该基于区块链的交易处理方法包括可以应用于图3所示的实施环境,该方法可以由图3中所示的区块链节点来执行,该基于区块链的交易处理方法包括S910~S930。步骤S910~S930详细介绍如下:
S910、接收服务方发送的上链交易信息和服务方预支付的交易消耗资源,上链交易信息是服务方对交易方发送的待处理交易进行封装得到的。
在本申请实施例中,区块链节点会接收服务方发送的上链交易信息,以及服务方预支付的交易消耗资源,上链交易信息的获得过程请参见图4,在此不再赘述。
S920、对上链交易信息进行解析得到待处理交易,并执行待处理交易。
由于上链交易信息是封装得到的,区块链节点会对上链交易信息进行解析得到该待处理交易;由于服务方预支付的交易消耗资源,区块链节点可以对上链交易信息处理,即对上链交易信息进行解析得到交易方的待处理交易,然后执行待处理交易。
S930、向服务方发送资源结算信息,其中,资源结算信息中携带有针对待处理交易从预支付的交易消耗资源中所结算的资源信息。
在本申请实施例中,区块链节点在执行完待处理交易后,会对服务方预支付的交易消耗资源进行结算得到资源结算信息,结算指的是核算执行待处理交易所花费的交易消耗资源,进而区块链节点向服务方发送资源结算信息,以告知服务方针对该待处理交易从预支付的交易消耗资源中所结算的资源信息。
本申请实施例中,区块链节点接收服务方发送的上链交易信息,通过对上链交易信息进行解析,进而执行交易方的待处理交易,最后对服务方预支付的交易消耗资源进行结算,在实现交易处理的同时,实现服务方为交易方支付交易消耗资源。
本申请实施例提供了另一种基于区块链的交易处理方法,该基于区块链的交易处理方法包括可以应用于图3所示的实施环境,该方法可以由图3中所示的区块链节点来执行,如图10所示,该基于区块链的交易处理方法在图9的基础上,在步骤S930之后增加了步骤S1010~S1020。其中,步骤S1010~S1020详细介绍如下:
S1010、根据执行待处理交易所得到的交易结果,生成针对上链交易信息的执行结果。
可以理解的是,区块链节点执行待处理交易会得到交易结果,根据交易结果生成针对上链交易信息的执行结果。
在一示例中,若待处理交易有多个,则将多个待处理交易的交易结果打包形成针对上链交易信息的执行结果;若待处理交易只有一个,则可以将该待处理交易的交易结果作为上链交易信息的执行结果。
在一示例中,区块链节点将多个待处理交易的交易结果打包,对打包后的交易结果进行签名,得到针对上链交易信息。
S1020、将上链交易信息的执行结果发送至服务方,以使服务方根据执行结果将针对待处理交易的交易结果发送至交易方。
本申请实施例中,区块链节点生成上链交易信息的执行结果后,将上链交易信息的执行结果发送至服务方,进而服务方根据执行结果,获取针对待处理交易的交易结果,进而将待处理交易的交易结果发送至交易方。
需要说明的是,图10中所示的步骤S910~S930的其他详细介绍请参见图9所示的步骤S910~S930,在此不再赘述。
本申请实施例中,区块链节点通过上链交易信息的执行结果将待处理交易的交易结果发送至服务方,进而由服务方发送至交易方,保证交易处理的完整。
本申请实施例提供了另一种基于区块链的交易处理方法,该基于区块链的交易处理方法包括可以应用于图3所示的实施环境,该方法可以由图3中所示的区块链节点执行,如图11所示,该基于区块链的交易处理方法在图9中所示的基础上,将S920扩展为步骤S1110~S1130。其中,S910中的待处理交易是基于交易方的私钥进行签名所生成的,上链交易信息是基于服务方的签名所生成的。其中,步骤S1110~S1130详细介绍如下:
S1110、对服务方的签名进行验证,若对服务方的签名验证通过,则对上链交易信息进行解析得到待处理交易。
在本申请实施例中,服务方对服务交易进行签名得到上链交易信息,区块链节点接收到上链交易信息,首先会对服务方的签名进行验证,即使用服务方的公钥对签名验证,若对服务方的签名验证通过,则表示上链交易信息是来自服务方的合法信息,则对上链交易信息进行解析得到待处理交易。
S1120、运行服务合约,以根据服务合约对交易方的签名进行验证,服务合约是服务方部署在区块链网络中的。
在本申请实施例中,对上链交易信息验证通过时,得到待处理交易后,还需要对待处理交易进行验证。区块链节点会运行服务合约,该服务合约是服务方部署在区块链网络中,通过服务合约的代码的执行,对交易方的签名进行验证,以再次确认待处理交易是否为合法交易。
S1130、若对交易方的签名验证通过,则执行待处理交易得到交易结果。
在本申请实施例中,若区块链节点对交易方的签名验证通过,则表示待处理交易为合法交易,则区块链节点执行该待处理交易,得到该待处理交易的交易结果。
需要说明的是,图11中所示的步骤S910、S930的其他详细介绍请参见图9所示的步骤S910、S930,在此不再赘述。
本申请实施例中,区块链节点先对服务方的签名进行验证,保证上链交易信息的可靠性,然后通过服务合约对交易方的签名进行验证,并在验证通过后,执行待处理交易,保证待处理交易的处理的安全性。
值得注意的是,本申请实施例提供了另一种基于区块链的交易处理方法,该基于区块链的交易处理方法可以应用于图3所示的实施环境,该方法可以由图3中所示的区块链节点来执行,如图12所示,该基于区块链的交易处理方法在图9中所示的基础上,将S920扩展为步骤S1210~S1220。其中,步骤S1210~S1220,详细介绍如下:
S1210、对上链交易信息进行解析得到待处理交易,获取待处理交易的交易参数。
在本申请实施例中,在解析得到待处理交易后,可以从待处理交易中提取交易参数,该交易参数包括表征交易内容的参数,例如待处理交易为从交易方A转账一笔资金到交易方B,则交易参数包括转账的资金,和交易双方,即交易方A和交易方B。
S1220、运行交易参数对应的逻辑智能合约,以根据逻辑智能合约执行待处理交易,得到交易结果。
在本申请实施例中,交易参数不同对应的逻辑智能合约也不同,其中逻辑智能合约用于实现交易参数的交易内容,因此在获取待处理交易的交易参数后,区块链节点从区块链网络中调用交易参数对应的逻辑智能合约,然后运行该逻辑智能合约,通过逻辑智能合约的具体代码执行待处理交易,得到交易结果。
例如,通过逻辑智能合约的具体代码将从交易方A转账一笔资金到交易方B,得到交易结果为转账成功,或转账失败。
在一示例中,待处理交易的交易内容包含多种,则交易参数也包含多种,例如待处理交易的交易内容为从交易方A的x资金转换为Y国的资金,然后将转换后的Y国资金转账到交易方B,则交易参数包括对应资金转换的交易参数,即转换的资金和资金转换双方;交易参数还包括对应资金转账的交易参数,即转账的资金和交易双方;则在运行交易参数对应的逻辑智能合约时,可以运行一个逻辑智能合约以实现不同的交易参数,如运行一个逻辑智能合约同时实现资金转换和资金转账,也可以运行两个逻辑智能合约,以分别实现资金转换和资金转账。
在其他实施例中,获取待处理交易的交易参数后,该区块链节点还可以将待处理交易发送至其他区块链节点,该区块链节点运行有交易参数对应的逻辑智能合约,进而通过其他区块链节点运行的逻辑智能合约执行待处理交易得到交易结果。
在本申请的其他实施例中,步骤S1210~S1220还可以是在图11所示的实施例上执行的,即通过S1110~S1130,执行待处理交易时,执行S1210~S1220。
需要说明的是,图12中所示的步骤S910、S930的其他详细介绍请参见图9所示的步骤S910、S930,在此不再赘述。
本申请实施例,区块链节点通过获取待处理交易的交易参数,进而运行交易参数对应的逻辑智能合约执行待处理交易,以使得待处理交易正确执行,保证交易结果的可靠性。
本申请实施例提供了另一种基于区块链的交易处理方法,该基于区块链的交易处理方法包括可以应用于图3所示的实施环境,该方法可以由图3中所示的区块链节点来执行,该基于区块链的交易处理方法在图9至图12中所示的基础上,在S930之前增加步骤S1310~S1320。如图13所示,以在图9的基础上,增加步骤S1310~S1320进行说明。步骤S1310~S1320详细介绍如下:
S1310、获取待处理交易的交易参数。
在本申请实施例中,从待处理交易的交易参数中提取交易参数,该交易参数包括表征交易内容的参数。
S1320、根据待处理交易的交易参数对预支付的交易消耗资源进行结算得到资源结算信息。
在本申请实施例中,待处理交易的交易参数包括表征交易内容的参数,区块链节点可以通过交易内容的参数来确定计算资源和存储资源的消耗,进而根据计算资源和存储资源的消耗对预支付的交易消耗资源进行结算得到资源结算信息。
在本申请的其他实施例中,区块链节点中预先存储有交易内容和该交易内容所需支付的交易消耗资源的关系表,进而获取待处理交易的交易参数后,通过交易参数确定交易内容,将所确定的交易内容与预先存储的关系表进行比对,得到所确定的交易内容所需支付的交易消耗资源,进而对预支付的交易消耗资源进行结算。
可以理解的是,对预支付的交易消耗资源进行结算包括从预支付的交易消耗资源中不扣取交易消耗资源,和从预支付的交易消耗资源中扣取对应的交易消耗资源。
需要说明的是,图13中所示的步骤S910~S930的其他详细介绍请参见图9所示的步骤S910~S930,在此不再赘述。
本申请实施例中,区块链节点根据待处理交易的交易参数对预支付的交易消耗资源进行结算,使得所得到资源结算信息与待处理交易的交易内容相关,保证结算的可靠性和准确性。
请参阅图14,图14是本申请的一个实施例示出的基于区块链的交易处理方法的流程图,该方法可以由图3中所示的区块链节点来执行,如图14所示,该基于区块链的交易处理方法在图13中所示的基础上,将S1320扩展为S1410~S1420,详细介绍如下:
S1410、根据待处理交易的交易参数,确定针对待处理交易的交易消耗资源的支付状态。
在本申请实施例中,支付状态包括针对待处理交易是否需要支付交易消耗资源,以及支付何种类型的交易消耗资源。
在一示例中,区块链节点通过待处理交易的交易参数可获取交易内容,通过交易内容的复杂度来衡量是否需要支付交易消耗资源。
可以理解的是,在一些场景中,交易方第一次加入区块链网络时,通过区块链网络处理交易时,需要支付交易消耗资源,因此,在一示例中,区块链节点可以根据交易参数判断待处理交易所属交易方是否是第一次加入区块链网络,来确定是否需要支付交易消耗资源。
在另一些场景中,交易方为了使区块链节点优先处理自己的交易,会主动支付交易消耗资源,因此,在另一示例中,区块链节点还可以根据交易参数来确定是否是区块链节点主动的支付交易消耗资源,来确定针对待处理交易是否需要交易消耗资源。
在本申请实施例中若需要支付交易消耗资源,可以由区块链节点确定支付何种类型的交易消耗资源,也可以根据交易内容来确定支付何种类型的交易消耗资源,还可以根据交易参数中除表征交易内容外的其他参数确定。
S1420、若支付状态指示需要支付针对待处理交易的交易消耗资源,以及所需支付的交易消耗资源的资源类型,则从预支付的交易消耗资源中,结算与资源类型相匹配的待处理交易的所需支付的交易消耗资源得到资源结算信息。
在本申请实施例中,预支付的交易消耗资源包括多种类型的交易消耗资源,若支付状态指示需要支付针对待处理交易的交易消耗资源,则区块链节点需要从预支付的交易消耗资源中扣取对应的资源,其中,区块链节点在扣取资源时,需要扣除与支付状态所指示的资源类型相匹配的资源,得到资源结算信息。
例如针对待处理交易1,支付状态指示需要支付5个单位的资源类型为1的交易消耗资源,而预支付的交易消耗资源包括50个单位的资源类型1的交易消耗资源、50个单位的资源类型2的交易消耗资源;则从预支付的交易消耗资源扣除5个单位的资源类型1的交易消耗资源,得到资源结算信息,该资源结算信息包括,从预支付的交易消耗资源扣除了5个单位的资源类型1的交易消耗资源,剩余45个单位的资源类型1的交易消耗资源和50个单位的资源类型2的交易消耗资源。
需要说明的是,图14中所示的步骤S910~S920、S1310、S930的其他详细介绍请参见图13所示的步骤S910~S920、S1310、S930,在此不再赘述。
本申请实施例中,区块链节点通过待处理交易的交易参数来确定是否需要扣除待处理交易对应的交易消耗资源,以及在扣取资源时,扣除资源类型对应的资源,在保证资源结算的可靠性的同时,支持多种资源类型的交易消耗资源的支付。
值得注意的是,本申请实施例提供了另一种基于区块链的交易处理方法,该基于区块链的交易处理方法可以应用于图3所示的实施环境,该方法可以由图3中所示的区块链节点来执行,如图15所示,该基于区块链的交易处理方法在图14的基础上,将图14中的S1410扩展为S1510~S1530。其中,步骤S1510~S1530详细介绍如下:
S1510、从待处理交易的交易参数中提取支付标识。
在本申请实施例中,待处理交易的交易参数中包括有支付标识,该支付标识用于表示待处理交易是否需要支付交易消耗资源;其中该支付标识可以是由交易方添加到交易参数中的,例如交易方为了使区块链节点优先处理该交易,主动添加至交易参数中;该支付标识也可以是由服务方添加到交易参数中的,例如服务方经确认该交易方是第一次加入区块链网络后,将支付标识添加到交易参数中。该支付标识还可以是由交易参数对应的逻辑智能合约添加到交易参数中的,例如逻辑智能合约在执行该交易参数对应的待处理交易时,花费的计算和存储资源大于预设资源阈值,将需要支付交易消耗资源的支付标识。
S1520、若支付标识表征需要支付针对待处理交易的交易消耗资源,则从待处理交易对应的交易参数中提取支付地址。
若支付标识表征需要服务方支付针对待处理交易的交易消耗资源,区块链节点需要进一步确定需要支付那种类型的交易消耗资源。其中,需要先从交易参数中提取支付地址,该支付地址用于表示收取所支付的交易消耗资源的收取地址。
在一示例中,该支付地址是由区块链节点确定的,例如区块链节点调用逻辑智能合约,由逻辑智能合约确定该收取的资源类型,进而将支付地址写入交易参数中。
在另一示例中,区块链节点可以支付各自资源类型的交易消耗资源,则该支付地址可以是交易方写入交易参数中的,也可以是服务方写入交易参数中的。
S1530、根据支付地址,确定待处理交易的所需支付的交易消耗资源的资源类型。
需要说明的是,不同的支付地址,所收取的资源类型不同,因此可通过支付地址确定所收取的资源类型,将所收取的资源类型作为待处理交易的所需支付的交易消耗资源的资源类型。
需要说明的是,图15中所示步骤S910~S920、S1310、S1420、S930的详细介绍请参见图14中所示的步骤S910~S920、S1310、S1420、S930,在此不再赘述。
本申请实施例中,区块链节点通过待处理的交易参数中的支付标识,在确认需要针对待处理交易支付交易消耗资源时,再通过交易参数中的支付地址来确定资源类型,实现交易消耗资源的准确结算。
为了便于理解,以下基于图3所示的实施环境对本申请实施例提供的基于区块链的交易处理方法进行详细说明:本实施例提供的基于区块链的交易处理方法通过在链外通过一个服务方对对象的链外账户发出的交易进行打包,通过将打包的交易进行上链调用服务方部署在区块链上的合约,通过服务方的合约实现代替对象发出链上交易调用请求,并且通过合约账户为对象的交易支付交易消耗资源,解决对象在区块链网路发出交易需要自身交易消耗资源和交易消耗资源的数字资源种类不多的问题。
如图16所示,系统包括对象、客户端,该客户端运行有交易应用程序,服务方、部署有服务合约的区块链节点、逻辑智能合约,该逻辑智能合约可以部署在其他区块链节点中,该基于区块链的交易处理方法包括:
S1601、对象在客户端运行的交易应用程序上发起交易请求。
S1602、客户端根据该交易请求,导入对象的私钥,对交易进行签名。
在本申请实施例中,交易请求中包含对象的交易需求,交易方根据该交易需求生成交易,然后向对象请求私钥,进而导入对象的私钥对交易进行签名得到待处理交易。
S1603、客户端将待处理交易发送至服务方。
S1604、服务方收集待处理交易,并进行验签。
服务方收到待处理交易,首先会对对象的交易签名验证,确认对象的待处理交易为合法交易。
S1605、服务方将多笔不同待处理交易进行打包形成一笔服务方的服务交易。
S1606、服务方对服务信息进行签名得到上链交易信息。
S1607、服务方将上链交易信息发送至区块链节点,并预支付交易消耗资源。
服务方调用其部署的服务合约进行上链,并且服务方向区块链节点预先对交易手续费进行支付。
S1608、区块链节点通过服务合约解析上链交易信息,得到多个待处理交易。
服务合约执行上链交易信息,首先解析上链交易信息中的calldata数据,解析出多笔交易数据。
S1609、区块链节点通过服务合约循环验证签名,按照交易参数进行合约调用。
循环验证指的依次验证多个待处理交易的签名,区块链节点通过服务合约循环验证各个待处理交易的对象签名,在签名验证通过时,会通过待处理交易的交易参数调用指定的逻辑智能合约进行具体代码的执行。
S1610、逻辑智能合约执行交易逻辑,并且返回逻辑合约的交易结果。
区块链节点调用逻辑智能合约,通过逻辑智能合约中预先设置的代码执行待处理交易的交易逻辑。
S1611、区块链节点结算交易消耗资源。
区块链节点每获得一个待处理交易的交易结果后,对该待处理交易的交易消耗资源进行结算,即从预支付的交易消耗资源中扣除多少交易消耗资源。
其中,区块链节点在进行结算时,可以根据待处理交易的交易参数确认针对待处理交易是否需要支付交易消耗资源,以及支付何种资源类型的交易消耗资源。
S1612、区块链节点循环执行剩余的待处理交易,得到针对上链交易信息的执行结果。
在执行剩余的待处理交易后,也需要针对剩余的待处理交易进行资源结算。
S1613、区块链节点将执行结果发送至服务方。
S1614、服务方将针对待处理交易的交易结果发送至客户端。
在本申请实施例中,服务方接收到上链交易信息的执行结果后,对该执行结果进行解析得到多个待处理交易的交易结果,进而将对应的待处理交易的交易结果发送至客户端,客户端可以通过运行的应用程序将交易结果展示给对象。
相对于现有技术中对象支付交易消耗资源只能使用区块链的指定数字资源进行交易消耗的支付,本申请实施例中支持第三方为对象发出的交易进行交易消耗资源的支付,且支持多种资源类型的交易消耗资源的支付。
介绍本申请的装置实施例,可以用于执行本申请上述实施例中的基于区块链的交易处理方法。对于本申请装置实施例中未披露的细节,请参照本申请上述的基于区块链的交易处理方法的实施例。
本申请实施例提供了一种基于区块链的交易处理装置,如图17所示,该基于区块链的交易处理装置可以配置于服务方中,装置包括:
第一接收模块1710,用于接收交易方发送的待处理交易;
封装模块1720,用于对待处理交易进行封装得到上链交易信息;
第一发送模块1730,用于将上链交易信息发送至对应的区块链节点,并向区块链节点预支付交易消耗资源,以通过区块链节点执行上链交易信息;
第一接收模块1710,还用于接收区块链节点发送的资源结算信息,资源结算信息中携带有针对待处理交易从预支付的交易消耗资源中所结算的资源信息。
在本申请的一个实施例中,基于前述方案,第一发送模块1730进一步用于获取服务方部署在区块链网络中的服务合约;将上链交易信息发送至调用服务合约的区块链节点;通过服务合约对应的合约账户向区块链节点预支付交易消耗资源。
在本申请的一个实施例中,基于前述方案,第一发送模块1730还用于根据资源结算信息向交易方发送资源支付信息,以使交易方支付与所结算的资源信息对应的目标资源;根据区块链节点返回的针对上链交易信息的执行结果,将针对待处理交易的交易结果发送至交易方。
在本申请的一个实施例中,基于前述方案,第一接收模块1710进一步用于接收各个交易方分别发送的待处理交易,以得到多个待处理交易;封装模块1720进一步用于根据多个待处理交易生成服务交易,并对服务交易进行签名得到上链交易信息。
在本申请的一个实施例中,基于前述方案,待处理交易是基于交易方的私钥进行签名所生成的,封装模块1720进一步用于对各个交易方的签名分别进行验证得到验证结果,并根据验证结果确定目标待处理交易;将多个目标待处理交易进行打包,得到服务交易。
本申请实施例提供了一种基于区块链的数据处理装置,如图18所示,该基于区块链的交易处理装置可以配置于区块链节点中,装置包括:
第二接收模块1810,用于接收服务方发送的上链交易信息和服务方预支付的交易消耗资源,上链交易信息是服务方对交易方发送的待处理交易进行封装得到的;
执行模块1820,用于对上链交易信息进行解析得到待处理交易,并执行待处理交易;
第二发送模块1830,用于向服务方发送资源结算信息,其中,资源结算信息中携带有针对待处理交易从预支付的交易消耗资源中所结算的资源信息。
在本申请的一个实施例中,基于前述方案,第二发送模块1830还用于根据执行待处理交易所得到的交易结果,生成针对上链交易信息的执行结果;将上链交易信息的执行结果发送至服务方,以使服务方根据执行结果将针对待处理交易的交易结果发送至交易方。
在本申请的一个实施例中,基于前述方案,待处理交易是基于交易方的私钥进行签名所生成的,上链交易信息是基于服务方的签名所生成的;执行模块1820进一步用于对服务方的签名进行验证,若对服务方的签名验证通过,则对上链交易信息进行解析得到待处理交易;运行服务合约,以根据服务合约对交易方的签名进行验证,服务合约是服务方部署在区块链网络中的;若对交易方的签名验证通过,则执行待处理交易得到交易结果。
在本申请的一个实施例中,基于前述方案,执行模块1820进一步用于获取待处理交易的交易参数;运行交易参数对应的逻辑智能合约,以根据逻辑智能合约执行待处理交易,得到交易结果。
在本申请的一个实施例中,基于前述方案,装置还包括结算模块,结算模块进一步用于获取待处理交易的交易参数;根据待处理交易的交易参数对预支付的交易消耗资源进行结算得到资源结算信息。
在本申请的一个实施例中,基于前述方案,结算模块进一步用于根据待处理交易的交易参数,确定针对待处理交易的交易消耗资源的支付状态;若支付状态指示需要支付针对待处理交易的交易消耗资源,以及所需支付的交易消耗资源的资源类型,则从预支付的交易消耗资源中,结算与资源类型相匹配的待处理交易的所需支付的交易消耗资源得到资源结算信息。
在本申请的一个实施例中,基于前述方案,结算模块进一步用于从待处理交易的交易参数中提取支付标识;若支付标识表征需要支付针对待处理交易的交易消耗资源,则从待处理交易对应的交易参数中提取支付地址;根据支付地址,确定待处理交易的所需支付的交易消耗资源的资源类型。
需要说明的是,上述实施例所提供的装置与上述实施例所提供的方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
本申请的实施例还提供了一种电子设备,包括一个或多个处理器,以及存储装置,其中,存储装置,用于存储一个或多个计算机程序,当一个或多个计算机程序被一个或多个处理器执行时,使得电子设备实现如上的基于区块链的交易处理方法。
图19示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图19示出的电子设备的计算机系统1900仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制,其中,该电子设备可以是客户端或服务器。
如图19所示,计算机系统1900包括处理器(Central Processing Unit,CPU)1901,其可以根据存储在只读存储器(Read-Only Memory,ROM)1902中的程序或者从储存部分1908加载到随机访问存储器(Random Access Memory,RAM)1903中的程序而执行各种适当的动作和处理,例如执行上述实施例中的方法。在RAM 1903中,还存储有系统操作所需的各种程序和数据。CPU 1901、ROM 1902以及RAM 1903通过总线1904彼此相连。输入/输出(Input/Output,I/O)接口1905也连接至总线1904。
在一些实施例中,以下部件连接至I/O接口1905:包括键盘、鼠标等的输入部分1906;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid CrystalDisplay,LCD)等以及扬声器等的输出部分1907;包括硬盘等的储存部分1908;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分1909。通信部分1909经由诸如因特网的网络执行通信处理。驱动器1910也根据需要连接至I/O接口1905。可拆卸介质1911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1910上,以便于从其上读出的计算机程序根据需要被安装入储存部分1908。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分1909从网络上被下载和安装,和/或从可拆卸介质1911被安装。在该计算机程序被处理器(CPU)1901执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机程序的组合来实现。
描述于本申请实施例中所涉及到的单元或者模块可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元或者模块也可以设置在处理器中。其中,这些单元或者模块的名称在某种情况下并不构成对该单元或者模块本身的限定。
本申请的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前所述所述的方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
本申请的另一方面还提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该电子设备执行上述各个实施例中提供如前所述所述的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
本领域技术者在考虑说明书及实践这里公开的实施方式后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
上述内容,仅为本申请的较佳示例性实施例,并非用于限制本申请的实施方案,本领域普通技术者根据本申请的主要构思和精神,可以十分方便地进行相应的变通或修改,故本申请的保护范围应以权利要求书所要求的保护范围为准。

Claims (17)

1.一种基于区块链的交易处理方法,其特征在于,包括:
接收交易方发送的待处理交易;
对所述待处理交易进行封装得到上链交易信息;
将所述上链交易信息发送至对应的区块链节点,并向所述区块链节点预支付交易消耗资源,以通过所述区块链节点执行所述上链交易信息;
接收所述区块链节点发送的资源结算信息,所述资源结算信息中携带有针对所述待处理交易从预支付的交易消耗资源中所结算的资源信息。
2.根据权利要求1所述的方法,其特征在于,所述将所述上链交易信息发送至对应的区块链节点,并向所述区块链节点预支付交易消耗资源,包括:
获取服务方部署在区块链网络中的服务合约;
将所述上链交易信息发送至调用所述服务合约的区块链节点;通过所述服务合约对应的合约账户向所述区块链节点预支付所述交易消耗资源。
3.根据权利要求1所述的方法,其特征在于,在所述接收所述区块链节点发送的资源结算信息之后,所述方法还包括:
根据所述资源结算信息向所述交易方发送资源支付信息,以使所述交易方支付与所述所结算的资源信息对应的目标资源;
根据所述区块链节点返回的针对所述上链交易信息的执行结果,将针对所述待处理交易的交易结果发送至所述交易方。
4.根据权利要求1所述的方法,其特征在于,所述接收交易方发送的待处理交易,包括:接收各个交易方分别发送的待处理交易,以得到多个待处理交易;
所述对所述待处理交易进行封装得到上链交易信息,包括:
根据所述多个待处理交易生成服务交易,并对所述服务交易进行签名得到所述上链交易信息。
5.根据权利要求4所述的方法,其特征在于,所述待处理交易是基于所述交易方的私钥进行签名所生成的;所述根据所述多个待处理交易生成服务交易,包括:
对各个交易方的签名分别进行验证得到验证结果,并根据所述验证结果确定目标待处理交易;
将多个所述目标待处理交易进行打包,得到所述服务交易。
6.一种基于区块链的交易处理方法,其特征在于,包括:
接收服务方发送的上链交易信息和所述服务方预支付的交易消耗资源,所述上链交易信息是所述服务方对交易方发送的待处理交易进行封装得到的;
对所述上链交易信息进行解析得到所述待处理交易,并执行所述待处理交易;
向所述服务方发送资源结算信息,其中,所述资源结算信息中携带有针对所述待处理交易从所述预支付的交易消耗资源中所结算的资源信息。
7.根据权利要求6所述的方法,其特征在于,所述向所述服务方发送资源结算信息之后,所述方法还包括:
根据执行所述待处理交易所得到的交易结果,生成针对所述上链交易信息的执行结果;
将所述上链交易信息的执行结果发送至所述服务方,以使服务方根据所述执行结果将针对所述待处理交易的交易结果发送至所述交易方。
8.根据权利要求6所述的方法,其特征在于,所述待处理交易是基于所述交易方的私钥进行签名所生成的,所述上链交易信息是基于服务方的签名所生成的;所述对所述上链交易信息进行解析得到所述待处理交易,并执行所述待处理交易,包括:
对所述服务方的签名进行验证,若对所述服务方的签名验证通过,则对所述上链交易信息进行解析得到所述待处理交易;
运行服务合约,以根据所述服务合约对所述交易方的签名进行验证,所述服务合约是所述服务方部署在区块链网络中的;
若对所述交易方的签名验证通过,则执行所述待处理交易得到交易结果。
9.根据权利要求6所述的方法,所述执行所述待处理交易,包括:
获取所述待处理交易的交易参数;
运行所述交易参数对应的逻辑智能合约,以根据所述逻辑智能合约执行所述待处理交易得到交易结果。
10.根据权利要求6至9任一项所述的方法,其特征在于,所述方法还包括:
获取所述待处理交易的交易参数;
根据所述待处理交易的交易参数对所述预支付的交易消耗资源进行结算得到所述资源结算信息。
11.根据权利要求10所述的方法,其特征在于,所述根据所述待处理交易的交易参数对所述预支付的交易消耗资源进行结算得到所述资源结算信息,包括:
根据所述待处理交易的交易参数,确定针对所述待处理交易的交易消耗资源的支付状态;
若所述支付状态指示需要支付针对所述待处理交易的交易消耗资源,以及所需支付的交易消耗资源的资源类型,则从所述预支付的交易消耗资源中,结算与所述资源类型相匹配的所述待处理交易的所需支付的交易消耗资源得到所述资源结算信息。
12.根据权利要求11所述的方法,其特征在于,所述根据所述待处理交易的交易参数,确定针对所述待处理交易的交易消耗资源的支付状态,包括:
从所述待处理交易的交易参数中提取支付标识;
若所述支付标识表征需要支付针对所述待处理交易的交易消耗资源,则从所述待处理交易对应的交易参数中提取支付地址;
根据所述支付地址,确定所述待处理交易的所需支付的交易消耗资源的资源类型。
13.一种基于区块链的交易处理装置,其特征在于,包括:
第一接收模块,用于接收交易方发送的待处理交易;
封装模块,用于对所述待处理交易进行封装得到上链交易信息;
第一发送模块,用于将所述上链交易信息发送至对应的区块链节点,并向所述区块链节点预支付交易消耗资源,以通过所述区块链节点执行所述上链交易信息;
第一接收模块,还用于接收所述区块链节点发送的资源结算信息,所述资源结算信息中携带有针对所述待处理交易从预支付的交易消耗资源中所结算的资源信息。
14.一种基于区块链的交易处理装置,其特征在于,包括:
第二接收模块,用于接收服务方发送的上链交易信息和所述服务方预支付的交易消耗资源,所述上链交易信息是所述服务方对交易方发送的待处理交易进行封装得到的;
执行模块,用于对所述上链交易信息进行解析得到所述待处理交易,并执行所述待处理交易;
第二发送模块,用于向所述服务方发送资源结算信息,其中,所述资源结算信息中携带有针对所述待处理交易从所述预支付的交易消耗资源中所结算的资源信息。
15.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备执行权利要求1至6中任一项所述的方法,或执行权利要求7至12中任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,当所述计算机程序被电子设备的处理器执行时,使得所述电子设备执行权利要求1至6中任一项所述的方法,或执行权利要求7至12中任一项所述的方法。
17.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中,电子设备的处理器从所述计算机可读存储介质读取并执行所述计算机程序,使所述电子设备执行权利要求1至6中任一项所述的方法,或执行权利要求7至12中任一项所述的方法。
CN202211742668.4A 2022-12-27 2022-12-27 基于区块链的交易处理方法、装置、设备、介质及产品 Pending CN118261597A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211742668.4A CN118261597A (zh) 2022-12-27 2022-12-27 基于区块链的交易处理方法、装置、设备、介质及产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211742668.4A CN118261597A (zh) 2022-12-27 2022-12-27 基于区块链的交易处理方法、装置、设备、介质及产品

Publications (1)

Publication Number Publication Date
CN118261597A true CN118261597A (zh) 2024-06-28

Family

ID=91601460

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211742668.4A Pending CN118261597A (zh) 2022-12-27 2022-12-27 基于区块链的交易处理方法、装置、设备、介质及产品

Country Status (1)

Country Link
CN (1) CN118261597A (zh)

Similar Documents

Publication Publication Date Title
CN109146490B (zh) 区块生成方法、装置和系统
US11410166B2 (en) Systems and methods for automated decentralized multilateral transaction processing
CN112862612A (zh) 一种跨链发送资源的方法和装置
CN108390872B (zh) 证书管理方法、装置、介质及电子设备
CN110601896B (zh) 一种基于区块链节点的数据处理方法以及设备
CN110489325A (zh) 车险数据测试方法、装置、测试平台及车险测试系统
AU2022279532A1 (en) Peer-to-peer money transfers
CN112613877B (zh) 应用于区块链网络的智能合约触发方法、装置及相关设备
CN110838065A (zh) 一种交易数据处理方法及装置
CN111222841B (zh) 一种基于区块链的数据分配方法及其设备、存储介质
CN110910230A (zh) 一种记账方法、记账系统及存储介质
CN110572457B (zh) 基于区块链的资源申请方法及装置、电子设备、存储介质
CN110070357B (zh) 数据处理方法、装置和系统
CN110675159A (zh) 金融市场交易事前风险控制方法、系统及电子设备
JP2024516119A (ja) セキュアなセンサデータ配信
WO2023005500A1 (zh) 跨链交易处理方法、装置、电子设备以及存储介质
TWI839875B (zh) 支付方法、使用者終端、裝置、設備、系統及介質
CN113220640B (zh) 一种基于区块链的仲裁方法及装置
CN118261597A (zh) 基于区块链的交易处理方法、装置、设备、介质及产品
WO2023044417A1 (en) Systems and methods for application-based management of transactions
CN114581088A (zh) 一种用于SaaS系统的聚合支付方法、装置和系统
CN110535664B (zh) 基于区块链的数据处理方法、装置、服务器及存储介质
CN112926981A (zh) 用于区块链的交易信息处理方法、装置、介质及电子设备
CN113988982A (zh) 一种数据交易方法、装置、设备及存储介质
CN114169895A (zh) 一种支付信息处理系统、方法、装置、介质、产品和设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication