CN116186786A - 基于区块链的业务处理方法、装置、电子设备和可读介质 - Google Patents
基于区块链的业务处理方法、装置、电子设备和可读介质 Download PDFInfo
- Publication number
- CN116186786A CN116186786A CN202111446858.7A CN202111446858A CN116186786A CN 116186786 A CN116186786 A CN 116186786A CN 202111446858 A CN202111446858 A CN 202111446858A CN 116186786 A CN116186786 A CN 116186786A
- Authority
- CN
- China
- Prior art keywords
- blockchain
- cross
- transaction
- chain
- notarization
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Abstract
本申请提供一种基于区块链的业务处理方法、装置、电子设备和可读介质。该方法包括:接收公证服务方发送的交易请求,交易请求是公证服务方根据第一区块链中的跨链交易数据生成的;根据交易请求中的跨链交易数据进行跨链数据处理,得到数据处理结果,将数据处理结果和数据处理结果的预生效状态信息打包生成第一交易区块在第二区块链中上链;接收公证服务方发送的公证方签名;将公证方签名、数据处理结果和数据处理结果的确认生效信息打包生成第一跨链结果区块,并在第二区块链中上链第一跨链结果区块。该方法能够防止交易过程遭到数据篡改,确保交易过程的正确性和有效性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于区块链的业务处理方法、装置、电子设备和可读介质。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的应用模式,借由密码学串接并保护内容的串连交易记录(又称区块)。用区块链所串接的分布式账本能让多方有效纪录交易,且可永久查验此交易(不可篡改)。
在相关技术中,当需要在区块链之间进行交易时,通过网关转发交易双方的交易信息来进行跨链交易。
然而,通过网关进行交易的过程中面临通信消息被篡改或者被拦截等情况,导致通信,从而影响跨链交易的安全性和正确性。
发明内容
基于上述技术问题,本申请提供一种基于区块链的业务处理方法、装置、电子设备和可读介质,以防止交易过程遭到数据篡改,确保交易过程的正确性和有效性。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供一种基于区块链的业务处理方法,包括:
接收公证服务方发送的交易请求,交易请求是公证服务方根据第一区块链中的跨链交易数据生成的;
根据交易请求中的跨链交易数据进行跨链数据处理,得到数据处理结果,将数据处理结果和数据处理结果的预生效状态信息打包生成第一交易区块在第二区块链中上链;
接收公证服务方发送的公证方签名,公证方签名是公证服务器方根据第一区块链中的跨链交易数据和第二区块链中的数据处理结果生成的签名;
将公证方签名、数据处理结果和数据处理结果的确认生效信息打包生成第一跨链结果区块,并在第二区块链中上链第一跨链结果区块。
根据本申请实施例的一个方面,提供一种基于区块链的业务处理方法,包括:
将跨链交易数据和跨链交易数据的预生效状态信息打包为第二交易区块;
将第二交易区块在第一区块链中上链,以使公证服务方响应于第二交易区块的上链而通知第二区块链对跨链交易数据进行跨链数据处理;
接收公证服务方发送的公证方签名,公证方签名是公证服务方根据第一区块链中的跨链交易数据和第二区块链中的数据处理结果生成的签名;
将公证方签名、跨链交易数据和跨链交易数据的确认生效信息打包生成第二跨链结果区块,并在第一区块链中上链第二跨链结果区块。
根据本申请实施例的一个方面,提供一种基于区块链的业务处理方法,包括:
当检测到第一区块链中生成包括有跨链交易数据和跨链交易数据的预生效状态信息的第一交易区块时,获取第一交易区块中的跨链交易数据,并且向第二区块链发送包括跨链交易数据的交易请求;
当检测到在第二区块链中生成包括有数据处理结果和数据处理结果的预生效状态信息的第二交易区块时,获取第二交易区块中的数据处理结果,并且向第一区块链发送包括数据处理结果的交易通知,其中,数据处理结果是第二区块链基于跨链交易数据进行跨链数据处理得到的结果;
对交易请求中的跨链交易数据和交易通知中的数据处理结果进行签名,得到公证方签名;
向第一区块链和第二区块链发送公证方签名,以使第一区块链将跨链交易数据的确认生效信息打包成区块并在第一区块链上链,以及使第二区块链将数据处理结果的确认生效信息打包成区块并在第二区块链中上链。
根据本申请实施例的一个方面,提供一种基于区块链的业务处理装置,包括:交易请求接收模块、跨链数据处理模块、第一公证方签名接收模块和第一跨链结果打包模块。
其中,交易请求接收模块配置为接收公证服务方发送的交易请求,交易请求是公证服务方根据第一区块链中的跨链交易数据生成的;跨链数据处理模块配置为根据交易请求中的跨链交易数据进行跨链数据处理,得到数据处理结果,将数据处理结果和数据处理结果的预生效状态信息打包生成第一交易区块在第二区块链中上链;第一公证方签名接收模块配置为接收公证服务方发送的公证方签名,公证方签名是公证服务器方根据第一区块链中的跨链交易数据和第二区块链中的数据处理结果生成的签名;第一跨链结果打包模块配置为将公证方签名、数据处理结果和数据处理结果的确认生效信息打包生成第一跨链结果区块,并在第二区块链中上链第一跨链结果区块。
在本申请的一些实施例中,基于前述方案,交易请求接收模块配置为:从至少两个公证服务方分别接收交易请求;跨链数据处理模块配置为:若接收到的交易请求的数量大于数量阈值,则根据交易请求中的跨链交易数据进行跨链数据处理,得到数据处理结果。
在本申请的一些实施例中,基于前述方案,业务处理装置还包括:
接收方签名模块,配置为对跨链交易数据和数据处理结果进行确认签名,得到接收方签名;
接收方签名发送模块,配置为向公证服务方发送接收方签名,以使公证服务方根据接收方签名和数据处理结果生成公证方签名,并将接收方签名转发给第一区块链。
在本申请的一些实施例中,基于前述方案,业务处理装置还包括:
发送方签名接收模块,配置为接收至少两个公证服务方发送的发送方签名,发送方签名是第一区块链对跨链交易数据和数据处理结果进行确认签名后发送给至少两个公证服务方的;
第一跨链结果打包模块配置为:确定接收到的发送方签名的数量以及公证方签名的公证数量;若发送方签名的数量和公证方签名的数量均大于数量阈值,则将发送方签名、接收方签名、公证服务方签名、数据处理结果和数据处理结果的预生效状态信息打包生成第一跨链结果区块;在第二区块链上将第一跨链结果区块上链。
在本申请的一些实施例中,基于前述方案,第一区块链和第二区块链是根据主区块链中不同高度的区块派生得到的子链,主区块链中包括公证服务方的注册信息,业务处理装置还包括:
第一注册信息获取模块,配置为从主区块链中获取公证服务器方的注册信息;
第一注册请求发送模块,配置为根据注册信息,向公证服务方发送交易注册请求,交易注册请求包括第二区块链的链标识,以及需要进行跨链交易的第一区块链的链标识。
根据本申请的一个实施例的基于区块链的业务处理装置,包括:交易数据打包模块、交易区块上链模块、第二公证方签名接收模块和第二跨链结果打包模块。
其中,交易数据打包模块配置为将跨链交易数据和跨链交易数据的预生效状态信息打包为第二交易区块;交易区块上链模块配置为将第二交易区块在第一区块链中上链,以使公证服务方响应于第二交易区块的上链而通知第二区块链对跨链交易数据进行跨链数据处理;第二公证方签名接收模块配置为接收公证服务方发送的公证方签名,公证方签名是公证服务方根据第一区块链中的跨链交易数据和第二区块链中的数据处理结果生成的签名;第二跨链结果打包模块配置为将公证方签名、跨链交易数据和跨链交易数据的确认生效信息打包生成第二跨链结果区块,并在第一区块链中上链第二跨链结果区块。
在本申请的一些实施例中,基于前述方案,业务处理装置还包括:
交易通知接收模块,配置为接收公证服务方发送的交易通知,交易通知是公证服务方根据第二区块链中的数据处理结果生成的;
发送方签名模块,配置为响应于交易通知,对跨链交易数据和数据处理结果进行确认签名,得到发送方签名;
发送方签名发送模块,配置为向公证服务方发送发送方签名,以使公证服务方基于发送方签名生成公证方签名。
在本申请的一些实施例中,基于前述方案,交易通知接收模块配置为:从至少两个公证服务方接收交易通知;发送方签名模块配置为:若接收到的交易通知的数量大于数量阈值,则对跨链交易数据和数据处理结果进行确认签名,得到发送方签名;发送方签名发送模块配置为:向至少两个公证服务方分别发送发送方签名。
在本申请的一些实施例中,基于前述方案,业务处理装置还包括:
接收方签名接收模块,配置为接收至少两个公证服务方发送的接收方签名,接收方签名是基于跨链交易数据和第二区块链中的数据处理结果进行签名得到的签名;
第二跨链结果打包模块配置为:确定接收到的接收方签名的数量以及公证方签名的数量;若接收方签名的数量和公证方签名的数量均大于数量阈值,则将发送方签名、接收方签名、公证服务方签名、跨链交易数据和跨链交易数据的确认生效信息打包成第二跨链结果区块;在第一区块链上将第二跨链结果区块上链。
在本申请的一些实施例中,基于前述方案,第一区块链和第二区块链是根据主区块链中不同高度的区块派生得到的子链,主区块链中包括公证服务方的注册信息;业务处理装置还包括:
第二注册信息获取模块,配置为从主区块链中获取公证服务器方的注册信息;
第二注册请求发送模块,配置为根据注册信息,向公证服务方发送交易注册请求,交易注册请求包括第一区块链的链标识,以及需要进行跨链交易的第二区块链的链标识。
根据本申请的一个实施例的基于区块链的业务处理装置,包括:跨链数据获取模块、处理结果获取模块、公证方签名生成模块和公证方签名发送模块。
其中,跨链数据获取模块,用于当检测到第一区块链中生成包括有跨链交易数据和跨链交易数据的预生效状态信息的第一交易区块时,获取第一交易区块中的跨链交易数据,并且向第二区块链发送包括跨链交易数据的交易请求;处理结果获取模块,用于当检测到在第二区块链中生成包括有数据处理结果和数据处理结果的预生效状态信息的第二交易区块时,获取第二交易区块中的数据处理结果,并且向第一区块链发送包括数据处理结果的交易通知,其中,数据处理结果是第二区块链基于跨链交易数据进行跨链数据处理得到的结果;公证方签名生成模块,用于对交易请求中的跨链交易数据和交易通知中的数据处理结果进行签名,得到公证方签名;公证方签名发送模块,用于向第一区块链和第二区块链发送公证方签名,以使第一区块链将跨链交易数据的确认生效信息打包成区块并在第一区块链上链,以及使第二区块链将数据处理结果的确认生效信息打包成区块并在第二区块链中上链。
在本申请的一些实施例中,基于前述方案,业务处理装置还包括:
签名接收模块,配置为分别接收第一区块链发送的发送方签名以及第二区块链发送的接收方签名;
签名发送模块,配置为向第二区块链发送发送方签名,并且向第一区块链发送接收方签名。
在本申请的一些实施例中,基于前述方案,第一区块链和第二区块链是根据主区块链中不同高度的区块得到的子链;业务处理装置还包括:
公证方注册模块,配置为向主区块链发送公证方注册消息,公证方注册消息包括公证服务方的注册信息;
注册响应接收模块,配置为接收主区块链发送的注册响应,并根据注册响应启动公证服务方的服务。
在本申请的一些实施例中,基于前述方案,业务处理装置还包括:
注册请求接收模块,用于接收第一区块链和第二区块链发送的交易注册请求;
监听模块,用于根据交易注册请求中的第一区块链和第二区块链的区块链信息,监听第一区块链和第二区块链的区块操作。
根据本申请实施例的一个方面,提供一种电子设备,该电子设备包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,该处理器配置为经由执行可执行指令来执行如以上技术方案中基于区块链的业务处理方法。
根据本申请实施例的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,当该计算机程序被处理器执行时实现如以上技术方案中的基于区块链的业务处理方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的基于区块链的业务处理方法。
在本申请的一些实施例所提供的技术方案中,接收公证服务方发送的交易请求,交易请求是公证服务方根据第一区块链中的跨链交易数据生成的,根据交易请求中的跨链交易数据进行跨链数据处理,得到数据处理结果,将数据处理结果和数据处理结果的预生效状态信息打包生成第一交易区块在第二区块链中上链,接收公证服务方发送的公证方签名,公证方签名是公证服务器方根据第一区块链中的跨链交易数据和第二区块链中的数据处理结果生成的签名;将公证方签名、数据处理结果和数据处理结果的确认生效信息打包生成第一跨链结果区块,并在第二区块链中上链第一跨链结果区块。通过上述的方式,在进行跨链交易的过程中,由公证服务方来对区块链的交易过程来进行公证,并且通过交易双方和公证方三方的签名来对交易过程进行多方确认,从而能够防止交易过程遭到数据篡改,确保交易过程的正确性和有效性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了区块链网络的结构示意图。
图2至图4示出了本申请实施例所应用的区块链系统的体系构架图。
图5示出了根据本申请的一个实施例的电子发票系统的示意图。
图6示出了根据本申请的一个实施例的多链场景的示意图。
图7示出了根据本申请的一个实施例的基于区块链的业务处理方法的流程图;
图8示出了根据本申请的一个实施例的子链之间进行跨链交易的示意图;
图9示出了根据本申请的一个实施例的基于区块链的业务处理装置的框图;
图10示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块(即区块),每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
参见图1所示的区块链网络,该区块链网络中可以包括多个节点101,多个节点101可以是形成区块链网络的各个客户端。每个节点101在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护该区块链网络内的共享数据。为了保证区块链网络内的信息互通,区块链网络中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。例如,当区块链网络中的任意节点接收到输入信息时,区块链网络中的其它节点便根据共识算法获取该输入信息,将该输入信息作为共享数据进行存储,使得区块链网络中全部节点上存储的数据均一致。
对于区块链网络中的每个节点,均具有与其对应的节点标识,而且区块链网络中的每个节点均可以存储有其它节点的节点标识,以便后续根据其它节点的节点标识,将生成的区块广播至区块链网络中的其它节点。每个节点中可维护一个节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为IP(InternetProtocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息。
区块链网络中的每个节点均存储一条相同的区块链。区块链由多个区块组成,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值等,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值等,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
在生成区块链中的各个区块时,区块链所在的节点在接收到输入信息时,对输入信息进行校验,完成校验后,将输入信息存储至内存池中,并更新其用于记录输入信息的哈希树;之后,将更新时间戳更新为接收到输入信息的时间,并尝试不同的随机数,多次进行特征值计算,当计算得到满足条件的随机数时,便可将信息对应存储,生成区块头和区块主体,得到当前区块。随后,区块链所在节点根据数据共享系统中其它节点的节点标识,将新生成的区块分别发送给其所在的数据共享系统中的其它节点,由其它节点对新生成的区块进行校验,并在完成校验后将新生成的区块添加至其存储的区块链中。其中,节点可通过共识算法对新生成的区块进行共识校验,共识算法可包括但不限于:Pow(Proof of Work,工作量证明)、Pos(proof of stake,权益证明)、DPos(Delegated Proof of Stake,委托权益证明)股份授权证明机制、PBFT(Practical Byzantine Fault Tolerance,拜占庭容错算法)、Paxos(一种分布式算法)算法和Raft(一种分布式共识算法)算法。其中,Pow(Proof ofWork,工作量证明):工作量证明是指系统(如前述的区块链网络系统)为达到某一目标而设置的度量方法。Pos(proof of stake,权益证明):Pos权益证明是Pow工作量证明的一种升级共识机制;具体地,谁持有电子资源的时间越长(持有电子资源的时间长度=持有电子资源的数量*持有电子资源的时间),谁更有机会获取区块的记账权。DPos(Delegated Proofof Stake,委托权益证明)股份授权证明机制:DPos股份授权证明机制类似于董事会投票,持有电子资源的对象通过投票选择出一定数量的节点,代理它们进行校验和记账。PBFT(Practical Byzantine Fault Tolerance,拜占庭容错算法):PBFT拜占庭容错算法是一种基于消息传递的一致性算法,算法经过三个阶段达成一致性,这些阶段可能因为失败而重复进行。Paxos(一种分布式算法)算法:Paxos算法是一种两阶段算法,主要有三类角色,proposer(提议者)、acceptor(接受者)、learner(学习者)。proposer提出议案,acceptor同意或拒绝,learner则是获取达成共识后的最终值。Raft(一种分布式共识算法)算法:Raft算法包含三种角色,分别是:跟随者(follower),候选人(candidate)和领导者(leader)。所有的节点初始状态都为follower,超时未收到心跳包的follower将变身candidate并广播投票请求,获得多数投票的节点将化身leader,这一轮投票的过程是谁先发出谁有利,每个节点只会给出一次投票。
可选地,区块链网络中各个节点可以是服务器,也可以是终端设备。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算(Cloud Computing)、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、智能家居、车载终端等,但并不局限于此。各个节点之间可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
前述的云计算是指IT基础设施的交付和使用模式,具体指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。云计算是网格计算(Grid Computing)、分布式计算(Distributed Computing)、并行计算(ParallelComputing)、效用计算(Utility Computing)、网络存储(Network StorageTechnologies)、虚拟化(Virtualization)、负载均衡(Load Balance)等传统计算机和网络技术发展融合的产物。随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开放协作等需求的推动,云计算迅速发展起来。不同于以往的并行分布式计算,云计算的产生从理念上将推动整个互联网模式、企业管理模式发生革命性的变革。
基于区块链技术,本申请的实施例提出了一种区块链系统的体系架构。如图2所示,该区块链系统包括记账节点网络2和业务节点网络1。记账节点网络2包括对数据区块进行共识并将数据区块记录到区块链上的记账节点21。业务节点网络1包括业务节点11,业务节点11可以对记账节点记录到区块链上的数据区块进行验证,或者可以向记账节点请求相应的交易数据。
具体的,业务节点11对记账节点记录到区块链上的数据区块进行验证可以包括以下步骤:记账节点网络中的一个记账节点21利用特定于该记账节点的密钥,基于要添加到区块链上的一个数据区块中所要包括的交易信息,生成签名;记账节点21将交易信息和生成的签名加入数据区块,添加到区块链上;记账节点21将该签名发往业务节点网络中的业务节点,业务节点根据特定于该记账节点的密钥对该签名进行签名验证,以实现业务节点11对记账节点记录到区块链上的数据区块进行验证。记账节点网络中的记账节点负责向区块链记录数据区块,业务节点网络中的业务节点负责见证记账节点记录的结果。具体地,记账节点基于要添加到区块链上的一个数据区块中所要包括的交易信息,生成签名,然后将交易信息和生成的签名加入数据区块,进行上链。并将该签名发往业务节点网络中的业务节点,使业务节点根据特定于该记账节点的密钥对该签名进行签名验证。业务节点网络中的业务节点通过验证区块上记账节点签名可以对全网的交易数据进行见证。记账节点网络虽然拥有垄断的记账权,但是因为数据区块有了代表记账者身份的数字签名,所以一切行为都是公开可追溯的。如果记账节点集体作恶,那么业务节点网络中的全部节点都将保留有具体记账节点作恶的证据。相比传统中心化系统和私有链,本申请实施例中系统的运转是更加透明的;而相比传统的去中心化方案,本方案是更可控也更便于可监管的。
在本申请的一个实施例中,记账节点网络2和业务节点网络1之间可以通过代理节点12连接,代理节点12可以是业务节点网络1的一个业务节点,其负责将记账节点21要向业务节点11传递的信息传递给业务节点11。业务节点11是产生各种需上链的交易数据的交易方的终端,也可以是从记账节点网络2中查询交易数据的终端。业务节点11产生的交易数据在通过代理节点12传输至记账节点21,然后经过共识后记录到区块链上,有利于交易数据的统一处理和监管,而业务节点11也可以通过记账节点21经由代理节点12发送来的信息进行交易数据上链的监督和见证,这在某些既需要统一监管、但又怕监管的节点集体作弊因而需要监督的场景中有十分重要的意义。
在图1所示的结构中,业务节点网络1采用P2P(Peer to Peer,对等网络)网络模式。P2P网络是一种在对等者之间分配任务和工作负载的分布式应用架构,是对等计算模型在应用层形成的一种组网或网络形式,即“点对点”或者“端对端”网络。其可以定义为:网络的参与者共享他们所拥有的一部分硬件资源(处理能力、存储能力、网络连接能力、打印机等),这些共享资源通过网络提供服务和内容,能被其它对等节点直接访问而无需经过中间实体。在此网络中的参与者既是资源、服务和内容的提供者,又是资源、服务和内容的获取者。因此,在业务节点网络1中,当代理节点12接收到从记账节点21传递过来的消息后,向周围的业务节点11进行传播,周围的业务节点11接收到该消息,再向其周围的业务节点11传递,达到了该消息在业务节点网络1的每个业务节点11之间的传播。
图3示出了本申请实施例所应用的另一种区块链系统的体系构架。该体系构架与图2中所示的体系构架不同之处在于:在业务节点网络1中没有采取P2P网络模式,而是采取广播网络的模式。具体地,代理节点12在接收到从记账节点21传递过来的消息后,将该消息广播到业务节点网络1中的其它业务节点11。这样,也实现了该消息在业务节点网络1的每个业务节点11之间的传播。
图4示出了本发明实施例所应用的另一种区块链系统的体系构架。该体系构架与图2所示的体系构架不同之处在于:其记账节点网络2分成了多个分支记账节点网络。每个分支记账节点网络可以负责某一种类型的交易信息的记录。例如,某一企业可能具有供应链金融业务,可能需要将供销过程中产生的合同信息、货款赊欠等信息记录到区块链上,同时该企业还要开具发票,也要把开票信息、发票报销信息等记录到区块链上。这时,为了有利于记账节点被同一部门监管的需要,可能记录供应链金融业务交易的记账节点和记录发票流转过程中的交易的记账节点要分属于不同部门。例如,记录供应链金融业务交易的记账节点是银行设置的记账终端,而记录发票流转过程中的交易的记账节点是国税局设置的记账终端。而供应链金融业务交易和记录发票流转过程中的交易可能也最终会记录在不同分支的记账节点网络上。这时,代理节点12要根据从业务节点11发来的交易信息中携带的交易类型,将该交易信息发送到与该交易类型对应的分支记账节点网络中。
需要说明的是,在图2至图4所示的区块链系统的体系构架中,代理节点12位于业务节点网络1中,在本申请的其它实施例中,代理节点12也可以位于共识节点网络2中,或者独立于业务节点网络1和共识节点网络2。
图2至6所示的区块链系统的体系架构可以应用在电子发票的应用场景中,以下详细进行阐述:
在本申请的一个实施例中,记账节点网络中的记账节点可以是各个税务总局终端,比如由部署在多个地区的税务总局终端分别作为一个记账节点来构成记账节点网络。业务节点网络中的各个业务节点可以是地方税局终端、开票代理服务商终端、开票企业终端、个人用户终端等。
具体而言,在图5所示的电子发票系统中,可以包括业务层、路由代理层和共识网络(即记账节点网络,以下简称记账网络)层。其中,业务层即为业务节点网络,其中包含了各个业务节点,比如可以是处于税务专网中的地方税局;处于公有云中的开票服务商、报销服务商、企业等;处于私有云中的支付服务商、流转服务商、企业等。
路由代理层中包含了代理节点,代理节点提供了路由服务、证书缓存和认证服务、P2P服务等功能,路由代理层起到对业务层和共识网络层的隔离作用,具体参照前述实施例的技术方案。可选地,路由代理层中的代理节点可以处于税务专网中。共识网络(记账网络)层即为记账节点网络,其中包含了多个区块链,当然在本申请的其它实施例中,共识网络(记账网络)层中也可以包含一个区块链。
在本申请的一个实施例中,电子发票系统中的共识网络(记账网络)中可以包含多个区块链,这多个区块链可以按照时间序列进行分链,比如同一个业务按照时间进行分链,其中业务参与方一致,并且两个区块链采用相同的CA(Certificate Authority,认证授权)中心作为发票业务体系的认证和授权方。当然,在本申请的一个实施例中,可以按照不同的业务进行分链,比如业务A对应一条区块链、业务B对应一条区块链,并且业务之间还可以跨链交互。
可选地,如图6所示,在一个示例性实施例中,共识网络(该共识网络可以是前述图2至图5中所示的共识网络;也可以是单独的共识网络,即不进行业务网络和共识网络的划分所得到共识网络)中可以包含有多条区块链,具体是主链801,以及由该主链801在某个区块高度处派生得到的N个子链,N为正整数,每派生得到一个新子链,则需要为该新子链生成新的链标识。比如在图6中,主链801可以派生得到子链802、子链803和子链804。其中,一个子链可以对应于一个业务,比如在税务业务领域中,这样将能够有效区分不同交易业务,以保持单个业务分支链所存储的数据的专一性,具体的业务比如可以是票据业务、征信业务、进出口业务、企业资质业务以及退税业务等。
在本申请的一个实施例中,共识网络中的主链801上可以包括各个业务对应的子链的注册信息,该注册信息可以包括子链的链标识、业务对应的业务配置信息、链标识对应的派生条件等。可选地,每个子链在生成之后,需要在主链中进行注册,主链中有一个用于管理子链注册的智能合约,子链在注册时,可以为子链分配链标识并记录子链的注册信息。
可选地,业务(例如票据业务)对应的业务配置信息可以包括业务的基本信息(即对票据业务的描述)以及节点配置信息(包括业务节点配置信息和共识节点配置信息)。该业务节点配置信息可以包括具有监管权限的共识节点(例如具有监管权限的节点120a)为对应业务分支链(例如票据业务对应的业务分支链)配置的节点标识,该节点标识对应的业务节点可以用于执行该票据业务。这里的共识节点配置信息可以包括具有监管权限的共识节点为该子链配置的用于参与共识该子链的共识节点。
可选地,各个子链的创世块可以是主链中进行派生时所对应的区块,比如图6所示,子链802是从主链801中的区块A1派生得到的,其创世块为A1;子链803是从主链801中的区块A2派生得到的,其创世块为A2;子链804是从主链801中的区块A3派生得到的,其创世块为A3。其中,主链和各个子链可以独立运行,各个子链可以各自运行自己的交易上链,在验证子链的区块时,除了对子链区块本身进行验证之外,还可以从子链的创世块找到A链,然后验证到A链的创世块(如对默克尔树进行验证),以提高验证的可靠性。当然,如果共识节点的本地已经同步了A链,那么对于子链区块的验证也可以只验证到其在A链上的创世块即可。
可选地,如果整个区块链网络对应的区块链节点系统(例如税务区块链系统)的配置信息发生变化,共识网络中的共识节点需要暂停运行。如果将发生信息变化的配置信息称之为配置变更信息,那么该配置变更信息可以是指税务领域范畴的监管规则、计算法规改变、重要的区块链节点变化、链的证书颁发节点轮换等。该共识网络中的具备监管权限的共识节点可以基于这些配置变更信息生成配置变更区块,进而将该配置变更区块上链至该共识网络中的主链801,且同步至所有子链,此时,共识网络中的其他共识节点可以恢复运行。如图6所示,假设配置信息发生了变化,那么在主链801中产生了配置变更区块A3,然后会在子链中进行同步,比如子链802中的区块B5,以及子链803中的区块C4。
可选地,对于图2至图5所示的系统架构而言,可以为业务网络中的任意一个业务节点配置M个链标识,这M个链标识属于该共识网络所注册的N个业务分支链的链标识。其中,M为小于或者等于N的正整数。其中,为每个业务节点配置的链标识的数量可以相同,也可以不同,这里将不对其进行限定。
比如,若共识网络中的主链所派生的子链的数量为3,且这3个子链的链标识分别为业务1X(例如票据业务)对应的链标识1s、业务2X(例如征信业务)对应的链标识2s以及业务3X(例如进出口业务)对应的链标识3s,则可以为业务网络中的一个业务节点动态配置2个链标识(例如链标识1s和链标识3s),并为业务网络中的另一个业务节点动态配置3个链标识(例如链标识1s、链标识2s以及链标识3s)。可以理解的是,一个业务节点如果被配置多个链标识,那么该业务节点可以参与执行这多个链标识对应所子链的业务,进而可以有效保证对业务节点的控制。
可选地,虽然主链派生得到了不同的子链,但是这些子链和主链仍然可以由相同的共识节点来完成共识上链处理,交易信息可以根据链标识来进行区别,不用的子链可以并行地各自进行共识。
当然,一些子链也可以配置为由独立的共识节点来进行共识,但这些独立的共识节点必须同步主链的数据。具体地,比如对一个子链进行独立共识的共识节点可以构成一个子链独立共识网络,对主链进行独立共识的共识节点可以构成一个主链独立共识网络。
同时,代理节点需要记录独立共识网络的信息,如果遇到向独立共识网络发送交易信息或者同步数据的请求,则转发到独立共识网络中;否则,按照基本配置将请求检查后转发到核心网络的共识节点中即可,共识节点再根据请求的子链ID来独立处理。
可选地,为了减少业务节点的存储空间的浪费,本申请实施例中的业务节点可以以轻量节点(Simplified Payment Verification,简称SPV)为例,该业务节点不需要存储完整的交易数据,而是通过代理节点从共识网络中,获得区块头数据和部分授权可见的区块数据(例如与业务节点自身相关联的业务交易)。一个SPV节点可以动态配置多个子链ID来参与多个子链的业务,多个子链可以用同样的SPV节点的标识和地址来参与,同时SPV节点的标识和地址必须事先在主链上进行注册,每个子链的区块数据会被独立同步回SPV节点,并在SPV节点本地独立存储。
针对前述实施例中所介绍的多链场景,本申请实施例中还提出了一种基于区块链的业务处理方法,具体介绍如下:
图7示出了根据本申请的一个实施例的基于区块链的业务处理方法的流程图,其他区块链向该区块链发起跨链交易,该区块链中的节点执行本申请介绍的方法来响应该跨链交易。具体地,本申请的方案可以应用于图6所示的区块链系统中,该区块链系统中包含有主链和至少一个子链,各个子链是从主链中的一个区块高度处派生得到的。子链802可以向子链803发起跨链交易,而本申请的方案由子链803执行来执行子链802发起的跨链交易。图7所示的基于区块链的业务处理方法可以由区块链的共识节点来执行,具体地,参照图7所示,该基于区块链的业务处理方法至少包括步骤S910至步骤S940,详细介绍如下:
步骤S910,接收公证服务方发送的交易请求,交易请求是公证服务方根据第一区块链中的跨链交易数据生成的。
在本实施例中,区块链的共识节点接收公证服务方发送的交易请求,该交易请求是公证服务方根据第一区块链中的跨链交易数据生成的。区块链之间的跨链交易通过公证人(Notary schemes)来进行。公证人是独立于跨链双方之外的第三方,其通常由独立的设备或者独立的服务来实现,即公证服务方。公证服务方同时跟踪两条链的状态并告知对方,参与交易的双方区块链依赖于公证服务方转发消息和验证来实现交易。第一区块链是发起跨链交易的区块链,公证服务方会检测到第一区块链中的跨链交易数据,并且向被交易的一方发起交易请求。在一个实施例中,交易请求也可以由第一区块链的共识节点直接存储到区块链中,而公证服务方从第一区块链中直接获取到请求并转发,而不用公证服务方自行生成交易请求。
在本申请的一个实施例中,接收公证服务方发送的交易请求的过程可以是从至少两个公证服务方分别接收交易请求;根据交易请求中的跨链交易数据进行跨链数据处理,得到数据处理结果的过程可以是若接收到的交易请求的数量大于数量阈值,则根据交易请求中的跨链交易数据进行跨链数据处理,得到数据处理结果。
具体地,存在至少两个公证服务方分别为第一区块链与第二区块链之间的跨链交易提供服务。至少两个公证服务方会各自独立地执行其公证的功能。因此,第二区块链的共识节点会从至少两个公证服务方分别接收交易请求,并且在进行跨链数据处理时,需要确认接收到的交易请求数量大于数量阈值,才确认第一区块链发起了跨链交易。具体地,例如存在5个公证服务方,而共识节点需要接收到3个以上公证服务方转发的交易请求,才会继续进行跨链信息处理。通过多个公证服务方,可以防止公证服务方作恶,以及提高公证服务方的稳定性。
在本申请的一个实施例中,如图6所示的,第一区块链和第二区块链是根据主区块链中不同高度的区块派生得到的子链,主区块链中包括公证服务方的注册信息。在接收公证服务方发送的交易请求之前,该业务处理方法还包括从主区块链中获取公证服务器方的注册信息,然后根据注册信息,向公证服务方发送交易注册请求,交易注册请求包括第二区块链的链标识,以及需要进行跨链交易的第一区块链的链标识。
步骤S920,根据交易请求中的跨链交易数据进行跨链数据处理,得到数据处理结果,将数据处理结果和数据处理结果的预生效状态信息打包生成第一交易区块在第二区块链中上链。
在本实施例中,第二区块链的共识节点根据交易请求中的跨链交易数据进行跨链数据处理,得到数据处理结果。具体地,取决于交易请求所申请的交易类型,跨链数据处理可以不同的处理方式。例如,交易请求为查询数据等请求,则共识节点根据跨链数据处理来查询对应的数据,数据处理结果为查询到的数据。或者交易请求为发送数据的请求,则数据处理结果为接收数据的结果。第二区块链的共识节点将数据处理结果和数据处理结果的预生效状态信息打包生成第一交易区块在第二区块链中上链。预生效状态信息是数据处理结果虽然上链但还未得到第一区块链确认而尚未生效的状态。在后续的过程中,第二区块链会根据第一区块链对数据处理结果的确认来使数据处理结果切换到生效状态。
步骤S930,接收公证服务方发送的公证方签名,公证方签名是公证服务器方根据第一区块链中的跨链交易数据和第二区块链中的数据处理结果生成的签名。
第二区块链的共识节点接收公证服务方发送的公证方签名,公证方签名是公证服务器方根据第一区块链中的跨链交易数据和第二区块链中的数据处理结果生成的签名。具体地,公证服务方在获取到第一区块链中的跨链交易数据和第二区块链中的数据处理结果之后,会对这两个数据进行签名,以确认跨链交易的状态。公证服务方会监控进行跨链交易的第一区块链和第二区块链,并且在确认两个区块链的交易都正确的情况下进行签名。公证服务方可以对区块链中包括跨链交易数据的区块以及和包含数据处理结果的区块进行验证,例如验证有效性、数据状态以及数据一致性等,并且在验证通过就进行签名,并且向第一区块链和第二区块链双方发送公证方签名,来表示公证服务方认为本次跨链交易无误。
在本申请的一个实施例中,在接收公证服务方发送的公证方签名之前,本申请介绍的业务处理方法还包括对跨链交易数据和数据处理结果进行确认签名,得到接收方签名,然后向公证服务方发送接收方签名,以使公证服务方根据接收方签名和数据处理结果生成公证方签名,并将接收方签名转发给第一区块链。
具体地,第二区块链的共识节点在进行跨链数据处理,得到数据处理结果之后,会对跨链交易数据和数据处理结果进行确认签名,得到接收方签名。接收方签名表示第二区块链作为跨链交易的接收方,对交易结果的确认。接收方签名会被发送给公证服务方,以供公证服务方确认第二区块链对于跨链交易结果的认可,从而使得公证服务方根据接收方签名确认第二区块链的状态,并且进一步对数据处理结果和跨链交易数据进行确认签名来的到公证方签名,并且将接收方签名发送给第一区块链,由第一区块链的共识节点接收,从而得知第二区块链的状态。利用接收方签名来向公证服务方和交易对象确认交易状态,可以防止数据在传输时遭受篡改,提高安全性和准确性。
步骤S940,将公证方签名、数据处理结果和数据处理结果的确认生效信息打包生成第一跨链结果区块,并在第二区块链中上链第一跨链结果区块。
具体地,第二区块链的共识节点将将公证方签名、数据处理结果和数据处理结果的确认生效信息打包生成第一跨链结果区块,并在第二区块链中上链第一跨链结果区块。确认生效信息与预生效状态信息是对应关系,其表示该处于预生效状态的数据处理结果正式生效。第一跨链结果区块上链表示第二区块链侧的跨链交易过程正式完成,第二区块链中的数据处理结果正式生效。因此,在第二区块链中存在与数据处理结果相关的两个区块,其中,第一交易区块表示数据处理结果预生效,而第一跨链结果区块表示数据处理结果正式生效。可以理解的是,如果仅存在第一交易区块而没有对应的第一跨链结果区块,则表示跨链交易失败,第一交易区块中的数据处理结果也不会生效。
在本申请的一个实施例中,将公证方签名、数据处理结果和数据处理结果的确认生效信息打包生成第一跨链结果区块,并在第二区块链中上链第一跨链结果区块之前本申请提供的业务处理方法还包括接收至少两个公证服务方发送的发送方签名,其中发送方签名是第一区块链对跨链交易数据和数据处理结果进行确认签名后发送给至少两个公证服务方的。将公证方签名、数据处理结果和数据处理结果的确认生效信息打包生成第一跨链结果区块,并在第二区块链中上链第一跨链结果区块的过程包括确定接收到的发送方签名的数量以及公证方签名的公证数量。然后将发送方签名的数量和公证方签名的数量于数量阈值比较。若发送方签名的数量和公证方签名的数量均大于数量阈值,则将发送方签名、接收方签名、公证服务方签名、数据处理结果和数据处理结果的预生效状态信息打包生成第一跨链结果区块,之后在第二区块链上将第一跨链结果区块上链。
在本申请实施例中,通过上述的方式,在进行跨链交易的过程中,由公证服务方来对区块链的交易过程来进行公证,并且通过交易双方和公证方三方的签名来对交易过程进行多方确认,从而能够防止交易过程遭到数据篡改,确保交易过程的正确性和有效性。
本申请还提供了另一个基于区块链的业务处理方法。该方法由发起跨链交易的区块链中的执行。具体地,该方法可以应用于图6所示的区块链系统中,该区块链系统中包含有主链和至少一个子链,各个子链是从主链中的一个区块高度处派生得到的。子链802可以向子链803发起跨链交易,而本申请的方案由子链802执行。该基于区块链的业务处理方法可以由区块链的共识节点来执行,具体地,该基于区块链的业务处理方法至少包括如下步骤S1010至步骤S1040,详细介绍如下:
步骤S1010,将跨链交易数据和跨链交易数据的预生效状态信息打包为第二交易区块。
具体地,对应于上文介绍的由第二区块链中的共识节点执行的过程,本实施例的方法由第一区块链中的共识节点执行。第一区块链中的共识节点将跨链交易数据和跨链交易数据的预生效状态信息打包为第二交易区块。跨链交易数据通常是由用户输入或者选择的数据或者请求,例如想要查询的关键字或者想要进行的操作等。跨链交易数据的预生效状态信息表示该跨链交易数据的跨链交易过程还未完成,因此该数据还未生效。
步骤S1020,将第二交易区块在第一区块链中上链,以使公证服务方响应于第二交易区块的上链而通知第二区块链对跨链交易数据进行跨链数据处理。
共识节点将第二交易区块在第一区块链中上链。公证服务方会监控第一区块链的区块上链动作,该上链动作会触发公证服务方通知第二区块链对跨链交易数据进行跨链数据处理。具体地,通知的方式包括将跨链交易数据发送给第二区块链的共识节点以便于跨链数据处理。
在本申请的一个实施例中,在将第二交易区块在第一区块链中上链之后,第一区块链的共识节点还接收公证服务方发送的交易通知,交易通知是公证服务方根据第二区块链中的数据处理结果生成的。具体地,交易通知是公证服务方检测到包括数据处理结果的区块在第二区块链中上链后生成的。随后第一区块链的共识节点响应于交易通知,对跨链交易数据和数据处理结果进行确认签名,得到发送方签名;随后,将发送方签名发送给公证服务方,以使公证服务方基于发送方签名生成公证方签名。
在本申请的一个实施例中,接收公证服务方发送的交易通知的过程可以是从至少两个公证服务方接收交易通知。响应于交易通知,对跨链交易数据和数据处理结果进行确认签名,得到发送方签名的过程可以是,比较接收到的交易通知的数量和于数量阈值,若接收到的交易通知的数量大,则对跨链交易数据和数据处理结果进行确认签名,得到发送方签名。向公证服务方发送发送方签名的过程可以是向至少两个公证服务方分别发送发送方签名。发送方签名表示第一区块链的共识节点对跨链交易结果的确认。具体地,第一区块链的共识节点会等待至少两个公证服务方转发第二区块链的接收方签名,并且在接收到足够数量的接收方签名后,确认第二区块链的跨链交易正常进行,然后对对跨链交易数据和数据处理结果进行确认签名,得到发送方签名。
步骤S1030,接收公证服务方发送的公证方签名,公证方签名是公证服务方根据第一区块链中的跨链交易数据和第二区块链中的数据处理结果生成的签名。
第一区块链中的共识节点接收公证服务方发送的公证方签名,公证方签名是公证服务方根据第一区块链中的跨链交易数据和第二区块链中的数据处理结果生成的签名。具体地,公证方签名是公证服务方在确认第一区块链的交易状态和第二区块链的交易状态后,对跨链交易数据和数据处理结果进行签名得到的。确认第一区块链的交易状态和第二区块链的交易状态的具体方式可以根据接收到的发送方签名和接收方签名来判断。
步骤S1040,将公证方签名、跨链交易数据和跨链交易数据的确认生效信息打包生成第二跨链结果区块,并在第一区块链中上链第二跨链结果区块。
第一区块链中的共识节点公证方签名、跨链交易数据和跨链交易数据的确认生效信息打包生成第二跨链结果区块,并在第一区块链中上链第二跨链结果区块。确认生效信息与预生效状态信息是对应关系,其表示该处于预生效状态的数据处理结果正式生效。第二跨链结果区块上链表示第一区块链侧的跨链交易过程正式完成,第一区块链中的跨链交易数据正式生效。因此,在第一区块链中存在与跨链交易数据相关的两个区块,其中,第二交易区块表示跨链交易数据被发起交易但还未生效,而第二跨链结果区块表示跨链交易数据正式生效。可以理解的是,如果第一区块链中仅存在第二交易区块而没有对应的第二跨链结果区块,则表示跨链交易失败,第二交易区块中的跨链交易数据也不会生效。
在本申请的一个实施例中,在将公证方签名、跨链交易数据和跨链交易数据的确认生效信息打包生成第二跨链结果区块,并在第一区块链中上链第二跨链结果区块之前,第一区块链的共识节点还可以接收至少两个公证服务方发送的接收方签名,接收方签名是基于跨链交易数据和第二区块链中的数据处理结果进行签名得到的签名。将公证方签名、跨链交易数据和跨链交易数据的确认生效信息打包生成第二跨链结果区块,并在第一区块链中上链第二跨链结果区块的过程可以包括确定接收到的接收方签名的数量以及公证方签名的数量。随后,比较接收方签名的数量和数量阈值,以及比较公证方签名的数量和数量阈值,若接收方签名的数量和公证方签名的数量均大于数量阈值,表示第二区块链和公证服务方都确认交易正常进行,则将发送方签名、接收方签名、公证服务方签名、跨链交易数据和跨链交易数据的确认生效信息打包成第二跨链结果区块,然后,在第一区块链上将第二跨链结果区块上链。
在本申请的一个实施例中,如图6所示的,第一区块链和第二区块链是根据主区块链中不同高度的区块派生得到的子链,主区块链中包括公证服务方的注册信息;将第二交易区块在第一区块链中上链之前,第一区块链的共识节点可以从主区块链中获取公证服务器方的注册信息,然后根据注册信息,向公证服务方发送交易注册请求,交易注册请求包括第一区块链的链标识,以及需要进行跨链交易的第二区块链的链标识。
本申请还提供了另一个基于区块链的业务处理方法。该方法由独立于区块链体现的第三方系统执行。具体地,该方法可以应用于图6所示的区块链系统中,该区块链系统中包含有主链和至少一个子链,各个子链是从主链中的一个区块高度处派生得到的。子链802可以向子链803发起跨链交易,本方法由另一个服务器或者网络设备执行,具体地,该基于区块链的业务处理方法至少包括如下步骤S1050至步骤S1080,详细介绍如下:
步骤S1050,当检测到第一区块链中生成包括有跨链交易数据和跨链交易数据的预生效状态信息的第一交易区块时,获取第一交易区块中的跨链交易数据,并且向第二区块链发送包括跨链交易数据的交易请求。
具体地,公证服务方对第一区块链的上链操作进行监听。当检测到第一区块链中生成包括有跨链交易数据和跨链交易数据的预生效状态信息的第一交易区块时,从第一交易区块中获取跨链交易数据,并且向第二区块链发送包括跨链交易数据的交易请求。其中,第一区块链和第二区块链会预先向公证服务方注册要进行跨链交易,而公证服务方根据接收到的注册信息来进行信息的转发。
在本申请的一个实施例中,第一区块链和第二区块链是根据主区块链中不同高度的区块得到的子链。在获取第一交易区块中的跨链交易数据之前,公证服务方还可以向主区块链发送公证方注册消息,公证方注册消息包括公证服务方的注册信息,随后接收主区块链发送的注册响应,并根据注册响应启动公证服务方的服务。
在本申请的一个实施例中,在根据注册响应启动公证服务方的服务之后,公证服务方还可以接收第一区块链和第二区块链发送的交易注册请求,随后根据交易注册请求中的第一区块链和第二区块链的区块链信息,监听第一区块链和第二区块链的区块操作。
步骤S1060,当检测到在第二区块链中生成包括有数据处理结果和数据处理结果的预生效状态信息的第二交易区块时,获取第二交易区块中的数据处理结果,并且向第一区块链发送包括数据处理结果的交易通知,其中,数据处理结果是第二区块链基于跨链交易数据进行跨链数据处理得到的结果。
步骤S1070,对交易请求中的跨链交易数据和交易通知中的数据处理结果进行签名,得到公证方签名。
具体地,公证服务方可以在确认第一区块链和第二区块链中交易都处于正常状态后再生成公证方签名,也可以转载接收到跨链交易数据和数据处理结果后先进行签名,再根据后续的状态确认来决定是否发出公证方签名。
在本申请的一个实施例中,在对交易请求中的跨链交易数据和交易通知中的数据处理结果进行签名,得到公证方签名之前,公证服务方还可以分别接收第一区块链发送的发送方签名以及第二区块链发送的接收方签名。根据发送方签名和接收方签名,公证服务方可以确认第一区块链和第二区块链中的交易过程是否正确执行。在确认交易过程正常后,公证服务方向第二区块链发送发送方签名,并且向第一区块链发送接收方签名。
步骤S1080,向第一区块链和第二区块链发送公证方签名,以使第一区块链将跨链交易数据的确认生效信息打包成区块并在第一区块链上链,以及使第二区块链将数据处理结果的确认生效信息打包成区块并在第二区块链中上链。
应当注意,尽管在附图中以特定顺序描述了本申请中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
以下结合图8对本申请实施例的技术方案的实现细节进行详细阐述,如图8所示,以区块链系统中包含主链801、子链802和子链803,并且存在四个公证人来进行说明。
四个公证人会分别向主链801进行注册,从而成为主链801的子链之间的跨链交易的公证人。在子链802和子链803在进行跨链交易之前,会从主链801中获取到注册的公证人,然后向各个公证人注册要与对方进行跨链交易。公证人在子链802和子链803注册后,会开始监听子链802和子链803的上链数据和状态,以便于进行跨链交易。
当子链802要向子链803发起跨链交易时,子链802会将跨链交易数据和其预生效状态X在B6块中上链。该上链动作会被公证人跟踪到,从而由公证人将X预生效消息转发给子链803。
子链803会在从多个公证人处接收到转发的消息。当子链803接收到足够数量的来自子链802的X预生效消息之后,才可以确定子链802提交了跨链交易。
随后,子链803根据接收到的跨链交易数据在本地进行计算,得到包括在子链803侧的数据处理结果和其对应的预生效状态Y的区块C7,并且在子链803中上链区块C7。并且,子链803可此时对X和Y进行签名来得到其确认签名。
公证人会向子链802转发数据处理结果和其对应的预生效状态Y。子链802在接收到一定数量的公证人转发的消息后,确认子链803的交易正常,从而对X和Y进行签名来得到其确认签名并发送给公证人。
公证人在接收到子链802和子链803的确认签名后,则会生成其会X和Y的签名并发送给子链802和子链803。子链802和子链803则等待公证人转发一定数量的对方的签名以及公证人签名之后,各自提交包括子链802和子链803的签名、公证人的签名以及确认生效状态的区块B7和C8。
在本申请的具体实施方式中,涉及到用户信息、区块中的交易数据等相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
图9示出了根据本申请的一个实施例的基于区块链的业务处理装置的框图,图9所示的区块链系统的业务处理装置可以设置在共识节点内。
参照图9所示,根据本申请的一个实施例的基于区块链的业务处理装置1100,包括:交易请求接收模块1102、跨链数据处理模块1104、第一公证方签名接收模块1106和第一跨链结果打包模块1108。
其中,交易请求接收模块1102配置为接收公证服务方发送的交易请求,交易请求是公证服务方根据第一区块链中的跨链交易数据生成的;跨链数据处理模块1104配置为根据交易请求中的跨链交易数据进行跨链数据处理,得到数据处理结果,将数据处理结果和数据处理结果的预生效状态信息打包生成第一交易区块在第二区块链中上链;第一公证方签名接收模块1106配置为接收公证服务方发送的公证方签名,公证方签名是公证服务器方根据第一区块链中的跨链交易数据和第二区块链中的数据处理结果生成的签名;第一跨链结果打包模块1108配置为将公证方签名、数据处理结果和数据处理结果的确认生效信息打包生成第一跨链结果区块,并在第二区块链中上链第一跨链结果区块。
在本申请的一些实施例中,基于前述方案,交易请求接收模块1102配置为:从至少两个公证服务方分别接收交易请求;跨链数据处理模块1104配置为:若接收到的交易请求的数量大于数量阈值,则根据交易请求中的跨链交易数据进行跨链数据处理,得到数据处理结果。
在本申请的一些实施例中,基于前述方案,业务处理装置1100还包括:
接收方签名模块,配置为对跨链交易数据和数据处理结果进行确认签名,得到接收方签名;
接收方签名发送模块,配置为向公证服务方发送接收方签名,以使公证服务方根据接收方签名和数据处理结果生成公证方签名,并将接收方签名转发给第一区块链。
在本申请的一些实施例中,基于前述方案,业务处理装置1100还包括:
发送方签名接收模块,配置为接收至少两个公证服务方发送的发送方签名,发送方签名是第一区块链对跨链交易数据和数据处理结果进行确认签名后发送给至少两个公证服务方的;
第一跨链结果打包模块1108配置为:确定接收到的发送方签名的数量以及公证方签名的公证数量;若发送方签名的数量和公证方签名的数量均大于数量阈值,则将发送方签名、接收方签名、公证服务方签名、数据处理结果和数据处理结果的预生效状态信息打包生成第一跨链结果区块;在第二区块链上将第一跨链结果区块上链。
在本申请的一些实施例中,基于前述方案,第一区块链和第二区块链是根据主区块链中不同高度的区块派生得到的子链,主区块链中包括公证服务方的注册信息,业务处理装置1100还包括:
第一注册信息获取模块,配置为从主区块链中获取公证服务器方的注册信息;
第一注册请求发送模块,配置为根据注册信息,向公证服务方发送交易注册请求,交易注册请求包括第二区块链的链标识,以及需要进行跨链交易的第一区块链的链标识。
根据本申请的一个实施例的基于区块链的业务处理装置,包括:交易数据打包模块、交易区块上链模块、第二公证方签名接收模块和第二跨链结果打包模块。
其中,交易数据打包模块配置为将跨链交易数据和跨链交易数据的预生效状态信息打包为第二交易区块;交易区块上链模块配置为将第二交易区块在第一区块链中上链,以使公证服务方响应于第二交易区块的上链而通知第二区块链对跨链交易数据进行跨链数据处理;第二公证方签名接收模块配置为接收公证服务方发送的公证方签名,公证方签名是公证服务方根据第一区块链中的跨链交易数据和第二区块链中的数据处理结果生成的签名;第二跨链结果打包模块配置为将公证方签名、跨链交易数据和跨链交易数据的确认生效信息打包生成第二跨链结果区块,并在第一区块链中上链第二跨链结果区块。
在本申请的一些实施例中,基于前述方案,业务处理装置还包括:
交易通知接收模块,配置为接收公证服务方发送的交易通知,交易通知是公证服务方根据第二区块链中的数据处理结果生成的;
发送方签名模块,配置为响应于交易通知,对跨链交易数据和数据处理结果进行确认签名,得到发送方签名;
发送方签名发送模块,配置为向公证服务方发送发送方签名,以使公证服务方基于发送方签名生成公证方签名。
在本申请的一些实施例中,基于前述方案,交易通知接收模块配置为:从至少两个公证服务方接收交易通知;发送方签名模块配置为:若接收到的交易通知的数量大于数量阈值,则对跨链交易数据和数据处理结果进行确认签名,得到发送方签名;发送方签名发送模块配置为:向至少两个公证服务方分别发送发送方签名。
在本申请的一些实施例中,基于前述方案,业务处理装置还包括:
接收方签名接收模块,配置为接收至少两个公证服务方发送的接收方签名,接收方签名是基于跨链交易数据和第二区块链中的数据处理结果进行签名得到的签名;
第二跨链结果打包模块配置为:确定接收到的接收方签名的数量以及公证方签名的数量;若接收方签名的数量和公证方签名的数量均大于数量阈值,则将发送方签名、接收方签名、公证服务方签名、跨链交易数据和跨链交易数据的确认生效信息打包成第二跨链结果区块;在第一区块链上将第二跨链结果区块上链。
在本申请的一些实施例中,基于前述方案,第一区块链和第二区块链是根据主区块链中不同高度的区块派生得到的子链,主区块链中包括公证服务方的注册信息;业务处理装置还包括:
第二注册信息获取模块,配置为从主区块链中获取公证服务器方的注册信息;
第二注册请求发送模块,配置为根据注册信息,向公证服务方发送交易注册请求,交易注册请求包括第一区块链的链标识,以及需要进行跨链交易的第二区块链的链标识。
根据本申请的一个实施例的基于区块链的业务处理装置,包括:跨链数据获取模块、处理结果获取模块、公证方签名生成模块和公证方签名发送模块。
其中,跨链数据获取模块,用于当检测到第一区块链中生成包括有跨链交易数据和跨链交易数据的预生效状态信息的第一交易区块时,获取第一交易区块中的跨链交易数据,并且向第二区块链发送包括跨链交易数据的交易请求;处理结果获取模块,用于当检测到在第二区块链中生成包括有数据处理结果和数据处理结果的预生效状态信息的第二交易区块时,获取第二交易区块中的数据处理结果,并且向第一区块链发送包括数据处理结果的交易通知,其中,数据处理结果是第二区块链基于跨链交易数据进行跨链数据处理得到的结果;公证方签名生成模块,用于对交易请求中的跨链交易数据和交易通知中的数据处理结果进行签名,得到公证方签名;公证方签名发送模块,用于向第一区块链和第二区块链发送公证方签名,以使第一区块链将跨链交易数据的确认生效信息打包成区块并在第一区块链上链,以及使第二区块链将数据处理结果的确认生效信息打包成区块并在第二区块链中上链。
在本申请的一些实施例中,基于前述方案,业务处理装置还包括:
签名接收模块,配置为分别接收第一区块链发送的发送方签名以及第二区块链发送的接收方签名;
签名发送模块,配置为向第二区块链发送发送方签名,并且向第一区块链发送接收方签名。
在本申请的一些实施例中,基于前述方案,第一区块链和第二区块链是根据主区块链中不同高度的区块得到的子链;业务处理装置还包括:
公证方注册模块,配置为向主区块链发送公证方注册消息,公证方注册消息包括公证服务方的注册信息;
注册响应接收模块,配置为接收主区块链发送的注册响应,并根据注册响应启动公证服务方的服务。
在本申请的一些实施例中,基于前述方案,业务处理装置还包括:
注册请求接收模块,用于接收第一区块链和第二区块链发送的交易注册请求;
监听模块,用于根据交易注册请求中的第一区块链和第二区块链的区块链信息,监听第一区块链和第二区块链的区块操作。
需要说明的是,上述实施例所提供的装置与上述实施例所提供的方法属于同一构思,其中各个模块执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
图10示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图10示出的电子设备的计算机系统1200仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图10所示,计算机系统1200包括中央处理单元(Central Processing Unit,CPU)1201,其可以根据存储在只读存储器(Read-Only Memory,ROM)1202中的程序或者从储存部分1208加载到随机访问存储器(Random Access Memory,RAM)1203中的程序而执行各种适当的动作和处理。在RAM 1203中,还存储有系统操作所需的各种程序和数据。CPU1201、ROM1202以及RAM 1203通过总线1204彼此相连。输入/输出(Input/Output,I/O)接口1205也连接至总线1204。
以下部件连接至I/O接口1205:包括键盘、鼠标等的输入部分1206;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1207;包括硬盘等的储存部分1208;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网络执行通信处理。驱动器1210也根据需要连接至I/O接口1205。可拆卸介质1211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1210上,以便于从其上读出的计算机程序根据需要被安装入储存部分1208。
特别地,根据本申请的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1209从网络上被下载和安装,和/或从可拆卸介质1211被安装。在该计算机程序被中央处理单元(CPU)1201执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (20)
1.一种基于区块链的业务处理方法,其特征在于,包括:
接收公证服务方发送的交易请求,所述交易请求是所述公证服务方根据第一区块链中的跨链交易数据生成的;
根据所述交易请求中的跨链交易数据进行跨链数据处理,得到数据处理结果,将所述数据处理结果和所述数据处理结果的预生效状态信息打包生成第一交易区块在第二区块链中上链;
接收所述公证服务方发送的公证方签名,所述公证方签名是所述公证服务器方根据所述第一区块链中的跨链交易数据和所述第二区块链中的数据处理结果生成的签名;
将所述公证方签名、所述数据处理结果和所述数据处理结果的确认生效信息打包生成第一跨链结果区块,并在所述第二区块链中上链所述第一跨链结果区块。
2.根据权利要求1所述的方法,其特征在于,所述接收公证服务方发送的交易请求,包括:
从至少两个公证服务方分别接收所述交易请求;
所述根据所述交易请求中的跨链交易数据进行跨链数据处理,得到数据处理结果,包括:
若接收到的所述交易请求的数量大于数量阈值,则根据所述交易请求中的跨链交易数据进行跨链数据处理,得到数据处理结果。
3.根据权利要求1所述的方法,其特征在于,所述接收所述公证服务方发送的公证方签名之前,所述方法还包括:
对所述跨链交易数据和所述数据处理结果进行确认签名,得到接收方签名;
向所述公证服务方发送所述接收方签名,以使所述公证服务方根据所述接收方签名和所述数据处理结果生成所述公证方签名,并将所述接收方签名转发给所述第一区块链。
4.根据权利要求3所述的方法,其特征在于,所述将所述公证方签名、所述数据处理结果和所述数据处理结果的确认生效信息打包生成第一跨链结果区块,并在所述第二区块链中上链所述第一跨链结果区块之前,所述方法还包括:
接收至少两个公证服务方发送的发送方签名,所述发送方签名是所述第一区块链对所述跨链交易数据和所述数据处理结果进行确认签名后发送给所述至少两个公证服务方的;
将所述公证方签名、所述数据处理结果和所述数据处理结果的确认生效信息打包生成第一跨链结果区块,并在所述第二区块链中上链所述第一跨链结果区块,包括:
确定接收到的发送方签名的数量以及公证方签名的公证数量;
若所述发送方签名的数量和所述公证方签名的数量均大于所述数量阈值,则将所述发送方签名、所述接收方签名、所述公证服务方签名、所述数据处理结果和所述数据处理结果的预生效状态信息打包生成所述第一跨链结果区块;
在所述第二区块链上将所述第一跨链结果区块上链。
5.根据权利要求1所述的方法,其特征在于,所述第一区块链和所述第二区块链是根据主区块链中不同高度的区块派生得到的子链,所述主区块链中包括所述公证服务方的注册信息;所述接收公证服务方发送的交易请求之前,所述方法还包括:
从所述主区块链中获取所述公证服务器方的注册信息;
根据所述注册信息,向所述公证服务方发送交易注册请求,所述交易注册请求包括所述第二区块链的链标识,以及需要进行跨链交易的第一区块链的链标识。
6.一种基于区块链的业务处理方法,其特征在于,包括:
将跨链交易数据和所述跨链交易数据的预生效状态信息打包为第二交易区块;
将所述第二交易区块在第一区块链中上链,以使公证服务方响应于所述第二交易区块的上链而通知第二区块链对所述跨链交易数据进行跨链数据处理;
接收所述公证服务方发送的公证方签名,所述公证方签名是所述公证服务方根据所述第一区块链中的跨链交易数据和所述第二区块链中的数据处理结果生成的签名;
将所述公证方签名、所述跨链交易数据和所述跨链交易数据的确认生效信息打包生成第二跨链结果区块,并在所述第一区块链中上链所述第二跨链结果区块。
7.根据权利要求6所述的方法,其特征在于,所述将所述第二交易区块在第一区块链中上链之后,所述方法还包括:
接收公证服务方发送的交易通知,所述交易通知是所述公证服务方根据所述第二区块链中的数据处理结果生成的;
响应于所述交易通知,对所述跨链交易数据和所述数据处理结果进行确认签名,得到发送方签名;
向所述公证服务方发送所述发送方签名,以使所述公证服务方基于所述发送方签名生成所述公证方签名。
8.根据权利要求7所述的方法,其特征在于,所述接收公证服务方发送的交易通知,包括:
从至少两个公证服务方接收所述交易通知;
所述响应于所述交易通知,对所述跨链交易数据和所述数据处理结果进行确认签名,得到发送方签名,包括:
若接收到的所述交易通知的数量大于数量阈值,则对所述跨链交易数据和所述数据处理结果进行确认签名,得到发送方签名;
所述向所述公证服务方发送所述发送方签名,包括:
向所述至少两个公证服务方分别发送所述发送方签名。
9.根据权利要求8所述的方法,其特征在于,所述将所述公证方签名、所述跨链交易数据和所述跨链交易数据的确认生效信息打包生成第二跨链结果区块,并在所述第一区块链中上链所述第二跨链结果区块之前,所述方法还包括:
接收所述至少两个公证服务方发送的接收方签名,所述接收方签名是基于所述跨链交易数据和所述第二区块链中的数据处理结果进行签名得到的签名;
所述将所述公证方签名、所述跨链交易数据和所述跨链交易数据的确认生效信息打包生成第二跨链结果区块,并在所述第一区块链中上链所述第二跨链结果区块,包括:
确定接收到的接收方签名的数量以及公证方签名的数量;
若所述接收方签名的数量和所述公证方签名的数量均大于所述数量阈值,则将所述发送方签名、所述接收方签名、所述公证服务方签名、所述跨链交易数据和所述跨链交易数据的确认生效信息打包成所述第二跨链结果区块;
在所述第一区块链上将所述第二跨链结果区块上链。
10.根据权利要求6所述的方法,其特征在于,所述第一区块链和所述第二区块链是根据主区块链中不同高度的区块派生得到的子链,所述主区块链中包括所述公证服务方的注册信息;所述将所述第二交易区块在第一区块链中上链之前,所述方法还包括:
从所述主区块链中获取所述公证服务器方的注册信息;
根据所述注册信息,向所述公证服务方发送交易注册请求,所述交易注册请求包括所述第一区块链的链标识,以及需要进行跨链交易的第二区块链的链标识。
11.一种基于区块链的业务处理方法,其特征在于,所述方法包括:
当检测到第一区块链中生成包括有跨链交易数据和所述跨链交易数据的预生效状态信息的第一交易区块时,获取所述第一交易区块中的跨链交易数据,并且向第二区块链发送包括所述跨链交易数据的交易请求;
当检测到在所述第二区块链中生成包括有数据处理结果和所述数据处理结果的预生效状态信息的第二交易区块时,获取所述第二交易区块中的数据处理结果,并且向所述第一区块链发送包括所述数据处理结果的交易通知,其中,所述数据处理结果是所述第二区块链基于所述跨链交易数据进行跨链数据处理得到的结果;
对所述交易请求中的所述跨链交易数据和所述交易通知中的所述数据处理结果进行签名,得到公证方签名;
向所述第一区块链和所述第二区块链发送所述公证方签名,以使所述第一区块链将所述跨链交易数据的确认生效信息打包成区块并在所述第一区块链上链,以及使所述第二区块链将所述数据处理结果的确认生效信息打包成区块并在所述第二区块链中上链。
12.根据权利要求11所述的方法,其特征在于,所述对所述交易请求中的所述跨链交易数据和所述交易通知中的所述数据处理结果进行签名,得到公证方签名之前,所述方法还包括:
分别接收所述第一区块链发送的发送方签名以及所述第二区块链发送的接收方签名;
向所述第二区块链发送所述发送方签名,并且向所述第一区块链发送所述接收方签名。
13.根据权利要去11所述的方法,其特征在于,所述第一区块链和所述第二区块链是根据主区块链中不同高度的区块得到的子链;所述获取所述第一交易区块中的跨链交易数据之前,所述方法还包括:
向所述主区块链发送公证方注册消息,所述公证方注册消息包括所述公证服务方的注册信息;
接收所述主区块链发送的注册响应,并根据所述注册响应启动所述公证服务方的服务。
14.根据权利要去13所述的方法,其特征在于,所述根据所述注册响应启动所述公证服务方的服务之后,所述方法还包括:
接收所述第一区块链和所述第二区块链发送的交易注册请求;
根据所述交易注册请求中的所述第一区块链和所述第二区块链的区块链信息,监听所述第一区块链和所述第二区块链的区块操作。
15.一种基于区块链的业务处理装置,其特征在于,包括:
交易请求接收模块,用于接收公证服务方发送的交易请求,所述交易请求是所述公证服务方根据第一区块链中的跨链交易数据生成的;
跨链数据处理模块,用于根据所述交易请求中的跨链交易数据进行跨链数据处理,得到数据处理结果,将所述数据处理结果和所述数据处理结果的预生效状态信息打包生成第一交易区块在第二区块链中上链;
第一公证方签名接收模块,用于接收所述公证服务方发送的公证方签名,所述公证方签名是所述公证服务器方根据所述第一区块链中的跨链交易数据和所述第二区块链中的数据处理结果生成的签名;
第一跨链结果打包模块,用于将所述公证方签名、所述数据处理结果和所述数据处理结果的确认生效信息打包生成第一跨链结果区块,并在所述第二区块链中上链所述第一跨链结果区块。
16.一种基于区块链的业务处理装置,其特征在于,包括:
交易数据打包模块,用于将跨链交易数据和所述跨链交易数据的预生效状态信息打包为第二交易区块;
交易区块上链模块,用于将所述第二交易区块在第一区块链中上链,以使公证服务方响应于所述第二交易区块的上链而通知第二区块链对所述跨链交易数据进行跨链数据处理;
第二公证方签名接收模块,用于接收所述公证服务方发送的公证方签名,所述公证方签名是所述公证服务方根据所述第一区块链中的跨链交易数据和所述第二区块链中的数据处理结果生成的签名;
第二跨链结果打包模块,用于将所述公证方签名、所述跨链交易数据和所述跨链交易数据的确认生效信息打包生成第二跨链结果区块,并在所述第一区块链中上链所述第二跨链结果区块。
17.一种基于区块链的业务处理装置,其特征在于,包括:
跨链数据获取模块,用于当检测到第一区块链中生成包括有跨链交易数据和所述跨链交易数据的预生效状态信息的第一交易区块时,获取所述第一交易区块中的跨链交易数据,并且向第二区块链发送包括所述跨链交易数据的交易请求;
处理结果获取模块,用于当检测到在所述第二区块链中生成包括有数据处理结果和所述数据处理结果的预生效状态信息的第二交易区块时,获取所述第二交易区块中的数据处理结果,并且向所述第一区块链发送包括所述数据处理结果的交易通知,其中,所述数据处理结果是所述第二区块链基于所述跨链交易数据进行跨链数据处理得到的结果;
公证方签名生成模块,用于对所述交易请求中的所述跨链交易数据和所述交易通知中的所述数据处理结果进行签名,得到公证方签名;
公证方签名发送模块,用于向所述第一区块链和所述第二区块链发送所述公证方签名,以使所述第一区块链将所述跨链交易数据的确认生效信息打包成区块并在所述第一区块链上链,以及使所述第二区块链将所述数据处理结果的确认生效信息打包成区块并在所述第二区块链中上链。
18.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至14中任一项所述的基于区块链的业务处理方法。
19.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如权利要求1至14中任一项所述的基于区块链的业务处理方法。
20.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中,计算机设备的处理器从所述计算机可读存储介质读取并执行所述计算机指令,使得所述计算机设备执行如权利要求1至14中任一项所述的基于区块链的业务处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111446858.7A CN116186786A (zh) | 2021-11-29 | 2021-11-29 | 基于区块链的业务处理方法、装置、电子设备和可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111446858.7A CN116186786A (zh) | 2021-11-29 | 2021-11-29 | 基于区块链的业务处理方法、装置、电子设备和可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116186786A true CN116186786A (zh) | 2023-05-30 |
Family
ID=86435105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111446858.7A Pending CN116186786A (zh) | 2021-11-29 | 2021-11-29 | 基于区块链的业务处理方法、装置、电子设备和可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116186786A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116886444A (zh) * | 2023-09-05 | 2023-10-13 | 腾讯科技(深圳)有限公司 | 跨链数据处理方法、装置、计算机、存储介质及程序产品 |
-
2021
- 2021-11-29 CN CN202111446858.7A patent/CN116186786A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116886444A (zh) * | 2023-09-05 | 2023-10-13 | 腾讯科技(深圳)有限公司 | 跨链数据处理方法、装置、计算机、存储介质及程序产品 |
CN116886444B (zh) * | 2023-09-05 | 2023-12-05 | 腾讯科技(深圳)有限公司 | 跨链数据处理方法、装置、计算机、存储介质及程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Androulaki et al. | Hyperledger fabric: a distributed operating system for permissioned blockchains | |
CN111598566A (zh) | 基于混合跨链的网络支付系统 | |
CN112000976B (zh) | 区块链系统的认证管理方法、装置、介质及电子设备 | |
CN109741068B (zh) | 网银跨行签约方法、装置及系统 | |
CN112232823B (zh) | 区块链系统的交易处理方法、装置、介质及电子设备 | |
CN112231741B (zh) | 基于区块链系统的数据处理方法、装置、介质及电子设备 | |
CN111681003A (zh) | 资源跨链转移方法、装置、计算机设备以及存储介质 | |
CN108876669B (zh) | 应用于多平台教育资源共享的课程公证系统及方法 | |
US20230316273A1 (en) | Data processing method and apparatus, computer device, and storage medium | |
US20230037932A1 (en) | Data processing method and apparatus based on blockchain network, and computer device | |
CN113256297B (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
CN116150260A (zh) | 区块链系统的数据处理方法、装置、介质及电子设备 | |
CN112287031B (zh) | 区块链系统的数据同步方法、装置、可读介质及电子设备 | |
CN114567643B (zh) | 跨区块链的数据流转方法、装置及相关设备 | |
CN114240433A (zh) | 基于区块链的数据处理方法及系统 | |
CN116827957B (zh) | 基于多区块链的信息处理方法、装置、设备以及介质 | |
CN113689216A (zh) | 跨链事务处理方法及装置、设备、存储介质、程序产品 | |
CN112532753B (zh) | 区块链系统的数据同步方法、装置、介质及电子设备 | |
CN116186786A (zh) | 基于区块链的业务处理方法、装置、电子设备和可读介质 | |
CN115310920A (zh) | 基于治理链的跨链互操作管理方法、装置及存储介质 | |
CN116186749A (zh) | 基于区块链的业务处理方法、装置、电子设备和可读介质 | |
CN116233139A (zh) | 区块链系统的数据处理方法、装置、介质及电子设备 | |
WO2023082883A1 (zh) | 跨区块链处理事务的方法、装置、计算机设备、计算机存储介质及计算机程序产品 | |
CN117061538A (zh) | 一种基于区块链网络的共识处理方法及相关装置 | |
CN116186750A (zh) | 基于区块链系统的业务处理方法、装置、设备和可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40086689 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |