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

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

Info

Publication number
CN117078262A
CN117078262A CN202210504442.4A CN202210504442A CN117078262A CN 117078262 A CN117078262 A CN 117078262A CN 202210504442 A CN202210504442 A CN 202210504442A CN 117078262 A CN117078262 A CN 117078262A
Authority
CN
China
Prior art keywords
node
transaction
blockchain
data
virtual
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
CN202210504442.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 CN202210504442.4A priority Critical patent/CN117078262A/zh
Publication of CN117078262A publication Critical patent/CN117078262A/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/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
    • 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Technology Law (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示意性地示出了本申请某实施例区块链中的可信执行环境与区块链的架构示意图。
图20示意性地示出了本申请某实施例中还可以包括的步骤的步骤流程图。
图21示意性地示出了本申请实施例提供的基于区块链的交易处理装置的结构框图。
图22示意性地示出了用于实现本申请实施例的电子设备的计算机系统结构框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
在本申请的具体实施方式中,涉及到用户信息和用户账户等相关的数据,当本申请的各个实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
区块链是一种在对等网络环境下,通过透明和可信规则构建的防伪造、防篡改和可追溯的共享的具有块链式数据结构(chained-block data structure)的数字化账本。块链式数据结构是将一段时间内发生的事务处理以区块为单位进行存储,并以密码学算法将区块按时间顺序连接成链条的一种数据结构。账本分发给网络中的所有成员节点,在通过哈希密码算法链接的区块的顺序链中,永久记录网络中的对等节点之间发生的资产交易的历史记录。所有经过确认和证明的交易都从链的开头一直链接到最新的区块,因此得名区块链。区块链可以充当单一事实来源,而且区块链网络中的成员只能查看与他们相关的交易。
图1示意性地示出了本申请实施例中的区块链系统的组成示意图,区块链系统100可以包括至少一个客户端110和区块链网络120,区块链网络120包括至少一个区块链节点121。客户端110可以是智能手机、平板电脑、笔记本电脑、台式电脑、智能穿戴设备、智能车载设备、智能支付终端、面部识别终端等各种电子设备,通过安装相应的客户端应用程序,可以向用户提供区块链数据服务。区块链节点121可以是终端设备或者服务器,例如区块链节点121可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
在区块链网络120中,每个区块链节点121在进行正常工作时可以接收到输入信息,并基于接收到的输入信息维护区块链网络内的共享数据。为了保证信息互通,各个区块链节点121之间可以存在信息连接,各个区块链节点121相互可以通过信息连接进行信息传输。例如,当区块链网络120中的任意区块链节点121接收到输入信息,并将输入信息在区块链网络120中进行广播时,区块链网络120中的其他节点设备可以根据共识算法获取该输入信息,将该输入信息作为共享数据进行存储。
对于区块链网络120中的每个区块链节点121,均具有与其对应的节点标识,而且区块链网络120中的每个区块链节点121均可以存储同一区块链网络中的其他区块链节点的节点标识,以便后续根据其他区块链节点的节点标识,将生成的区块广播至区块链网络120中的其他节点。区块链节点121中可维护一个如表1所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为IP(Internet Protocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息,表1是以IP地址为例的节点标识列表。
表1
图2示意性地示出了在区块链网络上维护的区块链的组成结构。如图2所示,区块链由多个顺次连接的区块组成,每当有新的数据需要写入区块链时,这些数据会汇总到一个新生成的区块中,新生成的区块将被链接至区块链的末端,通过共识算法可以保证每个节点设备121上新增的区块是完全相同的。在每个区块的区块体中记录了当前区块的数据,同时在其区块头中保存与之相连的前一区块的哈希值(Hash),若前一区块中的交易数据发生变化,那么当前区块的哈希值也将随之改变。因此,上传至区块链网络中的数据难以被篡改,可以提高共享数据的可靠性。
图3示意性地示出了应用本申请技术方案的区块链网络的网络架构。如图3所示,在实现网络交易和网络支付的应用场景中,位于区块链网络中的交易主体节点310、交易平台节点320以及资源分配节点330共同维护一条或者多条区块链340。
交易主体节点310是为用户提供交易服务的区块链节点,例如可以是与用户进行网络交易的商户或者个人卖家。
交易平台节点320是为网络交易提供交易场景的区块链节点,例如可以是电商网站、网络商城或者提供网络交易服务的各种业务平台。
资源分配节点330是为网络交易提供资产管理和分配服务的区块链节点,例如可以是第三方支付机构。
当用户与交易主体节点310进行网络交易时,可以通过在资源分配节点330上开通的账户向交易主体节点310支付交易资产,交易平台节点320作为交易场景的提供方,需要从该交易资产中抽取一定数额的资产作为平台服务费用。为实现在交易主体节点310和交易平台节点320之间进行可信的资产分配,可以基于区块链网络订立相应的用于进行资产分配的智能合约(如分账合同),当产生网络交易时,资源分配节点330可以按照该智能合约向交易场景中的各个对象进行资产分配。
为保证合约订立的有效性和可信度,合约订立的过程数据以及结果数据都可以通过区块链340进行上链保存,去中心化的合同订立和数据保存可以有效避免信任危机。
下面结合具体实施方式对本申请提供的基于区块链的交易处理方法做出详细说明。
图4示意性地示出了根据本申请的一个实施例的基于区块链的交易处理方法的流程图。在实际应用中,图4所示的交易处理方法可以由区块链网络中的交易平台节点来执行,或者,图4所示的交易处理方法可以由区块链网络中的除银行节点之外的其他节点执行。本申请说明书下文以由区块链网络中的交易平台节点来执行为例进行说明,但实施例范围不仅限于此。区块链网络可以包括银行节点、交易平台节点和其他共识节点或记账节点。
基于图4所示的交易处理方法,通过预设智能合约在至少两个交易方虚拟账户之间进行虚拟资产调拨,并且通过向银行节点发起同步结算请求以指示银行节点根据预设智能合约对至少两个交易方虚拟账户之间的虚拟资产调拨结果进行合法性验证,从而能通过在两个交易方账户之间的虚拟资产调拨,以及通过银行节点对虚拟资产调拨结果进行合法性验证,实现区块链的链上资产交易,并且能够具有较好的交易安全性和交易可靠性。
具体而言,参照图4所示,该应用于区块链的交易信息处理方法至少包括如下步骤S410至步骤S440,详细介绍如下文所示。
在步骤S410中,获取结算请求数据,结算请求数据是通过交易方区块链账户发起的用于请求交易结算的请求数据,交易方区块链账户是交易方在区块链中创建的区块链账户。
具体地,结算请求数据可以由交易中的买方、卖方或者平台方发起,本申请对此不作限制。买方商户、卖方商户均在区块链中创建有对应的区块链账户。图5示意性地示出了根据本申请的一个实施例的区块链账户的结构示意图。如图5所示,区块链账户中的信息可以包括有用户名称、认证类型、用户ID、渠道ID、账户创建时间、区块链账户地址、Metadata等。
图6示意性地示出了根据本申请的一个实施例的区块链账户的创建流程示意图。如图6所示,可以先用交易平台节点公钥加密全用户数据,得到数据1。再用交易平台节点公钥加密用户注册信息,得到数据2。然后,对数据1和数据2进行消息签名后,发送至交易平台节点中。交易平台节点经过签名验证,判断数据是否来自商户DAPP。当判定数据是来自商户DAPP后,用交易平台节点第一私钥解密数据1,用交易平台节点第二私钥解密数据2。当判定数据不是来自商户DAPP后,消息不合法,拒绝区块链账户的创建请求。在步骤S420中,获取与结算请求数据对应的至少两个交易方虚拟账户以及至少两个交易方虚拟账户之间的预设智能合约,交易方虚拟账户是交易方区块链账户通过区块链网络中的银行节点创建的银行虚拟账户。
商户DAPP(Decentralized Application,去中心化应用)可以是一个去中心化的分布式应用。
具体地,预设智能合约可以包括普通智能合约和隐私智能合约。一般来说,参与到区块链交易中的数据对链参与者都是公开的,例如普通智能合约中的数据对于区块链的链上节点而言是共享的。而隐私智能合约约束了合约的查看执行只有具有对应的查看权限和执行权限的用户可以操作。由此,通过隐私智能合约为区块链提供在合约中处理敏感数据的能力,达到保护数据隐私的同时保证合约执行过程的可靠性,并且由于对于执行权限和查看权限的设,能够更好地保证合约逻辑的执行正确性和合约数据在具有权限的节点中的完整呈现。
清算业务相关的可公开的数据可使用普通合约,例如合约的版本、合约状态等信息。使用普通合约的数据可通过区块链浏览器直接解析查询。而清算业务隐私要求较高的数据可使用隐私合约,例如交易金额、目标账户等信息,该数据则无法通过区块链浏览器直接解析查询。普通合约可以用于区块链数据存证,区块链所有操作日志都通过普通合约进行记录。隐私合约可以用于执行资金清算,完成交易方虚拟账户的资金调拨。
银行虚拟账户可以是银行机构提供给电商平台或交易平台为平台提供资金管理、支付对账、交易结算等功能的二类账户。该类账户可以由电商平台或交易平台方柜台面签的开立资金监管总账实体账户(一类账户)及提供给无需柜台面签通过电商平台或交易平台即可线上开立的交易方虚拟账户共同构成。
资金监管总账实体账户所对应的资金监管总账虚拟账户,对应多个清算明细的交易方虚拟账户,总账虚拟账户是关于交易方虚拟账户的明细账的加和。交易方虚拟账户为交易业务各方用于记录自身资金的账户,总账账户用于监管账户数值正确以及账户管理。
图7示意性地示出了根据本申请的一个实施例的交易方虚拟账户的结构示意图。如图7所示,交易方虚拟账户中的信息可以包括有用户名称、户号、开户银行、账户类型、用户ID、渠道ID、账户创建时间、区块链账户地址、Metadata等。
图8示意性地示出了根据本申请的一个实施例的交易方虚拟账户的创建流程示意图。如图8所示,可以先用交易平台节点公钥加密全用户数据,得到数据1。再用交易平台节点公钥加密用户开立虚拟银行账户的信息,例如账户名称、用户ID等,得到数据3。再对数据1和数据3进行消息签名后,发送至交易平台节点中。交易平台节点经过签名验证,判断数据是否来自商户DAPP。当判定数据不是来自商户DAPP后,消息不合法,拒绝银行虚拟账户的创建请求。
当判定数据是来自商户DAPP后,交易平台节点用交易平台节点第一私钥解密数据1,再将数据1用银行节点公钥加密,组装数据1和数据3并对组装后得到的数据进行消息签名。然后,发起区块链交易共识,并在发起区块链交易共识成功后,返回区块链交易哈希值,并根据消息签名后的数据1和数据3的组装数据,向银行节点发送账户创建请求。银行节点经过签名验证,判断数据是否来自交易平台节点。银行节点在通过签名验证判断数据来自交易平台节点后,用银行节点的私钥解密数据3,并根据解密得到的数据开设银行虚拟账户,再进一步创建区块链账户和银行虚拟账户的关联关系后,向交易平台节点和商户DAPP返回银行虚拟账户的信息。
具体地,本申请实施例中的交易共识可以由PBFT(Practical Byzantine FaultTolerance,实用性拜占庭容错算法)或其他共识算法实现。
图9示意性地示出了根据本申请的一个实施例的预设智能合约的结构示意图。如图9所示,预设智能合约的内容结构可以包括表头、合约版本、合约状态、合约的开始时间、合约的技术时间、合约发起者的白名单;交易相关的起始交易方虚拟账户、目标交易方虚拟账户、交易金额;数据相关的公开数据和隐私数据。具体地,合约状态可以为初始化状态、更新状态结束状态或冻结状态。公开数据可以包括:合约操作方式、合约类型、合约编号、合约创建时间。隐私数据可以由用户自定义设置。合约类型可以包括执行者由于自身交易创建而发生的合约,或者执行者由于资产转让而发生的合约。
其中,白名单中包括的账户可以是与合约创建者有相同权限的账户,白名单中包括的账户用于:当合约创建者不具备执行合约的条件时,白名单中包括的账户可以发起合约执行。
具体地,初始化状态是合约创建完成后的初状态。更新状态是在智能合约中的事项发生变更之后的合约状态。例如,如每一次执行主体的转让可以视为一次合约更新,使得合约成为更新状态。结束状态是合约到期状态,即合约结束的状态。合约冻结状态是在合约涉及违法违规等事务时,区块链网络管理平台可发起合约冻结操作,防止链上作恶,使得合约无法再被调用执行。
在步骤S430中,根据预设智能合约在至少两个交易方虚拟账户之间进行虚拟资产调拨。
例如,虚拟资产可以是虚拟资金或者其他电子虚拟资产,本申请对此不作限制。交易方虚拟账户中的资金,具体可以是基于银行节点所写入的资金调拨的数据信息,也可以是具体的数据资产。
在一些实施例中,至少两个交易方虚拟账户可以包括一个买方虚拟账户和一个卖方虚拟账户,根据预设智能合约在一个买方虚拟账户和一个卖方虚拟账户之间进行虚拟资产调拨。在一些实施例中,至少两个交易方虚拟账户可以包括多个买方虚拟账户和多个卖方虚拟账户,根据预设智能合约在多个买方虚拟账户和多个卖方虚拟账户之间进行虚拟资产调拨。
在具体业务场景中,可以不局限于简单的从A到B的虚拟资产调拨,清算执行的资金路径可以涉及多方,例如资金A->B->C->D->E->F的资金路径。由于资金调拨可能具有一定的复杂度,隐私智能合约能保证资金路径的计算数据不可见的同时,还能保障银行虚拟账户的资金调拨结果的可靠性。
图10示意性地示出了根据本申请的一个具体实施例的基于区块链的交易处理方法的具体流程示意图。如图10所示,商户DAPP用交易平台节点公钥加密结算请求数据,得到数据5,再对数据5进行消息签名后将数据5发送至交易平台节点中。交易平台节点再对数据5进行签名验证,判断数据5是否来自商户DAPP。当判定数据不是来自商户DAPP后,消息不合法,拒绝该结算请求数据。当判定数据是来自商户DAPP后,通过交易平台节点的私钥解密数据5,并验证预设智能合约的合法性。当合法性验证不通过时,判定消息不合法,拒绝该结算请求数据。当合法性验证通过时,用银行节点的公钥加密数据5,组装数据并签名。交易平台节点执行预设智能合约后,向银行节点发起预设智能合约的执行结果的同步请求,该请求中包括用银行节点的公钥加密后的数据5。银行节点在接收到同步请求后,先对请求消息进行签名验证,判断数据是否来自交易平台节点,再用银行节点的私钥对数据5进行解密。若签名验证失败,则向交易平台节点和商户DAPP返回失败结果。若签名验证成功,则对预设智能合约的执行结果进行合法性验证。若合法性验证通过,则发起区块链交易共识成功,向交易平台节点和商户DAPP返回区块链交易哈希值。
在步骤S440中,向银行节点发起同步结算请求,同步结算请求用于指示银行节点根据预设智能合约对至少两个交易方虚拟账户之间的虚拟资产调拨结果进行合法性验证。
具体地,对至少两个交易方虚拟账户之间的虚拟资产调拨结果进行合法性验证可以包括如下的一类或多类:验证请求发起的账户是否为清算智能合约白名单账户;验证初始区块链账户地址及目标账户地址是否均已绑定了对应的银行虚拟账户;验证调拨资金金额是否与预设智能合约中设置的金额一致。
图11示意性地示出了根据本申请的一个实施例的基于区块链的交易处理方法的应用场景示意图。如图11所示,买方商户、卖方商户和交易平台节点均在银行中开设有实体账户,分别是买方实体账户、资金监管总账实体账户、卖方实体账户。对应于买方实体账户,买方商户在银行节点中开设有买方虚拟账户;对应于卖方实体账户,卖方商户在银行节点中开设有卖方虚拟账户;对应于资金监管总账实体账户,交易平台接单在银行节点中开设有资金监管总账虚拟账户。由此,能够通过区块链节点数据,实现买方虚拟账户、卖方虚拟账户以及资金监管总账虚拟账户之间的清分和结算等交易操作,从而实现链上的资产清算。在某些实施方式中,可以包括多个买方虚拟账户、多个卖方虚拟账户与资金监管总账虚拟账户之间的清分结算。操作是交易中附带的具体动作,一个交易中,包含了一个或多个操作动作。清算可以是记账、执行交易指令和扣费的过程,可以由清算企业、银联、网联与银行的支付系统共同参与。
在具体应用中,以某区块链电商平台应用为例,电商平台天然需要支持平台上多商户企业间因业务往来而产生的资金结算需求,以及商户企业与平台间因提供系统服务或销售渠道服务而产生的资金结算需求,但资金结算尊重合法合规性要求需要企业具备支付牌照资质,电商平台普遍不具备支付资质,为了经营需要将借助于银行机构提供的虚拟账户体系完成平台所需的资金清分支持。而采用本申请的基于区块链的交易处理方法,能够实现电商平台中买方商户与卖方商户间基于真实交易业务产生的资金链上清算。首先,买方(卖方)商户入驻交易平台节点时可以在交易平台节点上注册区块链账户,并在银行节点上注册银行虚拟账户。在买方商户和卖方商户发生交易后,交易平台所产生的数据可以均记录在区块链上。然后,买方商户可以通过自身实体账户入金至买方商户在银行节点创建的买方虚拟账户中,该买方虚拟账户用于平台上与其他商户业务往来资金清算或平台管理费交纳等资金支付场景。买方商户基于交易平台下订单购买卖方提供的商品或服务,可以由交易平台记录交易信息。卖方商户确认交易后,买方商户支付卖方商户商品价值或服务费用,资金将从买方商户的银行虚拟账户划转至卖方商户的虚拟银行账户中,资金监管总账户记录该笔交易资金流信息及对应的交易信息。然后,卖方商户可以将其虚拟银行账户资金出金至其银行实体账户,并由交易平台记录出金信息。
图12示意性地示出了根据本申请的一个实施例的区块链上各节点的数据流通示意图。用于管理区块链的区块链网络中可以包括多个区块链节点。区块链节点按照功能可分为共识节点和记账节点。共识节点需要下载并维护全量区块链账本数据,每次交易共识发起时需参与共识,以确认该笔交易是否可以执行。记账节点可选择是否记录全局区块链账本数据,不参与实际交易共识。区块链上的节点包括可信节点和普通节点,可信节点具有与普通节点的数据相隔离的运算环境。可信节点包括可信计算节点和可信执行节点。因此,可以通过可信节点的可信计算环境进行相关隐私数据计算、加密、解密、执行隐私合约处理敏感业务数据计算等。链上交易指令是发起执行区块链智能合约的指令,区块链智能合约包括隐私智能合约和普通智能合约。交易指令是用户在业务系统发起的业务流程,如转账交易操作等。事件检测是区块链上用于感知业务状态变化的模块,例如,当某预设智能合约执行成功后,将会通过事件检测模块将成功状态同步至各区块链节点。流程引擎是将交易指令识别为对应的链上交易指令的工具集,交易指令发起调用流程引擎之后,流程引擎可以判断调用链上交易指令的智能合约类型。
图13示意性地示出了本申请某实施例获取与结算请求数据对应的至少两个交易方虚拟账户以及至少两个交易方虚拟账户之间的预设智能合约之前的步骤流程图。如图13所示,在以上实施例的基础上,步骤S420的获取与结算请求数据对应的至少两个交易方虚拟账户以及至少两个交易方虚拟账户之间的预设智能合约之前,可以进一步包括以下步骤S1310至S1320。
S1310.获取采用第一公钥进行加密得到的清分请求数据,清分请求数据是通过交易方区块链账户发起的用于请求交易清分的请求数据。
S1320.采用与第一公钥对应的第一私钥对清分请求数据进行解密,并根据解密得到的数据创建预设智能合约。
图14示意性地示出了本申请某实施例创建预设智能合约的具体流程示意图。如图14所示,商户DAPP通过交易平台节点的公钥加密清分数据得到数据4,并对数据4进行消息签名后将数据4发送至交易平台节点。然后,交易平台节点对接收到的消息进行签名验证并判断数据是否来自商户DAPP。当判定消息不是来自商户DAPP时,消息不合法,拒绝该清分请求数据。当判定消息是来自商户DAPP时,消息合法,交易平台节点用交易平台私钥解密数据4。然后,交易平台节点用银行节点的公钥加密数据4,组装数据并签名。交易平台节点创建预设智能合约。若创建失败,则返回失败结果至商户DAPP;若创建成功,则向银行节点发起创建预设智能合约的同步请求,该请求中包括了用银行节点的公钥加密后的数据4。银行节点对接收到的消息进行签名验证,并判断数据是否来自交易平台节点。当判定消息不是来自交易平台节点时,消息不合法,拒绝该同步请求。当判定消息是来自交易平台节点时,消息合法,用银行节点私钥解密数据4。然后,银行节点对创建的预设智能合约进行合法性验证,若合法性验证通过,则发起区块链交易共识成功,并返回区块链交易哈希值。
具体地,银行节点对创建的预设智能合约进行合法性验证,可以包括如下的一类或多类:验证请求发起的账户是否合法账户;验证初始区块链账户地址及目标账户地址是否均已绑定了对应的银行虚拟账户;验证初始区块链账户地址及目标账户地址是否具有创建该预设智能合约的共识。
图15示意性地示出了本申请某实施例中采用与第一公钥对应的第一私钥对清分请求数据进行解密,并根据解密得到的数据创建预设智能合约的步骤流程图。如图15所示,在以上实施例的基础上,预设智能合约为隐私智能合约,步骤S1320的采用与第一公钥对应的第一私钥对清分请求数据进行解密,并根据解密得到的数据创建预设智能合约,可以进一步包括以下步骤S1510和S1520。
S1510.获取对隐私智能合约具有查看权限的可信计算节点,交易平台节点包括可信计算节点和普通计算节点,可信计算节点具有与普通计算节点的数据相隔离的运算环境;
S1520.通过可信计算节点采用与第一公钥对应的第一私钥对清分请求数据进行解密,并根据解密得到的数据在可信计算节点上创建预设智能合约。
图16示意性地示出了本申请某实施例通过可信计算节点创建预设智能合约的具体流程示意图。如图16所示,商户DAPP通过交易平台节点的公钥加密清分数据得到数据4,并对数据4进行消息签名后将数据4发送至交易平台节点。然后,交易平台节点对接收到的消息进行签名验证并判断数据是否来自商户DAPP。当判定消息不是来自商户DAPP时,消息不合法,拒绝该清分请求数据。当判定消息是来自商户DAPP时,消息合法,交易平台节点用交易平台私钥解密数据4。然后,交易平台节点用可信计算节点的公钥加密数据4,组装数据并签名后将数据发送至可信计算节点。可信计算节点采用可信计算节点的私钥解密数据4并创建预设智能合约。若创建失败,则返回失败结果至商户DAPP;若创建成功,则在用银行节点的公钥加密数据4后组装数据并签名后,向银行节点发起创建预设智能合约的同步请求,该请求中包括了用银行节点的公钥加密后的数据4。银行节点对接收到的消息进行签名验证,并判断数据是否来自可信计算节点。当判定消息不是来自对应的可信计算节点时,消息不合法,拒绝该同步请求。当判定消息是来自对有的可信计算节点时,消息合法,用银行节点私钥解密数据4。然后,银行节点对创建的预设智能合约进行合法性验证,若合法性验证通过,则发起区块链交易共识成功,并返回区块链交易哈希值。在具体的实施方式中,可信计算节点可以为交易平台节点中的其中一个可信计算节点,交易平台节点包括可信计算节点和普通计算节点,可信计算节点具有与普通计算节点的数据相隔离的运算环境。可信计算节点可以为与交易平台节点互相独立的一个可信计算节点,区块链节点包括可信计算节点和普通计算节点,可信计算节点具有与普通计算节点的数据相隔离的运算环境。
图17示意性地示出了本申请某实施例中根据预设智能合约在至少两个交易方虚拟账户之间进行虚拟资产调拨的步骤流程图。如图17所示,在以上实施例的基础上,步骤S430的根据预设智能合约在至少两个交易方虚拟账户之间进行虚拟资产调拨,可以进一步包括以下步骤S1710至S1740。
S1710.通过可信计算节点中创建的预设智能合约,获取交易平台节点中对隐私智能合约具有执行权限的可信执行节点;
S1720.获取与可信执行节点的目标私钥对应的目标公钥;
S1730.采用目标公钥对预设智能合约进行加密,得到隐私合约加密数据,并将隐私合约加密数据发送至可信执行节点;
S1740.通过可信执行节点,采用目标私钥对隐私合约加密数据进行解密得到隐私智能合约,并根据隐私智能合约在至少两个交易方虚拟账户之间进行虚拟资产调拨。
图18示意性地示出了本申请某实施例通过可信执行节点执行预设智能合约的具体流程示意图。商户DAPP用交易平台节点公钥加密结算请求数据,得到数据5,再对数据5进行消息签名后将数据5发送至交易平台节点中。交易平台节点再对数据5进行签名验证,判断数据5是否来自商户DAPP。当判定数据不是来自商户DAPP后,消息不合法,拒绝该结算请求数据。当判定数据是来自商户DAPP后,通过交易平台节点的私钥解密数据5,并验证预设智能合约的合法性。当合法性验证不通过时,判定消息不合法,拒绝该结算请求数据。当合法性验证通过时,用可信执行节点的公钥加密数据5,组装数据并签名后将数据5发送至可信执行节点中。可信执行节点用可信执行节点私钥解密数据5后执行预设智能合约。当合约执行失败时,向商户DAPP返回执行失败的结果。当合约执行成功时,可信执行节点用银行节点的公钥加密数据5,组装数据并签名后向银行节点发起预设智能合约的执行结果的同步请求,该请求中包括用银行节点的公钥加密并经可信执行节点签名的数据5。银行节点在接收到同步请求后,先对请求消息进行签名验证,判断数据是否来自可信执行节点,再用银行节点的私钥对数据5进行解密。若签名验证失败,则向可信执行节点、交易平台节点和商户DAPP返回失败结果。若签名验证成功,则对预设智能合约的执行结果进行合法性验证。若合法性验证通过,则发起区块链交易共识成功,向可信执行节点、交易平台节点和商户DAPP返回区块链交易哈希值。在具体的实施方式中,可信执行节点可以为交易平台节点中的其中一个可信执行节点,交易平台节点包括可信执行节点和普通执行节点,可信执行节点具有与普通执行节点的数据相隔离的运算环境。可信执行节点可以为与交易平台节点互相独立的一个可信执行节点,区块链节点包括可信执行节点和普通执行节点,可信执行节点具有与普通执行节点的数据相隔离的运算环境。由此,通过可信执行节点保障了数据隐私,也保障了合同执行的安全性。
可信执行环境可以是CPU的一个安全加固区域,可以保证其中的软件逻辑和数据在机密性和完整性上得到保护。该区域的软硬件环境可以看做是与外界隔离的一个反沙箱环境。在这个环境中运行的程序,外部包括操作系统无法读取或写入其内存,也无法干扰其代码运行逻辑。
可以理解,虚拟账户的资金调拨的操作指令可能会被系统管理员盗用或篡改,产生系统风险,而采用可信执行环境进行合约创建和合约执行,能够防止交易方虚拟账户在实际应用中被滥用、盗用、使用数据被篡改等系统及技术风险,从而能够为提供虚拟银行账户能力的银行机构提供安全保障。
图19示意性地示出了本申请某实施例区块链中的可信执行环境与区块链的架构示意图。如图19所示,当可信运算环境将链下的分布式存储的数据库的数据加密传输到可信运算环境中计算的同时,也会将该计算数据的索引在区块链上的普通计算节点中共享存储,从而能够证保证可信运算环境中计算的数据与业务系统中的区块链中共享的数据是一致的。由此,将明文的源数据放到可信计算环境中算,将可以共享的索引数据放到区块链的链上,使得区块链与可信运算环境中之间传输与计算的业务数据具有更好的可靠性。
在具体应用中,可以由业务系统发起“交易指令”,该交易指令通过区块链流程引擎识别后发起链上指令准备。链上指令准备可以包括:确认使用智能合约类型是隐私智能合约、普通智能合约还是混合智能合约。其中,混合智能合约由普通合约部分和隐私合约部分构成。链上指令准备还可以包括:将合约上载到链上或预置到可信执行环境中。
将使用可信执行节点公钥加密的隐私合约预置到该可信执行节点中,当业务系统执行隐私计算合约时,由可信执行节点的私钥对隐私合约数据进行解密计算,计算完成后,使用计算结果使用方,也即清算合约执行者的公钥对计算结果数据进行加密后调用到普通节点进行上链。可信计算环境和隐私合约的使用,降低了金融场景中核心数据泄漏的风险。
本申请某些实施例通过,预设智能合约的创建记录了每笔业务待清算的金额情况,通过预设智能合约的执行实现了链上的区块链账户中的组件与银行虚拟账户资金的一致性。并且,通过可信运算环境计算清算路径和执行合约,保障了数据隐私,也保障了计算的安全性,实现商业场景资金流闭环,提升资金流转效率,降低企业成本。
在某些实施方式中,银行节点中存储的关于交易方虚拟账户的数据可以存储在可信计算节点中,而不与区块链的其他节点进行共享。可以理解,若将虚拟账户中的数据上链,可能会引发隐私数据泄漏,而如上实施例可杜绝此类风险,现实场景中更满足银行、金融等强风控场景的业务应用推广。
在以上实施例的基础上,在某些实施方式中,预设智能合约包括正常状态、过期状态以及冻结状态,正常状态用于表示预设智能合约能够正常执行,过期状态用于表示预设智能合约的执行期限已过并停止执行,冻结状态用于表示预设智能合约被冻结并暂停执行。步骤S430的根据预设智能合约在至少两个交易方虚拟账户之间进行虚拟资产调拨,可以进一步包括如下步骤:
当结算请求数据的发起方在预设智能合约的白名单上,并且预设智能合约的状态处于正常状态时,根据预设智能合约在与结算请求数据对应的至少两个交易方虚拟账户进行虚拟资产调拨,白名单用于记载具有发起执行预设智能合约的权限的账户。
在以上实施例的基础上,在某些实施方式中,步骤S440的向银行节点发起同步结算请求之后,还可以进一步包括如下步骤:
当从银行节点接收到同步结算请求的合法性验证的验证成功指示后,向区块链发起关于至少两个交易方虚拟账户之间的虚拟资产调拨结果的共识。
图20示意性地示出了本申请某实施例中还可以包括的步骤的步骤流程图。如图20所示,在以上实施例的基础上,本申请某实施例的方法可以进一步包括以下步骤S2010至S2040。
S2010.获取采用第二公钥进行加密得到的账户创建请求数据,账户创建请求数据是通过交易方区块链账户发起的请求数据,账户创建请求数据用于请求银行节点创建与请求发起方对应的银行虚拟账户的。
S2020.采用与第二公钥对应的第二私钥对结算请求数据进行解密,并获取账户创建请求数据的发起方的用户注册信息以及与解密得到的数据对应的目标银行节点。
S2030.向区块链发起关于账户创建请求数据的发起方在目标银行节点创建银行虚拟账户的共识。
S2040.当共识成功完成时,向目标银行节点发起账户创建请求,账户创建请求用于指示目标银行节点根据用户注册信息创建对应的银行虚拟账户。
区块链技术已广泛应用于多种商业应用场景中,通过区块链技术特性实现商业场景中商流、物流、信息流、资金流四流合一,链上资金流向可基于智能合约进行记账、清算,但商业应用的链上节点是没有“钱”的,这使得链上结算后的“钱”与链下银行账户中的钱存在非一致性的安全风险。
本申请基于区块链的交易处理方法的某些具体实施例中,用户基于业务系统操作区块链账户进行资金调拨等同于操作银行虚拟账户,实现商业应用场景中链上资金流与链下银行账户资金流能够保持一致性,清算过程涉及的敏感数据在可信执行环境中进行计算,保障了计算过程的数据安全不可见,每笔资金记账、清算只能由用户发起操作,不受限于某中心化管理机构或管理员,平台无法代用户或擅自发起链上资金记账及清算,既保证了每笔资金流向均代表用户真实意愿,也保证了银行虚拟账户资金调度的安全合规性,通过技术为资金方提供了安全保障。
应当注意,尽管在附图中以特定顺序描述了本申请中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的基于区块链的交易处理方法。图21示意性地示出了本申请实施例提供的基于区块链的交易处理装置的结构框图。如图21所示,基于区块链的交易处理装置包括:
结算请求获取模块2110,被配置为获取结算请求数据,所述结算请求数据是通过交易方区块链账户发起的用于请求交易结算的请求数据,所述交易方区块链账户是交易方在所述区块链中创建的区块链账户;
智能合约获取模块2120,被配置为获取与所述结算请求数据对应的至少两个交易方虚拟账户以及所述至少两个交易方虚拟账户之间的预设智能合约,所述交易方虚拟账户是所述交易方区块链账户通过区块链网络中的银行节点创建的银行虚拟账户;
虚拟资产调拨模块2130,被配置为根据所述预设智能合约在所述至少两个交易方虚拟账户之间进行虚拟资产调拨;
结算验证模块2140,被配置为向银行节点发起同步结算请求,所述同步结算请求用于指示所述银行节点根据所述预设智能合约对所述至少两个交易方虚拟账户之间的虚拟资产调拨结果进行合法性验证。
在本申请的一些实施例中,基于以上各实施例,交易处理装置还包括:
清分请求获取单元,被配置为获取采用第一公钥进行加密得到的清分请求数据,清分请求数据是通过交易方区块链账户发起的用于请求交易清分的请求数据;
智能合约创建单元,被配置为采用与第一公钥对应的第一私钥对清分请求数据进行解密,并根据解密得到的数据创建预设智能合约。
在本申请的一些实施例中,基于以上各实施例,预设智能合约为隐私智能合约,智能合约创建单元包括:
可信计算节点获取子单元,被配置为获取对隐私智能合约具有查看权限的可信计算节点,交易平台节点包括可信计算节点和普通计算节点,可信计算节点具有与普通计算节点的数据相隔离的运算环境;
智能合约创建子单元,被配置为通过可信计算节点采用与第一公钥对应的第一私钥对清分请求数据进行解密,并根据解密得到的数据在可信计算节点上创建预设智能合约。
在本申请的一些实施例中,基于以上各实施例,虚拟资产调拨模块包括:
可信执行节点获取单元,被配置为通过可信计算节点中创建的预设智能合约,获取交易平台节点中对隐私智能合约具有执行权限的可信执行节点;
目标公钥获取单元,被配置为获取与可信执行节点的目标私钥对应的目标公钥;
合约加密单元,被配置为采用目标公钥对预设智能合约进行加密,得到隐私合约加密数据,并将隐私合约加密数据发送至可信执行节点;
虚拟资产调拨单元,被配置为通过可信执行节点,采用目标私钥对隐私合约加密数据进行解密得到隐私智能合约,并根据隐私智能合约在至少两个交易方虚拟账户之间进行虚拟资产调拨。
在本申请的一些实施例中,基于以上各实施例,交易处理装置还包括:
账户创建请求数据获取单元,被配置为获取采用第二公钥进行加密得到的账户创建请求数据,账户创建请求数据是通过交易方区块链账户发起的请求数据,账户创建请求数据用于请求银行节点创建与请求发起方对应的银行虚拟账户的;
目标银行节点获取单元,被配置为采用与第二公钥对应的第二私钥对结算请求数据进行解密,并获取账户创建请求数据的发起方的用户注册信息以及与解密得到的数据对应的目标银行节点;
账户创建共识发起单元,被配置为向区块链发起关于账户创建请求数据的发起方在目标银行节点创建银行虚拟账户的共识;
账户创建请求发起单元,被配置为当共识成功完成时,向目标银行节点发起账户创建请求,账户创建请求用于指示目标银行节点根据用户注册信息创建对应的银行虚拟账户。
在本申请的一些实施例中,基于以上各实施例,预设智能合约包括正常状态、过期状态以及冻结状态,正常状态用于表示预设智能合约能够正常执行,过期状态用于表示预设智能合约的执行期限已过并停止执行,冻结状态用于表示预设智能合约被冻结并暂停执行;虚拟资产调拨模块包括:
条件虚拟资产调拨单元,被配置为当结算请求数据的发起方在预设智能合约的白名单上,并且预设智能合约的状态处于正常状态时,根据预设智能合约在与结算请求数据对应的至少两个交易方虚拟账户进行虚拟资产调拨,白名单用于记载具有发起执行预设智能合约的权限的账户。
在本申请的一些实施例中,基于以上各实施例,交易处理装置还包括:
调拨结果共识发起单元,被配置为当从银行节点接收到同步结算请求的合法性验证的验证成功指示后,向区块链发起关于至少两个交易方虚拟账户之间的虚拟资产调拨结果的共识。
本申请各实施例中提供的基于区块链的交易处理装置的具体细节已经在对应的方法实施例中进行了详细的描述,此处不再赘述。
图22示意性地示出了用于实现本申请实施例的电子设备的计算机系统结构框图。
需要说明的是,图22示出的电子设备的计算机系统2200仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图22所示,计算机系统2200包括中央处理器2201(Central Processing Unit,CPU),其可以根据存储在只读存储器2202(Read-Only Memory,ROM)中的程序或者从存储部分2208加载到随机访问存储器2203(Random Access Memory,RAM)中的程序而执行各种适当的动作和处理。在随机访问存储器2203中,还存储有系统操作所需的各种程序和数据。中央处理器2201、在只读存储器2202以及随机访问存储器2203通过总线2204彼此相连。输入/输出接口2205(Input/Output接口,即I/O接口)也连接至总线2204。
以下部件连接至输入/输出接口2205:包括键盘、鼠标等的输入部分2206;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分2207;包括硬盘等的存储部分2208;以及包括诸如局域网卡、调制解调器等的网络接口卡的通信部分2209。通信部分2209经由诸如因特网的网络执行通信处理。驱动器2210也根据需要连接至输入/输出接口2205。可拆卸介质2211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器2210上,以便于从其上读出的计算机程序根据需要被安装入存储部分2208。
特别地,根据本申请的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分2209从网络上被下载和安装,和/或从可拆卸介质2211被安装。在该计算机程序被中央处理器2201执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (10)

1.一种基于区块链的交易处理方法,其特征在于,所述方法包括:
获取结算请求数据,所述结算请求数据是通过交易方区块链账户发起的用于请求交易结算的请求数据,所述交易方区块链账户是交易方在所述区块链中创建的区块链账户;
获取与所述结算请求数据对应的至少两个交易方虚拟账户以及所述至少两个交易方虚拟账户之间的预设智能合约,所述交易方虚拟账户是所述交易方区块链账户通过区块链网络中的银行节点创建的银行虚拟账户;
根据所述预设智能合约在所述至少两个交易方虚拟账户之间进行虚拟资产调拨;
向银行节点发起同步结算请求,所述同步结算请求用于指示所述银行节点根据所述预设智能合约对所述至少两个交易方虚拟账户之间的虚拟资产调拨结果进行合法性验证。
2.根据权利要求1所述的方法,其特征在于,在获取与所述结算请求数据对应的至少两个交易方虚拟账户以及所述至少两个交易方虚拟账户之间的预设智能合约之前,所述方法还包括:
获取采用第一公钥进行加密得到的清分请求数据,所述清分请求数据是通过所述交易方区块链账户发起的用于请求交易清分的请求数据;
采用与所述第一公钥对应的第一私钥对所述清分请求数据进行解密,并根据解密得到的数据创建所述预设智能合约。
3.根据权利要求2所述的方法,其特征在于,所述预设智能合约为隐私智能合约,采用与所述第一公钥对应的第一私钥对所述清分请求数据进行解密,并根据解密得到的数据创建所述预设智能合约,包括:
获取对所述隐私智能合约具有查看权限的可信计算节点,所述交易平台节点包括所述可信计算节点和普通计算节点,所述可信计算节点具有与所述普通计算节点的数据相隔离的运算环境;
通过所述可信计算节点采用与所述第一公钥对应的第一私钥对所述清分请求数据进行解密,并根据解密得到的数据在所述可信计算节点上创建所述预设智能合约。
4.根据权利要求3所述的方法,其特征在于,根据所述预设智能合约在所述至少两个交易方虚拟账户之间进行虚拟资产调拨,包括:
通过所述可信计算节点中创建的预设智能合约,获取所述交易平台节点中对所述隐私智能合约具有执行权限的可信执行节点;
获取与所述可信执行节点的目标私钥对应的目标公钥;
采用所述目标公钥对所述预设智能合约进行加密,得到隐私合约加密数据,并将所述隐私合约加密数据发送至所述可信执行节点;
通过所述可信执行节点,采用所述目标私钥对所述隐私合约加密数据进行解密得到所述隐私智能合约,并根据所述隐私智能合约在所述至少两个交易方虚拟账户之间进行虚拟资产调拨。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取采用第二公钥进行加密得到的账户创建请求数据,所述账户创建请求数据是通过所述交易方区块链账户发起的请求数据,所述账户创建请求数据用于请求所述银行节点创建与请求发起方对应的银行虚拟账户的;
采用与所述第二公钥对应的第二私钥对所述结算请求数据进行解密,并获取所述账户创建请求数据的发起方的用户注册信息以及与解密得到的数据对应的目标银行节点;
向所述区块链发起关于所述账户创建请求数据的发起方在所述目标银行节点创建银行虚拟账户的共识;
当所述共识成功完成时,向所述目标银行节点发起账户创建请求,所述账户创建请求用于指示所述目标银行节点根据所述用户注册信息创建对应的银行虚拟账户。
6.根据权利要求1所述的方法,其特征在于,所述预设智能合约包括正常状态、过期状态以及冻结状态,所述正常状态用于表示所述预设智能合约能够正常执行,所述过期状态用于表示所述预设智能合约的执行期限已过并停止执行,所述冻结状态用于表示所述预设智能合约被冻结并暂停执行;根据所述预设智能合约在所述至少两个交易方虚拟账户之间进行虚拟资产调拨,包括:
当所述结算请求数据的发起方在所述预设智能合约的白名单上,并且所述预设智能合约的状态处于正常状态时,根据所述预设智能合约在与所述结算请求数据对应的至少两个交易方虚拟账户进行虚拟资产调拨,所述白名单用于记载具有发起执行所述预设智能合约的权限的账户。
7.根据权利要求1所述的方法,其特征在于,在向银行节点发起同步结算请求之后,所述方法还包括:
当从所述银行节点接收到所述同步结算请求的合法性验证的验证成功指示后,向所述区块链发起关于所述至少两个交易方虚拟账户之间的虚拟资产调拨结果的共识。
8.一种基于区块链的交易处理装置,其特征在于,所述装置包括:
结算请求获取模块,被配置为获取结算请求数据,所述结算请求数据是通过交易方区块链账户发起的用于请求交易结算的请求数据,所述交易方区块链账户是交易方在所述区块链中创建的区块链账户;
智能合约获取模块,被配置为获取与所述结算请求数据对应的至少两个交易方虚拟账户以及所述至少两个交易方虚拟账户之间的预设智能合约,所述交易方虚拟账户是所述交易方区块链账户通过区块链网络中的银行节点创建的银行虚拟账户;
虚拟资产调拨模块,被配置为根据所述预设智能合约在所述至少两个交易方虚拟账户之间进行虚拟资产调拨;
结算验证模块,被配置为向银行节点发起同步结算请求,所述同步结算请求用于指示所述银行节点根据所述预设智能合约对所述至少两个交易方虚拟账户之间的虚拟资产调拨结果进行合法性验证。
9.一种计算机可读介质,其特征在于,其上存储有计算机程序,该计算机程序被处理器执行时实现权利要求1至7中任意一项所述的交易处理方法。
10.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至7中任意一项所述的交易处理方法。
CN202210504442.4A 2022-05-10 2022-05-10 基于区块链的交易处理方法、装置、介质及设备 Pending CN117078262A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210504442.4A CN117078262A (zh) 2022-05-10 2022-05-10 基于区块链的交易处理方法、装置、介质及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210504442.4A CN117078262A (zh) 2022-05-10 2022-05-10 基于区块链的交易处理方法、装置、介质及设备

Publications (1)

Publication Number Publication Date
CN117078262A true CN117078262A (zh) 2023-11-17

Family

ID=88712091

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210504442.4A Pending CN117078262A (zh) 2022-05-10 2022-05-10 基于区块链的交易处理方法、装置、介质及设备

Country Status (1)

Country Link
CN (1) CN117078262A (zh)

Similar Documents

Publication Publication Date Title
JP6873270B2 (ja) ブロックチェーンにおけるスマートコントラクトに基づくトランザクション活動の取扱注意データを保護するための方法及びデバイス
CN108604344B (zh) 用于使用数字签名创建可信数字资产转移的方法和系统
CN111931238B (zh) 一种基于区块链的数据资产流转方法、装置及设备
CN111418184B (zh) 基于区块链的可信保函
CN111373431B (zh) 基于区块链的可信保函
EP3962135B1 (en) Information sharing methods, apparatuses, and devices
CN110020543B (zh) 一种基于区块链的数据处理方法和装置
CN111417945B (zh) 基于区块链的可信保函
CN109388957B (zh) 基于区块链的信息移转方法、装置、介质及电子设备
Giorgini et al. Requirement engineering meets security: A case study on modelling secure electronic transactions by VISA and Mastercard
CN111433799B (zh) 基于区块链的可信保函
CN111433798B (zh) 基于区块链的可信保函
CN111357026A (zh) 基于区块链的可信保函
US20220311611A1 (en) Reputation profile propagation on blockchain networks
US20220156725A1 (en) Cross-chain settlement mechanism
CN113826134A (zh) 基于区块链的可信保函
Ahamed et al. Bps: Blockchain based decentralized secure and versatile light payment system
CN115456613A (zh) 数字藏品交易方法及设备
CN110417557B (zh) 智能终端外设数据安全控制方法及装置
CN112074861A (zh) 针对时间敏感事件的基于区块链的消息服务
CN110766403A (zh) 基于区块链的数据处理装置、方法及存储介质
CN112074862A (zh) 基于消息反馈的存储管理
CN115099800A (zh) 基于区块链的用于对不良资产数据进行转让的方法及装置
Masseport et al. Proof of usage: User-centric consensus for data provision and exchange
CN117078262A (zh) 基于区块链的交易处理方法、装置、介质及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination