CN109426949B - 一种跨链交易方法及装置 - Google Patents
一种跨链交易方法及装置 Download PDFInfo
- Publication number
- CN109426949B CN109426949B CN201710756457.9A CN201710756457A CN109426949B CN 109426949 B CN109426949 B CN 109426949B CN 201710756457 A CN201710756457 A CN 201710756457A CN 109426949 B CN109426949 B CN 109426949B
- Authority
- CN
- China
- Prior art keywords
- transaction
- transactions
- node
- anchor
- anchoring
- 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.)
- Active
Links
Images
Classifications
-
- 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/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- 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
-
- 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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- 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
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
- G06Q20/027—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP] involving a payment switch or gateway
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, 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/405—Establishing or using transaction specific rules
-
- 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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
-
- 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
- G06Q2220/00—Business processing using cryptography
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Finance (AREA)
- Economics (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- General Engineering & Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Technology Law (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种跨链交易的方法及装置。该方法中,针对于相互关联的多个交易所属的区块链中第一区块链上的任一节点,该节点在接收到共识节点发送的关联交易后,需要根据关联交易中所包括的锚定交易的标识,确定锚定交易是否为有效交易,若锚定交易为有效交易,则根据所述多个交易所属的区块链的标识,将所属的区块链为第一区块链的交易写入第一区块链,从而能够保证多个区块链上相互关联的多个交易同时提交成功,有效避免现有技术中多个交易未能同时提交成功,已经成功的交易可能无法撤销的问题。且由于多个交易具有原子性,因此无需根据具体的业务类型涉及中间状态和回退交易。
Description
技术领域
本发明涉及区块链技术领域,特别涉及一种跨链交易方法及装置。
背景技术
区块链(Blockchain)系统中,数据均保存在区块中,新写入的数据组成新的区块,添加在当前区块链末端。每个区块在保存数据的同时,还要保存前一个区块中所有记录的数据唯一对应的一个数(往往是所有记录的数据的哈希值),从而形成链。因此,区块链系统可以认为是由分布式网络上的互相不完全信任的计算机,通过共识规则,共同维护一套可追溯、不可篡改的链式数据的系统。
区块链间的跨链交易有多种可能的场景,例如:场景1,区块链1中的用户A向在区块链2中的用户B支付若干资产;场景2,用户E在区块链1和区块链2上分别发起交易a和交易b,交易a和交易b为两个相互关联的交易。
以场景1为例,现有技术中的实现方案为:用户A和用户B协商后,确定一个在两个区块链上都有资产的用户C,扮演中间人的角色。用户A在区块链1中向Escrow发起交易(转移资产);用户C在区块链2中向Escrow发起交易,其中,Esrow在两个区块链上都有资产,且有公信力,类似一个中立的交易人。Escrow确定两笔交易都完成以后,再由Escrow在两个区块链中分别把相应的资产转移给用户C和用户B。然而,由于该方案的实现依赖中间人,Escrow需要在两个区块链上分别向用户C和用户B发起付款交易,如果因为某些原因而导致其中一笔交易失败,则需要撤销已经成功的交易,然而已经成功的交易可能会无法撤销,从而未能从根本上解决相互关联的交易在两个区块链上进行原子性提交的问题。
综上,目前亟需一种跨链交易方法,用于解决相互关联的交易在多个区块链上进行原子性提交的问题。
发明内容
本申请提供一种跨链交易方法,用于解决相互关联的交易在多个区块链上进行原子性提交的问题。
第一方面,本申请提供一种跨链交易,所述方法包括:
节点接收共识节点发送的关联交易;所述关联交易中包括多个交易的交易内容、所述多个交易所属的区块链的标识和锚定交易的标识;所述节点为第一区块链上的任一节点,所述第一区块链为所述多个交易所属的区块链中的任一区块链;
所述节点根据所述锚定交易的标识,若确定所述锚定交易为有效交易,则根据所述多个交易所属的区块链的标识,将所属的区块链为所述第一区块链的交易写入所述第一区块链。
如此,针对于相互关联的多个交易所属的区块链中第一区块链上的任一节点,该节点在接收到共识节点发送的关联交易后,需要根据关联交易中所包括的锚定交易的标识,确定锚定交易是否为有效交易,若锚定交易为有效交易,则根据所述多个交易所属的区块链的标识,将所属的区块链为第一区块链的交易写入第一区块链,从而能够保证多个区块链上相互关联的多个交易同时提交成功,有效避免现有技术中多个交易未能同时提交成功,且已经成功的交易可能无法撤销的问题。且,采用本申请中的方法,由于多个交易具有原子性,因此无需根据具体的业务类型涉及中间状态和回退交易,能够有效解决现有技术中针对于业务逻辑比较复杂的情形难以设计中间状态和回退交易的问题。
在一种可能的设计中,所述节点若确定所述锚定交易为无效交易,则放弃写入所述关联交易。
在一种可能的设计中,所述节点确定所述锚定交易为无效交易之前,还包括:
所述节点接收所述共识节点发送的无效锚定交易,所述无效锚定交易中包括所述锚定交易的标识;
所述节点根据所述无效锚定交易,将所述锚定交易设置为无效交易。
在一种可能的设计中,所述节点接收共识节点发送的关联交易之前,还包括:
所述节点接收所述共识节点发送的所述锚定交易,并将所述锚定交易写入所述第一区块链。
在一种可能的设计中,所述节点为所述多个交易所属的区块链中共有的节点;
所述节点接收共识节点发送的关联交易之前,还包括:
所述节点向所述共识节点发送所述多个交易对应的所述锚定交易,所述锚定交易中包括所述多个交易的数据标识、所述多个交易所属的区块链的标识和锚定版本号;
所述节点确定所述锚定交易成功后,向所述共识节点发送关联交易。
在一种可能的设计中,所述节点向所述共识节点发送所述锚定交易,包括:
所述节点向公证节点发送所述多个交易对应的锚定请求,所述锚定请求用于请求所述公证节点生成所述锚定交易并发送给所述共识节点。
在一种可能的设计中,所述节点确定所述锚定交易成功后,向所述共识节点发送关联交易,包括:
所述节点接收所述公证节点发送的锚定指示信息,所述锚定指示信息用于指示所述锚定交易成功,所述锚定指示信息中包括所述锚定交易的标识和所述锚定请求的标识;
所述节点根据所述锚定请求的标识,确定所述锚定请求对应的所述多个交易,并根据所述多个交易,向所述共识节点发送所述关联交易。
第二方面,本申请提供一种跨链交易方法,所述方法包括:
共识节点接收节点发送的锚定交易,所述锚定交易中包括所述多个交易的数据标识、所述多个交易所属的区块链的标识;
所述共识节点监控所述数据标识对应的数据,若监控到所述数据标识对应的数据被修改,则向所述多个交易所属的区块链中的各个节点广播无效锚定交易,所述无效锚定交易中包括所述锚定交易的标识信息,所述无效锚定交易用于指示所述锚定交易为无效交易。
如此,共识节点通过接收节点发送的锚定交易,并对锚定交易中数据标识对应的数据进行监控,并在监控到数据被修改后,将监控结果通知给各个节点,以便于各个节点根据监控结果,将相互关联的多个交易同时提交失败,使得多个交易具有原子性。
在一种可能的设计中,所述锚定交易中还包括锚定版本号;
所述共识节点监控到所述数据被修改,包括:
所述共识节点接收其它交易,所述其它交易为不与所述多个交易相关联的交易,所述其它交易中包括所述数据标识对应的数据的版本号;
所述共识节点若确定所述其它交易中包括的所述版本号不同于所述锚定版本号,则监控到所述数据被修改。
在一种可能的设计中,所述共识节点接收节点发送的锚定交易之后,还包括:
所述共识节点根据所述多个交易所属的区块链的标识,向所述锚定数据所在的区块链中的各个节点广播所述锚定交易。
在一种可能的设计中,所述共识节点向所述多个交易所属的区块链中的各个节点广播所述锚定交易之后,还包括:
所述共识节点接收所述节点发送的关联交易,所述关联交易中包括所述多个交易的交易内容、所述多个交易所属的区块链的标识和所述锚定交易的标识;
所述共识节点根据所述多个交易所属的区块链的标识,向所述多个交易所属的区块链中的各个节点广播关联交易。
第三方面,本申请提供一种跨链交易系统,所述跨链交易系统中包括多个共识节点和相互关联的多个交易所属的区块链上的节点;所述相互关联的多个交易所属的区块链上的节点包括连接节点,所述连接节点为所述相互关联的多个交易所属的区块链共有的节点;
所述连接节点,用于向所述共识节点发送锚定交易,所述锚定交易中包括多个交易的数据标识、所述多个交易所属的区块链的标识和锚定版本号;
所述共识节点,用于接收节点发送的锚定交易,并监控所述数据标识对应的数据,若监控到所述数据标识对应的数据被修改,则向所述多个交易所属的区块链中的各个节点广播无效锚定交易,所述无效锚定交易中包括所述锚定交易的标识信息,所述无效锚定交易用于指示所述锚定交易为无效交易;
所述连接节点,还用于向共识节点发送关联交易,所述关联交易中包括多个交易的交易内容、所述多个交易所属的区块链的标识和锚定交易的标识;
所述共识节点,还用于接收所述节点发送的关联交易,并根据所述多个交易所属的区块链的标识,向所述多个交易所属的区块链中的各个节点广播关联交易;
所述多个交易所属的区块链中的各个节点,用于接收所述关联交易,并根据所述锚定交易的标识,若确定所述锚定交易为有效交易,则将所述关联交易写入所述各个节点维护的区块链。
第四方面,本申请提供一种服务器,所述服务器为第一区块链上的任一节点所在的服务器,所述服务器包括:
收发模块,用于接收共识节点发送的关联交易;所述关联交易中包括多个交易的交易内容、所述多个交易所属的区块链的标识和锚定交易的标识;所述第一区块链为所述多个交易所属的区块链中的任一区块链;
处理模块,用于根据所述锚定交易的标识,若确定所述锚定交易为有效交易,则根据所述多个交易所属的区块链的标识,将所属的区块链为所述第一区块链的交易写入所述第一区块链。
在一种可能的设计中,所述服务器若确定所述锚定交易为无效交易,则放弃写入所述关联交易。
在一种可能的设计中,所述收发模块还用于:接收所述共识节点发送的无效锚定交易,所述无效锚定交易中包括所述锚定交易的标识;
所述处理模块具体用于:根据所述无效锚定交易,将所述锚定交易设置为无效交易。
在一种可能的设计中,所述收发模块接收共识节点发送的关联交易之前,还用于:接收所述共识节点发送的所述锚定交易;
所述处理模块,还用于将所述锚定交易写入所述第一区块链。
在一种可能的设计中,所述服务器为所述多个交易所属的区块链中共有的节点所在的服务器;
所述收发模块在接收共识节点发送的关联交易之前,还用于:向所述共识节点发送所述多个交易对应的所述锚定交易,所述锚定交易中包括所述多个交易的数据标识、所述多个交易所属的区块链的标识和锚定版本号;以及,确定所述锚定交易成功后,向所述共识节点发送关联交易。
在一种可能的设计中,所述收发模块还用于:所述节点向公证节点发送所述多个交易对应的锚定请求,所述锚定请求用于请求所述公证节点生成所述锚定交易并发送给所述共识节点。
在一种可能的设计中,所述收发模块具体用于:
接收所述公证节点发送的锚定指示信息,所述锚定指示信息用于指示所述锚定交易成功,所述锚定指示信息中包括所述锚定交易的标识和所述锚定请求的标识;
根据所述锚定请求的标识,确定所述锚定请求对应的所述多个交易,并根据所述多个交易,向所述共识节点发送所述关联交易。
第五方面,本申请提供一种服务器,所述服务器为共识节点所在的服务器,所述服务器包括:
收发模块,用于接收节点发送的锚定交易,所述锚定交易中包括所述多个交易的数据标识、所述多个交易所属的区块链的标识;
处理模块,用于监控所述数据标识对应的数据,若监控到所述数据标识对应的数据被修改,则通过所述收发模块向所述多个交易所属的区块链中的各个节点广播无效锚定交易,所述无效锚定交易中包括所述锚定交易的标识信息,所述无效锚定交易用于指示所述锚定交易为无效交易。
在一种可能的设计中,所述锚定交易中还包括锚定版本号;
所述收发模块还用于:
接收其它交易,所述其它交易为不与所述多个交易相关联的交易,所述其它交易中包括所述数据标识对应的数据的版本号;
所述处理模块具体用于:
若确定所述其它交易中包括的所述版本号不同于所述锚定版本号,则监控到所述数据标识对应的数据被修改。
在一种可能的设计中,所述收发模块接收节点发送的锚定交易之后,还用于:
根据所述多个交易所属的区块链的标识,向所述锚定数据所在的区块链中的各个节点广播所述锚定交易。
在一种可能的设计中,所述收发模块向所述多个交易所属的区块链中的各个节点广播所述锚定交易之后,还包括:
接收所述节点发送的关联交易,所述关联交易中包括所述多个交易的交易内容、所述多个交易所属的区块链的标识和所述锚定交易的标识;
根据所述多个交易所属的区块链的标识,向所述多个交易所属的区块链中的各个节点广播关联交易。
第六方面,本申请还提供一种服务器,该服务器具有实现上述第四方面方法示例中的功能;所述通信装置包括:通信模块、处理器;
所述通信模块,用于与其他设备进行通信交互;所述通信模块可以为RF电路、WiFi模块、通信接口、蓝牙模块等;
所述处理器,用于实现上述第四方面中处理模块的功能。
可选的,通信装置还可以包括:存储器,用于存放程序等。具体地,程序可以包括程序代码,该程序代码包括指令。存储器可能包含RAM,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。处理器执行存储器所存放的应用程序,使得服务器实现上述功能。
一种可能的方式中,通信模块、处理器和存储器可以通过所述总线相互连接;总线可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。
第七方面,本申请还提供一种服务器,该服务器具有实现上述第五方面方法示例中的功能;所述通信装置包括:通信模块、处理器;
所述通信模块,用于与其他设备进行通信交互;所述通信模块可以为RF电路、WiFi模块、通信接口、蓝牙模块等;
所述处理器,用于实现上述第五方面中处理模块的功能。
可选的,通信装置还可以包括:存储器,用于存放程序等。具体地,程序可以包括程序代码,该程序代码包括指令。存储器可能包含RAM,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。处理器执行存储器所存放的应用程序,使得服务器实现上述功能。
一种可能的方式中,通信模块、处理器和存储器可以通过所述总线相互连接;总线可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。
本申请还提供了一种计算机可读存储介质,所述存储介质存储有指令,当所述指令在计算机上运行时,使得计算机实现执行上述任意一种设计提供的跨链交易方法。
本申请还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任意一种设计提供的跨链交易方法。
本申请还提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述任意一种设计提供的跨链交易方法。
附图说明
图1为本申请适用的一种系统架构示意图;
图2a为本申请实施例一提供的一种跨链交易的流程示意图;
图2b为本申请实施例一提供的另一种跨链交易的流程示意图;
图3为本申请中共识节点的监控示意图;
图4a为本申请实施例二提供的一种跨链交易的流程示意图;
图4b为本申请实施例二提供的另一种跨链交易的流程示意图;
图5为本申请提供的第一种服务器的结构示意图;
图6为本申请提供的第二种服务器的结构示意图;
图7为本申请提供的第三种服务器的结构示意图;
图8为本申请提供的第四种服务器的结构示意图。
具体实施方式
下面结合说明书附图对本申请进行具体说明。
本申请中的跨链交易方法可适用于多种系统架构。图1为本申请适用的一种系统架构示意图,该系统架构中可包括共识服务网络、两个或两个以上区块链网络,例如图1所示出的第一区块链网络和第二区块链网络。其中,共识服务网络中可以包括多个具有共识功能的共识节点,例如图1所示出的共识节点a1、共识节点a2、共识节点a3和共识节点a4。在图1所示的架构中,第一区块链网络和第二区块链网络共用由共识服务网络中的各个共识节点提供的共识服务。
具体来说,区块链网络是由多个节点组成的点对点(peer to peer,P2P)网络,P2P是一种运行在传输控制协议(transmission control protocol,TCP)协议之上的应用层协议,在区块链网络中的节点彼此对等,网络中不存在中心节点,每个节点都可以随机连接其它节点。
由于区块链网络是一个P2P的分布式网络,校验交易记录并在众多节点之间共识是一个比较慢的过程,但在实际应用中,很多场景需要较快的交易速度。一种比较快速的共识机制为背书证明(proof of endorse,PoE)。这种共识机制的核心在于区块链网络中的多个背书节点(endorser)运行智能合约并对合约运行结果(endorsement)进行背书(通过对背书节点本身的合约运行结果内容进行签名,保证是由特定背书节点发出的结果)。用户可以根据实际需求设置自己的智能合约要信任的背书节点及对多个合约运行结果的验证策略(endorse policy)。例如,可以向3个背书节点发送智能合约运行请求(proposal),验证策略可以要求3个合约运行结果的内容必须一致,也可以要求至少两个合约运行结果的内容一致。客户端设备收集背书节点返回的合约运行结果包含在交易中,并通过共识服务网络广播到区块链网络中所有节点(包括背书节点)。节点校验接收到的交易,若交易满足验证策略,则接受该交易对数据的修改,写入区块链。
实际运行过程中,整个区块链网络是分布式的,从而使得数据的同步会有时间上的差异。背书节点在运行某条交易的智能合约代码时获取的数据,与交易最终要写入区块链时的数据很有可能会不一致,进而使得背书节点的背书失效。为解决这一问题,可以为智能合约的每个数据设置自增的版本号,并在更新数据时对数据的版本号同时进行更新。
如图1所示,第一区块链网络中包括节点b1、节点b2、节点b3、节点b4、节点d1、节点d2,这些节点共同维护区块链1;第二区块链网络中包括节点c1、节点c2、节点c3、节点c4、节点c5、节点d1、节点d2,这些节点共同维护区块链2。其中,区块链是以区块为单位存储交易清单,区块链中的区块按照时间顺序生成,每个区块用于记录一段时间内产生的交易清单。区块链上所记录的所有交易清单即为账本(Ledger),例如,区块链1上记录的账本为Ledger1,区块链2上记录的账本为Ledger2,本申请中,在不引起歧义的情况下,账本和区块链是可以互相替代的同等概念。
需要说明的是,上述系统架构仅为一种逻辑上的示意;在物理上,区块链网络中的一个节点在一台物理机(服务器)上,或者,多个区块链网络中的多个节点在同一个服务器上,一个节点具体可以是指服务器中运行的一个进程或者一系列进程,例如,第一区块链网络中的节点a1和第二区块链网络中的节点c1可以为一个服务器上运行的两个进程。
本申请中所描述的节点可以是指节点所在的服务器。
进一步地,一个或一个以上的客户端可以通过接入网络而与节点进行通信。例如,若用户A在区块链1中有资产,则用户A可通过客户端a与第一区块链网络中的任意节点进行通信,从而在区块链1中发起交易;若用户B在区块链2中有资产,则用户B可通过客户端b与第二区块链网络中的任意节点进行通信,从而在区块链2中发起交易;若用户C在区块链1和区块链2中均有资产,则用户C可通过客户端c同时在第一区块链网络和第二区块链网络中的任意节点进行通信,从而在区块链1或区块链2中发起交易。
需要说明的是,本申请中,也可以不设置客户端设备,此时,用户可直接通过区块链上的节点而在区块链中发起交易,具体不做限定。
基于图1所示出的架构,在进行区块链间的资产交易时,以区块链1中的用户A要给区块链2中的用户B支付100单位资产的场景为例,现有技术中的实现方式为,在每个区块链中引入了一个Escrow角色,类似一个中立的交易人,两个区块链中分别先向Esrow发起交易,而在Escrow确定两笔交易都完成以后,再由Escrow分别把资产转移给各个区块链中的参与者。具体流程如下:
S1,用户A选择用户C作为中间人;用户C为区块链1和区块链2中的用户;
S2,在区块链1中,用户A把资产转给Escrow(称为交易1),此时交易1的状态是准备状态(Prepared);
S3,在区块链2中,用户C在看到区块链1中用户A转给Escrow的交易之后(Prepared),把资产转给区块链2中的Escrow(称为交易2),此时交易2的状态是准备状态(Prepared);
S4,区块链2中的用户B看到交易2的状态是准备状态后签发一个收款签名;
S5,由一组证明人(Notary)来监视区块链2中用户B是否签发了收款签名,这组证明人本身可以通过共识形成对用户B是否在规定的过期时间内签发了收款签名输出一致、可信的结果;如果证明人发现用户B在区块链2中的收款签名,则通知区块链1和区块链2将Escrow中的资产转移给交易对象,即通知区块链1中的Escrow向中间人用户C发送资产,以及通知区块链2中的Escrow向用户B发送资产;否则,将Escrow中保管的资产退回给交易的发起者,即区块链1中Escrow发送给用户A,区块链2中Escrow发送给用户C。
上述方案可以扩展到通过N个区块链的资产支付(区块链1→…→区块链N),证明人通过观察区块链N的支付目标是否收签发了收款签名,来通知所有区块链上的Escrow是否将代管的资产发给交易目标或是退还给交易的发起者。
上述实现方式中,Escrow需要在两个区块链上分别向用户C和用户B发起付款交易,如果因为某些原因而导致其中一笔交易失败,则需要撤销已经成功的交易,然而已经成功的交易可能会无法撤销,从而导致交易的安全保障性较差。
基于此,本申请提供一种跨链交易方法,针对于相互关联的多个交易所属的区块链中第一区块链上的任一节点,该节点在接收到共识节点发送的关联交易后,需要根据关联交易中所包括的锚定交易的标识,确定锚定交易是否为有效交易,若锚定交易为有效交易,则根据所述多个交易所属的区块链的标识,将所属的区块链为第一区块链的交易写入第一区块链,从而能够保证多个区块链上相互关联的多个交易同时提交成功,有效避免现有技术中多个交易未能同时提交成功,且已经成功的交易可能无法撤销的问题。且,采用本申请中的方法,由于多个交易具有原子性,因此无需根据具体的业务类型涉及中间状态和回退交易,能够有效解决现有技术中针对于业务逻辑比较复杂的情形难以设计中间状态和回退交易的问题。
为便于清楚地描述本申请,可将在多个区块链(如图1中的区块链1和区块链2)上执行关联交易的节点称为连接节点(connect peer),可将为多个区块链上交易的数据执行背书的节点称为公证节点(notary peer)。其中,连接节点和公证节点均为区块链1和区块链2共有的节点,公证节点为预先从多个区块链共有的节点中指定的节点,用于执行第三方公证作用,公证节点能够接收到多个区块链的交易信息。
实施例一
基于图1所示的系统架构,图2a为本申请实施例一提供的一种跨链交易方法所对应的流程示意图。如图2a所示,该方法包括:
步骤201,连接节点根据相互关联的多个交易,生成所述多个交易对应的锚定交易,并向共识节点发送锚定交易,锚定交易中包括所述多个交易的数据标识、所述多个交易所属的区块链的标识和锚定版本号。
此处,相互关联的多个交易可以为相互关联的两个或两个以上的交易,相应地,多个交易所属的区块链为两个或两个以上的区块链,例如,区块链1、区块链2、……、区块链N,N为正整数。
以“用户A需要使用其在区块链1中的资产,向在区块链2中的用户B支付若干区块链2中的资产,并选择在两个区块链上都有资产的用户C作为中间人”的场景为例,用户A、用户B和用户C协商:由用户A在区块链1中向用户C支付资产(第一交易),由用户C在区块链2中向用户B支付资产(第二交易)。第一交易和第二交易为相互关联的多个交易。第一交易所属的区块链为区块链1,第二交易所属的区块链为区块链2。
其中,多个交易的数据标识是指在多个交易所属的区块链上调用智能合约请求所要访问的数据的变量,多个交易的数据标识对应的数据即为在多个交易所属的区块链上调用智能合约请求所要访问的数据。例如,第一交易的数据标识可以为用户A的标识、用户C的标识。用户A的标识对应的数据即为用户A在区块链1中的资产数据,用户C的标识即为用户C在区块链1中的资产数据。
锚定版本号是指在多个交易所属的区块链上调用智能合约请求所要访问的数据的版本号。
区块链的标识可以为用于唯一标识区块链的信息,例如,区块链的编号,具体不做限定。
进一步地,本申请中,相互关联的多个交易可以携带有相同的关联标识。连接节点生成多个交易对应的锚定交易后,可建立锚定交易的标识与多个交易携带的关联标识的对应关系并存储。具体的存储方式可以有多种,例如,采用数据表的形式存储,如表1所示。
表1:多个交易的关联标识与锚定交易的标识的对应关系示例
关联标识 | 锚定交易的标识 |
关联标识1 | 锚定交易1 |
关联标识2 | 锚定交易2 |
…… | …… |
步骤202,共识节点接收锚定交易,并监控所述数据标识对应的数据。
本申请中,共识节点的监控方式有多种,例如,共识节点可以通过维护一个本地数据监控表来实现:共识节点每发送出一个锚定交易,便将该锚定交易加入到数据监控表,当监控到数据标识对应的数据被修改时,将该锚定交易从数据监控表中移除。
具体来说,共识节点可以用一个消息队列的中间件来实现,从统一的接口接收各个连接节点发送来的锚定交易。如图3所示,共识节点根据锚定交易中多个交易所属的区块链的标识,将交易信息记录到不同的分区(partition),例如,partition0、partition1和partition2,不同分区对应不同的区块链上的交易。例如,partition0对应区块链1上的交易,partition1对应区块链2上的交易,partition3对应区块链3上的交易。以partition0为例,分区中的编号(0、1、2、……、11、12……)用于表示区块链1上各个需要监控的交易。共识节点可以根据区块链的标识,将不同分区中的交易信息打包成区块(block)发送给对应的区块链的节点。
步骤203,共识节点若监控到所述数据标识对应的数据被修改,则向所述多个交易所属的区块链中的各个节点广播无效锚定交易,所述无效锚定交易中包括所述锚定交易的标识信息,所述无效锚定交易用于指示所述锚定交易为无效交易。
本申请中,导致数据标识对应的数据被修改的情形可以有多种,例如,共识节点接收到第三交易(用户A在区块链1中向用户D支付资产),由于第三交易对用户A的资产数据进行了更改,从而导致数据标识对应的数据被修改。具体来说,第三交易中包含数据标识对应的数据的版本号时,共识节点若判断发现第三交易中包含的版本号不同于锚定交易中的锚定版本号,则确定监控到数据标识对应的数据被修改;第三交易中不包含版本号,共识节点若判断发现第三交易中对数据标识对应的数据进行写操作,则确定监控到数据标识对应的数据被修改。
共识节点接收到第三交易后,检测第三交易修改了锚定交易中的数据标识对应的数据(具体为用户A在区块链1中的资产数据),则将第三交易记入区块链1中的待广播交易队列,并立即在区块链1和区块链2的待广播交易队列中加入无效锚定交易,以及更新本地的监控数据表,把锚定交易从监控数据表中删除,不再继续监控锚定数据。
步骤204,多个交易所属的区块链上的节点接收共识节点发送的无效锚定交易。
步骤205,连接节点向共识节点发送关联交易,关联交易中包括多个交易的交易内容、所述多个交易所属的区块链的标识和锚定交易的标识。
步骤206,共识节点接收关联交易,根据多个交易所属的区块链的标识,将关联交易发送给多个交易所属的区块链上的节点。
此处,针对于上述场景,共识节点接收关联交易后,根据关联交易中所包括第一交易所属的区块链1的标识和第二交易所属的区块链2的标识,可将关联交易发送给区块链1中的各个节点和区块链2中的各个节点。
步骤207,针对于多个交易所属的区块链中第一区块链上的任一节点,该节点接收到关联交易后,根据关联交易中包括的锚定交易的标识,确定锚定交易为无效交易,并放弃写入所述关联交易。
本申请中,节点还需要对关联交易的交易格式、签名等进行本地验证,并在本地验证通过且锚定交易为有效交易的情况下,方可将所属的区块链为第一区块链的交易写入第一区块链。对关联交易的交易格式、签名等进行本地验证的具体内容可参照现有技术,此处不再赘述。进一步地,本申请对本地验证和锚定交易验证的先后顺序不做限定,一种可能的实现方式为,节点可以先验证锚定交易是否为有效交易,若锚定交易为无效交易,则可直接放弃写入,而无需再进行有效性验证,从而节省处理负担。
此处,第一区块链为多个交易所属的区块链中的任一区块链,例如,区块链1或区块链2。具体来说,区块链1上的节点和区块链2上的节点接收到关联交易后,根据关联交易中包括的锚定交易的标识以及步骤204中接收到的无效锚定交易,确定锚定交易为无效交易后,放弃写入关联交易,此时,关联交易中的第一交易和第二交易同时提交失败。
需要说明的是,本申请中,若在步骤203中,共识节点未监控到所述数据标识对应的数据被修改,则可以不做处理,如此,多个交易所属的区块链上的节点也不会接收到无效锚定交易。相应地,在步骤207中,多个交易所属的区块链上的节点接收到关联交易后,确定锚定交易为有效交易,并将关联交易写入相应的区块链中。具体来说,区块链1上的节点接收到关联交易后,确定锚定交易为有效交易,并将第一交易写入区块链1中;区块链2上的节点接收到关联交易后,确定锚定交易为有效交易,并将第二交易写入区块链2中;以及,连接节点(区块链1和区块链2共有的节点)接收到关联交易后,确定锚定交易为有效交易,并将第一交易写入区块链1中,将第二交易写入区块链2中。此时,关联交易中的第一交易和第二交易同时提交成功。此种情形下的具体流程可参见图2b。图2b所示出的流程与图2a相比,由于共识节点的监控结果不同,进而导致了不同的执行结果。图2b中的相关步骤均可参照图2a中的描述,具体不再赘述。
进一步地,在上述步骤203中,为降低共识节点的处理负担,可在共识节点接收到锚定交易并开始监控时启动一个相应的计时器,若定时器到达设定时长仍未监控到数据被修改,则可广播无效锚定交易,并不再继续监控。其中,设定时长可由本领域技术人员根据实际情况进行设定。一种可能的场景中,共识节点在设定时长内未监控到数据被修改,定时器到达设定时长时关联交易已经提交成功,此时共识节点无需再监控锚定交易,而为了避免后续锚定交易被恶意使用,共识节点可以向多个交易所属的区块链上的各个节点广播无效锚定交易。
需要说明的是:(1)上述步骤编号仅为执行过程的一种示例性表示,本申请对各个步骤的先后顺序不做具体限定。(2)步骤203和步骤204可以发生在步骤202之后和步骤207之前的任何时间,具体不做限定。(3)图2a和图2b仅以两个区块链(区块链1和区块链2)为例,具体实施中,也可以有两个以上的区块链(区块链1、区块链2、……、区块链N),两个以上区块链的实现过程可参照上述描述。
实施例二
图4a为本申请提供的一种跨链交易方法所对应的流程示意图。如图4a所示,该方法包括:
步骤401,连接节点根据相互关联的多个交易,生成所述多个交易对应的锚定请求,并向公证节点发送锚定请求,锚定请求中包括所述多个交易的数据标识、所述多个交易所属的区块链的标识和锚定版本号。
本申请中,相互关联的多个交易可以携带有相同的关联标识。连接节点生成多个交易对应的锚定请求后,可建立锚定请求的标识与多个交易携带的关联标识的对应关系并存储。具体的存储方式可以有多种,例如,采用数据表的形式存储,如表2所示。
表2:多个交易的关联标识与锚定请求的标识的对应关系示例
关联标识 | 锚定交易的标识 |
关联标识1 | 锚定请求1 |
关联标识2 | 锚定请求2 |
…… | …… |
步骤402,公证节点接收到连接节点发送的锚定请求后,生成所述锚定请求对应的锚定交易,并将所述锚定交易发送给共识节点;所述锚定交易中包括所述多个交易的数据标识、所述多个交易所属的区块链的标识和锚定版本号。
此处,公证节点接收到锚定请求后,可以验证锚定请求中的锚定版本号是否与本地账本相同,若相同,则生成锚定请求对应的锚定交易,并执行后续流程,若不同,则向连接节点返回数据无效的消息并结束流程。
本申请中,公证节点生成所述锚定请求对应的锚定交易后,可建立锚定请求的标识与锚定交易的标识之间的对应关系并存储,如表3所示。
表3:锚定请求的标识与锚定交易的标识的对应关系示例
锚定请求的标识 | 锚定交易的标识 |
锚定请求1 | 锚定交易1 |
锚定请求2 | 锚定交易2 |
…… | …… |
步骤403,共识节点接收锚定交易,根据所述多个交易所属的区块链的标识,将所述锚定交易发送给所述多个交易所属的区块链上的节点,并监控所述数据标识对应的数据。
步骤404,共识节点若监控到所述数据标识对应的数据被修改,则向所述多个交易所属的区块链中的各个节点广播无效锚定交易,所述无效锚定交易中包括所述锚定交易的标识信息,所述无效锚定交易用于指示所述锚定交易为无效交易。
步骤405,多个交易所属的区块链上的节点接收共识节点发送的无效锚定交易,并将锚定交易设置为无效交易。
具体来说,节点将锚定交易设置为无效交易可以是指节点为锚定交易设置一个无效标识,该无效标识表示锚定交易为无效交易,或者,也可以是通过其它方式来设置,具体不做限定。
本申请中,节点可以在本地维护一个锚定交易的列表,列表中包括锚定交易的标识以及锚定交易是否为无效交易的无效标识,带有无效标识的锚定交易均为无效交易,而不带有无效标识的锚定交易均为有效交易。如此,可通过查询列表快速确定出锚定交易为有效交易或无效交易。
需要说明的是,节点将锚定交易设置为无效交易也可以是指:直接将无效的锚定交易从列表中删除。如此,节点查询列表,若未能从列表中找到锚定交易,则确定该锚定交易为无效交易,若能够从列表中找到锚定交易,则确定该锚定交易为有效交易。
步骤406,公证节点接收到共识节点在步骤403中发送的所述锚定交易后,向中间节点发送锚定指示信息,所述锚定指示信息用于指示所述锚定交易成功,所述锚定指示信息中包括所述锚定交易的标识和所述锚定交易对应的锚定请求的标识。
此处,公证节点接收到锚定交易后,根据锚定交易的标识以及锚定交易的标识和锚定请求的标识之间的对应关系,可确定出对应的锚定请求的标识,进而向中间节点发送锚定指示信息。
步骤407,连接节点接收公证节点发送的锚定指示信息,根据所述锚定请求的标识,确定对应的关联标识,进而根据携带该关联标识的多个交易生成关联交易,以及将所述关联交易发送给共识节点;所述关联交易包括所述多个交易的交易内容、所述多个交易所属的区块链的标识和所述锚定交易的标识。
步骤408,共识节点接收关联交易,根据多个交易所属的区块链的标识,将关联交易发送给多个交易所属的区块链上的节点。
步骤409,针对于多个交易所属的区块链中第一区块链上的任一节点,该节点接收到关联交易后,根据关联交易中包括的锚定交易的标识,确定锚定交易为无效交易,并放弃写入所述关联交易。
需要说明的是,本申请中,若在步骤404中,共识节点未监控到所述数据标识对应的数据被修改,则可以不做处理。如此,在步骤409中,多个交易所属的区块链上的节点接收到关联交易后,确定锚定交易为有效交易,并将关联交易写入相应的区块链中。具体来说,区块链1上的节点接收到关联交易后,确定锚定交易为有效交易,并将第一交易写入区块链1中;区块链2上的节点接收到关联交易后,确定锚定交易为有效交易,并将第二交易写入区块链2中;以及,公正节点和连接节点(均为区块链1和区块链2共有的节点)在接收到关联交易后,确定锚定交易为有效交易,并将第一交易写入区块链1中,将第二交易写入区块链2中。此种情形下的具体流程可参见图4b。图4b所示出的流程与图4a相比,由于共识节点的监控结果不同,进而导致了不同的执行结果。图4b中的相关步骤均可参照图4a中的描述,具体不再赘述。
进一步地,在上述步骤404中,为降低共识节点的处理负担,可在共识节点接收到锚定交易并开始监控时启动一个相应的计时器,若定时器到达设定时长仍未监控到数据被修改,则可广播无效锚定交易,并不再继续监控。其中,设定时长可由本领域技术人员根据实际情况进行设定。一种可能的场景中,共识节点向多个交易所属的区块链上的各个节点广播锚定交易后,节点可以对锚定交易进行验证,如果节点接收到锚定交易时,锚定交易中的锚定版本号与节点账本中不同,则说明锚定版本号已经失效,此时,节点可直接将锚定交易设置为无效交易;而针对于共识节点,通过设置设定时长,可使得共识节点在定时器到达设定时长后,向多个交易所属的区块链中的各个节点广播无效锚定交易,并不再监控锚定交易。
需要说明的是:(1)上述步骤编号仅为执行过程的一种示例性表示,本申请对各个步骤的先后顺序不做具体限定。(2)步骤404和步骤405可以发生在步骤403之后和步骤409之前的任何时间,具体不做限定。(3)针对于上述步骤401和步骤402,另一种可能的实现方式为:连接节点向公证节点发送的锚定请求中仅包括多个交易的数据标识和所述多个交易所属的区块链的标识,进而由公证节点根据锚定请求获取锚定版本号,并生成锚定交易发送给共识节点。(4)图4a和图4b仅以两个区块链(区块链1和区块链2)为例,具体实施中,也可以有两个以上的区块链(区块链1、区块链2、……、区块链N),两个以上区块链的实现过程可参照上述描述。
针对于上述实施例一和实施例二的具体实现过程可知,实施例二相比于实施例一来说,差异在于:(1)实施例二中涉及有公证节点,即连接节点在发起关联交易之前,先向公证节点发送锚定请求,进而由公证节点向共识节点发送锚定交易,通过引入具有权威的公证节点,由公证节点对锚定版本号进行验证,并在验证通过后生成锚定交易,从而能够保证锚定版本号的有效性。(2)实施例二中,共识节点接收到锚定交易后,根据多个交易所属的区块链的标识,将锚定交易广播给多个交易所属的区块链上的节点,从而使得区块链上的节点通过接收锚定交易,能够有效记录交易的实现过程;此外,采用实施例一中的实现方式时,若共识节点恶意广播无效锚定交易,则由于区块链上的各个节点仅是接收无效锚定交易,因此,无法识别出恶意的无效锚定交易,进而导致交易失败,而采用实施例二中的实现方式时,由于区块链上的各个节点先接收到了锚定交易,因此可根据锚定交易对无效锚定交易是否恶意进行识别,有效保证交易的可靠实现。
除上述描述的差异之外,实施例二中各个步骤的具体实现方式可参照实施例一中的相应步骤。
实施例三
下面结合一个具体实施例(采用实施例二中的实现流程)对本申请中的跨链交易方法进行说明。
该实施例的场景为:区块链1(Chain1)中的用户A希望向在区块链2(Chain2)中的用户B支付区块链2中的货币。其中,区块链1中的货币类型是Coin1,区块链2中的货币类型是Coin2。用户A找到在区块链1和区块链2中都有资产的用户C作为中间人,交易开始前,各角色的资产情况如表4a和表4b所示。
表4a:用户A和用户C在区块链1中的资产情况
用户 | 资产数据 | 版本号 |
A | 300Coin1 | 1 |
C | 2000Coin2 | 1 |
表4b:用户B和用户C在区块链2中的资产情况
用户 | 资产数据 | 版本号 |
B | 500Coin1 | 1 |
C | 3000Coin2 | 1 |
用户A、用户B和用户C协商后,用户C所需做的是:在区块链1上向用户A收取10Coin1(称为交易1),在区块链2上向B支付20Coin2(称为交易2)。转账交易的函数为transfer,智能合约函数的伪代码如下:
最终交易完成后,想要达到的效果如表5a和表5b所示。
表5a:用户A和用户C在区块链1中的资产情况
用户 | 资产数据 | 版本号 |
A | 290Coin1 | 2 |
C | 2010Coin2 | 2 |
表5b:用户B和用户C在区块链2中的资产情况
用户 | 资产数据 | 版本号 |
B | 520Coin1 | 2 |
C | 2980Coin2 | 2 |
下面具体描述关联交易的实现过程:
(1)连接节点根据所述相互关联的交易1和交易2,生成对应的锚定请求(anchorrequest)并向公证节点发送锚定请求,锚定请求中包括交易1和交易2的数据标识(key)、交易1和交易2所属的区块链的标识(chain name)和锚定版本号(version)。锚定请求中包含的具体内容如表6所示。
表6:锚定请求内容示例
(2)公证节点收到锚定请求后,验证锚定请求中的锚定版本号是否与本地账本相同,如果不同,向连接节点返回数据无效的消息并结束流程,若有效,则根据锚定请求生成锚定请求对应的锚定交易(Tx1),并向共识节点发送锚定交易。锚定交易中包括交易1和交易2的数据标识(key)、交易1和交易2所属的区块链的标识(chain name)和锚定版本号(version)。锚定交易中包含的具体内容如表7所示。
表7:锚定交易内容示例
(4)共识节点接收到锚定交易后,开始监控后续交易中对数据标识对应的数据的写操作,并广播锚定交易到区块链1和区块链2中的所有节点。
(5)公证节点接收到从共识节点广播的锚定交易后,向连接节点发送锚定指示信息,锚定指示信息中包括锚定交易的标识和锚定交易对应的锚定请求的标识,并签名。
(6)连接节点接收到锚定指示信息后,根据锚定请求的标识,得到与锚定请求对应的交易1和交易2,进而根据交易1和交易2生成关联交易(Tx2)发送给共识节点。关联交易中的具体内容如表8所示。
表8:关联交易内容示例
(7)共识节点广播关联交易到区块链1和区块链2上的所有节点。
(8)区块链1和区块链2中的节点在接收到关联交易,除了进行正常的验证,例如交易格式、签名等(每个区块链的节点只验证与该节点所属的区块链相关的内容),还需要验证关联交易对应的锚定交易是否为有效交易,若锚定交易为有效交易,则区块链1中的节点将交易1写入区块链1,区块链2中的节点将交易2写入区块链2。
至此,交易1和交易2同时提交成功。
在上述过程中,由于共识节点在后续交易中未监控到对锚定数据的写操作,因此,交易1和交易2同时提交成功。假如在上述(5)至(8)之间,存在另外一个与关联交易有冲突的交易3(即修改同一数据),并且交易3先于关联交易到达共识节点进行广播。交易3的格式如表9所示。
表9:交易3的格式示例
如此,则在上述步骤(4)之后,相应的流程为:
(4a)共识节点收到交易3(Tx3),检测到交易3修改了锚定交易中锚定的数据Chain1/A,则在将交易3记入区块链1的待广播交易队列之后,立即向锚定交易涉及的区块链1和区块链2中各加入一个无效锚定交易的交易4(Tx4),交易4的格式如表10所示。
表10:交易4的格式示例
TxID | invalidxxxx0004 |
Type | IVALIDANCHOR |
ANCHORTX | anchorxxxxxxxxxxx0001 |
同时,共识节点更新本地的监控数据表,把锚定交易(Tx1)从监控数据表中删除,不再继续为锚定交易监控数据变化。
(4b)区块链1和区块链1上的节点在收到交易4(Tx4)之后,根据交易4中包括的锚定交易的标识(Tx1),从本地维护的锚定交易列表中找到Tx1,将其标记为无效(或从列表中删除)。
(4c)节点接收共识节点发送的关联交易(Tx2),根据关联交易中包括的锚定交易(Tx1)的标识,查询锚定交易的列表,确定锚定交易为无效交易,进而放弃将关联交易写入节点维护的区块链。此时,交易1和交易2同时提交失败。
针对上述方法流程,本申请还提供一种服务器,该服务器的具体实现可参照上述方法流程。
本申请提供第一种服务器,该服务器用于实现图2a、图2b、图4a和图4b中所示方法实施例中由连接节点、区块链1上的节点、区块链2上的节点、……、区块链N上的节点中任一项所执行的流程或者步骤。参阅图5所示,服务器500可以包括:收发模块501、处理模块502;
所述收发模块501,用于接收共识节点发送的关联交易;所述关联交易中包括多个交易的交易内容、所述多个交易所属的区块链的标识和锚定交易的标识;所述第一区块链为所述多个交易所属的区块链中的任一区块链;
所述处理模块502,用于根据所述锚定交易的标识,若确定所述锚定交易为有效交易,则根据所述多个交易所属的区块链的标识,将所属的区块链为所述第一区块链的交易写入所述第一区块链。
本申请提供第二种服务器,该服务器用于实现图2a、图2b、图4a和图4b中所示方法实施例中由共识节点所执行的流程或者步骤。参阅图6所示,服务器600可以包括:收发模块601、处理模块602;
收发模块601,用于接收节点发送的锚定交易,所述锚定交易中包括所述多个交易的数据标识、所述多个交易所属的区块链的标识和锚定版本号;
处理模块602,用于监控所述数据标识对应的数据,若监控到所述数据标识对应的数据被修改,则通过所述收发模块向所述多个交易所属的区块链中的各个节点广播无效锚定交易,所述无效锚定交易中包括所述锚定交易的标识信息,所述无效锚定交易用于指示所述锚定交易为无效交易。
需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在本申请的实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请提供第三种服务器,该服务器用于实现图2a、图2b、图4a和图4b中所示方法实施例中由连接节点、区块链1上的节点、区块链2上的节点、……、区块链N上的节点中任一项所执行的流程或者步骤。该服务器具有实现上述图5所示的服务器500的功能;如图7所示,通信装置700包括:通信模块701、处理器702;
所述通信模块701,用于与其他设备进行通信交互;所述通信模块1001可以为RF电路、WiFi模块、通信接口、蓝牙模块等;
所述处理器702,用于实现上述图5中处理模块的功能。
可选的,通信装置还可以包括:所述存储器704,用于存放程序等。具体地,程序可以包括程序代码,该程序代码包括指令。存储器704可能包含RAM,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。处理器702执行存储器704所存放的应用程序,实现上述功能。
一种可能的方式中,通信模块701、处理器702和存储器704可以通过所述总线703相互连接;总线703可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。所述总线703可以分为地址总线、数据总线、控制总线等。
本申请还提供第四种服务器,该服务器用于实现图2a、图2b、图4a和图4b中所示方法实施例中由共识节点所执行的流程或者步骤。该服务器具有实现上述图6所示的服务器600的功能;如图8所示,通信装置800包括:通信模块801、处理器802;
所述通信模块801,用于与其他设备进行通信交互;所述通信模块1001可以为RF电路、WiFi模块、通信接口、蓝牙模块等;
所述处理器802,用于实现上述图6中处理模块的功能。
可选的,通信装置还可以包括:所述存储器804,用于存放程序等。具体地,程序可以包括程序代码,该程序代码包括指令。存储器804可能包含RAM,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。处理器802执行存储器804所存放的应用程序,实现上述功能。
一种可能的方式中,通信模块801、处理器802和存储器804可以通过所述总线803相互连接;总线803可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。所述总线803可以分为地址总线、数据总线、控制总线等。
本领域内的技术人员应明白,本发明实施例可提供为方法、系统、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (18)
1.一种跨链交易方法,其特征在于,所述方法包括:
节点接收共识节点发送的锚定交易,并将所述锚定交易写入第一区块链;所述锚定交易中包括多个交易的数据标识、所述多个交易所属的区块链的标识;
所述节点接收所述共识节点发送的关联交易;所述关联交易中包括所述多个交易的交易内容、所述多个交易所属的区块链的标识和所述锚定交易的标识;所述节点为所述第一区块链上的任一节点,所述第一区块链为所述多个交易所属的区块链中的任一区块链;
所述节点根据所述锚定交易的标识,若确定所述锚定交易为有效交易,则根据所述多个交易所属的区块链的标识,将所属的区块链为所述第一区块链的交易写入所述第一区块链。
2.根据权利要求1所述的方法,其特征在于,所述节点若确定所述锚定交易为无效交易,则放弃写入所述关联交易。
3.根据权利要求2所述的方法,其特征在于,所述节点确定所述锚定交易为无效交易之前,还包括:
所述节点接收所述共识节点发送的无效锚定交易,所述无效锚定交易中包括所述锚定交易的标识;
所述节点根据所述无效锚定交易,将所述锚定交易设置为无效交易。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述节点为所述多个交易所属的区块链中共有的节点;
所述节点接收共识节点发送的关联交易之前,还包括:
所述节点向所述共识节点发送所述多个交易对应的所述锚定交易,所述锚定交易中包括所述多个交易的数据标识、所述多个交易所属的区块链的标识;
所述节点确定所述锚定交易成功后,向所述共识节点发送关联交易。
5.根据权利要求4所述的方法,其特征在于,所述节点向所述共识节点发送所述锚定交易,包括:
所述节点向公证节点发送所述多个交易对应的锚定请求,所述锚定请求用于请求所述公证节点生成所述锚定交易并发送给所述共识节点。
6.根据权利要求5所述的方法,其特征在于,所述节点确定所述锚定交易成功后,向所述共识节点发送关联交易,包括:
所述节点接收所述公证节点发送的锚定指示信息,所述锚定指示信息用于指示所述锚定交易成功,所述锚定指示信息中包括所述锚定交易的标识和所述锚定请求的标识;
所述节点根据所述锚定请求的标识,确定所述锚定请求对应的所述多个交易,并根据所述多个交易,向所述共识节点发送所述关联交易。
7.一种跨链交易方法,其特征在于,所述方法包括:
共识节点接收节点发送的锚定交易,所述锚定交易中包括多个交易的数据标识、所述多个交易所属的区块链的标识,所述节点为所述多个交易所属的区块链中共有的节点;以及,根据所述多个交易所属的区块链的标识,向所述多个交易所属的区块链中的节点广播所述锚定交易,以使所述多个交易所属的区块链中的节点将所述锚定交易写入所述多个交易所属的区块链;
所述共识节点接收所述节点发送的关联交易,所述关联交易中包括所述多个交易的交易内容、所述多个交易所属的区块链的标识和所述锚定交易的标识;以及,根据所述多个交易所属的区块链的标识,向所述多个交易所属的区块链中的节点广播所述关联交易;
所述共识节点监控所述数据标识对应的数据,若监控到所述数据标识对应的数据被修改,则向所述多个交易所属的区块链中的节点广播无效锚定交易,所述无效锚定交易中包括所述锚定交易的标识信息,所述无效锚定交易用于指示所述锚定交易为无效交易,以使所述多个交易所属的区块链中的节点放弃写入所述关联交易。
8.根据权利要求7所述的方法,其特征在于,所述锚定交易中还包括锚定版本号;
所述共识节点监控到所述数据被修改,包括:
所述共识节点接收其它交易,所述其它交易为不与所述多个交易相关联的交易,所述其它交易中包括所述数据标识对应的数据的版本号;
所述共识节点若确定所述其它交易中包括的所述版本号不同于所述锚定版本号,则监控到所述数据被修改。
9.一种跨链交易系统,其特征在于,所述跨链交易系统中包括多个共识节点和相互关联的多个交易所属的区块链上的节点;所述相互关联的多个交易所属的区块链上的节点包括连接节点,所述连接节点为所述相互关联的多个交易所属的区块链共有的节点;
所述连接节点,用于向所述共识节点发送锚定交易,所述锚定交易中包括多个交易的数据标识、所述多个交易所属的区块链的标识;
所述共识节点,用于接收节点发送的锚定交易,并监控所述数据标识对应的数据,若监控到所述数据标识对应的数据被修改,则向所述多个交易所属的区块链中的各个节点广播无效锚定交易,所述无效锚定交易中包括所述锚定交易的标识信息,所述无效锚定交易用于指示所述锚定交易为无效交易;
所述连接节点,还用于向共识节点发送关联交易,所述关联交易中包括多个交易的交易内容、所述多个交易所属的区块链的标识和锚定交易的标识;
所述共识节点,还用于接收所述节点发送的关联交易,并根据所述多个交易所属的区块链的标识,向所述多个交易所属的区块链中的各个节点广播关联交易;
所述多个交易所属的区块链中的各个节点,用于接收所述关联交易,并根据所述锚定交易的标识,若确定所述锚定交易为有效交易,则将所述关联交易写入所述各个节点维护的区块链。
10.一种跨链交易服务器,其特征在于,所述跨链交易服务器为第一区块链上的任一节点所在的服务器,所述跨链交易服务器包括:
收发模块,用于接收共识节点发送的锚定交易,所述锚定交易中包括多个交易的数据标识、所述多个交易所属的区块链的标识;
处理模块,用于将所述锚定交易写入所述第一区块链;
所述收发模块,还用于接收所述共识节点发送的关联交易;所述关联交易中包括所述多个交易的交易内容、所述多个交易所属的区块链的标识和所述锚定交易的标识;所述第一区块链为所述多个交易所属的区块链中的任一区块链;
所述处理模块,还用于根据所述锚定交易的标识,若确定所述锚定交易为有效交易,则根据所述多个交易所属的区块链的标识,将所属的区块链为所述第一区块链的交易写入所述第一区块链。
11.根据权利要求10所述的跨链交易服务器,其特征在于,所述处理模块还用于:若确定所述锚定交易为无效交易,则放弃写入所述关联交易。
12.根据权利要求11所述的跨链交易服务器,其特征在于,所述收发模块还用于:接收所述共识节点发送的无效锚定交易,所述无效锚定交易中包括所述锚定交易的标识;
所述处理模块具体用于:根据所述无效锚定交易,将所述锚定交易设置为无效交易。
13.根据权利要求10至12中任一项所述的跨链交易服务器,其特征在于,所述跨链交易服务器为所述多个交易所属的区块链中共有的节点所在的服务器;
所述收发模块在接收共识节点发送的关联交易之前,还用于:向所述共识节点发送所述多个交易对应的所述锚定交易,所述锚定交易中包括所述多个交易的数据标识、所述多个交易所属的区块链的标识;以及,确定所述锚定交易成功后,向所述共识节点发送关联交易。
14.根据权利要求13所述的跨链交易服务器,其特征在于,所述收发模块还用于:所述节点向公证节点发送所述多个交易对应的锚定请求,所述锚定请求用于请求所述公证节点生成所述锚定交易并发送给所述共识节点。
15.根据权利要求14所述的跨链交易服务器,其特征在于,所述收发模块具体用于:
接收所述公证节点发送的锚定指示信息,所述锚定指示信息用于指示所述锚定交易成功,所述锚定指示信息中包括所述锚定交易的标识和所述锚定请求的标识;
根据所述锚定请求的标识,确定所述锚定请求对应的所述多个交易,并根据所述多个交易,向所述共识节点发送所述关联交易。
16.一种跨链交易服务器,其特征在于,所述跨链交易服务器为共识节点所在的服务器,所述跨链交易服务器包括:
收发模块,用于接收节点发送的锚定交易,所述锚定交易中包括多个交易的数据标识、所述多个交易所属的区块链的标识;所述节点为所述多个交易所属的区块链中共有的节点;以及,根据所述多个交易所属的区块链的标识,向所述多个交易所属的区块链中的节点广播所述锚定交易,以使所述多个交易所属的区块链中的节点将所述锚定交易写入所述多个交易所属的区块链;
所述收发模块,还用于接收所述节点发送的关联交易,所述关联交易中包括所述多个交易的交易内容、所述多个交易所属的区块链的标识和所述锚定交易的标识;以及,根据所述多个交易所属的区块链的标识,向所述多个交易所属的区块链中的节点广播所述关联交易;
处理模块,用于监控所述数据标识对应的数据,若监控到所述数据标识对应的数据被修改,则通过所述收发模块向所述多个交易所属的区块链中的各个节点广播无效锚定交易,所述无效锚定交易中包括所述锚定交易的标识信息,所述无效锚定交易用于指示所述锚定交易为无效交易,以使所述多个交易所属的区块链中的节点放弃写入所述关联交易。
17.根据权利要求16所述的跨链交易服务器,其特征在于,所述锚定交易中还包括锚定版本号;
所述收发模块还用于:
接收其它交易,所述其它交易为不与所述多个交易相关联的交易,所述其它交易中包括所述数据标识对应的数据的版本号;
所述处理模块具体用于:
若确定所述其它交易中包括的所述版本号不同于所述锚定版本号,则监控到所述数据标识对应的数据被修改。
18.一种计算机可读存储介质,其特征在于,所述存储介质存储有指令,当所述指令在计算机上运行时,使得计算机实现执行权利要求1-8中任一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710756457.9A CN109426949B (zh) | 2017-08-29 | 2017-08-29 | 一种跨链交易方法及装置 |
PCT/CN2018/099348 WO2019042101A1 (zh) | 2017-08-29 | 2018-08-08 | 一种跨链交易方法及装置 |
EP18850286.8A EP3627431A4 (en) | 2017-08-29 | 2018-08-08 | METHOD AND DEVICE FOR CROSS-CHAIN TRADING |
US16/787,669 US11347726B2 (en) | 2017-08-29 | 2020-02-11 | Cross-chain transaction method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710756457.9A CN109426949B (zh) | 2017-08-29 | 2017-08-29 | 一种跨链交易方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109426949A CN109426949A (zh) | 2019-03-05 |
CN109426949B true CN109426949B (zh) | 2021-02-09 |
Family
ID=65503391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710756457.9A Active CN109426949B (zh) | 2017-08-29 | 2017-08-29 | 一种跨链交易方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11347726B2 (zh) |
EP (1) | EP3627431A4 (zh) |
CN (1) | CN109426949B (zh) |
WO (1) | WO2019042101A1 (zh) |
Families Citing this family (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10810546B2 (en) * | 2017-10-02 | 2020-10-20 | R3 Ltd. | Settling obligations via netting transactions |
CN110019516B (zh) | 2017-11-10 | 2021-08-20 | 华为技术有限公司 | 一种信息管理方法、装置及系统 |
US11676142B2 (en) | 2018-09-05 | 2023-06-13 | Atrium Separate Ip Holdings Number 4, Llc | Blockchain architecture, system, method and device for automated cybersecurity and data privacy law compliance with proprietary off-chain storage mechanism |
US11227350B1 (en) | 2018-09-06 | 2022-01-18 | Side, Inc. | Single-tier blockchain-based system and method for document transformation and accountability via different node types |
US10733152B2 (en) | 2018-12-29 | 2020-08-04 | Alibaba Group Holding Limited | System and method for implementing native contract on blockchain |
ES2864179T3 (es) | 2018-12-29 | 2021-10-13 | Advanced New Technologies Co Ltd | Sistema y método para implementar un contrato nativo en una cadena de bloques |
US10901983B2 (en) * | 2019-03-01 | 2021-01-26 | Wanchain Ltd. | System and method for universal blockchain interoperability |
US11132344B2 (en) * | 2019-03-15 | 2021-09-28 | Boardwalktech, Inc. | Correlating and referencing blockchains |
CN110033271B (zh) * | 2019-03-22 | 2023-12-22 | 湖南天河国云科技有限公司 | 一种跨链交易方法、系统及计算机可读存储介质 |
SG11201908890XA (en) | 2019-03-26 | 2019-10-30 | Alibaba Group Holding Ltd | System and method for implementing different types of blockchain contracts |
CN110086856B (zh) * | 2019-04-01 | 2022-02-01 | 达闼机器人有限公司 | 区块链节点的控制方法、装置、存储介质及电子设备 |
US10924280B1 (en) * | 2019-04-15 | 2021-02-16 | Sprint Communications Company L.P. | Digital notary use in distributed ledger technology (DLT) for block construction and verification |
US11507948B2 (en) | 2019-04-22 | 2022-11-22 | Atrium Separate Ip Holdings Number 4, Llc | Blockchain architecture, system, method and device for automated cybersecurity and data privacy law compliance with delayed block posting protocol |
US11995647B2 (en) * | 2019-04-30 | 2024-05-28 | Salesforce, Inc. | System and method of providing interoperable distributed and decentralized ledgers using consensus on consensus and delegated consensus |
CN110321384B (zh) * | 2019-06-04 | 2023-07-28 | 创新先进技术有限公司 | 一种基于区块链的数据记录方法、装置及电子设备 |
CN110278264B (zh) * | 2019-06-20 | 2023-02-21 | 深圳前海微众银行股份有限公司 | 一种基于区块链的跨链通信的方法、装置及交易系统 |
US10742415B2 (en) | 2019-06-28 | 2020-08-11 | Alibaba Group Holding Limited | Method and apparatus for inter-blockchain transmission of authenticable message |
CN112615868B (zh) * | 2019-06-28 | 2023-08-22 | 创新先进技术有限公司 | 一种跨链发送可认证消息的方法和装置 |
CN110430066B (zh) * | 2019-07-15 | 2021-07-06 | 杭州复杂美科技有限公司 | 用于减少区块链交易重复广播的方法、设备及存储介质 |
WO2021018048A1 (zh) * | 2019-07-26 | 2021-02-04 | 华为技术有限公司 | 一种跨链交易方法和装置 |
CN112308713A (zh) * | 2019-07-26 | 2021-02-02 | 华为技术有限公司 | 一种跨链交易方法和装置 |
CN110532239B (zh) * | 2019-09-09 | 2022-05-06 | 东吴证券股份有限公司 | 文件系统管理方法、装置、设备及存储介质 |
US11968256B2 (en) | 2019-09-19 | 2024-04-23 | Atrium Separate Ip Holdings Number 4, Llc | Blockchain architecture, system, method and device for automated cybersecurity and data privacy law compliance with a partitioned replication protocol |
US11636195B2 (en) | 2019-09-19 | 2023-04-25 | Atrium Separate Ip Holdings Number 4, Llc | Dynamic biometric identity verification system, method and device |
CN112561695B (zh) * | 2019-09-25 | 2021-07-23 | 支付宝(杭州)信息技术有限公司 | 在区块链中并发执行交易的方法和装置 |
CN110689434B (zh) * | 2019-09-26 | 2023-03-21 | 重庆邮电大学 | 一种基于公证人组的跨区块链交互方法 |
CN111125187A (zh) * | 2019-11-29 | 2020-05-08 | 立旃(上海)科技有限公司 | 基于区块链的数据管理方法及装置 |
CN111163129B (zh) * | 2019-12-05 | 2021-12-14 | 深圳前海微众银行股份有限公司 | 一种基于跨链网络的资源处理方法及装置 |
CN111010441B (zh) * | 2019-12-18 | 2022-12-13 | 深圳市迅雷网络技术有限公司 | 一种区块链跨链方法、系统及电子设备 |
US11381401B2 (en) * | 2020-01-07 | 2022-07-05 | Seagate Technology Llc | Blockchain transaction forwarding |
CN111368003B (zh) * | 2020-03-06 | 2020-10-16 | 安徽中科智链信息科技有限公司 | 一种多链锚定数据的管理方法 |
CN111090891B (zh) * | 2020-03-23 | 2020-06-19 | 卓尔智联(武汉)研究院有限公司 | 一种基于区块链的公证人选取方法及系统 |
CN111399993B (zh) * | 2020-03-25 | 2023-03-07 | 百度国际科技(深圳)有限公司 | 一种关联事务请求的跨链实现方法、装置、设备和介质 |
CN111464636B (zh) * | 2020-03-31 | 2021-12-07 | 中国联合网络通信集团有限公司 | 资产交易方法和系统、存储介质 |
US11996174B2 (en) | 2020-04-22 | 2024-05-28 | Atrium Separate Ip Holdings Number 4, Llc | Blockchain architecture, system, method and device for facilitating electronic health record maintenance, sharing and monetization using a decentralized health information platform including a non-fungible token function and security protocols |
US12008555B2 (en) | 2020-04-22 | 2024-06-11 | Atrium Separate Ip Holdings Number 4, Llc | Blockchain architecture, system, method and device including a hybrid public-private iteration for facilitating secure data collection and controlled distribution using a decentralized transaction information platform and token ecosystem |
US12009073B2 (en) | 2020-04-22 | 2024-06-11 | Atrium Separate Ip Holdings Number 4, Llc | Blockchain architecture, system, method and device for facilitating secure medical testing, data collection and controlled distribution using a decentralized health information platform and token ecosystem |
CN112214797B (zh) * | 2020-05-22 | 2021-10-26 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备、区块链系统及存储介质 |
TWI799713B (zh) * | 2020-06-03 | 2023-04-21 | 鴻海精密工業股份有限公司 | 評論管控方法、伺服器及可讀儲存介質 |
CN113761179A (zh) | 2020-06-03 | 2021-12-07 | 富泰华工业(深圳)有限公司 | 评论管控方法、服务器及可读存储介质 |
SG10202006447VA (en) | 2020-07-03 | 2021-04-29 | Alipay Labs Singapore Pte Ltd | Managing transactions in multiple blockchain networks |
SG10202006466YA (en) | 2020-07-03 | 2021-05-28 | Alipay Labs Singapore Pte Ltd | Managing transactions in multiple blockchain networks |
SG10202006451QA (en) | 2020-07-03 | 2021-02-25 | Alipay Labs Singapore Pte Ltd | Managing transactions in multiple blockchain networks |
CN112637127B (zh) * | 2020-11-23 | 2022-05-13 | 北京邮电大学 | 一种跨区块链通信方法及装置 |
CN112417049B (zh) * | 2020-11-24 | 2024-03-12 | 杭州云象网络技术有限公司 | 一种基于区块链一体机的跨链交互方法与系统 |
CN112598518A (zh) * | 2020-12-24 | 2021-04-02 | 北京链化未来科技有限公司 | 一种支持跨链原子交易的处理方法 |
US11531649B1 (en) * | 2021-01-04 | 2022-12-20 | Sprint Communications Company Lp | Method of building and searching a multi-dimensional cross-linked distributed ledger |
CN113051008A (zh) * | 2021-04-01 | 2021-06-29 | 金蝶软件(中国)有限公司 | 接口请求处理方法、装置、计算机设备和存储介质 |
CN113923228B (zh) * | 2021-06-02 | 2024-08-27 | 支付宝(杭州)信息技术有限公司 | 跨链交互方法及装置 |
CN113779155B (zh) * | 2021-09-24 | 2024-08-09 | 支付宝(杭州)信息技术有限公司 | 区块链交易处理方法、装置及设备 |
CN113806335A (zh) * | 2021-09-28 | 2021-12-17 | 杭州溪塔科技有限公司 | 一种应用于区块链的数据迁移方法及装置 |
CN113689216A (zh) * | 2021-10-26 | 2021-11-23 | 腾讯科技(深圳)有限公司 | 跨链事务处理方法及装置、设备、存储介质、程序产品 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101701131B1 (ko) * | 2016-04-28 | 2017-02-13 | 주식회사 라피 | 이종간 블록체인 연결을 이용한 데이터 기록/검증 방법 및 시스템 |
CN106899698A (zh) * | 2017-04-11 | 2017-06-27 | 张铮文 | 一种区块链之间的跨链互操作方法 |
CN106960388A (zh) * | 2017-03-01 | 2017-07-18 | 中钞信用卡产业发展有限公司北京智能卡技术研究院 | 跨区块链的数字资产流转的方法和装置 |
CN107085810A (zh) * | 2017-04-19 | 2017-08-22 | 朱皞罡 | 一种区块链的跨链操作方法及区块链管理系统 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10635722B2 (en) * | 2015-04-20 | 2020-04-28 | Ogy Docs, Inc. | Method of distributed management of electronic documents of title (EDT) and system thereof |
US20170193464A1 (en) * | 2015-12-18 | 2017-07-06 | Justin SHER | Protocol utilizing bitcoin blockchain for maintaining independently proposed and approved set contents |
US20170345011A1 (en) * | 2016-05-26 | 2017-11-30 | Hitfin, Inc. | System and method executed on a blockchain network |
CN105976232B (zh) * | 2016-06-24 | 2020-04-28 | 深圳前海微众银行股份有限公司 | 资产交易方法和装置 |
JP6939791B2 (ja) * | 2016-07-28 | 2021-09-22 | 日本電気株式会社 | 掲示板情報管理システム |
WO2018026727A1 (en) * | 2016-08-01 | 2018-02-08 | Cryptowerk Corp. | Computer-implemented method and system of tamper-evident recording of a plurality of service data items |
US20180114218A1 (en) * | 2016-10-26 | 2018-04-26 | International Business Machines Corporation | Blockchain: automatic fork protection |
CN106780025B (zh) * | 2016-11-30 | 2021-03-02 | 中国银行股份有限公司 | 区块链中数字资产的转移方法、装置及系统 |
US10387684B2 (en) * | 2016-12-09 | 2019-08-20 | International Business Machines Corporation | Interlocked blockchains to increase blockchain security |
CN107018125B (zh) * | 2017-02-17 | 2019-08-09 | 阿里巴巴集团控股有限公司 | 一种区块链系统、数据存储方法及装置 |
US20180285839A1 (en) * | 2017-04-04 | 2018-10-04 | Datient, Inc. | Providing data provenance, permissioning, compliance, and access control for data storage systems using an immutable ledger overlay network |
CN106936589B (zh) * | 2017-04-21 | 2020-02-07 | 杭州秘猿科技有限公司 | 一种无中心的许可链平行分片方法及交易方法 |
US10594488B2 (en) * | 2017-08-05 | 2020-03-17 | Proclus Technologies Limited | Method and system for implementing automatic transaction rebroadcasting for transient blockchains |
US10834062B2 (en) * | 2018-06-20 | 2020-11-10 | International Business Machines Corporation | Unlinking ownership of successive asset transfers on a blockchain |
-
2017
- 2017-08-29 CN CN201710756457.9A patent/CN109426949B/zh active Active
-
2018
- 2018-08-08 EP EP18850286.8A patent/EP3627431A4/en active Pending
- 2018-08-08 WO PCT/CN2018/099348 patent/WO2019042101A1/zh unknown
-
2020
- 2020-02-11 US US16/787,669 patent/US11347726B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101701131B1 (ko) * | 2016-04-28 | 2017-02-13 | 주식회사 라피 | 이종간 블록체인 연결을 이용한 데이터 기록/검증 방법 및 시스템 |
CN106960388A (zh) * | 2017-03-01 | 2017-07-18 | 中钞信用卡产业发展有限公司北京智能卡技术研究院 | 跨区块链的数字资产流转的方法和装置 |
CN106899698A (zh) * | 2017-04-11 | 2017-06-27 | 张铮文 | 一种区块链之间的跨链互操作方法 |
CN107085810A (zh) * | 2017-04-19 | 2017-08-22 | 朱皞罡 | 一种区块链的跨链操作方法及区块链管理系统 |
Non-Patent Citations (1)
Title |
---|
区块链之跨链技术介绍;高志豪;《金卡工程》;20161130;全文 * |
Also Published As
Publication number | Publication date |
---|---|
WO2019042101A1 (zh) | 2019-03-07 |
CN109426949A (zh) | 2019-03-05 |
EP3627431A4 (en) | 2020-05-13 |
EP3627431A1 (en) | 2020-03-25 |
US20200175003A1 (en) | 2020-06-04 |
US11347726B2 (en) | 2022-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109426949B (zh) | 一种跨链交易方法及装置 | |
EP3629272B1 (en) | Method and device for running chaincode | |
TWI690184B (zh) | 跨區塊鏈的認證方法及裝置、電子設備 | |
TWI679874B (zh) | 跨區塊鏈的認證方法及裝置、電子設備 | |
EP3816910B1 (en) | Blockchain-based transaction processing method and apparatus, and electronic device | |
CN109214818B (zh) | 一种跨链交易方法及装置 | |
CN109493223B (zh) | 一种记账方法及装置 | |
WO2020258846A1 (zh) | 一种跨链发送可认证消息的方法和装置 | |
EP3816922A1 (en) | Blockchain-based transaction processing method and apparatus, and electronic device | |
JP7319961B2 (ja) | 一対の結合ブロックチェーンを構成するバイナリブロックチェーンに関連するコンピュータ実装システム及び方法 | |
CN111400112B (zh) | 分布式集群的存储系统的写入方法、装置及可读存储介质 | |
EP3816912B1 (en) | Blockchain-based transaction processing method and apparatus, and electronic device | |
EP3788757B1 (en) | Controlling transactions on a network | |
CN110049087A (zh) | 一种联盟链的可信度验证方法、系统、装置及设备 | |
CN111597077B (zh) | 数据处理方法、装置、计算机设备以及存储介质 | |
CN110471982B (zh) | 基于区块链的数据处理方法和装置 | |
CN117955742B (zh) | 数据跨链交互的验证方法、装置、挑战节点及存储介质 | |
WO2023207529A1 (zh) | 数据处理方法、装置及设备、介质、产品 | |
KR20210109767A (ko) | 블록 체인 모니터링 기반 자산 탈취 방지 서비스 제공 방법 및 그 장치 | |
US10771242B2 (en) | Blockchain-based data processing | |
CN111339089B (zh) | 一种应用于区块链的数据存储与获取方法及装置 | |
CN112637267B (zh) | 业务处理方法、装置、电子设备及可读存储介质 | |
CN118070339A (zh) | 跨区块链的数据处理方法、装置、计算机设备和存储介质 | |
CN116112508A (zh) | 基于区块链网络的数据处理方法、相关设备及存储介质 | |
CN116737054A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |