CN116566994A - 区块链之间的跨链数据传输方法和区块链系统、电子设备及存储介质 - Google Patents
区块链之间的跨链数据传输方法和区块链系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116566994A CN116566994A CN202310525153.7A CN202310525153A CN116566994A CN 116566994 A CN116566994 A CN 116566994A CN 202310525153 A CN202310525153 A CN 202310525153A CN 116566994 A CN116566994 A CN 116566994A
- Authority
- CN
- China
- Prior art keywords
- blockchain
- chain
- data
- cross
- contract
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 157
- 238000000034 method Methods 0.000 title claims abstract description 105
- 238000012546 transfer Methods 0.000 claims abstract description 85
- 230000004044 response Effects 0.000 claims abstract description 26
- 238000012795 verification Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 2
- 238000007726 management method Methods 0.000 description 31
- 230000007246 mechanism Effects 0.000 description 16
- 239000003795 chemical substances by application Substances 0.000 description 12
- 238000004891 communication Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 5
- 230000005236 sound signal Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 239000000725 suspension Substances 0.000 description 3
- 238000010200 validation analysis Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1053—Group management mechanisms with pre-configuration of logical or physical connections with a determined number of other peers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
- H04L67/108—Resource delivery mechanisms characterised by resources being split in blocks or fragments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种区块链之间的跨链数据传输方法和区块链系统、电子设备及存储介质。该方法包括:接收从源区块链到目标区块链的数据传输指令;确定源区块链中传输目标数据的当前位置;确定中继区块链中传输目标数据的待存储位置;执行传输目标数据在中继区块链中的待存储位置处的存储;将存储后的数据向中继区块链的各节点进行广播,以接收各节点发送的确认响应;生成针对本次传输目标数据在中继区块链中存储的共识结果;将中继区块链中存储传输目标数据的存储信息发送给目标区块链;当传输目标数据是数据传输指令所指示的源区块链中的传输目标数据时,执行目标区块链上对应的应用合约。本申请实施例提高了数据传输的效率并简化了用户的操作。
Description
技术领域
本申请涉及网络技术领域,尤其涉及一种区块链之间的跨链数据传输方法和区块链系统、电子设备及存储介质。
背景技术
随着互联网技术的发展,人们已经可以越来越多地通过互联网来进行生活和工作,并且因此也出现了各种基于互联网而建设的网站以向用户提供各种各样的服务。在向用户提供服务的过程中,用户的各项数据不可避免地存储在互联网上,从而带来了数据被篡改等安全性风险,为此,已经提出了区块链技术,其可以使用构成区块链网络的各个节点的共识机制来确保用户上传到区块链上的数据的不可篡改性。近年来,区块链技术的发展使得存在多种多样的区块链来供用户使用,由于不同区块链所使用的技术和机制的差异,使得不同区块链虽然凭借各自的优点而吸引了不同的用户来使用,但是随着区块链应用场景的增多,很多用户越来越多地同时使用多种区块链来满足自己的业务需求,但是这样的不同的区块链之间缺乏互通性,即不同区块链之间的数据实际上是不能够通用的,这给同时使用多种区块链的用户带来了极大的不便,并且当用户需要在不同区块链中使用同样的数据时,需要将数据从一个区块链中导出再转换为另一个区块链所适用的数据,这样的链外的数据处理也给用户的链上数据带来了极大的安全风险。为此,需要一种能够在确保安全性的前提下能够在区块链之间传输用户数据的安全方案。
发明内容
本申请实施例提供一种区块链之间的跨链数据传输方法和区块链系统、电子设备及存储介质,以解决现有技术中在不同区块链之间数据传输效率低且安全性差的缺陷。
为达到上述目的,本申请实施例提供了一种区块链之间的跨链数据传输方法,包括:
接收从源区块链到目标区块链的数据传输指令,其中,所述数据传输指令包含有传输目标数据信息、源区块链信息、目标区块链信息;
确定在接收到所述数据传输指令时刻所述源区块链中传输目标数据的当前位置;
根据所述数据传输指令,确定中继区块链中所述传输目标数据的待存储位置,其中,所述源区块链和所述目标区块链预先向所述中继区块链进行了侧链注册以分别具有侧链标识;
根据所述源区块链的侧链标识执行所述传输目标数据在所述中继区块链中的所述待存储位置处的存储;
将存储后的数据向所述中继区块链的各节点进行广播,以接收各节点发送的确认响应;
根据所述中继区块链的各节点发送的确认响应生成针对本次传输目标数据在中继区块链中存储的共识结果;
将所述中继区块链中存储所述传输目标数据的存储信息发送给所述目标区块链,使得所述目标区块链对所述传输目标数据进行验证;
当所述验证的结果指示所述传输目标数据是所述数据传输指令所指示的所述源区块链中的传输目标数据时,执行所述目标区块链上对应的应用合约,以将所述传输目标数据存储在所述目标区块链上。
本申请实施例还提供了一种区块链系统,所述区块链系统包括至少一个目标区块链、至少一个源区块链以及中继链,其中,所述源区块链和所述目标区块链预先向所述中继区块链进行了侧链注册以分别具有侧链标识,
所述源区块链用于接收从源区块链到目标区块链的数据传输指令,其中,所述数据传输指令包含有传输目标数据信息、源区块链信息、目标区块链信息,确定在接收到所述数据传输指令时刻所述源区块链中传输目标数据的当前位置,以及根据所述源区块链的侧链标识执行所述传输目标数据在所述中继区块链中的待存储位置处的存储;
所述中继区块链用于根据所述数据传输指令,确定中继区块链中所述传输目标数据的待存储位置,将存储后的数据向所述中继区块链的各节点进行广播,以接收各节点发送的确认响应,根据所述中继区块链的各节点发送的确认响应生成针对本次传输目标数据在中继区块链中存储的共识结果,将所述中继区块链中存储所述传输目标数据的存储信息发送给所述目标区块链;
所述目标区块链用于对所述中继区块链发送的所述传输目标数据进行验证,当所述验证的结果指示所述传输目标数据是所述数据传输指令所指示的所述源区块链中的传输目标数据时,执行所述目标区块链上对应的应用合约,以将所述传输目标数据存储在所述目标区块链上。
本申请实施例还提供了一种电子设备,包括:
存储器,用于存储程序;
处理器,用于运行所述存储器中存储的所述程序,所述程序运行时执行本申请实施例提供的跨链数据传输方法。
本申请实施例还提供了一种计算机可读存储介质,其上存储有可被处理器执行的计算机程序,其中,该程序被处理器执行时实现如本申请实施例提供的跨链数据传输方法。
本申请实施例提供的区块链之间的跨链数据传输方法和区块链系统、电子设备及存储介质,通过预先将源区块链和将目标区块链向中继区块链进行侧链注册以分别具有侧链标识,在此基础上可以根据源区块链到目标区块链的数据传输指令来分别确定源区块链中传输目标数据的位置和中继区块链中待存储位置,并执行传输目标数据在中继区块链中的存储,并在生成共识结果后将中继区块链中存储该传输目标数据的存储信息发送给目标区块链,以调用目标区块链中的合约来对该传输目标数据进行验证,并且在验证通过之后,可以将中继区块链中存储的该传输目标数据传输到目标区块链上,因此,借助于提供作为数据中继方的中继区块链,并将包括源区块链和目标区块链在内的多个区块链向其注册为侧链,从而使得用户的数据可以通过中继区块链而在整个数据传输过程中保持在区块链上传输,确保了用户数据在传输过程中的安全性,并且对于源区块链和目标区块链来说,只需要与中继区块链进行数据传输即可,大大提高了数据传输的效率并简化了用户的操作。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是示出了根据本申请实施例的区块链之间的跨链数据传输方案的应用场景示意图;
图2为本申请提供的区块链之间的跨链数据传输方法的实施例的流程图;
图3为本申请提供的区块链系统的结构示意图;
图4为本申请提供的电子设备实施例的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一
本申请实施例提供的方案可应用于任何具有区块链数据存储功能的区块链系统。
随着互联网技术的发展,人们已经可以越来越多地通过互联网来进行生活和工作,并且因此也出现了各种基于互联网而建设的网站以向用户提供各种各样的服务。在向用户提供服务的过程中,用户的各项数据不可避免地存储在互联网上,从而带来了数据被篡改等安全性风险,为此,已经提出了区块链技术,其可以使用构成区块链网络的各个节点的共识机制来确保用户上传到区块链上的数据的不可篡改行。近年来,区块链技术的发展使得存在多种多样的区块链来供用户使用,由于不同区块链所使用的技术和机制的差异,使得不同区块链虽然凭借各自的优点而吸引了不同的用户来使用,但是随着区块链应用场景的增多,很多用户越来越多地同时使用多种区块链来满足自己的业务需求,但是这样的不同的区块链之间缺乏互通性,即不同区块链之间的数据实际上是不能够通用的,这给同时使用多种区块链的用户带来了极大的不便,并且当用户需要在不同区块链中使用同样的数据时,需要将数据从一个区块链中导出再转换为另一个区块链所适用的数据,这样的链外的数据处理也给用户的链上数据带来了极大的安全风险。
例如,在现有技术中已经提出了多种不同形态的区块链,例如完全去中心化的公有链或完全由私人所有的私有链以及由多个私有链构成的联盟链等等,这些区块链由于分别针对不同的功能需求而设计,因此,当用户对去中心化的特性比较看重时,就会选择使用公有链,当用户对于该链的使用者存在筛选和审查的需求时,会选择联盟链或私有链来使用。但是随着区块链的应用的发展,用户会同时使用多个区块链来分别满足不同的业务需求。在这样的情况下,不可避免的是,用户在一个区块链上存储的数据可能会需要在另外的区块链上使用,因此,在现有技术中,通常只能够由用户自己将一个区块链上的数据在线下进行转移并上传到另一个区块链上。例如,如图1中所示的数据传输场景中,用户可以同时使用2个区块链,并且在区块链1上进行业务1,而在区块链2上进行业务2。用户在使用业务1时已经在区块链1上上传了数据1和数据2,而在使用区块链2上的业务2时,发现需要使用数据1,在该场景下,在现有技术中通常需要用户从区块链1中将数据1下载下来,并通过终端登录到区块链2来将该数据1上传到区块链2上以供业务2使用。但是在该过程中,对于区块链2上的其他节点或用户来说,该数据1就是从区块链2以外输入到该区块链上的,因此尽管该数据1在区块链1上已经通过了共识机制,确保了其不可篡改性,但是对于区块链2上的其他用户来说,该数据1由于经过了用户在线下的处理,尽管该用户在线下只是进行了存储和上传,但是根据区块链的共识规则,其他用户也无法认可该数据1的真实性。因此,在现有技术中,已经提出了由作为目标区块链的区块链2将该数据1的信息发送回区块链1来请求区块链1对其进行验证,例如,可以将该数据1的哈希值发送回区块链1,以与区块链1已经达成共识的数据1的哈希值进行比对,以确认其真实性。另外,现有技术中还提出了通过额外设置的服务器或数据链来为目标区块链提供传输目标数据的身份验证服务,从而在目标区块链接收传输目标数据之前,先对发起该传输的源区块链的身份进行验证,并且由该服务器来进而对待传输数据进行验证,在验证通过之后,将目标区块链的通信地址发送给源区块链,从而源区块链可以根据该通信地址而将传输目标数据直接传输给目标区块链。在该现有技术的方案中,实际上目标区块链并没有直接对传输目标数据的真实性和/或其来源的源区块链进行验证,而是依赖于中心化的额外设置的身份验证机构来进行数据验证和/或区块链的身份验证,并依赖于该验证机构的验证结果来接收传输目标数据,因此,这样的方案实际上破坏了区块链的去中心化的本质属性,而变成了由单独设置的验证服务器来指示是否可以接收传输目标数据,如果一旦该服务器在验证过程中出现问题或在与源区块链进行验证通信或与目标区块链发送验证结果指示的过程中遭到了篡改,那么目标区块链接收到的传输目标数据就会无法使用,甚至带来安全风险。
为此,如图1中所示,图1是示出了根据本申请实施例的区块链之间的跨链传输方案的应用场景的示意图。如图1中所示,用户可以使用两个区块链来进行不同的业务,注意的是,在本申请实施例中,用户也可以使用三个或更多个区块链来进行业务,并且可以使用本申请实施例的跨链传输方法来在这些区块链之间进行数据传输,本申请对此没有限制。特别地,在图1中所示的场景中,本申请实施例的跨链传输方案在用户使用的区块链之外设置有中继区块链,并且可以预先通过将这些区块链向中继区块链进行侧链注册来获得这些区块链的侧链标识(ID)。因此,在已经将图1中所示的区块链1和区块链2分别向中继区块链进行了侧链注册之后,可以对于区块链1获得侧链标识为11,而对于区块链2获得侧链标识22。
用户在使用区块链1和区块链2分别执行业务期间,在区块链1和区块链2上可以持续上传数据并存储在区块链1和2的节点上,例如,如图1中所示,用户在区块链1上可以存储有数据1,其包括区块d1和d2。而这时,用户想要在区块链2中使用该数据1,因此,在现有技术中,用户就需要将数据1下载到线下,例如本地终端中,并且通过使用该终端登录到区块链2来将该数据1上传到区块链2中,或者如上所述,使用现有技术中提出的方案来通过额外设置的第三方验证服务器来对传输到区块链2的数据1进行验证或者对区块链1的身份进行验证,并由该第三方服务器在验证成功后指示区块链2来直接接收该数据1。在本申请实施例中,用户可以在区块链1中通过例如调用预先部署的跨链管理合约来下达从源区块链1到目标区块链2的数据传输指令。
例如,用户可以首先将包含有对于根据本申请实施例的跨链传输方法的描述的跨链存储合约部署在所有区块链上。具体地,根据本申请实施例,在跨链存储合约中可以至少包含有对于输入或获取作为传输目标数据的来源的源区块链的当前纪元的高度的方法的描述、对于存储或获得该源区块链的共识书保存公钥字节的方法的描述以及对于源区块链发起的跨链请求的记录索引的方法的描述,当然,在本申请实施例中,可以理解的是,跨链存储合约也可以包含对于其他方法的描述,例如,对于跨链存储合约的调用的暂停的方法的描述以及对于跨链存储合约的调用的取消方法的描述等等,换言之,可以包含与区块链的数据查询和存储有关的各项方法的描述。
在将跨链存储合约部署在区块链上之后,可以进一步根据该跨链存储合约在所部署的区块链上的合约地址以及该源区块链在中继区块链中注册的侧链标识,将跨链逻辑合约部署在该区块链上。例如,可以以上一步获得的跨链存储合约在该区块链上的和合约地址以及该区块链向中继区块链进行侧链注册获得的侧链标识作为参数来在该区块链上部署跨链逻辑合约。在该跨链逻辑合约中可以包含有执行跨链数据传输有关的方法的描述,例如,可以包括将中继区块链的创世区块头同步到被调用的智能合约的方法的描述、更新中继区块链上的共识记账簿的方法描述以及将该数据传输事件记录到区块链中的方法的描述等等。在该步骤之后,可以进一步根据在该区块链上部署该跨链逻辑合约获得的合约地址,将跨链代理合约部署在该区块链上。具体地,可以以在上一步获得的跨链逻辑合约在该区块链上的合约地址作为参数来在该区块链上部署跨链代理合约。该跨链代理合约可以包括用于管理该跨链存储合约以及跨链逻辑合约的各种方法的描述,例如可以包括用于对跨链存储合约和/或跨链逻辑合约进行升级的方法的描述、用于在所部署的合约中设置或更改侧链标识的方法的描述以及获取在区块链中部署的合约地址的方法的描述等等。在该步骤之后,可以调用跨链存储合约,具体地,调用该跨链存储合约中的所有权转移方法,并以跨链逻辑合约在该区块链上部署的合约地址作为参数来将该跨链存储合约的所有权转移给跨链逻辑合约,之后,类似地,可以调用跨链逻辑合约,具体地,调用该跨链逻辑合约中的所有权转移方法,并以跨链代理合约在该区块链中的合约地址作为参数,来将该跨链逻辑合约的所有权转移给跨链代理合约,从而完成了跨链管理合约在该区块链上的部署。
因此,根据本申请实施例,可以以例如上述部署方式将根据本申请实施例的跨链传输方法的跨链管理合约部署在每个区块链上。例如,可以在图1中所示的两个区块链中均部署该跨链管理合约,从而用户可以在已经部署有根据本申请实施例的跨链传输方法的跨链管理合约的区块链上发起向其他同样部署有该跨链管理合约的区块链的跨链数据传输。
例如,用户可以在例如图1中所示的区块链1上通过调用预先部署的跨链管理合约来指示将该区块链1作为源区块链,将区块链2作为目标区块链,并将数据1传输到作为区块链2。因此,区块链1可以通过调用该跨链管理合约来确定在接收到该跨链传输指令的时刻在该区块链1中数据1的区块的当前位置。例如,由于区块链1在使用过程中不断地积累各种数据并且因此用户1的该数据1所包含的区块的位置也随之发生变化,因此,根据本申请实施例,区块链1可以在接收到用户的跨链数据传输指令时调用该管理合约来确定所要传输的数据1在该区块链1中的当前位置。例如,区块链1可以在接收到用户的跨链传输指令时,首先获取当前纪元的开始高度,并可以基于该高度来确定用户所指定的数据在该区块链中的区块位置。
与此同时或在确定了数据1在区块链1中的当前位置之后,可以进一步根据接收到的跨链数据传输指令来确定中继区块链上用于存储该传输目标数据的待存储位置。例如,中继区块链可以将其链上的创世区块头同步给源区块链调用的跨链管理合约,从而可以确定传输目标数据的待存储位置。
之后,可以通过该合约来根据源区块链的侧链标识执行传输目标数据在中继区块链中上述确定的待存储位置处的存储。中继区块链可以将存储后的数据或该存储事件向该中继区块链的各节点进行广播,并接收各节点发送的确认响应。因此,中继区块链可以同样通过共识机制来确保从源区块链获取并存储的该传输目标数据的真实性。在该过程中,中继区块链可以获取各个中继区块链的节点发送的确认响应,并且可以按照预先设定的共识机制所要求的共识节点的数量而当获得超过预定数量的节点的确认响应时,就可以认为中继区块链中的各个节点对于当前存储的传输目标数据本次存储的确认,并且还可以进一步基于这些确认响应来生成中继区块链对于本次存储的共识结果。例如,当中继区块链包括四个节点时,那么可以当存储从区块链1传输来的数据1的节点2接收到其他全部三个节点的确认响应时,生成针对中继区块链存储该数据1的共识结果,或者当预先设置的共识节点数目为2时,也可以在节点2接收到其他三个节点中的两个节点的确认响应时就可以生成针对中继区块链存储该数据1的共识结果。在本申请实施例中,在存储之后,可以进一步获取该源区块链的跨链请求记录索引。在该跨链请求记录索引可以标识按照预定顺序排列的由该区块链1向其他区块链发起的所有跨链请求,因此,可以在中继区块链通过共识机制而确认该数据1在中继区块链上的存储之后,进一步根据该共识结果将跨链请求记录索引增加1以更新跨链请求记录索引。
因此,借助于作为源区块链的区块链1对于其上部署的跨链管理合约的调用而将数据1存储到中继区块链中,对于区块链1来说,其无需考虑数据1到目标区块链的传输,而是可以使用其作为侧链而注册到的中继区块链中获得的侧链ID来将数据1传输到中继区块链,在该过程中,无需用户的参与并且由于区块链1已经预先作为侧链注册到中继区块链,因此,中继区块链可以通过基于其他节点的共识确认来确保数据1本次存储的真实性。之后,中继区块链可以将该传输目标数据的存储信息,例如存储位置等发送给目标区块链,从而目标区块链可以例如调用其上部署的跨链管理合约来根据中继区块链发送的存储信息对传输目标数据进行验证。
当验证的结果指示传输目标数据是数据传输指令所指示的源区块链中的传输目标数据时,目标区块链上被调用的该跨链管理合约可以将中继区块链上已经存储的该数据1存储在目标区块链上。
此外,在本申请实施例中,当传输目标数据信息指示待传输的数据为多个时,在传输开始之前,还可以将多个待传输的数据格式化为一个字符串以作为传输目标数据。例如,当需要传输的数据时用户的姓名和年龄这两个数据时,可以先将这两个数据链接为一个字符串。例如,可以通过仅保留字段内容来生成这样的格式化数据。
本申请实施例提供的区块链之间的跨链数据传输方法,通过预先将源区块链和将目标区块链向中继区块链进行侧链注册以分别具有侧链标识,在此基础上可以根据源区块链到目标区块链的数据传输指令来分别确定源区块链中传输目标数据的位置和中继区块链中待存储位置,并执行传输目标数据在中继区块链中的存储,并在生成共识结果后将中继区块链中存储该传输目标数据的存储信息发送给目标区块链,以调用目标区块链中的合约来对该传输目标数据进行验证,并且在验证通过之后,可以将中继区块链中存储的该传输目标数据传输到目标区块链上,因此,借助于提供作为数据中继方的中继区块链,并将包括源区块链和目标区块链在内的多个区块链向其注册为侧链,从而使得用户的数据可以通过中继区块链而在整个数据传输过程中保持在区块链上传输,确保了用户数据在传输过程中的安全性,并且对于源区块链和目标区块链来说,只需要与中继区块链进行数据传输即可,大大提高了数据传输的效率并简化了用户的操作。
上述实施例是对本申请实施例的技术原理和示例性的应用框架的说明,下面通过多个实施例来进一步对本申请实施例具体技术方案进行详细描述。
实施例二
图2为本申请提供的区块链之间的跨链数据传输方法的实施例的流程图,该方法的执行主体可以为具有区块链接入能力的各种终端或服务器设备,也可以为集成在这些设备上的装置或芯片。如图2所示,该跨链数据传输方法包括如下步骤:
S201,接收从源区块链到目标区块链的数据传输指令。
在步骤S201中,用户可以在其当前使用的区块链上发起向其他区块链,即目标区块链进行数据传输的数据传输指令。例如,在本申请实施例中,数据传输指令可以包含有传输目标数据信息、源区块链信息、目标区块链信息。具体地,用户可以通过在当前使用的源区块链上通过调用预先部署在该区块链上的跨链管理合约来执行该数据传输指令。
例如,用户可以首先将跨链存储合约部署在当前使用的区块链上,在跨链存储合约中可以至少包含有对于输入或获取作为传输目标数据的来源的源区块链的当前纪元的高度的方法的描述、对于存储或获得该源区块链的共识书保存公钥字节的方法的描述以及对于源区块链发起的跨链请求的记录索引的方法的描述,当然,在本申请实施例中,可以理解的是,跨链存储合约也可以包含对于其他方法的描述,例如,对于跨链存储合约的调用的暂停的方法的描述以及对于跨链存储合约的调用的取消方法的描述等等,换言之,可以包含与区块链的数据查询和存储有关的各项方法的描述。
在将跨链存储合约部署在区块链上之后,可以进一步根据该跨链存储合约在所部署的区块链上的合约地址以及该源区块链在中继区块链中注册的侧链标识,将跨链逻辑合约部署在该区块链上。例如,可以以上一步获得的跨链存储合约在该区块链上的和合约地址以及该区块链向中继区块链进行侧链注册获得的侧链标识作为参数来在该区块链上部署跨链逻辑合约。在该跨链逻辑合约中可以包含有执行跨链数据传输有关的方法的描述,例如,可以包括将中继区块链的创世区块头同步到被调用的智能合约的方法的描述、更新中继区块链上的共识记账簿的方法描述以及将该数据传输事件记录到区块链中的方法的描述等等。在该步骤之后,可以进一步根据在该区块链上部署该跨链逻辑合约获得的合约地址,将跨链代理合约部署在该区块链上。具体地,可以以在上一步获得的跨链逻辑合约在该区块链上的合约地址作为参数来在该区块链上部署跨链代理合约。该跨链代理合约可以包括用于管理该跨链存储合约以及跨链逻辑合约的各种方法的描述,例如可以包括用于对跨链存储合约和/或跨链逻辑合约进行升级的方法的描述、用于在所部署的合约中设置或更改侧链标识的方法的描述以及获取在区块链中部署的合约地址的方法的描述等等。在该步骤之后,可以调用跨链存储合约,具体地,调用该跨链存储合约中的所有权转移方法,并以跨链逻辑合约在该区块链上部署的合约地址作为参数来将该跨链存储合约的所有权转移给跨链逻辑合约,之后,类似地,可以调用跨链逻辑合约,具体地,调用该跨链逻辑合约中的所有权转移方法,并以跨链代理合约在该区块链中的合约地址作为参数,来将该跨链逻辑合约的所有权转移给跨链代理合约,从而完成了跨链管理合约在该区块链上的部署。
在本申请实施例中,可以在多个区块链构成的系统中应用根据本申请实施例的跨链数据传输方法,这些区块链可以包括用户使用的各种类型的区块链,例如,公有链、联盟链等等,并且还包括有中继区块链,该中继区块链只用于作为跨链数据传输的中继方,并且因此,在本申请实施例中,还可以在步骤S201之前先将用户使用的这些区块链作为侧链向中继区块链进行注册并获得侧链标识。
因此,根据本申请实施例,可以以例如上述部署方式将根据本申请实施例的跨链传输方法的跨链管理合约部署在每个区块链上。例如,可以在图1中所示的多个区块链中均部署该跨链管理合约,从而用户可以在步骤S201中在已经部署有根据本申请实施例的跨链传输方法的跨链管理合约的区块链上发起向其他同样部署有该跨链管理合约的区块链的跨链数据传输。
S202,确定在接收到数据传输指令时刻源区块链中传输目标数据的当前位置。
在步骤S202,可以根据步骤S201接收到的跨链传输指令来首先在源区块链中确定要传输的目标数据的位置。例如,用户可以在例如图1中所示的区块链1上通过调用预先部署的跨链管理合约来指示将该区块链1作为源区块链,将区块链2作为目标区块链,并将数据1传输到作为区块链2。当在步骤S201中用户在区块链1上发起跨链数据传输指令时调用该管理合约来确定所要传输的数据1在该区块链1中的当前位置。例如,区块链1可以在接收到用户的跨链传输指令时,首先获取当前纪元的开始高度,并可以基于该高度来确定用户所指定的数据在该区块链中的区块位置。
S203,根据数据传输指令,确定中继区块链中传输目标数据的待存储位置。
在步骤S202之后或与其同时,可以在步骤S203中根据在步骤S201中接收到的跨链数据传输指令来确定中继区块链上用于存储该传输目标数据的待存储位置。例如,中继区块链可以将其链上的创世区块头同步给源区块链调用的跨链管理合约,从而可以确定传输目标数据的待存储位置。
S204,根据源区块链的侧链标识执行传输目标数据在中继区块链中的待存储位置处的存储。
S205,将存储后的数据向中继区块链的各节点进行广播,以接收各节点发送的确认响应。
S206,根据中继区块链的各节点发送的确认响应生成针对本次传输目标数据在中继区块链中存储的共识结果。
在步骤S204中可以通过该合约来根据源区块链的侧链标识执行传输目标数据在中继区块链中在步骤S203确定的待存储位置处的存储。在步骤S205中中继区块链可以将存储后的数据或该存储事件向该中继区块链的各节点进行广播,并接收各节点发送的确认响应。因此,中继区块链可以同样通过共识机制来确保从源区块链获取并存储的该传输目标数据的真实性。在该过程中,中继区块链可以获取各个中继区块链的节点发送的确认响应,并且可以按照预先设定的共识机制所要求的共识节点的数量而当获得超过预定数量的节点的确认响应时,就可以认为中继区块链中的各个节点对于当前存储的传输目标数据本次存储的确认。还可以进一步在步骤S206中基于这些确认响应来生成中继区块链对于本次存储的共识结果。
此外,在本申请实施例中,在步骤S206中已经完成了存储的情况下,还可以进一步获取该源区块链的跨链请求记录索引。在该跨链请求记录索引可以标识按照预定顺序排列的由该区块链1向其他区块链发起的所有跨链请求,因此,可以在中继区块链通过共识机制而确认该数据1在中继区块链上的存储之后,进一步根据该共识结果将跨链请求记录索引增加1以更新跨链请求记录索引。
因此,借助于作为源区块链的区块链1对于其上部署的跨链管理合约的调用而将数据1存储到中继区块链中,对于区块链1来说,其无需考虑数据1到目标区块链的传输,而是可以使用其作为侧链而注册到的中继区块链中获得的侧链ID来将数据1传输到中继区块链,在该过程中,无需用户的参与并且由于区块链1已经预先作为侧链注册到中继区块链,因此,中继区块链可以通过基于其他节点的共识确认来确保数据1本次存储的真实性。
S207,将中继区块链中存储传输目标数据的存储信息发送给目标区块链,使得目标区块链对传输目标数据进行验证。
S208,当验证的结果指示传输目标数据是数据传输指令所指示的源区块链中的传输目标数据时,执行目标区块链上对应的应用合约,以将传输目标数据存储在目标区块链上。
在步骤S207中,中继区块链可以将该传输目标数据的存储信息,例如存储位置等发送给目标区块链,从而目标区块链可以例如调用其上部署的跨链管理合约来根据中继区块链发送的存储信息对传输目标数据进行验证。
当验证的结果指示传输目标数据是数据传输指令所指示的源区块链中的传输目标数据时,目标区块链上被调用的该跨链管理合约可以将中继区块链上已经存储的该数据1存储在目标区块链上。
此外,在本申请实施例中,当传输目标数据信息指示待传输的数据为多个时,在传输开始之前,还可以将多个待传输的数据格式化为一个字符串以作为传输目标数据。例如,当需要传输的数据时用户的姓名和年龄这两个数据时,可以先将这两个数据链接为一个字符串。例如,可以通过仅保留字段内容来生成这样的格式化数据。
本申请实施例提供的区块链之间的跨链数据传输方法,通过预先将源区块链和将目标区块链向中继区块链进行侧链注册以分别具有侧链标识,在此基础上可以根据源区块链到目标区块链的数据传输指令来分别确定源区块链中传输目标数据的位置和中继区块链中待存储位置,并执行传输目标数据在中继区块链中的存储,并在生成共识结果后将中继区块链中存储该传输目标数据的存储信息发送给目标区块链,以调用目标区块链中的合约来对该传输目标数据进行验证,并且在验证通过之后,可以将中继区块链中存储的该传输目标数据传输到目标区块链上,因此,借助于提供作为数据中继方的中继区块链,并将包括源区块链和目标区块链在内的多个区块链向其注册为侧链,从而使得用户的数据可以通过中继区块链而在整个数据传输过程中保持在区块链上传输,确保了用户数据在传输过程中的安全性,并且对于源区块链和目标区块链来说,只需要与中继区块链进行数据传输即可,大大提高了数据传输的效率并简化了用户的操作。
实施例三
图3为本申请提供的区块链系统的结构示意图,该系统可以用于实施例如参考图2描述的本申请实施例提供的区块链之间的跨链数据传输方法。该区块链系统可以至少包括目标区块链31、源区块链32以及中继链33。源区块链32和目标区块链31可以预先向中继区块33链进行了侧链注册以分别具有侧链标识。
具体地,源区块链32可以用于接收从源区块链到目标区块链的数据传输指令,例如,在本申请实施例中,数据传输指令可以包含有传输目标数据信息、源区块链信息、目标区块链信息。具体地,用户可以通过在当前使用的源区块链32上通过调用预先部署在该区块链上的跨链管理合约来执行该数据传输指令。
例如,用户可以首先将跨链存储合约部署在源区块链31和目标区块链32上,特别地,在本申请实施例中,源区块链32和目标区块链31只是相对于当前的数据传输而言的,并且在其他实施例中,源区块链和目标区块链的角色和互换,即在本申请实施例中,数据可以从源区块链32传输到目标区块链31,也可以从目标区块链31向源区块链32进行数据传输,当然在该情况下,目标区块链31就成为了源区块链,而源区块链32就成为了目标区块链。
在跨链存储合约中可以至少包含有对于输入或获取作为传输目标数据的来源的源区块链的当前纪元的高度的方法的描述、对于存储或获得该源区块链的共识书保存公钥字节的方法的描述以及对于源区块链发起的跨链请求的记录索引的方法的描述,当然,在本申请实施例中,可以理解的是,跨链存储合约也可以包含对于其他方法的描述,例如,对于跨链存储合约的调用的暂停的方法的描述以及对于跨链存储合约的调用的取消方法的描述等等,换言之,可以包含与区块链的数据查询和存储有关的各项方法的描述。
在将跨链存储合约部署在区块链31和32上之后,可以进一步根据该跨链存储合约在所部署的区块链上的合约地址以及该区块链在中继区块链33中注册的侧链标识,将跨链逻辑合约部署在该区块链31和32上。例如,可以以上一步获得的跨链存储合约在该区块链上的和合约地址以及该区块链向中继区块链33进行侧链注册获得的侧链标识作为参数来在该区块链上部署跨链逻辑合约。在该跨链逻辑合约中可以包含有执行跨链数据传输有关的方法的描述,例如,可以包括将中继区块链33的创世区块头同步到被调用的智能合约的方法的描述、更新中继区块链33上的共识记账簿的方法描述以及将该数据传输事件记录到区块链31或32中的方法的描述等等。在该步骤之后,可以进一步根据在该区块链31或32上部署该跨链逻辑合约获得的合约地址,将跨链代理合约部署在该区块链上。具体地,可以以在上一步获得的跨链逻辑合约在该区块链上的合约地址作为参数来在该区块链上部署跨链代理合约。该跨链代理合约可以包括用于管理该跨链存储合约以及跨链逻辑合约的各种方法的描述,例如可以包括用于对跨链存储合约和/或跨链逻辑合约进行升级的方法的描述、用于在所部署的合约中设置或更改侧链标识的方法的描述以及获取在区块链中部署的合约地址的方法的描述等等。在该步骤之后,可以调用跨链存储合约,具体地,调用该跨链存储合约中的所有权转移方法,并以跨链逻辑合约在该区块链上部署的合约地址作为参数来将该跨链存储合约的所有权转移给跨链逻辑合约,之后,类似地,可以调用跨链逻辑合约,具体地,调用该跨链逻辑合约中的所有权转移方法,并以跨链代理合约在该区块链中的合约地址作为参数,来将该跨链逻辑合约的所有权转移给跨链代理合约,从而完成了跨链管理合约在该区块链上的部署。
此外,源区块链32还可以用于确定在接收到数据传输指令时刻该源区块链32中传输目标数据的当前位置。例如,源区块链32可以在接收到用户的跨链传输指令时,首先获取当前纪元的开始高度,并可以基于该高度来确定用户所指定的数据在该源区块链32中的区块位置。
此外,源区块链32还可以根据源区块链32的侧链标识执行传输目标数据在中继区块链33中的待存储位置处的存储。此外,在本申请实施例中,在源区块链32已经完成了存储的情况下,还可以进一步获取该源区块链32的跨链请求记录索引。在该跨链请求记录索引可以标识按照预定顺序排列的由该区块链32向其他区块链,例如目标区块链31发起的所有跨链请求,因此,可以在中继区块链33通过共识机制而确认该数据在中继区块链33上的存储之后,进一步根据该共识结果将跨链请求记录索引增加1以更新跨链请求记录索引。
中继区块链33可以用于根据数据传输指令,确定中继区块链33中传输目标数据的待存储位置。例如,中继区块链33可以将其链上的创世区块头同步给源区块链32调用的跨链管理合约,从而可以确定传输目标数据的待存储位置。
此外,中继区块链33还可以将存储后的数据向中继区块链33的各节点进行广播,以接收各节点发送的确认响应,根据中继区块链33的各节点发送的确认响应生成针对本次传输目标数据在中继区块链中存储的共识结果。中继区块链33可以通过共识机制来确保从源区块链获取并存储的该传输目标数据的真实性。具体地,中继区块链33可以获取各个中继区块链的节点发送的确认响应,并且可以按照预先设定的共识机制所要求的共识节点的数量而当获得超过预定数量的节点的确认响应时,就可以认为中继区块链33中的各个节点对于当前存储的传输目标数据本次存储的确认。还可以进一步基于这些确认响应来生成中继区块链33对于本次存储的共识结果。
此外,中继区块链33还可以将中继区块链33中存储传输目标数据的存储信息发送给目标区块链31,以便于触发目标区块链31调用其上预先部署的跨链管理合约来执行数据存储。
目标区块链31可以用于对中继区块链33发送的传输目标数据进行验证,当验证的结果指示传输目标数据是数据传输指令所指示的源区块链32中的传输目标数据时,执行目标区块链31上对应的应用合约,以将传输目标数据存储在目标区块链31上。
此外,在本申请实施例中,当传输目标数据信息指示待传输的数据为多个时,在传输开始之前,还可以将多个待传输的数据格式化为一个字符串以作为传输目标数据。例如,当需要传输的数据时用户的姓名和年龄这两个数据时,可以先将这两个数据链接为一个字符串。例如,可以通过仅保留字段内容来生成这样的格式化数据。
本申请实施例提供的区块链之间的区块链系统,通过预先将源区块链和将目标区块链向中继区块链进行侧链注册以分别具有侧链标识,在此基础上可以根据源区块链到目标区块链的数据传输指令来分别确定源区块链中传输目标数据的位置和中继区块链中待存储位置,并执行传输目标数据在中继区块链中的存储,并在生成共识结果后将中继区块链中存储该传输目标数据的存储信息发送给目标区块链,以调用目标区块链中的合约来对该传输目标数据进行验证,并且在验证通过之后,可以将中继区块链中存储的该传输目标数据传输到目标区块链上,因此,借助于提供作为数据中继方的中继区块链,并将包括源区块链和目标区块链在内的多个区块链向其注册为侧链,从而使得用户的数据可以通过中继区块链而在整个数据传输过程中保持在区块链上传输,确保了用户数据在传输过程中的安全性,并且对于源区块链和目标区块链来说,只需要与中继区块链进行数据传输即可,大大提高了数据传输的效率并简化了用户的操作。
实施例四
以上描述了区块链之间的跨链数据传输方案,其可实现为一种电子设备。图4为本申请提供的电子设备实施例的结构示意图。如图4所示,该电子设备包括存储器41和处理器42。
存储器41,用于存储程序。除上述程序之外,存储器41还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器41可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器42,不仅仅局限于处理器(CPU),还可能为图形处理器(GPU)、现场可编辑门阵列(FPGA)、嵌入式神经网络处理器(NPU)或人工智能(AI)芯片等处理芯片。处理器42,与存储器41耦合,执行存储器41所存储的程序,以执行上述实施例二的区块链之间的跨链传输方法。
进一步,如图4所示,电子设备还可以包括:通信组件43、电源组件44、音频组件45、显示器46等其它组件。图4中仅示意性给出部分组件,并不意味着电子设备只包括图4所示组件。
通信组件43被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi、3G、4G或5G,或它们的组合。在一个示例性实施例中,通信组件43经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件43还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
电源组件44,为电子设备的各种组件提供电力。电源组件44可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
音频组件45被配置为输出和/或输入音频信号。例如,音频组件45包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器41或经由通信组件43发送。在一些实施例中,音频组件45还包括一个扬声器,用于输出音频信号。
显示器46包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种区块链之间的跨链数据传输方法,其特征在于,包括:
接收从源区块链到目标区块链的数据传输指令,其中,所述数据传输指令包含有传输目标数据信息、源区块链信息、目标区块链信息;
确定在接收到所述数据传输指令时刻所述源区块链中传输目标数据的当前位置;
根据所述数据传输指令,确定中继区块链中所述传输目标数据的待存储位置,其中,所述源区块链和所述目标区块链预先向所述中继区块链进行了侧链注册以分别具有侧链标识;
根据所述源区块链的侧链标识执行所述传输目标数据在所述中继区块链中的所述待存储位置处的存储;
将存储后的数据向所述中继区块链的各节点进行广播,以接收各节点发送的确认响应;
根据所述中继区块链的各节点发送的确认响应生成针对本次传输目标数据在中继区块链中存储的共识结果;
将所述中继区块链中存储所述传输目标数据的存储信息发送给所述目标区块链,使得所述目标区块链对所述传输目标数据进行验证;
当所述验证的结果指示所述传输目标数据是所述数据传输指令所指示的所述源区块链中的传输目标数据时,执行所述目标区块链上对应的应用合约,以将所述传输目标数据存储在所述目标区块链上。
2.根据权利要求1所述的跨链数据传输方法,其特征在于,所述确定在接收到所述数据传输指令时刻所述源区块链中传输目标数据的当前位置包括:
获取源区块链中当前纪元的开始高度;
根据所述当前纪元的开始高度确定所述传输目标数据的当前位置。
3.根据权利要求1所述的跨链数据传输方法,其特征在于,所述根据所述数据传输指令,确定中继区块链中所述传输目标数据的待存储位置,包括:
获取所述中继区块链的创世区块头;
将所述创世区块头同步给所述源区块链调用的跨链管理合约,以确定所述传输目标数据的待存储位置。
4.根据权利要求1所述的跨链数据传输方法,其特征在于,所述方法进一步包括:
根据所述共识结果生成交易事件;
在所述源区块链中记录所述交易事件。
5.根据权利要求1所述的跨链数据传输方法,其特征在于,所述方法进一步包括:
获取所述源区块链的跨链请求记录索引,其中,所述跨链请求记录索引标识按照预定顺序排列的由所述源区块链向其他区块链发起的所有跨链请求;
根据所述共识结果将所述跨链请求记录索引增加1以更新所述跨链请求记录索引。
6.根据权利要求1所述的跨链数据传输方法,其特征在于,当所述传输目标数据信息指示待传输的数据为多个时,所述方法进一步包括:
将多个待传输的数据格式化为一个字符串以作为传输目标数据。
7.根据权利要求1所述的跨链数据传输方法,其特征在于,在接收从源区块链到目标区块链的数据传输指令之前,所述方法进一步包括:
将跨链存储合约部署在所述源区块链上,其中,所述跨链存储合约中至少包含有对于输入或获取所述源区块链的当前纪元的高度的方法的描述、对于存储或获得所述源区块链的共识书保存公钥字节的方法的描述以及对于所述源区块链发起的跨链请求的记录索引的方法的描述;
根据所述跨链存储合约在所述源区块链上的合约地址以及所述源区块链在所述中继区块链中注册的侧链标识,将跨链逻辑合约部署在所述源区块链上;
根据所述跨链逻辑合约在所述源区块链上的合约地址,将跨链代理合约部署在所述源区块链上;
调用所述跨链存储合约根据所述跨链逻辑合约在所述源区块链上的合约地址将所述跨链存储合约的所有权转移给所述跨链逻辑合约;
调用所述跨链逻辑合约根据所述跨链代理合约在所述源区块链上的合约地址将所述跨链逻辑合约的所有权转移给跨链代理合约。
8.一种区块链系统,其特征在于,所述区块链系统包括至少一个目标区块链、至少一个源区块链以及中继链,其中,所述源区块链和所述目标区块链预先向所述中继区块链进行了侧链注册以分别具有侧链标识,
所述源区块链用于接收从源区块链到目标区块链的数据传输指令,其中,所述数据传输指令包含有传输目标数据信息、源区块链信息、目标区块链信息,确定在接收到所述数据传输指令时刻所述源区块链中传输目标数据的当前位置,以及根据所述源区块链的侧链标识执行所述传输目标数据在所述中继区块链中的待存储位置处的存储;
所述中继区块链用于根据所述数据传输指令,确定中继区块链中所述传输目标数据的待存储位置,将存储后的数据向所述中继区块链的各节点进行广播,以接收各节点发送的确认响应,根据所述中继区块链的各节点发送的确认响应生成针对本次传输目标数据在中继区块链中存储的共识结果,将所述中继区块链中存储所述传输目标数据的存储信息发送给所述目标区块链;
所述目标区块链用于对所述中继区块链发送的所述传输目标数据进行验证,当所述验证的结果指示所述传输目标数据是所述数据传输指令所指示的所述源区块链中的传输目标数据时,执行所述目标区块链上对应的应用合约,以将所述传输目标数据存储在所述目标区块链上。
9.一种电子设备,其特征在于,包括:
存储器,用于存储程序;
处理器,用于运行所述存储器中存储的所述程序,以执行如权利要求1-7中任一项所述的跨链数据传输方法。
10.一种计算机可读存储介质,其上存储有可被处理器执行的计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一项所述的跨链数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310525153.7A CN116566994A (zh) | 2023-05-10 | 2023-05-10 | 区块链之间的跨链数据传输方法和区块链系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310525153.7A CN116566994A (zh) | 2023-05-10 | 2023-05-10 | 区块链之间的跨链数据传输方法和区块链系统、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116566994A true CN116566994A (zh) | 2023-08-08 |
Family
ID=87495981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310525153.7A Pending CN116566994A (zh) | 2023-05-10 | 2023-05-10 | 区块链之间的跨链数据传输方法和区块链系统、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116566994A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117708181A (zh) * | 2024-02-05 | 2024-03-15 | 人民法院信息技术服务中心 | 一种私有链的异构数据跨链查询方法、装置、系统及设备 |
-
2023
- 2023-05-10 CN CN202310525153.7A patent/CN116566994A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117708181A (zh) * | 2024-02-05 | 2024-03-15 | 人民法院信息技术服务中心 | 一种私有链的异构数据跨链查询方法、装置、系统及设备 |
CN117708181B (zh) * | 2024-02-05 | 2024-04-30 | 人民法院信息技术服务中心 | 一种私有链的异构数据跨链查询方法、装置、系统及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112769834B (zh) | 身份验证系统、方法和平台 | |
CA2745595C (fr) | Procede d'execution d'une application securisee dans un dispositif nfc | |
RU2630419C2 (ru) | Интегрированный мобильный доверенный менеджер услуг | |
US9572025B2 (en) | Method, server, computer program and computer program product for communicating with secure element | |
JP6652767B2 (ja) | 接続デバイスのステータスを管理するための方法 | |
EP2801052B1 (fr) | Procédé d'éxecution d'une application dans un dispositif nfc | |
CN111324672A (zh) | 区块链安全处理系统及方法 | |
CN111209558B (zh) | 基于区块链的物联网设备身份认证方法以及系统 | |
CN110222500A (zh) | 版本管理方法、装置、设备及计算机可读存储介质 | |
CN111355732B (zh) | 链接检测方法、装置、电子设备及存储介质 | |
CN110601858B (zh) | 证书管理方法及装置 | |
WO2014111022A1 (zh) | 一种移动终端用户信息的显示方法、移动终端和服务系统 | |
US11916936B2 (en) | Techniques for incentivized intrusion detection system | |
CN116566994A (zh) | 区块链之间的跨链数据传输方法和区块链系统、电子设备及存储介质 | |
WO2023000967A1 (zh) | 一种设备管理方法、系统以及装置 | |
JP2006191384A (ja) | 移動機及びコンテンツ送信方法 | |
CN115130075A (zh) | 一种数字签章方法、装置、电子设备及存储介质 | |
CN113890753B (zh) | 数字身份管理方法、装置、系统、计算机设备和存储介质 | |
KR20140147487A (ko) | 모바일 기기의 이종 월렛 통합 방법 및 장치 | |
CN115362700A (zh) | 用于管理智能安全平台的事件的方法和装置 | |
US20220216987A1 (en) | Device and method for managing shared digital key | |
KR102510353B1 (ko) | 블록체인 기반 골프 서비스 제공 방법 및 시스템 | |
CN116668201B (zh) | 用于分配生产资源的系统、生产资源的传输方法及设备 | |
US9830207B2 (en) | Message communication system and operation method thereof | |
CN116029729B (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 |