CN117495559A - 一种交易处理方法、装置、设备及存储介质 - Google Patents

一种交易处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN117495559A
CN117495559A CN202311416119.2A CN202311416119A CN117495559A CN 117495559 A CN117495559 A CN 117495559A CN 202311416119 A CN202311416119 A CN 202311416119A CN 117495559 A CN117495559 A CN 117495559A
Authority
CN
China
Prior art keywords
contract
transaction
sub
signature
algorithm
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
CN202311416119.2A
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 CN202311416119.2A priority Critical patent/CN117495559A/zh
Publication of CN117495559A publication Critical patent/CN117495559A/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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Databases & Information Systems (AREA)
  • Technology Law (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & 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为本申请实施例提供的一种计算设备的结构图。
具体实施方式
为了使本申请的目的、技术方案及有益效果更加清楚明白,以下将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,并不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下对本申请实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
1、区块链(Blockchain):包括一系列按照产生的先后时间顺序相互连接的区块(Block),其中,新区块一旦加入到区块链上就不会再被移除,区块中记录了区块链***中节点提交的记录数据。参见图1,示例性提供一种区块机构(Block Structure)示意图,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链,本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括管理、基础服务、智能合约等处理模块。其中,管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及身份和区块链地址对应关系维护(权限管理)等;基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能。
平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。
应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
区块链上又分为公链(Public Blockchain)、私链(Private Blockchain)和联盟链(Consortium Blockchain);这三种类型的区块链的核心区别在于访问权限的开放程度,或者叫去中心化程度不同。其中,公链为公有/公共的区块链,访问与编写的权限对所有使用者开放,即所有使用者都可以访问网络,无需中心化机构的授权;私链为私有的区块链,访问与编写的权限仅由某个机构/组织控制,即由机构/组织控制访问和使用,使用者必须先注册取得许可才可以使用;联盟链为机构联盟的区块链,访问与编写的权限仅对加入组织联盟的节点开放。
2、智能合约:计算机化的协议,指能够自动执行合约条款的计算机程序,具有事件驱动、价值转移、自动执行等特性。智能合约是存储在区块链上的程序,在满足预先确定的条件时会运行这些程序。它们通常用于自动执行协议,以便所有参与者都可以立即确定结果,而无需任何中间人参与,也不会浪费时间。它们还可以自动完成工作流程,在满足条件时触发下一个操作。即智能合约可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的电子资产转移到商户的地址;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。在本申请实施例中,目标综合合约、验签入口合约、交易合约等均属于智能合约。
3、签名算法是指数字签名的算法。数字签名,就是只有信息的发送者才能产生的,且别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。
4、综合合约用于辅助进行交易任务处理的功能,包括向其他合约发起交易,以最终实现交易任务处理;在本申请实施例中,综合合约通过调用验签入口合约验证目标对象发送的子交易信息和签名,以及用过调用交易合约完整目标对象触发的子交易任务。在一些应用中,本领域技术人员会使用“钱包合约”、“电子资产合约”、“区块链钱包”等替代本申请实施例中的“综合合约”。
5、验签入口合约是验签的调用入口,帮助分发子交易到指定验签算法合约进行验签,其中集合了所有验签算法合约的地址,支持验签算法的动态扩展。
6、验签算法合约用于各种验签算法的具体实现,由验签入口合约调用完成指定签名算法的验签操作。
7、交易合约为项目方在区块链部署的项目合约,用于实现各种交易任务。
8、目标对象为一个区块链使用者,持有公私钥对,通过私钥可以控制综合合约的所有钱,可以控制综合合约调用验签入口合约、交易合约等,以完整目标对象触发的交易任务。
9、部署对象为部署验签入口合约、验签算法合约的对象,一般为运营方。
下面对本申请实施例提供的设计思想进行简要介绍。
随着区块链技术的不断增长,越来越多的对象通过区块链技术进行交易任务处理。在通过区块链技术进行交易任务处理时,对象需要向区块链发送交易请求;区块链接收到交易请求后,首先通过用于提供电子资产交易功能的智能合约,向其他节点发起交易,然后通过其他节点中的交易合约实现对交易请求中的交易任务进行处理。
目前,在通过区块链技术进行交易任务处理时,区块链仅支持对象发送单笔交易,即对象每次仅能向区块链发起一笔交易,且每笔交易均需要一笔固定的交易费用。因此,当存在多笔交易时,需要对象针对每交易发送一个交易请求,操作复杂且限制了区块链的使用场景;同时,由于每个交易请求均会产生一笔费用(例如,每笔交易需要固定的21000gas),当存在多笔交易时,将产生多笔交易费用,使得交易费用提高。
因此,在通过区块链技术进行交易任务处理时,使区块链支持同时接收对象发送的多个交易任务,并通过不同交易合约执行相应的交易任务,实现交易任务批处理,以简化操作、节约成本是目前需要解决的技术问题。
有鉴于此,本申请实施例提供一种交易处理方法、装置、设备及存储介质;应用于计算机技术领域,尤其应用于区块链技术领域。
在本申请实施例中,区块链首先接收目标对象发送的交易请求,该交易请求中包括至少两个子交易信息以及综合合约地址,其中每个子交易信息关联一个子交易任务,以及,每个子交易信息中至少包含相关联的交易合约。显然,区块链支持接收目标对象发送的捆绑了多个交易的交易请求,即区块链支持同时接收多个交易;区块链在接收到交易请求后,根据综合合约地址获取关联的目标综合合约中存储的入口合约地址,并调用入口合约地址关联的验签入口合约,分别对至少两个子交易信息进行验证,且在针对至少两个子交易信息中的一个子交易信息验证通过后,调用一个子交易信息包含的交易合约,对一个子交易信息关联的交易任务进行处理,获得相应子交易处理结果,最后将获得的至少两个子交易处理结果返回给目标对象。显然,区块链在接收到交易请求后,调用验签入口合约对交易请求中的各个子交易信息进行验证,保证子交易信息的安全性、准确性,进一步调用交易合约对子交易任务进行处理,实现交易批处理技术。
综上,本申请的交易处理方法,提出一种支持同时接收对象发送的多个交易任务的区块链,即支持将与区块链交互的多个子交易捆绑为一个交易,并最终发送到区块链,再由区块链上部署的目标综合合约调用验签入口合约和交易合约,完成交易任务的批处理。这使得对象可以同时与区块链上的多个合约交互,且减少了每次发交易所需的费用,节约成本且简化操作。
本申请发明人考虑到,在区块链技术中,为了保证交易请求中至少两个子交易信息的安全性,信息发送方需要根据签名算法的私钥对交易请求以及交易请求中的至少两个子交易信息进行签名,而信息接收方会根据签名算法的公钥对接收到的信息进行签名验证,以保证接收信息的安全性。但是相关技术中出现的区块链上仅支持单一签名算法,此时将出现采用同一签名算法生成的公私钥对,对交易请求和交易请求中的至少两个子信息进行校验。
在上述采用同一签名算法生成的公私钥对,对交易请求和交易请求中的至少两个子信息进行校验的场景下,若公私钥对泄露,则交易请求中的所有信息均将泄露,降低数据传输的安全性,且区块链上仅支持单一签名算法,对区块链的应用发展造成了影响。
因此,为了保证交易信息的安全性,以及扩展区块链的应用发展,本申请实施例中,提出的一种支持同时接收对象发送的多个交易任务的区块链的基础上,又提出一种支持多签名算法的区块链,即区块链可以对使用不同签名算法对不同子交易信息进行验证。
例如,本申请实施例中提出的区块链上的签名算法至少包括:李维斯特-萨默尔-阿德曼(Rivest-Shamir-Adleman,RSA)算法、椭圆曲线加密(Ellipse CurveCryptography,ECC)算法、数字签名算法(Digital Signature Algorithm,DSA);此时,若信息发送方选择采用RSA算法的私钥对子交易信息A进行加密,则区块链将采用RSA算法的公钥对子交易信息A进行解密,同理若信息发送方选择采用ECC算法的私钥对子交易信息B进行加密,则区块链将采用ECC算法的公钥对子交易信息B进行解密;采用不同的签名算法对不同的交易信息进行处理,保证交易信息的安全性。
下面对本申请设置的应用场景进行简要说明。需要说明的是,以下成精仅用于说明本申请实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
参见图2,图2为本申请实施例提供的一种应用场景示意图。该应用场景中包括:第一设备210和区块链220;其中,第一设备210与区块链220之间可以通过通信网络进行通信。在一种可选的实施方式中,通信网络可以是有线网络或无线网络。因此,第一设备210与区块链220两两之间可以通过有线或无线通信方式进行直接或间接地连接。比如,第一设备210可以通过无线接入点与区块链220间接地连接,或第一设备210通过因特网与区块链220直接地连接,本申请在此不做限制。
其中,第一设备210为目标对象的终端设备,或为部署对象的终端设备;终端设备包括但不限于手机、平板电脑、笔记本电脑、台式电脑、电子书阅读器、智能语音交互设备、智能家电、车载终端等设备;终端设备上可以安装有各种客户端,该客户端可以是支持交易处理的在线平台、应用程序(例如浏览器、游戏软件、购物软件、视频播放器等),也可以是网页、小程序等。
区块链220为服务器,该服务与终端设备中安装的客户端相对应的后台服务器,用于处理交易任务。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
下面结合附图来描述本申请示例性实施方式提供的交易处理方法。需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
为了使区块链支持同时接收目标对象发送的多个交易任务,实现交易任务批处理,以简化操作、节约成本,以及为了保证交易任务批处理时,子交易信息的安全性、准确性,并扩展区块链的应用场景,而提出一种支持多种签名算法的交易批处理技术。其中,涉及一种基于综合合约对交易捆绑的交易批处理技术,以让对象调用区块链上的综合合约,通过综合合约调用区块链上的多个交易合约,实现与多个交易合约交互以完成交易任务批处理,节省成本,简化操作;此外,还涉及一种支持多种签名算法的交易批处理技术,提供动态可扩展的多种签名算法,使得对象根据自身需求,选择合适的签名算法向区块链发起交易,提升安全性、准确性,以及扩展区块链的应用场景。
因此,本申请实施例需要在区块链上部署综合合约,同时使对象持有控制综合合约所有权的私钥,以使对象利用私钥对多个子交易信息进行签名,再将多个子交易信息进行捆绑生成交易请求发送到区块链上的综合合约,形成一笔调用综合合约的交易,相应的区块链通过综合合约,对每个子交易信息调用验签入口合约,基于验签入口合约中集成的验签算法合约进行验证,因此还需要在区块链上部署验签入口合约以及在验签入口合约中集成验签算法合约,并在验证通过后,由综合合约调用子交易信息的交易合约,通过交易合约完整对象的交易任务。
综上,本申请实施例涉及在区块链上部署目标综合合、部署验签入口合约以及在验签入口合约中集成验签算法合约,以及目标对象与区块链交互实现交易任务批处理等实施方式。下面对各个实施方式分别进行说明。
实施例一:在区块链上部署目标综合合约。
参见图3,图3为本申请实施例提供的一种在区块链上部署目标综合合约的流程图,包括如下步骤:
步骤S301,区块链接收目标对象发送的综合合约部署请求,综合合约部署请求中携带至少一个部署签名算法,部署签名算法生成的公钥,以及入口合约地址。
在本申请实施例中,目标对象持有至少一把公私钥对,每把公私钥对对应一种签名算法;即不同的公私钥对是通过不同的签名算法生成的。目标对象向区块链发送综合合约请求时,会根据自身持有的公私钥对,确定综合合约部署请求中携带的至少一个部署签名算法,以及,部署签名算法生成的公钥。
例如,目标对象U持有的公私钥对分别为:[PublicUR,PrikeyUR]、[PublicUE,PrikeyUE]以及[PublicUD,PrikeyUD]。其中,[PublicUR,PrikeyUR]为RSA签名算法生成的公私钥对;[PublicUE,PrikeyUE]为ECC签名算法生成的公私钥对;[PublicUD,PrikeyUD]为DSA签名算法生成的公私钥对。需要说明的是,其他签名算法可根据实际应用场景自行扩展,此处仅以这三种签名算法为例,对本申请实施例的原理进行说明。
此时,综合合约部署请求中可以携带:RSA签名算法名称以及对应的公钥PublicUR、ECC签名算法名称以及对应的公钥PublicUE、DSA签名算法名称以及对应的公钥PublicUD。需要说明的是,使用名称对签名算法进行标识仅是一种可实现的实施方式,在本申请实施例中任何可用于标识区分签名算法的信息都可携带在综合合约部署请求中。
在本申请实施例中,综合合约部署请求中除了携带签名算法以及相应的公钥外,还携带有目标对象选择使用的验签入口合约的入口合约地址。其中,入口合约地址是通过实施例二的实施方式获得的,目标对象可直接选择使用。
在一种可能的实现方式中,目标对象除了上述三种公私钥对外,还持有一把基于区块链支持的原生协议签名算法生成的公私钥对[PublicU,PrikeyU]。例如,区块链支持的原生协议签名算法为椭圆曲线数字签名算法(Elliptic Curve Digital SignatureAlgorithm,ECDSA),则PublicU,PrikeyU]为ECDSA签名算法生成的公私钥对。其中,私钥PrikeyU用于对目标对象发送的综合合约部署请求进行签名处理,生成一个综合合约部署请求,并向区块链发送该综合合约部署请求,来请求在区块链上部署一个综合合约;相应的,区块链接收目标对象的发送的综合合约部署请求。
步骤S302,区块链将部署签名算法以及关联的公钥对应存储在预构造的综合合约中,以及将入口合约地址存储在预构造的综合合约中,获取部署成功的目标综合合约,以及综合合约地址。
在本申请实施例中,区块链接收到综合合约部署请求后,通过公钥PublicU对综合合约部署请求进行解密,获取综合合约部署请求中携带的信息,并调用构造函数执行:将部署签名算法以及关联的公钥对应存储在预构造的综合合约中,以及将验签入口合约的入口地址存储到综合合约中,并在完成存储后,确定目标综合合约部署成功,并可获得部署成功的目标综合合约的综合合约地址。
为了方便理解,本申请实施例提供一种在区块链上部署目标综合合约的示意图,参见图4,从图4中可知:
目标对象U持有RSA签名算法生成的公私钥对[PublicUR,PrikeyUR],ECC签名算法生成的公私钥对[PublicUE,PrikeyUE],DSA签名算法生成的公私钥对[PublicUD,PrikeyUD]。同时,目标对象U还有一把基于原生协议签名算法生成的公私钥对[PublicU,PrikeyU]。
因此,目标对象U在确定需要部署一个目标综合合约时,将以[[PublicUR,RSA],[PublicUE,ECC],[PublicUD,DSA]],Contractentry为构造目标综合合约的参数,并采用原生协议签名算法生成的私钥PrikeyU对[[PublicUR,RSA],[PublicUE,ECC],[PublicUD,DSA]],Contractentry进行签名处理,生成综合合约部署请求,并将该综合合约部署请求发送给区块链;
相应的,区块链在接收到综合合约部署请求后,采用原生协议签名算法生成的公钥PublicU对综合合约部署请求进行解密,获得综合合约请求中携带的[[PublicUR,RSA],[PublicUE,ECC],[PublicUD,DSA]],Contractentry,之后调用综合合约的构造函数,并执行:将部署签名算法名称以及关联的公钥存储在综合合约的一个Map结构体AlgoToPubKey中,其中,key为部署签名算法名称(Algo),value为部署签名算法关联的公钥(PubKey),具体结构为:
RSA→PublicUR
ECC→PublicUE
DSA→PublicUD
此外,验签入口合约的入口地址Contractentry也会存储到综合合约中。并在完成存储后,确定目标综合合约部署成功,并可获得部署成功的目标综合合约的综合合约地址Contractwallet
在本申请实施例中,目标对象预先部署一个目标综合合约,以在进行自身交易处理时,将自身想处理的多个交易任务,捆绑发送给目标综合合约,以借助目标综合合约完成多个交易任务的批量处理。
实施例二:在区块链上部署验签入口合约以及在验签入口合约中集成验签算法合约。
在本申请实施例中,由于要在验签入口合约中集成验签算法合约,因此需要提前在区块链上对验签入口合约以及验签算法进行部署,并在区块链上成功部署验签入口合约和验签算法合约后,可将验签算法合约集成到验签入口合约中。需要说明的是,将验签算法合约集成到验签入口合约中,涉及在验签入口合约中增加验签算法合约,以及在验签入口合约中删除验签算法合约等操作。
下面,对在区块链上部署验签入口合约、部署验签算法合约,以及在验签入口合约中集成验签算法合约分别进行说明。
1、部署验签入口合约
参见图5,图5为本申请实施例提供的一种在区块链上部署验签入口合约的流程图,包括如下步骤:
步骤S501,区块链接收部署对象发送的验签入口合约部署请求,验签入口合约部署请求中携带验签入口合约的代码信息,代码信息中至少包括签名算法增加函数以及签名算法删除函数。
在本申请实施例中,任何部署对象都可以部署一个验签入口合约,该验签入口合约以及相应的入口合约地址供本申请实施例中涉及的目标对象使用。
示例性的,部署对象想要在区块链中部署验签入口合约时,首先编写验签入口合约的代码信息。为了在验签入口合约中实现对子交易信息的验签处理,需要在验签入口合约中部署一个Map结构体AlgoToAddr,记录着签名算法名称到验签算法合约的实现,具体结构如:Algo→Contractalgo,以调用验签算法合约进行验签处理。
同时,为了实现对验签入口合约中记录签名算法名称到具体验签算法合约的Map结构中的数据更新,验签入口合约还包括两个函数,分别为:
签名算法增加函数:AddAlgo(alog,Contractalgo);
签名算法删除函数:RemoveAlgo(alog,Contractalgo);
其中,AddAlgo用于添加签名算法,RemoveAlgo用于删除签名算法。需要说明的是,这两个函数的权限控制,可由部署对象进行设置;例如,可以设置为只有部署验签入口合约的部署对象才有权调用这两个函数。
在一种可能的实现方式中,在获得验签入口合约的代码信息后,采用区块链支持的原生协议签名算法生成的私钥PrikeyY对验签入口合约的代码信息进行签名处理,生成验签入口合约部署请求,并将验签入口合约部署请求发送给区块链;相应的,区块链接收部署对象发送的验签入口合约部署请求。
步骤S502,区块链将验签入口合约的代码信息部署在区块链上,并在部署成功后,获得验签入口合约的入口合约地址。
在本申请实施例中,区块链接收到验签入口合约部署请求后,基于区块链支持的原生协议签名算法生成的公钥PublicY对验签入口合约部署请求进行解密,获取验签入口合约的代码信息,并将验签入口合约的代码信息部署在区块链上,部署成功,可获得一个验签入口合约的入口合约地址。
为了便于理解,本申请实施例提供一种在区块链上部署验签入口合约的示意图,参见图6,从图6中可知:
部署对象Y首先编写验签入口合约的代码信息,其中代码信息中存在一个Map结构AlgoToAddr,该Map结构用于记录签名算法名称到验签算法合约的实现,还包括签名算法增加函数:AddAlgo(alog,Contractalgo),以及签名算法删除函数:RemoveAlgo(alog,Contractalgo);然后,采用区块链支持的原生协议签名算法生成的私钥PrikeyY对验签入口合约的代码信息进行签名处理,获得验签入口合约部署请求;最后,向区块链发送验签入口合约部署请求。
相应的,区块链接收验签入口合约部署请求,并采用区块链支持的原生协议签名算法生成的公钥PublicY对验签入口合约部署请求进行解密,获得验签入口合约的代码信息,并将代码信息部署在区块链上,部署成功后,获得一个验签入口合约的入口合约地址Contractentry
2、部署验签算法合约
参见图7,为本申请实施例提供的一种部署验签算法合约的流程图,包括如下步骤:
步骤S701,区块链接收部署对象发送的验签算法合约部署请求,验签算法合约部署请求中携带验签算法合约的代码信息,代码信息中至少包括核实函数。
在本申请实施例中,任何部署对象都可以部署一个验签算法合约,该验签算法合约供本申请实施例中涉及的目标对象使用。
示例性的,部署对象想要在区块链中部署验签算法合约时,首先编写验签算法合约的代码信息。因为验签算法合约主要用于对接收到的子交易信息进行验签处理,因此需要暴露一个供外部调用的核实函数,即在验签算法合约的代码信息中至少包括一个核实函数:
VerifySignature(Action,signature,PubKey)。
在一种可能的实现方式中,在获得验签算法合约的代码信息后,采用区块链支持的原生协议签名算法生成的私钥对验签算法合约的代码信息进行签名处理,生成验签算法合约部署请求,并将验签算法合约部署请求发送给区块链;相应的,区块链接收部署对象发送的验签算法合约部署请求。
步骤S702,区块链将验签算法合约的代码信息部署在区块链上,并在部署成功后,获得验签算法合约的验签合约地址。
在本申请实施例中,区块链接收到验签算法合约部署请求后,基于区块链支持的原生协议签名算法生成的公钥,对验签算法合约部署请求进行解密,获取验签算法合约的代码信息,并将验签算法合约的代码信息部署在区块链上,部署成功,可获得一个验签算法合约的验签合约地址。
为了便于理解,本申请实施例提供一种在区块链上部署验签入口合约的示意图,参见图8;以部署对象Y要部署的验签算法合约为RSA算法合约,从图8中可知:
部署对象Y首先编写RSA算法合约的代码信息,其中代码信息中存在一个核实函数:VerifySignature(Action,signature,PubKey);然后,采用区块链支持的原生协议签名算法生成的私钥PrikeyY对RSA算法合约的代码信息进行签名处理,获得验签算法合约部署请求;最后,向区块链发送验签算法合约部署请求。
相应的,区块链接收验签算法合约部署请求,并采用区块链支持的原生协议签名算法生成的公钥PublicY对验签算法合约部署请求进行解密,获得RSA算法合约的代码信息,并将代码信息部署在区块链上,部署成功后,获得RSA算法合约的验签合约地址ContractRSA
3、在验签入口合约中增加验签算法合约
参见图9,图9为本申请实施例提供的一种增加验签算法合约的流程图,包括如下步骤:
步骤S901,区块链接收部署对象发送的签名算法集成请求,签名算法集成请求用于指示在验签入口合约中添加签名算法,以及签名算法集成请求中包括集成签名算法以及相应的验签合约地址。
步骤S902,调用签名算法增加函数,将集成签名算法以及相应的验签合约地址对应存储在验签入口合约中。
示例性的,部署对象想要其部署的验签入口合约中增加RSA算法,则部署对象采用区块链支持的原生协议签名算法生成的私钥PrikeyY,对RSA算法以及验签合约地址ContractRSA进行签名,生成签名算法集成请求,并向区块链发送签名算法集成请求;
相应的,区块链接收部署对象发送的签名算法集成请求,并基于区块链支持的原生协议签名算法生成的公钥PublicY,对签名算法集成请求进行解密,获取RSA算法和验签合约地址ContractRSA,之后调用验签入口合约Contractentry的AddAlgo函数,将(RSA,ContractRSA)存储到验签入口合约的Map结构体AlgoToAddr中。
为了方便理解,本申请实施例提供一种在验签入口合约中集成验签算法合约的示意图,参见图10;从图10中可知:
部署对象Y首先在区块链上部署验签入口合约和验签算法合约,验签算法合约至少包括:RSA算法合约、DSA算法合约、ECC算法合约。其中,部署验签入口合约和验签算法合约的具体实现方式参见上述实施例,在此不再赘述;
之后,目标对象Y想在验签入口合约中部署RSA算法合约、DSA算法合约、ECC算法合约时,采用区块链原生协议支持的签名算法生成的私钥PrikeyY,对[(RSA,ContractRSA),(DSA,ContractDSA),(ECC,ContractECC)]进行签名,生成签名算法集成请求,并向区块链发送签名算法集成请求;
区块链接收部署对象发送的签名算法集成请求后,采用区块链支持的原生协议签名算法生成的公钥PublicY对签名算法集成请求进行解密,获取RSA算法和验签合约地址ContractRSA、DSA算法和验签合约地址ContractDSA以及ECC算法和验签合约地址ContractECC,之后调用验签入口合约Contractentry的AddAlgo函数,将(RSA,ContractRSA),(DSA,ContractDSA),(ECC,ContractECC)存储到验签入口合约的Map结构体AlgoToAddr中;更新后的Map结构体AlgoToAddr具体结构为:
RSA→ContractRSA
DSA→ContractDSA
ECC→ContractECC
在存储成功后,可通过验签入口合约调用RSA算法合约、DSA算法合约、ECC算法合约。
4、在验签入口合约中删除验签算法合约
参见图11,图11为本申请实施例提供的一种删除验签算法合约的流程图,包括如下步骤:
步骤S1101,区块链接收部署对象发送的签名算法删除请求,签名算法删除请求用于指示在验签入口合约中删除签名算法,以及签名算法删除请求中包括删除签名算法以及相应的验签合约地址。
步骤S1102,区块链调用签名算法删除函数,将删除签名算法以及相应的验签合约地址从验签入口合约中删除。
示例性的,部署对象想要其部署的验签入口合约中删除RSA算法,则部署对象采用区块链原生协议支持的签名算法生成的私钥PrikeyY,对RSA算法以及验签合约地址ContractRSA进行签名,生成签名算法删除请求,并向区块链发送签名算法删除请求;
相应的,区块链接收部署对象发送的签名算法删除请求,并基于区块链原生协议支持的签名算法生成的公钥PublicY,对签名算法集成请求进行解密,获取RSA算法和验签合约地址ContractRSA,之后调用验签入口合约Contractentry的RemoveAlgo函数,将(RSA,ContractRSA)从验签入口合约的Map结构体AlgoToAddr中删除。
为了方便理解,在图10所示的基础上,本申请实施例提供一种在验签入口合约中删除验签算法合约的示意图,参见图12;从图12中可知:
在验签入口合约的Map结构体AlgoToAddr中存储(RSA,ContractRSA),(DSA,ContractDSA),(ECC,ContractECC)的对应关系后,若部署对象Y想在验签入口合约中删除RSA算法合约时,采用区块链原生协议支持的签名算法生成的私钥PrikeyY,对(RSA,ContractRSA)进行签名,生成签名算法删除请求,并向区块链发送签名算法删除请求;
区块链接收部署对象发送的签名算法删除请求后,采用区块链支持的原生协议签名算法生成的公钥PublicY对签名算法删除请求进行解密,获取RSA算法和验签合约地址ContractRSA,之后调用验签入口合约Contractentry的RemoveAlgo函数,将(RSA,ContractRSA)从验签入口合约的Map结构体AlgoToAddr中删除;更新后的Map结构体AlgoToAddr具体结构为:
DSA→ContractDSA
ECC→ContractECC
此时,可通过验签入口合约调用DSA算法合约和ECC算法合约。
需要说明的是,验签入口合约和验签算法合约是一个自由的竞争市场,任何部署对象都可以部署并且运营一个验签入口合约,动态扩展各种签名算法,供目标对象选择使用。
在本申请实施例中,提出了一种基于智能合约的签名算法动态扩展和部署技术,将每种签名算法抽象为一个智能合约部署到链上,再部署一个验签入口合约用于集成各种签名算法合约,供对象选择,并达到可动态扩展签名算法的目的,使得对象可以根据不同的业务场景选择更加可靠的签名算法。且验签入口合约和验签算法合约的运营,会形成一个自由的竞争市场,促进各类签名算法在区块链中的多样性发展。
实施例三:目标对象与区块链交互实现交易任务批处理。
参见图13,为本申请实施例提供的一种交易处理的流程图,包括如下步骤:
步骤S1301,区块链接收目标对象发送的交易请求,其中,交易请求中包括:至少两个子交易信息以及综合合约地址;其中,每个子交易信息关联一个子交易任务,以及,每个子交易信息中至少包含:相关联的交易合约。
在本申请实施例中,目标对象可与区块链进行交易,该笔交易中捆绑了多个子交易,每个子交易用于实现一个子交易任务。即,目标对象向区块链发送交易请求,该交易请求中包括多个子交易信息。
因为每个任务的执行需要调用相应交易合约,因此在每个子交易信息中应包括子交易任务关联的交易合约;
且由于每个交易合约中设置有不同的调用函数,每个调用函数基于不同的调用参数值也可实现不同的子交易任务,因此为了保证子交易任务处理的准确性,每个子交易信息中应包括调用参数,调用参数中至少包括调用函数和函数参数值;
同时,为了保证子交易信息的准确性,还需要对子交易信息进行签名处理,由于目标对象持有不同签名算法的公私钥对,因此目标对象可以采用不同的签名算法生成的私钥对不同的子交易信息进行签名,为了保证区块链可以准确对子交易信息进行验证,子交易信息中还应包括签名处理时私钥对应的签名算法,即指定签名算法。
综上,本申请实施例中的每个子交易信息中至少包括:交易合约、调用参数、指定签名算法;具体结构为:Action=<contract,calldata,algo>,其中,Action代表一个子交易信息,表征一个交易任务或操作,contract代表交易合约,calldata代表调用参数,algo为签名算法的名称,表征指定签名算法。需要说明的是,目标对象可根据自身要求对每个Action采用不同的签名算法,例如上述的ECC、RSA等。
由于要对子交易信息进行验签处理,因此在交易请求中除了多个子交易信息外,交易请求中还包含:至少两个子交易信息各自关联的签名数据;签名数据是采用相应的子交易信息包含的指定签名算法生成的私钥,对子交易信息进行签名处理获得的。
例如,目标对象需要与区块链进行三个子交易,则需要构造三个子交易信息,如[Action1,Action2,Action3];并依据要求,针对每个子交易信息Action,采用指定签名算法的私钥对子交易信息进行签名,并获得相应的签名数据,如,用PrikeyUR对Action1进行签名获得一个签名数据signature1,对PrikeyUE对Action2进行签名获得一个签名数据signature2,以及用PublicUD对Action3获得一个签名数据signature3。此时,交易请求中包括:
[(Action1,signature1),(Action2,signature2),(Action3,signature3)]
在本申请实施例中,当目标对象向区块链发送捆绑了多个子交易信息的交易请求时,首先调用目标综合合约对交易请求进行处理,然后基于目标综合合约调用验签入口合约对各个子交易信息进行验签处理。因此,为了保证调用目标综合合约的准确性,在交易请求中还应用包括综合合约地址。故,构造交易请求最终的参数为:[(Action1,signature1),(Action2,signature2),(Action3,signature3),Contractwallet]。
在一种可能的实现方式中,目标对象在确定构造交易请求最终的参数后,采用区块链支持的原生协议签名算法生成的私钥PrikeyY,对[(Action1,signature1),(Action2,signature2),(Action3,signature3),Contractwallet]进行签名处理,获得交易请求,并将交易请求发给区块链;相应的,区块链接收目标对象发送的交易请求。
步骤S1302,区块链根据综合合约地址,获取目标综合合约中存储的入口合约地址,并调用入口合约地址关联的验签入口合约,分别对至少两个子交易信息进行验证。
在本申请实施例中,区块链接收到交易请求后,首先基于区块链支持的原生协议签名算法生成的公钥对交易请求进行解密处理,获得[(Action1,signature1),(Action2,signature2),(Action3,signature3),Contractwallet];之后,根据Contractwallet,获取目标综合合约地址,基于实施例一部署的目标综合合约可知,目标综合合约中存储了验签入口合约的入口合约地址,因此在确定目标综合合约地址后,即可获取目标综合合约地址中存储的入口合约地址,进一步调用入口合约地址对应的验签入口合约,分别对至少两个子交易信息进行验证。
由于针对每个子交易信息,进行验证的方式一致,下面以一个子交易信息Action1为例,对调用入口合约地址关联的验签入口合约对子交易信息进行验证的实现方式进行说明。
在一种可能的实现方式中,调用入口合约地址关联的验签入口合约,对子交易信息Action1进行验证时:
首先,确定子交易信息Action1中包括的指定签名算法,并在目标综合合约的Map结构体Algo To PubKey中,基于指定签名算法,确定指定签名算法的公钥;由上述内容可知,用PrikeyUR对Action1进行签名,因此子交易信息Action1中包括的指定签名算法为RSA算法,进一步根据RSA算法,在Algo To PubKey可以确定RSA算法对应的公钥PublicUR
接着,基于目标综合合约存储的入口合约地址调用验签入口合约,并在调用验签入口合约时,向验签入口合约发送参数(Action1,signature1,PublicUR);
之后,在验签入口合约中,基于存储的Map结构体Algo To Addr,确定验签入口合约中是否存储有子交易信息Action1包含的指定签名算法对应的验签合约地址;
若确定存在,则调用验签合约地址关联的验签算法合约中的核实函数,对子交易信息进行验证;在一种可能的实现方式中,调用验签合约地址关联的验签算法合约中的核实函数,对子交易信息进行验证时:基于子交易信息Action1包含的指定签名算法RSA对应的公钥PublicUR,对子交易信息关联的签名数据signature1进行解密处理,获得相应的解密值,以及对子交易信息Action1进行哈希处理,获得相应的哈希值;在哈希值与解密值一致时,确定对一个子交易信息验证通过,否则确定验证失败
示例性的,解密值=VerifySignature(signature1,PublicUR);哈希值=Hash(Action);进一步,比较解密值和哈希值,若解密值和哈希值相等,则向目标综合合约返回验证通过的验证结果,否则返回验证失败的验证结果。
若确定不存在,则确定不支持对应的验签算法合约,并向目标综合合约返回验证失败的验证结果。
步骤S1303,针对至少两个子交易信息,区块链分别执行如下操作:在一个子交易信息验证通过后,调用一个子交易信息包含的交易合约,对一个子交易信息关联的子交易任务进行处理,获得相应的子交易处理结果。
在本申请实施例中,目标综合合约获取到验签入口合约返回的验证通过的验证结果后,基于子交易信息包含的交易合约,对一个子交易信息关联的子交易任务进行处理。
在一种可能的实现方式中,基于子交易信息包含的交易合约,对一个子交易信息关联的子交易任务进行处理时,根据子交易信息中包含的调用函数,在交易合约中,确定执行子交易任务所需的执行函数;并基于执行函数以及函数参数值,对子交易任务进行处理。
示例性的,验签入口合约支持对应的签名算法,且向目标综合合约返回验证通过的验证结果,则目标综合合约会取出Action1的contract,calldata,进一步以contract为交易合约,calldata为调用参数,通过跨合约调用,调用指定交易合约中的执行函数完成目标对象的交易任务,并获得相应的子交易处理结果,子交易处理结果为:[success(成功),result(结果),error(错误)]
其中,success为bool值,代表调用是否成功,result为调用函数的返回值(可为空)。
在一种可能的实现方式中,验签入口合约不支持对应的签名算法,且向目标综合合约返回验证失败的验证结果,则目标综合合约无需调用目标合约,且调用结果设置为[false,空,验签失败]。
在本申请实施例中,每次完成一个Action,则会针对其他Action再次调用验签入口合约进行验证,以及调用交易合约执行子交易任务,直到交易请求中的所有Action都处理完成,获得所有子交易任务的子交易处理结果后,结束,并将所有子交易处理结果返回给目标对象。
步骤S1304,区块链将获得的至少两个子交易处理结果返回给目标对象。
为了便于理解,本申请实施例提供一种交易处理的示意图,参见图14;从图14中可知:
目标对象U构建交易请求的参数:[(Action1,signature1),(Action2,signature2),(Action3,signature3),Contractwallet],并采用区块链支持的原生协议签名算法生成的私钥PrikeyU,对交易请求的参数进行签名,生成交易请求发送给区块链;
相应的,区块链接收到交易请求后,采用区块链支持的原生协议签名算法生成的公钥PublicU对交易请求进行解密处理,获得[(Action1,signature1),(Action2,signature2),(Action3,signature3),Contractwallet];之后基于Contractwallet确定目标综合合约,并在目标综合合约中获取入口合约地址,以及基于目标综合合约中存储的Map结构体Algo To PubKey,确定各个子交易信息中指定签名算法对应的公钥;然后,基于入口合约地址,调用验签入口合约,并针对每个子交易信息向验签入口合约发送参数(Action1,signature1,PublicUR),以使验签入口合约调用相应的验签算法合约对子交易信息进行验证,并向目标综合合约返回相应的验证结果(例如验证成功的验证结果);接着,目标综合合约基于验证结果,确定需要基于子交易信息包含的交易合约,对一个子交易信息关联的子交易任务进行处理时,根据子交易信息中包含的调用函数,在交易合约中,确定执行子交易任务所需的执行函数,并基于执行函数以及函数参数值,对子交易任务进行处理;最后,交易合约再将子交易任务的任务处理结果返回给目标综合合约。
在本申请实施例中,区块链首先接收目标对象发送的交易请求,该交易请求中包括至少两个子交易信息以及综合合约地址,其中每个子交易信息关联一个子交易任务,以及,每个子交易信息中至少包含相关联的交易合约;显然,区块链支持接收目标对象发送的捆绑了多个交易的交易请求,即区块链支持同时接收多个交易。区块链在接收到交易请求后,根据综合合约地址获取关联的目标综合合约中存储的入口合约地址,并调用入口合约地址关联的验签入口合约,分别对至少两个子交易信息进行验证,且在针对至少两个子交易信息中的一个子交易信息验证通过后,调用一个子交易信息包含的交易合约,对一个子交易信息关联的交易任务进行处理,获得相应子交易处理结果,最后将获得的至少两个子交易处理结果返回给目标对象;显然,区块链在接收到交易请求后,调用验签入口合约对交易请求中的各个子交易信息进行验证,保证子交易信息的安全性、准确性,进一步调用交易合约对子交易任务进行处理,实现交易批处理技术。因此,本申请提出的交易处理方法,支持将与区块链交互的多个子交易捆绑为一个交易,并最终发送到区块链,再由区块链上部署的目标综合合约调用验签入口合约和交易合约,完成交易任务的批处理;这使得对象可以同时与区块链上的多个合约交互,减少每次发交易所需的费用,节约成本且简化操作。
此外需要注意的是,在本申请的具体实施方式中,涉及到与用户相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
基于同一发明构思,本申请实施例还提供了一种交易处理装置1500,参见图15,该装置1500包括:接收单元1501、验证单元1502、执行单元1503以及返回单元1504,其中:
接收单元1501,用于接收目标对象发送的交易请求;交易请求中包括:至少两个子交易信息以及综合合约地址;其中,每个子交易信息关联一个子交易任务,以及,每个子交易信息中至少包含:相关联的交易合约;
验证单元1502,用于根据综合合约地址,获取已部署的目标综合合约中存储的入口合约地址,并调用入口合约地址关联的验签入口合约,分别对至少两个子交易信息进行验证;
执行单元1503,用于针对至少两个子交易信息,分别执行如下操作:在一个子交易信息验证通过后,调用一个子交易信息包含的交易合约,对一个子交易信息关联的子交易任务进行处理,获得相应的子交易处理结果;
返回单元1504,用于将获得的至少两个子交易处理结果返回给目标对象。
在一种可能的实现方式中,每个子交易信息还包含指定签名算法,交易请求中还包含:至少两个子交易信息各自关联的签名数据;签名数据是采用相应的子交易信息包含的指定签名算法生成的私钥,对子交易信息进行签名处理获得的。
在一种可能的实现方式中,验证单元1502具体用于:
针对至少两个子交易信息,分别执行如下操作:
基于一个子交易信息包含的指定签名算法对应的公钥,对一个子交易信息关联的签名数据进行解密处理,获得相应的解密值;公钥是基于指定签名算法在目标综合合约中获取的;
对一个子交易信息进行哈希处理,获得相应的哈希值;
在哈希值与解密值一致时,确定对一个子交易信息验证通过。
在一种可能的实现方式中,验证单元1502具体用于:
针对至少两个子交易信息,分别执行如下操作:
在验签入口合约中,获取到一个子交易信息包含的指定签名算法对应的验签合约地址后,调用验签合约地址关联的验签算法合约中的核实函数,对一个子交易信息进行验证。
在一种可能的实现方式中,每个子交易信息中还包括调用参数;调用参数中至少包括调用函数和函数参数值;
执行单元1503具体用于:
根据调用函数,在交易合约中,确定执行子交易任务所需的执行函数;
基于执行函数以及函数参数值,对子交易任务进行处理。
在一种可能的实现方式中,接收单元1501接收目标对象发送的交易请求之前,还用于:
接收目标对象发送的综合合约部署请求,综合合约部署请求中携带至少一个部署签名算法、部署签名算法生成的公钥,以及入口合约地址;
将部署签名算法以及关联的公钥对应存储在预构造的综合合约中,以及将入口合约地址存储在预构造的综合合约中,获取部署成功的目标综合合约,以及综合合约地址。
在一种可能的实现方式中,接收单元1501接收目标对象发送的交易请求之前,还用于:
接收部署对象发送的验签入口合约部署请求,验签入口合约部署请求中携带验签入口合约的代码信息,代码信息中至少包括签名算法增加函数以及签名算法删除函数;
将验签入口合约的代码信息部署在区块链上,并在部署成功后,获得验签入口合约的入口合约地址。
在一种可能的实现方式中,接收单元1501将验签入口合约的代码信息部署在区块链上之后,还用于:
接收部署对象发送的签名算法集成请求;签名算法集成请求用于指示在验签入口合约中添加签名算法,以及签名算法集成请求中包括集成签名算法以及相应的验签合约地址;
调用签名算法增加函数,将集成签名算法以及相应的验签合约地址对应存储在验签入口合约中。
在一种可能的实现方式中,其特征在于,接收单元1501将验签入口合约的代码信息部署在区块链上之后,还用于:
接收部署对象发送的签名算法删除请求;签名算法删除请求用于指示在验签入口合约中删除签名算法,以及签名算法删除请求中包括删除签名算法以及相应的验签合约地址;
调用签名算法删除函数,将删除签名算法以及相应的验签合约地址从验签入口合约中删除。
在一种可能的实现方式中,验签合约地址是通过如下方式确定的:
接收部署对象发送的验签算法合约部署请求,验签算法合约部署请求中携带验签算法合约的代码信息,代码信息中至少包括核实函数;
将验签算法合约的代码信息部署在区块链上,并在部署成功后,获得验签算法合约的验签合约地址。
应当注意,尽管在上文详细描述中提及了装置的若干单元(或模块),但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元(或模块)的特征和功能可以在一个单元(或模块)中具体化。反之,上文描述的一个单元(或模块)的特征和功能可以进一步划分为由多个单元(或模块)来具体化。当然,在实施本申请时,也可以把各单元(或模块)的功能在同一个或多个软件或硬件中实现。
在介绍了本申请示例性实施方式的交易处理方法及装置后,接下来介绍本申请的另一示例性实施方式计算设备。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为***、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“***”。
在一种可能的实现方式中,本申请实施例提供的计算设备可以至少包括处理器和存储器。其中,存储器存储有计算机程序,当计算机程序被处理器执行时,使得处理器执行本申请中各种示例性实施方式的交易处理方法中的任一步骤。
在该实施例中,计算设备的机构可以如图16所示,包括存储器1601,通讯模块1603以及一个或多个处理器1602。
存储器1601,用于存储处理器1602执行的计算机程序。存储器1601可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。
存储器1601可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器1601也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);或者存储器1601是能够用于携带或存储具有指令或数据机构形式的期望的计算机程序并能够由计算机存取的任何其他介质,但不限于此。存储器1601可以是上述存储器的组合。
处理器1602,可以包括一个或多个中央处理单元(central processing unit,CPU)或者为数字处理单元等等。处理器1602,用于调用存储器1601中存储的计算机程序时实现上述交易处理方法。
通讯模块1603用于与终端设备和其他服务器进行通信。
本申请实施例中不限定上述存储器1601、通讯模块1603和处理器1602之间的具体连接介质。本申请实施例在图16中以存储器1601和处理器1602之间通过总线1604连接,总线1604在图16中以粗线描述,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线1604可以分为地址总线、数据总线、控制总线等。为便于描述,图16中仅用一条粗线描述,但并不描述仅有一根总线或一种类型的总线。
存储器1601中存储有计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于实现本申请实施例的交易处理方法。处理器1602用于执行上述的交易处理方法。
在一些可能的实施方式中,本申请提供的交易处理方法的各个方面还可以实现为一种程序产品的形式,其包括计算机程序,当程序产品在计算设备上运行时,计算机程序用于使计算设备执行本说明书上述描述的根据本申请各种示例性实施方式的交易处理方法中的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括计算机程序,并可以在计算装置上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被命令执行***、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行***、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的计算机程序,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。计算机程序可以完全地在用户计算装置上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算装置上部分在远程计算装置上执行、或者完全在远程计算装置或服务器上执行。在涉及远程计算装置的情形中,远程计算装置可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户计算装置,或者,可以连接到外部计算装置(例如利用因特网服务提供商来通过因特网连接)。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用计算机程序的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序命令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序命令到通用计算机、专用计算机、嵌入式处理机或其他可编程设备的处理器以产生一个机器,使得通过计算机或其他可编程设备的处理器执行的命令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定功能的装置。
这些计算机程序命令也可存储在能引导计算机或其他可编程设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的命令产生包括命令装置的制造品,该命令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定功能。
这些计算机程序命令也可装载到计算机或其他可编程设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的命令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (14)

1.一种交易处理方法,其特征在于,所述方法包括:
接收目标对象发送的交易请求;所述交易请求中包括:至少两个子交易信息以及综合合约地址;其中,每个子交易信息关联一个子交易任务,以及,每个子交易信息中至少包含:相关联的交易合约;
根据所述综合合约地址,获取目标综合合约中存储的入口合约地址,并调用所述入口合约地址关联的验签入口合约,分别对所述至少两个子交易信息进行验证;
针对所述至少两个子交易信息,分别执行如下操作:在一个子交易信息验证通过后,调用所述一个子交易信息包含的交易合约,对所述一个子交易信息关联的子交易任务进行处理,获得相应的子交易处理结果;
将获得的至少两个子交易处理结果返回给所述目标对象。
2.如权利要求1所述的方法,其特征在于,所述每个子交易信息还包含指定签名算法,所述交易请求中还包含:所述至少两个子交易信息各自关联的签名数据;所述签名数据是采用相应的子交易信息包含的指定签名算法生成的私钥,对所述子交易信息进行签名处理获得的。
3.如权利要求2所述的方法,其特征在于,所述调用所述入口合约地址关联的验签入口合约,分别对所述至少两个子交易信息进行验证,包括:
针对所述至少两个子交易信息,分别执行如下操作:
基于一个子交易信息包含的指定签名算法对应的公钥,对所述一个子交易信息关联的签名数据进行解密处理,获得相应的解密值;所述公钥是基于所述指定签名算法在所述目标综合合约中获取的;
对所述一个子交易信息进行哈希处理,获得相应的哈希值;
在所述哈希值与所述解密值一致时,确定对所述一个子交易信息验证通过。
4.如权利要求2所述的方法,其特征在于,所述调用所述入口合约地址关联的验签入口合约,分别对所述至少两个子交易信息进行验证,包括:
针对所述至少两个子交易信息,分别执行如下操作:
在所述验签入口合约中,获取到一个子交易信息包含的指定签名算法对应的验签合约地址后,调用所述验签合约地址关联的验签算法合约中的核实函数,对所述一个子交易信息进行验证。
5.如权利要求1-4任一所述的方法,其特征在于,所述每个子交易信息中还包括调用参数;所述调用参数中至少包括调用函数和函数参数值;
所述调用所述一个子交易信息包含的交易合约,对所述一个子交易信息关联的子交易任务进行处理,包括:
根据所述调用函数,在所述交易合约中,确定执行所述子交易任务所需的执行函数;
基于所述执行函数以及所述函数参数值,对所述子交易任务进行处理。
6.如权利要求1-4任一所述的方法,其特征在于,所述接收目标对象发送的交易请求之前,还包括:
接收目标对象发送的综合合约部署请求,所述综合合约部署请求中携带至少一个部署签名算法、所述部署签名算法生成的公钥,以及所述入口合约地址;
将所述部署签名算法以及关联的公钥对应存储在预构造的综合合约中,以及将所述入口合约地址存储在预构造的综合合约中,获取部署成功的目标综合合约,以及所述综合合约地址。
7.如权利要求1任一所述的方法,其特征在于,所述接收目标对象发送的交易请求之前,还包括:
接收部署对象发送的验签入口合约部署请求,所述验签入口合约部署请求中携带验签入口合约的代码信息,所述代码信息中至少包括签名算法增加函数以及签名算法删除函数;
将所述验签入口合约的代码信息部署在区块链上,并在部署成功后,获得所述验签入口合约的入口合约地址。
8.如权利要求7所述的方法,其特征在于,所述将所述验签入口合约的代码信息部署在区块链上之后,还包括:
接收所述部署对象发送的签名算法集成请求;所述签名算法集成请求用于指示在所述验签入口合约中添加签名算法,以及所述签名算法集成请求中包括集成签名算法以及相应的验签合约地址;
调用所述签名算法增加函数,将所述集成签名算法以及相应的验签合约地址对应存储在所述验签入口合约中。
9.如权利要求7所述的方法,其特征在于,所述将所述验签入口合约的代码信息部署在区块链上之后,还包括:
接收所述部署对象发送的签名算法删除请求;所述签名算法删除请求用于指示在所述验签入口合约中删除签名算法,以及所述签名算法删除请求中包括删除签名算法以及相应的验签合约地址;
调用所述签名算法删除函数,将所述删除签名算法以及相应的验签合约地址从所述验签入口合约中删除。
10.如权利要求8或9所述的方法,其特征在于,所述验签合约地址是通过如下方式确定的:
接收所述部署对象发送的验签算法合约部署请求,所述验签算法合约部署请求中携带验签算法合约的代码信息,所述代码信息中至少包括核实函数;
将所述验签算法合约的代码信息部署在区块链上,并在部署成功后,获得所述验签算法合约的验签合约地址。
11.一种交易处理装置,其特征在于,所述装置包括:
接收单元,用于接收目标对象发送的交易请求;所述交易请求中包括:至少两个子交易信息以及综合合约地址;其中,每个子交易信息关联一个子交易任务,以及,每个子交易信息中至少包含:相关联的交易合约;
验证单元,用于根据所述综合合约地址,获取已部署的目标综合合约中存储的入口合约地址,并调用所述入口合约地址关联的验签入口合约,分别对所述至少两个子交易信息进行验证;
执行单元,用于针对所述至少两个子交易信息,分别执行如下操作:在一个子交易信息验证通过后,调用所述一个子交易信息包含的交易合约,对所述一个子交易信息关联的子交易任务进行处理,获得相应的子交易处理结果;
返回单元,用于将获得的至少两个子交易处理结果返回给所述目标对象。
12.一种计算设备,其特征在于,所述计算设备包括:处理器和存储器,其中:
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序,实现权利要求1-10任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被处理器执行时,实现权利要求1-10任一项所述的方法。
14.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现权利要求1-10任一项所述的方法。
CN202311416119.2A 2023-10-27 2023-10-27 一种交易处理方法、装置、设备及存储介质 Pending CN117495559A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311416119.2A CN117495559A (zh) 2023-10-27 2023-10-27 一种交易处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311416119.2A CN117495559A (zh) 2023-10-27 2023-10-27 一种交易处理方法、装置、设备及存储介质

Publications (1)

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

Family

ID=89668238

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311416119.2A Pending CN117495559A (zh) 2023-10-27 2023-10-27 一种交易处理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN117495559A (zh)

Similar Documents

Publication Publication Date Title
US11477032B2 (en) System and method for decentralized-identifier creation
EP3688930B1 (en) System and method for issuing verifiable claims
US11165576B2 (en) System and method for creating decentralized identifiers
US11277268B2 (en) System and method for verifying verifiable claims
CN113438289B (zh) 基于云计算的区块链数据处理方法及装置
CN111066047A (zh) 实现基于区块链的工作流
CN116975901A (zh) 基于区块链的身份验证方法、装置、设备、介质及产品
CN117495559A (zh) 一种交易处理方法、装置、设备及存储介质
CN117061089B (zh) 一种投票管理方法、装置、设备及存储介质
CN117040930B (zh) 区块链网络的资源处理方法、装置、产品、设备和介质
US11683173B2 (en) Consensus algorithm for distributed ledger technology
CN111915313B (zh) 用于区块链的数字资产转移控制方法、装置及通信***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication