CN117455661A - 一种基于区块链的数据处理方法、装置、设备及介质 - Google Patents
一种基于区块链的数据处理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117455661A CN117455661A CN202210846291.0A CN202210846291A CN117455661A CN 117455661 A CN117455661 A CN 117455661A CN 202210846291 A CN202210846291 A CN 202210846291A CN 117455661 A CN117455661 A CN 117455661A
- Authority
- CN
- China
- Prior art keywords
- asset
- address
- node
- blockchain network
- virtual
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 17
- 238000012546 transfer Methods 0.000 claims abstract description 163
- 238000012795 verification Methods 0.000 claims description 142
- 238000000034 method Methods 0.000 claims description 59
- 238000012545 processing Methods 0.000 claims description 55
- 238000004590 computer program Methods 0.000 claims description 24
- 230000006870 function Effects 0.000 claims description 15
- 238000004891 communication Methods 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 6
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 238000013468 resource allocation Methods 0.000 claims 2
- 230000008569 process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 230000009286 beneficial effect Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 238000012856 packing Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000012858 packaging process Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- 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
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- Finance (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Technology Law (AREA)
- Marketing (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Economics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请实施例公开了一种基于区块链的数据处理方法、装置、设备及介质,包括:在获取到资产跨链转移请求时,在第一区块链网络上记录虚拟资产对应的资产发行地址;在第一区块链网络上对虚拟资产进行资产锁定,生成资产锁定事件;将资产锁定事件发送至预言机节点集合,以使预言机节点将从第一区块链网络中获取到的虚拟资产的资产发行地址发送至第二区块链网络;第二区块链网络中的第二节点用于在地址共识结果指示达成共识时,将虚拟资产发行到资产发行地址上;地址共识结果是对预言机节点获取到的资产发行地址进行地址共识时所生成的。采用本申请实施例,可以实现虚拟资产的跨链转移,提高资产跨链转移的安全性。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及一种基于区块链的数据处理方法、装置、设备及介质。
背景技术
目前,在区块链A与区块链B之间进行资产跨链转移时,需要通过可信任的第三方针对虚拟资产进行空投。比如,若某一业务对象在区块链A上拥有一笔虚拟资产,如果将该虚拟资产转移到区块链B上,需要链下可信任的第三方在链上校验该业务对象在区块链A上是否拥有该笔虚拟资产,且在校验通过后,链下可信任的第三方可以基于业务对象在区块链A上的地址,在区块链B上进行资产空投,以使业务对象在区块链B上获取由链下可信任的第三方空投的虚拟资产。
可以理解的是,资产空投的本质是资产增发的过程,即区块链A和区块链B均存在该笔虚拟资产,从而难以解决虚拟资产跨链转移的问题。此外,由于整个资产跨链转移过程中需要可信任的第三方参与,因此一旦可信任的第三方存在被恶意节点攻击或断电等情况,将会造成数据篡改或数据丢失等问题,以至于极大程度的降低了资产跨链转移的安全性。
发明内容
本申请实施例提供一种基于区块链的数据处理方法、装置、设备及介质,可以实现虚拟资产的跨链转移,提高资产跨链转移的安全性。
本申请实施例一方面提供一种基于区块链的数据处理方法,该方法由第一区块链网络中的第一节点执行,包括:
在获取到与业务对象的虚拟资产相关联的资产跨链转移请求时,在第一区块链网络上记录虚拟资产对应的资产发行地址;资产发行地址是业务对象所指定的第二区块链网络中的对象地址;第二区块链网络与第一区块链网络不同;
在第一区块链网络上对虚拟资产进行资产锁定,且生成资产锁定事件;
将资产锁定事件发送至预言机节点集合,以使预言机节点集合中的预言机节点根据资产锁定事件,将从第一区块链网络中获取到的虚拟资产的资产发行地址发送至第二区块链网络;第二区块链网络中的第二节点用于在地址共识结果指示达成共识时,将虚拟资产发行到预言机节点返回的资产发行地址上;地址共识结果是对预言机节点获取到的资产发行地址进行地址共识时所生成的。
本申请实施例一方面提供一种基于区块链的数据处理方法,该方法由第二区块链网络中的第二节点执行,包括:
基于预言机节点集合中的预言机节点,获取与预言机节点返回的资产发行地址相关联的地址共识结果;地址共识结果是对预言机节点获取到的资产发行地址进行地址共识时所生成的;资产发行地址是虚拟资产对应的业务对象所指定的第二区块链网络中的对象地址;资产发行地址为预言机节点在检测到第一区块链网络中的第一节点发送的资产锁定事件时,从第一区块链网络中所获取到的;资产锁定事件为第一节点在获取到与虚拟资产相关联的资产跨链转移请求时,在第一区块链网络上对虚拟资产进行资产锁定后所生成的;第二区块链网络与第一区块链网络不同;
若地址共识结果指示达成共识,则将虚拟资产发行到预言机节点返回的资产发行地址上。
本申请实施例一方面提供一种基于区块链的数据处理方法,该方法由预言机节点集合中的预言机节点执行,包括:
在检测到第一区块链网络中的第一节点生成针对虚拟资产的资产锁定事件时,从第一区块链网络中获取虚拟资产的资产发行地址;资产锁定事件为第一节点在获取到与虚拟资产相关联的资产转移请求时,在第一区块链网络上对虚拟资产进行资产锁定后所生成的;资产发行地址是虚拟资产对应的业务对象所指定的第二区块链网络中的对象地址;第二区块链网络与第一区块链网络不同;
将获取到的资产发行地址返回至第二区块链网络,以使第二区块链网络中的第二节点在确定地址共识结果指示达成共识时,将虚拟资产发行到预言机节点返回的资产发行地址上;地址共识结果是对预言机节点获取到的资产发行地址进行地址共识时所生成的。
本申请实施例一方面提供一种基于区块链的数据处理装置,包括:
发行地址记录模块,用于在获取到与业务对象的虚拟资产相关联的资产跨链转移请求时,在第一区块链网络上记录虚拟资产对应的资产发行地址;资产发行地址是业务对象所指定的第二区块链网络中的对象地址;第二区块链网络与第一区块链网络不同;
资产锁定模块,用于在第一区块链网络上对虚拟资产进行资产锁定,且生成资产锁定事件;
锁定事件发送模块,用于将资产锁定事件发送至预言机节点集合,以使预言机节点集合中的预言机节点根据资产锁定事件,将从第一区块链网络中获取到的虚拟资产的资产发行地址发送至第二区块链网络;第二区块链网络中的第二节点用于在地址共识结果指示达成共识时,将虚拟资产发行到预言机节点返回的资产发行地址上;地址共识结果是对预言机节点获取到的资产发行地址进行地址共识时所生成的。
其中,该发行地址记录模块包括:
跨链请求获取单元,用于获取与业务对象的虚拟资产相关联的资产跨链转移请求;资产跨链转移请求用于指示将虚拟资产从第一区块链网络转移至第二区块链网络的资产发行地址;
资产验证单元,用于对虚拟资产进行资产验证,得到资产验证结果;
发行地址记录单元,用于若资产验证结果指示第一区块链网络存在虚拟资产,且虚拟资产属于业务对象,则获取资产跨链转移请求所携带的资产发行地址,将资产发行地址记录在第一区块链网络上。
其中,该资产验证单元包括:
资产查询子单元,用于在第一区块链网络的第一区块链上,对虚拟资产进行资产查询;
签名信息获取子单元,用于若第一区块链上存在虚拟资产,则获取虚拟资产对应的资产签名信息;资产签名信息为业务对象对应的对象终端基于业务对象的对象私钥,对虚拟资产进行签名处理后所得到的;
验签子单元,用于获取业务对象的对象公钥,基于对象公钥,对资产签名信息进行验签,得到验签结果;
验证成功结果生成子单元,用于若验签结果指示验签成功,则生成与虚拟资产相关联的资产验证成功结果,将资产验证成功结果作为资产验证结果;资产验证成功结果用于指示虚拟资产属于业务对象;
验证失败结果生成子单元,用于若验签结果指示验签失败,则生成与虚拟资产相关联的资产验证失败结果,将资产验证失败结果作为资产验证结果;资产验证失败结果用于指示虚拟资产不属于业务对象。
其中,虚拟资产存储于业务对象在第一区块链网络上的第一对象地址;
该资产锁定模块包括:
第一锁定地址确定单元,用于获取部署在第一节点上的资产锁定合约的合约地址,将合约地址作为虚拟资产对应的第一资产锁定地址;
锁定事件生成单元,用于将虚拟资产从第一对象地址转移至第一资产锁定地址,且在转移完成后,生成资产锁定事件。
其中,第二节点用于在将虚拟资产成功发行至资产发行地址时,生成资产转移成功通知;
该装置还包括:
阈值获取模块,用于从与第一区块链网络相关联的数据共识合约中,获取针对虚拟资产的共识时长阈值;
锁定时间戳确定模块,用于将在第一区块链网络上对虚拟资产进行资产锁定的时间戳,作为虚拟资产的资产锁定时间戳;
转移失败结果确定模块,用于若检测时间戳与资产锁定时间戳之间的时间差值达到共识时长阈值,且未接收到第二节点生成的资产转移成功通知,则确定虚拟资产对应的资产转移结果为转移失败结果;
资产解锁模块,用于在第一区块链网络上对虚拟资产进行资产解锁;资产解锁是指将虚拟资产从第一资产锁定地址重新转移至第一对象地址。
本申请实施例一方面提供一种基于区块链的数据处理装置,包括:
地址共识结果获取模块,用于基于预言机节点集合中的预言机节点,获取与预言机节点返回的资产发行地址相关联的地址共识结果;地址共识结果是对预言机节点获取到的资产发行地址进行地址共识时所生成的;资产发行地址是虚拟资产对应的业务对象所指定的第二区块链网络中的对象地址;资产发行地址为预言机节点在检测到第一区块链网络中的第一节点发送的资产锁定事件时,从第一区块链网络中所获取到的;资产锁定事件为第一节点在获取到与虚拟资产相关联的资产跨链转移请求时,在第一区块链网络上对虚拟资产进行资产锁定后所生成的;第二区块链网络与第一区块链网络不同;
资产发行模块,用于若地址共识结果指示达成共识,则将虚拟资产发行到预言机节点返回的资产发行地址上。
其中,预言机节点检测到的资产锁定事件是第一节点基于部署在第一节点上的第一预言机合约所发送的;
该地址共识结果获取模块包括:
发行请求获取单元,用于基于部署在第二节点上的资产发行合约,获取虚拟资产对应的业务对象发送的资产发行请求;
合法性校验单元,用于对资产发行请求进行合法性校验,得到校验结果;
发行地址获取单元,用于在校验结果指示业务对象为合法对象时,调用部署在第二节点上的第二预言机合约,获取预言机节点返回的记录于第一区块链网络的虚拟资产的资产发行地址;
地址共识结果生成单元,用于对预言机节点返回的资产发行地址进行地址共识,生成地址共识结果。
其中,资产发行请求携带业务对象的业务对象标识;
合法性校验单元包括:
标识查找子单元,用于获取与第二区块链网络相关联的非法对象列表,在非法对象列表中查找业务对象标识;
第一校验结果生成子单元,用于若非法对象列表中存在与业务对象标识相同的非法对象标识,则生成用于指示业务对象为非法对象的校验结果;
第二校验结果生成子单元,用于若非法对象列表中不存在与业务对象标识相同的非法对象标识,则生成用于指示业务对象为合法对象的校验结果。
其中,资产发行地址包括N个预言机节点分别发送的资产发行地址;N个预言机节点均属于预言机节点集合;N为正整数;
该地址共识结果生成单元包括:
地址返回结果发送子单元,用于将N个资产发行地址作为预言机节点集合的地址返回结果,将地址返回结果发送至第二区块链网络,以使第二区块链网络中的区块链节点对地址返回结果进行共识;
地址共识结果生成子单元,用于若第二区块链网络中存在超过共识阈值的区块链节点确定资产发行地址均为业务对象的第二对象地址,则生成用于指示第二区块链网络中的区块链节点达成共识的地址共识结果;第二对象地址为业务对象所指定的虚拟资产在第二区块链网络上的对象地址。
其中,该资产发行模块包括:
第二锁定地址确定单元,用于若地址共识结果指示达成共识,则获取部署在第二节点的资产锁定合约的合约地址,将获取到的合约地址作为第二资产锁定地址;
资产查询结果确定单元,用于在第二资产锁定地址中查询虚拟资产,得到资产查询结果;
资产发行单元,用于基于资产查询结果,将虚拟资产发行到预言机节点返回的资产发行地址上。
其中,该资产发行单元包括:
解锁交易生成子单元,用于若资产查询结果指示第二资产锁定地址中存在虚拟资产,则生成针对虚拟资产的资产解锁交易;资产解锁交易用于将虚拟资产从第二资产锁定地址中转移至预言机节点返回的资产发行地址上;
第一区块确定子单元,用于对资产解锁交易进行打包处理得到第一待验证区块,将第一待验证区块广播至第二区块链网络,以使第二区块链网络中的区块链节点进行区块共识;
第一区块写入子单元,用于在第二区块链网络中的区块链节点达成共识时,将第一待验证区块写入第二区块链;第一待验证区块用于更新第二区块链的最大生成时间戳。
其中,该资产发行单元包括:
发行交易生成子单元,用于若资产查询结果指示第二资产锁定地址中不存在虚拟资产,则生成针对虚拟资产的资产发行交易;资产发行交易用于将虚拟资产发行到预言机节点返回的资产发行地址上;
第二区块确定子单元,用于对资产发行交易进行打包处理得到第二待验证区块,将第二待验证区块广播至第二区块链网络,以使第二区块链网络中的区块链节点进行区块共识;
第二区块写入子单元,用于在第二区块链网络中的区块链节点达成共识时,将第二待验证区块写入第二区块链;第二待验证区块用于更新第二区块链的最大生成时间戳。
其中,该装置还包括:
成功通知生成模块,用于在将虚拟资产成功发行到资产发行地址时,生成用于指示虚拟资产转移成功的资产转移成功通知;
成功通知发送模块,用于将资产转移成功通知发送至业务对象,以使业务对象对应的对象终端显示资产转移成功通知。
本申请实施例一方面提供一种基于区块链的数据处理装置,包括:
发行地址获取模块,用于在检测到第一区块链网络中的第一节点生成针对虚拟资产的资产锁定事件时,从第一区块链网络中获取虚拟资产的资产发行地址;资产锁定事件为第一节点在获取到与虚拟资产相关联的资产转移请求时,在第一区块链网络上对虚拟资产进行资产锁定后所生成的;资产发行地址是虚拟资产对应的业务对象所指定的第二区块链网络中的对象地址;第二区块链网络与第一区块链网络不同;
发行地址返回模块,用于将获取到的资产发行地址返回至第二区块链网络,以使第二区块链网络中的第二节点在确定地址共识结果指示达成共识时,将虚拟资产发行到预言机节点返回的资产发行地址上;地址共识结果是对预言机节点获取到的资产发行地址进行地址共识时所生成的。
本申请一方面提供了一种计算机设备,包括:处理器、存储器、网络接口;
处理器与存储器、网络接口相连,其中,网络接口用于提供数据通信功能,存储器用于存储计算机程序,处理器用于调用计算机程序,以使得计算机设备执行本申请实施例提供的方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序适于由处理器加载并执行,以使得具有该处理器的计算机设备执行本申请实施例提供的方法。
本申请实施例一方面提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中;计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行本申请实施例中的方法。
在本申请实施例中,针对虚拟资产的跨链转移无需可信任的第三方参与,而是直接通过预言机节点集合中的预言机节点,在两个不同的区块链网络之间传输业务对象所指定的虚拟资产的资产发行地址,以实现虚拟资产的跨链转移。比如,第一区块链网络中的第一节点在获取到与虚拟资产相关联的资产转移请求时,可以在第一区块链网络上记录资产发行地址,并在第一区块链网络上对虚拟资产进行资产锁定后,生成资产锁定事件。针对于预言机节点而言,在检测到第一区块链网络中的第一节点针对虚拟资产发送的资产锁定事件时,预言机节点可以获取第一区块链网络所记录的资产发行地址,并将其返回至第二区块链网络。进一步地,第二区块链网络中的第二节点可以获取与预言机节点返回的资产发行地址相关联的地址共识结果。在地址共识结果指示达成共识时,第二节点可以在第二区块链网络中将虚拟资产发行到资产发行地址上。由于第一节点已经对第一区块链网络上的虚拟资产进行资产锁定,因此后续第二节点在第二区块链网络上发行虚拟资产时,将不会出现两个区块链网络同时存在虚拟资产的情况,以至于解决了虚拟资产在两个区块链网络出现虚拟资产增发的问题。此外,本申请的资产跨链转移过程中无需额外的可信任的第三方参与,因此可以有效避免因可信任第三方参与而导致的数据篡改或数据丢失等问题,以至于提高了资产跨链转移的安全性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种区块链网络的结构示意图;
图2是本申请实施例提供的一种进行资产跨链转移的场景示意图;
图3是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图;
图4是本申请实施例提供的一种用于进行资产验证的场景示意图;
图5是本申请实施例提供的一种资产发行的场景示意图;
图6是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图;
图7是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图;
图8是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图;
图9是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图;
图10是本申请实施例提供的一种计算机设备的示意图;
图11是本申请实施例提供的一种基于区块链的数据处理系统的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解,本申请实施例提出了一种基于区块链的虚拟资产跨链转移方案。其中,这里的区块链(blockchain或block chain)可以是借由密码学串接并保护内容的串连文字记录(又称区块),即包括一系列按照产生的先后时间顺序相互接续的区块,新区块一旦加入到该区块链中就不会再被移除,其中,每一个区块可以包括了前一个区块的加密散列(即父区块哈希值)、生成时间戳以及交易(通常用默克尔树(Merkle tree)算法计算的散列值表示),这样的设计使得区块内容具有难以篡改的特性。用区块链技术所串接的分布式账本能让两方有效纪录交易,且可永久查验此交易。其中,本申请实施例中的虚拟资产可以包括第一虚拟资产和第二虚拟资产,比如,这里的第一虚拟资产可以为数字藏品(例如,某艺术作品),即原创者的防伪证书,具有不可分割,不可替代,独一无二等特点。这里的第二虚拟资产可以为可置换的虚拟资产,例如,游戏金币、游戏钻石等。
其中,智能合约是一种运行在区块链节点上的应用或程序,通常情况下,它们为一组具有特定规则的数字化协议,且该协议能够被强制执行。这些规则由计算机源代码预先定义,所有网络节点会复制和执行这些计算机源码。例如,本申请实施例可以将用于进行资产锁定的智能合约称之为资产锁定合约,用于进行资产发行的智能合约称之为资产发行合约,用于进行数据共识的智能合约称之为数据共识合约。
请参见图1,图1是本申请实施例提供的一种区块链网络的结构示意图。在本申请实施例中,区块链网络结构可以包括多个区块链网络、预言机节点集合以及终端设备集群。其中,任意两个区块链网络之间均可以通过预言机节点集合中的预言机节点获取外部数据。这里的区块链网络是一种点对点的对等网络(Peer to peer networking,简称P2P网络),即是一种在用户之间分配任务和工作负载的分布式应用架构,是对等计算模型在应用层形成的一种组网或网络形式。
可以理解的是,每个区块链网络中的区块链节点均可以为接入到区块链网络中的任意形式的计算机设备,比如,该计算机设备可以为接入区块链网络中的终端设备,也可以为接入该区块链网络中的服务器,这里对区块链节点的具体形式不做限定。其中,接入到该区块链网络中的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。接入到该区块链网络中的终端设备可以包括智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端、智能电视等智能终端。
为便于阐述,图1所示的区块链网络结构可以以2个为例,具体可以包括区块链网络110W(即第一区块链网络)和区块链网络120W(即第二区块链网络)。其中,第一区块链网络与第二区块链网络不同。可以理解的是,该第一区块链网络对应的区块链系统(即第一区块链系统)以及第二区块链网络对应的区块链系统(即第二区块链系统)均可以由多个区块链节点通过网络通信的形式连接形成的分布式系统。如图1所示,第一区块链系统具体可以包括节点110a、节点110b、节点110c、…、节点110x。第二区块链系统具体可以包括节点120a、节点120b、节点120c、…、节点120y。
目前,区块链的类型可以包括:公有链(Public Blockchain)、私有链(PrivateBlockchain)和联盟链(Consortium Blockchain)。公有链对外公开,任何人可以加入并访问区块链;公有链上的区块可以被任何人查看,任何人也可以在公有链上发起交易,还可以随时参与公有链的共识过程。私有链可以在私有组织内部使用,区块链上的读写权限、参与记账权限按私有组织规则来制定;通常用于企业内部的数据管理、审计等。联盟链可以限于联盟成员参与,区块链上的读写权限、参与记账权限按联盟规则来制定;一般用于机构间的交易、结算或清算等场景。两条不同类型的区块链有各自的规范,例如:公有链中的共识机制一般是工作量证明(Proof of Work,简称PoW)或权益证明(Proof of Stake,简称PoS),而联盟链中的共识机制一般是权益证明或拜占庭共识算法(Practical Byzantine FaultTolerant,简称PBFT)、RAFT(一种共识算法)等共识算法。相同类型的两条区块链也会有各自管理规范的差异,例如:同为联盟链,一条联盟链的共识机制可以为权益证明,而另一条联盟链的共享机制可以为PBFT共识机制。
本申请实施例可以将该第一区块链网络对应的区块链称之为第一区块链,将第二区块链网络对应的区块链称之为第二区块链。其中,本申请实施例中的第一区块链和第二区块链可以为不同类型的两条区块链。比如,第一区块链可以为私有链,第二区块链可以为联盟链。可选的,本申请实施例中的第一区块链和第二区块链也可以为相同类型的两条区块链。例如,第一区块链和第二区块链均为联盟链。这里将不对第一区块链和第二区块链的类型进行限定。
可以理解的是,区块链上的智能合约由于自身的局限性,难以获取外部数据进行合约业务逻辑的处理。预言机节点作为合约和外部世界的桥梁,能够将外部世界的真实数据传递到合约中进行处理。预言机节点是独立于区块链系统之外的第三方服务,能够为智能合约外部世界的真实数据。如图1所示,区块链网络110W和区块链网络120W之间可以通过预言机节点集合中的预言机节点实现虚拟资产的跨链转移。该预言机节点集合中可以包括多个预言机节点,具体可以包括节点130a、节点130b、…、节点130z。
此外,如图1所示,本申请实施例中的第一区块链系统和第二区块链系统均可以与同一终端设备集群具有网络连接关系,该终端设备集群可以包括一个或者多个终端设备,这里将不对终端设备集群的数量进行限制。如图1所示,多个终端设备具体可以包括终端设备1000a、终端设备1000b、用户终端1000c、…、终端设备1000n。
为便于理解,本申请实施例可以在图1所示的区块链网络110W中选择一个区块链节点(例如,节点110a)作为第一区块链网络中的第一节点,在图1所示的区块链网络120W中选择一个区块链节点(例如,节点120a)作为第二区块链网络中的第二节点,在图1所示的终端设备集群中选择一个终端设备(例如,终端设备1000a)作为业务对象所使用的对象终端。
在资产跨链转移场景中,该对象终端可以基于业务对象针对虚拟资产所执行的触发操作,向上述两个区块链网络发送对应的业务请求。比如,该对象终端可以向第一节点发送用于将虚拟资产从第一区块链转移至第二区块链上的业务请求(即资产跨链转移请求),向第二节点发送用于将虚拟资产发行到资产发行地址的业务请求(即资产发行请求)。
应当理解,第一节点在获取到资产跨链转移请求时,需要在第一区块链网络上记录虚拟资产对应的资产发行地址(即业务对象在第二区块链网络中的对象地址),并在第一区块链网络上对虚拟资产进行资产锁定,以生成用于发送至预言机节点集合的资产锁定事件。预言机节点集合中的每个预言机节点在检测到该资产锁定事件时,均可以获取第一区块链网络所记录的资产发行地址,并根据该资产锁定事件,将其发送至第二区块链网络。第二区块链网络中的第二节点在获取到资产发行请求时,可以获取与多个预言机节点分别返回的资产发行地址相关联的地址共识结果。在地址共识结果指示达成共识时,第二节点可以在第二区块链网络上将虚拟资产发行到预言机节点返回的资产发行地址上。由此可见,在资产跨链转移场景中,本申请实施例无需通过可信任的第三方进行资产转移,而是通过独立于区块链系统的预言机节点(即链下预言机节点),实现虚拟资产在不同区块链之间的跨链转移,这样不仅不会出现虚拟资产增发(即两条区块链上均存在虚拟资产)的问题,还有效提高了资产转移的安全性。
为便于理解,进一步地,请参见图2,图2是本申请实施例提供的一种进行资产跨链转移的场景示意图。如图2所示,本申请实施例中的对象终端2000a可以为业务对象所使用的终端设备,该终端设备可以为上述图1所示的终端设备集群中的任意一个终端设备,例如,终端设备1000a。本申请实施例中的节点210a(即第一区块链网络中的第一节点)可以为上述图1所示的区块链网络110W中的任意一个区块链节点,例如,节点110a。节点220a(即第二区块链网络中的第二节点)可以为上述图1所示的区块链网络120W中的任意一个区块链节点,例如,节点120a。本申请实施例中的预言机节点集合中的每个预言机节点均可以用于检测某一区块链网络(例如,第一区块链网络)针对虚拟资产的资产锁定事件。
应当理解,业务对象在第一区块链网络中的对象地址的数量可以包括多个,以3个为例,具体可以包括地址D11、地址D12以及地址D13。业务对象在第二区块链网络中的对象地址的数量也可以包括多个,以2个为例,具体可以包括地址D21以及地址D22。其中,本申请实施例可以将第一区块链网络中的存储有资产20P的对象地址(例如,地址D11)称之为该业务对象的第一对象地址。
如图2所示,在业务对象需要将虚拟资产(例如,资产20P)从节点210a所在的区块链网络转移至节点220a所在的区块链网络时,业务对象可以从该业务对象在第二区块链网络中的多个对象地址中指定一个对象地址(例如,地址D21),以作为该资产20P的资产发行地址。其中,本申请实施例可以将业务对象所指定的虚拟资产在第二区块链网络上的对象地址称之为第二对象地址。进一步地,对象终端2000a可以基于该资产发行地址,生成与虚拟资产20P相关联的资产跨链转移请求,进而可以将该资产跨链转移请求发送至第一区块链网络。
当第一区块链网络中的节点210a获取到该资产跨链转移请求时,该节点210a可以在第一区块链网络上执行两个过程,一个是资产发行地址记录过程,即在第一区块链网络上记录该资产20P的资产发行地址(即地址D21);另一个是资产锁定过程,即在第一区块链网络上对资产20P进行资产锁定,且生成用于发送至预言机节点的资产锁定事件。其中,这里的资产锁定可以是指将资产20P从地址D11转移至资产锁定地址。
其中,图2所示的预言机节点集合中的预言机节点能够在第一区块链网络和第二区块链网络之间进行数据传输,即在检测到第一区块链网络中针对资产20P的资产锁定事件时,可以获取第一区块链网络所记录的该资产20P的资产发行地址,以根据该资产锁定事件将其返回至第二区块链网络。
业务对象的对象终端2000a还可以向第二区块链网络发送针对资产20P的资产发行请求,在第二区块链网络中的节点220a接收到该资产发行请求时,可以分别获取预言机节点集合中每个预言机节点返回的资产20P的资产发行地址。其中,可以理解的是,本申请实施例中的节点220a可以获取与预言机节点返回的资产发行地址相关联的地址共识结果,这里的地址共识结果可以由预言机节点生成,也可以由节点220a生成,这里将不对其进行限定。
比如,若预言机节点集合中的预言机节点具备共识功能,则每个预言机节点在检测到针对资产20P的资产锁定事件时,均可以对从第一区块链网络中获取到的资产20P的资产发行地址,从而可以得到多个资产发行地址。此时,具有共识功能的预言机节点需要进一步地对这多个资产发行地址进行地址共识,以得到用于返回第二区块链网络的地址共识结果。基于此,第二区块链网络中的节点220a在获取到对象终端2000a发送的资产发行请求时,可以直接从预言机节点集合中获取该地址共识结果。
又比如,若预言机节点集合中的预言机节点不具备共识功能,则每个预言机节点在检测到针对资产20P的资产锁定事件时,均可以对从第一区块链网络中获取到的资产20P的资产发行地址,从而可以得到多个资产发行地址。基于此,第二区块链网络中的节点220a在获取到对象终端2000a发送的资产发行请求时,可以从预言机节点集合中获取多个资产发行地址,进而可以基于节点220a的共识功能,对接收到的多个资产发行地址进行地址共识,以得到地址共识结果。
应当理解,在地址共识结果指示达成共识时,该节点220a可以在第二区块链网络上发行资产20P,即将资产20P发行到预言机节点返回的资产发行地址上,此时,本申请实施例可以认为该资产20P的资产转移结果指示跨链成功,即资产20P已经成功从第一区块链网络跨链转移至第二区块链网络。可选的,在地址共识结果指示未达成共识时,该节点220a无法在第二区块链网络上发行资产20P,此时,本申请实施例可以认为该资产20P的资产转移结果指示跨链失败。
由此可见,图2的资产跨链转移场景中,无需可信任的第三方参与,而是直接通过图2所示的预言机节点集合中的预言机节点获取该资产20P所在的存在和归属证明,即在检测到针对资产20P的资产锁定事件时,可以在节点210a所在的第一区块链网络上获取资产20P的资产发行地址,并将其返回至第二区块链网络中的区块链节点(例如,节点220a)。这意味着该预言机节点能够在第一区块链网络和第二区块链网络之间,传输第一区块链网络所记录的资产20P的资产发行地址,以便于后续在节点220a确定与资产发行地址相关联的地址共识结果指示达成共识时,将资产20P发行到第二区块链网络的资产发行地址上。这样不仅解决了资产20P在两个区块链网络出现虚拟资产增发的问题,还有效避免了因可信任第三方参与而导致的数据篡改或数据丢失等问题,以至于提高了资产转移的安全性。
其中,第一区块链网络中的第一节点和第二区块链网络中的第二节点,基于分别独立于这两个区块链网络的预言机节点,对第一区块链网络中的虚拟资产进行跨链转移的具体实现方式可以参见下述图3-图6所对应的实施例。
进一步地,请参见图3,图3是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图。如图3所示,该方法可以由第一区块链网络中的第一节点执行,该第一节点可以为第一区块链网络中的任意一个区块链节点,例如,上述图1所示的区块链网络110W中的任意一个节点,例如,节点110a。该方法至少可以包括以下步骤S101-步骤S103:
步骤S101,在获取到与业务对象的虚拟资产相关联的资产跨链转移请求时,在第一区块链网络上记录虚拟资产对应的资产发行地址。
其中,这里的资产发行地址是业务对象所指定的第二区块链网络中的对象地址;其中,第二区块链网络与第一区块链网络不同。具体的,该第一节点可以获取与业务对象的虚拟资产相关联的资产跨链转移请求,其中,这里的资产跨链转移请求用于指示将虚拟资产从第一区块链网络转移至第二区块链网络的资产发行地址。此时,该第一节点需要确定第一区块链网络是否存在虚拟资产,即该第一节点可以对虚拟资产进行资产验证,得到资产验证结果。若资产验证结果指示第一区块链网络存在虚拟资产,且虚拟资产属于业务对象,则第一节点可以获取资产跨链转移请求所携带的资产发行地址,将资产发行地址记录在第一区块链网络上。可选的,若资产验证结果指示第一区块链网络不存在虚拟资产,或虚拟资产不属于该业务对象,则第一节点无法对该虚拟资产进行跨链转移,此时,该第一节点可以生成一个用于指示虚拟资产无法跨链转移的异常提示信息,以返回至业务对象的对象终端。例如,该异常提示信息可以为“您好,您无法对该笔资产进行转移,如有疑问,请前往XX地点或XX网址进行进一步咨询”这样的文本信息。当然,该异常提示信息还可以为音频、视频、图片等其他类型,这里将不对其进行限定。
其中,第一节点在对虚拟资产进行资产验证时,可以在第一区块链网络的第一区块链上,对虚拟资产进行资产查询。若第一区块链上存在虚拟资产,则该第一节点可以获取虚拟资产对应的资产签名信息。其中,这里的资产签名信息可以为业务对象对应的对象终端基于业务对象的对象私钥,对虚拟资产进行签名处理后所得到的。进一步地,该第一节点可以获取业务对象的对象公钥,进而可以基于对象公钥,对资产签名信息进行验签,以得到验签结果。若验签结果指示验签成功,则该第一节点可以生成与虚拟资产相关联的资产验证成功结果,进而将资产验证成功结果作为资产验证结果。其中,这里的资产验证成功结果可以用于指示虚拟资产属于业务对象。可选的,若验签结果指示验签失败,则第一节点可以生成与虚拟资产相关联的资产验证失败结果,进而可以将资产验证失败结果作为资产验证结果。其中,这里的资产验证失败结果可以用于指示虚拟资产不属于业务对象。
为便于理解,进一步地,请参见图4,图4是本申请实施例提供的一种用于进行资产验证的场景示意图。如图4所示,本申请实施例中的对象终端4000a可以为业务对象所使用的终端设备,该终端设备可以为上述图1所示的终端设备集群中的任意一个终端设备,例如,终端设备1000a。本申请实施例中的节点410a(即第一区块链网络中的第一节点)可以为上述图1所示的区块链网络110W中的任意一个区块链节点,例如,节点110a。
可以理解的是,业务对象对应的对象终端4000a可以用于将业务对象的虚拟资产(例如,图4所示的资产40P)通过第一区块链网络中的区块链节点发行到第一区块链网络上,且在该第一区块链网络的第一区块链(图4所示的区块链40Q)上存储该虚拟资产以及虚拟资产对应的资产签名信息。其中,该区块链40Q可以为节点410a所在的区块链网络中的每个区块链节点均共享的一条区块链,每个区块链节点均可以获取该区块链40Q所存储的信息。其中,此时的区块链40Q可以包括区块4A、区块4B、…、区块4N。
比如,在业务对象需要将资产40P发行至第一区块链网络上的某一对象地址(即第一对象地址)时,该对象终端4000a可以基于该业务对象的对象私钥,对该资产40P进行签名处理,得到该资产40P对应的资产签名信息。比如,该对象终端4000a可以获取针对虚拟资产的哈希计算规则,该哈希计算规则可以为该对象终端4000a与节点410a所在区块链网络中的其他区块链节点提前约定好的摘要算法。因此,该对象终端4000a可以基于该哈希计算规则对该资产40P进行哈希计算,以得到资产40P的摘要信息(例如,摘要信息h)。其中,本申请实施例可以将对象终端4000a确定的资产40P的摘要信息称之为第一摘要信息。进一步地,该对象终端4000a可以基于该业务对象的对象私钥,对该第一摘要信息进行签名处理,从而可以得到图4所示的资产签名信息。进一步地,该对象终端4000a可以基于资产40P、资产40P对应的资产签名信息以及指定的第一区块链网络上的第一对象地址,生成用于发送至第一区块链网络的资产发行请求。该第一区块链网络中的区块链节点(例如,节点410a)在接收到该资产发行请求时,可以将资产40P发行到第一区块链网络的第一对象地址。换言之,该节点410a可以生成与资产40P相关联的资产发行交易,并将其打包至图4所示的区块链40Q。
基于此,对象终端4000a还可以对自己在第一区块链网络上的资产40P进行跨链转移,即将其从第一区块链网络转移至第二区块链网络。比如,业务对象可以在对象终端4000a上执行相应的触发操作,以从业务对象在第二区块链网络中的多个对象地址中选择一个对象地址,作为该资产40P的资产发行地址。其中,这里的触发操作可以包括点击、长按等接触性操作,也可以包括语音、手势等非接触性操作,这里将不对其进行限定。在对象终端4000a响应该触发操作时,可以基于该资产发行地址,生成针对资产40P的资产跨链转移请求。进一步地,该对象终端400a可以将该资产跨链转移请求发送到第一区块链网络。
第一区块链网络中的区块链节点(例如,节点410a)在接收到该资产跨链请求时,需要基于第一区块链,验证第一区块链网络是否存在资产40P,即节点410a需要对资产40P进行资产验证,以得到资产验证结果。比如,节点410a需要在区块链40Q上,对资产40P进行资产查询。若区块链40Q上不存在资产40P,则节点410a可以生成一个用于指示资产40P无法跨链转移的异常提示信息,以返回至对象终端4000a。若区块链40Q上存在资产40P,则节点410a可以进一步在区块链40Q上获取该资产40P的资产签名信息。
进一步地,节点410a可以基于业务对象的对象公钥,对资产签名信息进行验签,以得到验签结果。比如,节点410a需要获取业务对象的对象公钥,进而可以基于该对象公钥对资产签名信息进行验签,以得到资产40P的第一摘要信息。与此同时,该节点410a还可以获取与对象终端4000a相同的哈希计算规则,对资产40P进行哈希计算,从而可以得到该资产40P的摘要信息(例如,摘要信息H)。其中,本申请实施例可以将节点410a确定的资产40P的摘要信息称之为第二摘要信息。此时,该节点410a可以将第一摘要信息与第二摘要信息进行比对,得到验签结果,以确定该资产40P是否属于业务对象。
可以理解的是,若第一摘要信息与第二摘要信息不相同,则该节点410a可以确定验签结果指示验签失败,此时,该节点410a可以生成与资产40P相关联的资产验证失败结果,将资产验证失败结果作为资产验证结果。其中,这里的资产验证失败结果可以用于指示资产40P不属于业务对象。可选的,若第一摘要信息与第二摘要信息相同,则该节点410a可以确定验签结果指示验签成功,此时,该节点410a可以生成与资产40P相关联的资产验证成功结果,将资产验证成功结果作为资产验证结果。其中,这里的资产验证成功结果可以用于指示资产40P属于业务对象。
其中,在资产验证结果为资产验证成功结果(即第一区块链网络存在资产40P,且资产40P属于业务对象)时,该节点410a可以获取资产跨链转移请求所携带的资产发行地址,进而可以将该资产发行地址记录在第一区块链网络上。比如,该节点410a可以对资产发行地址进行打包处理,以生成用于返回至第一区块链网络中的待验证区块。在第一区块链网络中的区块链节点针对图4所示的待验证区块达成共识时,将待验证区块写入区块链40Q,即将待验证区块作为区块4N的下一区块。
步骤S102,在第一区块链网络上对虚拟资产进行资产锁定,且生成资产锁定事件。
其中,该虚拟资产存储于业务对象在第一区块链网络上的第一对象地址。具体地,第一节点可以获取部署在第一节点上的资产锁定合约的合约地址,进而可以将该合约地址作为虚拟资产对应的第一资产锁定地址。此时,该第一节点可以将虚拟资产从第一对象地址转移至第一资产锁定地址,且在转移完成后,生成资产锁定事件。如图2所示,节点210a可以将资产20P从原来存储的第一对象地址(例如,地址D11)转移至节点210a所部署的资产锁定合约的合约地址(即资产锁定地址),且在转移完成时,生成用于返回至预言机节点集合的资产锁定事件。
步骤S103,将资产锁定事件发送至预言机节点集合,以使预言机节点集合中的预言机节点根据资产锁定事件,将从第一区块链网络中获取到的虚拟资产的资产发行地址发送至第二区块链网络。
具体地,第一节点可以基于部署在第一节点上的预言机合约(即第一预言机合约),将资产锁定事件发送至预言机节点集合。预言机节点集合中的预言机节点在检测到该资产锁定事件时,可以从第一区块链网络中获取虚拟资产的资产发行地址,进而可以将获取到的虚拟资产的资产发行地址发送至第二区块链网络,以使第二区块链网络中的第二节点在确定地址共识结果指示共识成功时,将虚拟资产发行到预言机节点返回的资产发行地址上,这里的地址共识结果是对预言机节点返回资产发行地址进行地址共识后所生成的,且该地址共识结果可以由具有共识功能的预言机节点生成,也可以由具有共识功能的第二区块链网络中的第二节点生成,这里将不对其进行限定。
应当理解,业务对象的对象终端在将第一区块链网络上的虚拟资产转移至第二区块链网络时,可以基于业务对象的业务对象标识,生成针对该虚拟资产的资产发行请求。其中,这里的业务对象的业务对象标识是经过业务对象授权后所获取到的,且业务对象标识的获取需要遵守相关国家和地区的相关法律法规和标准。
进一步地,第二区块链网络中的第二节点在基于部署在第二节点上的资产发行合约,获取到业务对象发送的资产发行请求时,需要对资产发行请求进行合法性校验,以得到校验结果。在校验结果指示业务对象为合法对象时,可以调用部署在第二节点上的预言机合约(即第二预言机合约),获取预言机节点返回的记录于第一区块链网络的虚拟资产的资产发行地址。进一步地,该第二节点可以获取与预言机节点返回的资产发行地址相关联的地址共识结果。若地址共识结果指示达成共识,则第二节点可以将虚拟资产发行到预言机节点返回的资产发行地址上。
为便于理解,进一步地,请参见表1,表1是本申请实施例提供的一种用于进行合法性校验的非法对象列表。该非法对象列表可以是指存储于第二区块链网络的第二区块链上的黑名单列表,该非法对象列表中的非法对象标识所对应的非法对象可以为具有管理权限的区块链节点所检测到的置信度较低的业务对象,例如,被他人举报的业务对象、资产转移频率过高的业务对象等。如表1所示:
表1
非法对象 | 非法对象标识 |
对象1 | 对象标识S1 |
对象2 | 对象标识S2 |
对象3 | 对象标识S3 |
对象4 | 对象标识S4 |
其中,表1所示的非法对象列表可以包括多个非法对象以及每个非法对象对应的非法对象标识,为便于理解,这里的非法对象数量可以以4个为例,具体可以对象1、对象2、对象3以及对象4。其中,对象1的业务对象标识可以为对象标识S1,对象2的业务对象标识可以为对象标识S2,对象3的业务对象标识可以为对象标识S3,对象4的业务对象标识可以为对象标识S4。
由于业务对象对应的对象终端发送的资产发行请求携带业务对象的业务对象标识,因此在第二节点对资产发行请求进行合法性校验时,可以获取与第二区块链网络相关联的非法对象列表(即上述表1所示的非法对象列表),进而可以在该非法对象列表中查询业务对象标识。若非法对象列表中存在与业务对象标识相同的非法对象标识,则第二节点可以生成用于指示业务对象为非法对象的校验结果。进一步地,在校验结果指示业务对象为非法对象时,第二节点可以生成用于指示虚拟资产转移失败的资产转移失败通知,进而可以将该资产转移失败通知发送至业务对象。
比如,若资产发行请求携带的业务对象标识为对象标识S1,那么,第二节点在对资产发行请求进行合法性校验时,可以在上述表1所示的非法对象列表中查找到该对象标识S1,此时,该第二节点可以确定发送资产发行请求的业务对象为对象1,进而可以生成用于指示对象1为非法对象的校验结果。
可选的,若非法对象列表中不存在与业务对象标识相同的非法对象标识,则第二节点可以生成用于指示业务对象为合法对象的校验结果。比如,若资产发行请求携带的业务对象标识为对象标识S5,那么,第二节点在对资产发行请求进行合法性校验时,并未在上述表1所示的非法对象列表中查找到该对象标识S5,此时,该第二节点可以确定发送资产发行请求的业务对象不属于非法对象,进而可以生成用于指示业务对象(例如,对象5)为合法对象的校验结果。
进一步地,在校验结果指示业务对象为合法对象时,第二节点可以调用部署在第二节点上的第二预言机合约,获取预言机节点返回的记录于第一区块链网络的虚拟资产的资产发行地址。其中,这里的资产发行地址可以包括N个预言机节点分别发送的资产发行地址。这里的N个预言机节点均属于预言机节点集合,N为正整数。
其中,可以理解的是,若预言机节点不具备共识功能,则该第二节点调用第二预言机合约,从预言机节点集合中获取到的数据为N个预言机节点分别返回的N个资产发行地址。此时,该第二节点可以将N个资产发行地址作为该预言机节点集合的地址返回结果,进而可以基于第二节点所具备的共识功能,将地址返回结果发送至第二区块链网络,以使第二区块链网络中的区块链节点对地址返回结果进行共识。若第二区块链网络中存在超过共识阈值(例如,1/2或2/3)的区块链节点确定资产发行地址均为业务对象的第二对象地址,则第二节点可以生成用于指示第二区块链网络中的区块链节点达成共识的地址共识结果;第二对象地址可以为业务对象所指定的虚拟资产在第二区块链网络上的对象地址。反之,第二节点可以生成用于指示第二区块链网络中的区块链节点未达成共识的地址共识结果,此时,第二节点可以生成用于指示虚拟资产转移失败的资产转移失败通知,进而可以将该资产转移失败通知发送至业务对象。
可选的,若预言机节点具备共识功能,则该第二节点调用第二预言机合约,从预言机节点集合中获取到的数据为与N个资产发行地址相关联的地址共识结果。可以理解的是,预言机节点集合中的N个预言机节点在检测到针对虚拟资产的资产锁定事件后,可以获取N个资产发行地址。进一步地,预言机节点可以基于共识功能,在预言机节点集合中对这N个资产发行地址进行地址共识,以得到地址共识结果。为了有效确保链下预言机节点的共识安全性,因此,在将地址共识结果返回至第二区块链网络时,该的预言机节点可以对地址共识结果进行多重签名,以得到地址多重签名信息。进一步地,预言机节点可以将地址多重签名信息以及地址共识结果一并返回至第二节点,以使第二节点基于多重签名信息,对地址共识结果进行校验,在校验通过时,获取地址共识结果所指示的资产发行地址。当然,为了确保数据传输时的安全性,预言机节点在将地址多重签名信息和地址共识结果返回第二节点时,还可以对其进行加密处理,这里将不再对其进行赘述。
比如,预言机节点在对地址共识结果进行多重签名时,可以根据预言机节点集合中的每个预言机节点各自对应的节点私钥,对该地址共识结果进行多重签名,以得到地址多重签名信息。进一步地,该预言机节点可以将地址多重签名信息以及地址共识结果一并返回至第二节点,以使第二节点可以基于各预言机节点的节点公钥,对多重签名地址进行地址验签,以得到地址验签结果。在地址验签结果指示存在超过一定数量阈值(例如,1/2或2/3)的签名数量指示验签成功时,则确定该地址共识结果指示预言机节点集合中的预言机节点已经达成共识,此时,该第二节点可以直接从地址共识结果中获取所指示的预言机节点返回的资产发行地址。
可以理解的是,若地址共识结果指示达成共识,则第二节点需要在第二区块链网络中查询是否曾发行过该虚拟资产。比如,该第二节点需要获取部署在第二节点上的资产锁定合约的合约地址,并将获取到的合约地址作为第二资产锁定地址,进而可以在第二资产锁定地址中查询虚拟资产,以得到资产查询结果。进一步地,该第二节点基于资产查询结果,将虚拟资产发行到预言机节点返回的资产发行地址上。
比如,若资产查询结果指示第二资产锁定地址中存在虚拟资产,则第二节点可以生成针对虚拟资产的资产解锁交易,其中,这里的资产解锁交易用于将虚拟资产从第二资产锁定地址中转移至预言机节点返回的资产发行地址上。进一步地,该第二节点可以对资产解锁交易进行打包处理得到第一待验证区块,并将第一待验证区块广播至第二区块链网络,以使第二区块链网络中的区块链节点进行区块共识。在第二区块链网络中的区块链节点达成共识时,该第二节点可以将第一待验证区块写入第二区块链,其中,这里的第一待验证区块用于更新第二区块链的最大生成时间戳。
又比如,若资产查询结果指示第二资产锁定地址中不存在虚拟资产,则第二节点可以生成针对虚拟资产的资产发行交易,其中,这里的资产发行交易用于将虚拟资产发行到预言机节点返回的资产发行地址上。进一步地,该第二节点可以对资产发行交易进行打包处理得到第二待验证区块,将第二待验证区块广播至第二区块链网络,以使第二区块链网络中的区块链节点进行区块共识。在第二区块链网络中的区块链节点达成共识时,第二节点可以将第二待验证区块写入第二区块链;其中,这里的第二待验证区块用于更新第二区块链的最大生成时间戳。
为便于理解,进一步地,请参见图5,图5是本申请实施例提供的一种资产发行的场景示意图。如图5所示,本申请实施例中的预言机节点集合可以为上述图1所示的预言机节点集合,该预言机节点集合中可以包括多个预言机节点,为便于阐述,本申请实施例可以以4个为例,具体可以包括节点530a、节点530b、节点530c以及节点530d。本申请实施例中的节点520a(即第二区块链网络中的第二节点)可以为上述图1所示的区块链网络120W中的任意一个区块链节点,例如,节点120a。其中,为便于阐述,本申请实施例中具有共识功能的节点以第二区块链网络中的节点520a为例,即与虚拟资产的资产发行地址相关联的地址共识结果是由节点520a生成的。
如图5所示,预言机节点集合中的每个预言机节点在检测到第一区块链网络中的第一节点发送的资产锁定事件后,可以从第一区块链网络中获取业务对象针对虚拟资产所指定的资产发行地址。比如,节点530a获取到的资产发行地址可以为地址5Da(例如,业务对象在第二区块链网络上的地址D21);节点530b获取到的资产发行地址可以为地址5Db(例如,业务对象在第二区块链网络上的地址D21);节点530c获取到的资产发行地址可以为地址5Dc(例如,业务对象在第二区块链网络上的地址D21);节点530d获取到的资产发行地址可以为地址5Dd(例如,业务对象在第二区块链网络上的地址D22)。
应当理解,图5所示的节点520a在基于部署在节点520a上的资产发行合约,获取到业务对象针对虚拟资产发送的资产发行请求时,需要基于上述表1所示的非法对象列表,对资产发行请求进行合法性校验,以得到校验结果。在校验结果指示业务对象为合法对象时,该节点520a可以调用部署在节点520a上的第二预言机合约,接收预言机节点集合中的4个预言机节点分别返回的资产发行地址,进而可以将接收到的这4个资产发行地址作为该预言机节点集合的地址返回结果。进一步地,节点520a可以基于特定的共识算法,将该地址返回结果广播至节点520a所在的区块链网络(即第二区块链网络),以使第二区块链网络中的区块链节点对该地址返回结果进行地址共识。
可以理解的是,节点520a可以基于部署在节点520a上的资产发行合约,获取每个区块链节点进行地址共识后所得到的共识结果,进而可以对获取到的共识结果进行结果分析。若第二区块链网络中存在超过共识阈值的区块链节点,确定资产发行地址均为业务对象在第二区块链上的地址D21(即第二对象地址),则节点520a可以确定第二区块链网络中的区块链节点达成共识,即节点520a具有将虚拟资产发行至第二区块链网络上的权限。
进一步地,该节点520a需要在第二区块链网络中查询是否曾发行过虚拟资产,若第二区块链网络未发行过该虚拟资产,则该节点520a需要发行虚拟资产;若曾发行过虚拟资产,那该虚拟资产可能存在于该节点520a所部署的资产锁定合约的合约地址(即第二资产锁定地址)上,此时,无需重新发行虚拟资产,而是可以直接对虚拟资产进行资产解锁。
其中,可以理解的是,节点520a在确定第二区块链网络中的区块链节点针对地址共识结果达成共识时,可以在第二资产锁定地址中查询虚拟资产,以得到资产查询结果,进而可以基于资产查询结果,生成对应的待上链交易(例如,图5所示的交易5X)。若资产查询结果指示第二资产锁定地址中存在虚拟资产,则节点520a生成的交易5X为针对虚拟资产的资产解锁交易,该资产解锁交易用于将虚拟资产从第二资产锁定地址中转移至预言机节点返回的资产发行地址上。若资产查询结果指示第二资产锁定地址中不存在虚拟资产,则节点520a生成的交易5X为针对虚拟资产的资产发行交易,该资产发行交易用于将虚拟资产发行到预言机节点返回的资产发行地址上。
进一步地,该节点520a可以将交易5X写入第二区块链网络的第二区块链(例如,图5所示的区块链50Q)上。其中,区块链50Q可以为第二区块链网络中每个区块链节点均共享的一条相同的区块链,每个区块链节点均可以在区块链50Q中获取所存储的信息。其中,该区块链50Q中包括区块5A、区块5B、…、区块5N以及待验证区块,该区块5A可以称之为该区块链50Q的创世区块。该区块链50Q中的待验证区块中包含着节点520a基于资产查询结果所生成的交易5X。
比如,该节点520a在将交易5X写入该节点520a区块链50Q时,可以从该区块链50Q中获取具有最大生成时间戳的区块5N,进而可以将该区块5N的区块哈希值作为待验证区块的父区块哈希值。进一步地,节点520a可以确定交易5X对应的交易哈希值,基于交易哈希值确定待验证区块的区块哈希值。此时,该节点520a可以对交易5X、待验证区块的区块哈希值、待验证区块的父区块哈希值进行打包处理,从而可以得到图5所示的待验证区块。此时,该节点520a可以将待验证区块广播至第二区块链上的区块链节点(例如,共识节点),以使共识节点对获取到的待验证区块进行共识,得到共识结果。若在共识节点所返回的共识结果中存在超过1/2的共识结果指示共识成功,则节点520a可以确定第二区块链网络中的区块链节点达成共识,进而可以将该待验证区块写入上述区块链50Q中,也就是将该待验证区块作为区块5N的下一区块。其中,待验证区块的生成时间戳用于更新区块链50Q的最大生成时间戳。
在本申请实施例中,针对虚拟资产的跨链转移无需可信任的第三方参与,而是直接通过预言机节点集合中的预言机节点,在两个不同的区块链网络之间传输业务对象所指定的虚拟资产的资产发行地址,以实现虚拟资产的跨链转移。比如,第一区块链网络中的第一节点在获取到与虚拟资产相关联的资产转移请求时,可以在第一区块链网络上记录资产发行地址,并在第一区块链网络上对虚拟资产进行资产锁定后,生成资产锁定事件。针对于预言机节点而言,在检测到第一区块链网络中的第一节点针对虚拟资产发送的资产锁定事件时,预言机节点可以获取第一区块链网络所记录的资产发行地址,并将其返回至第二区块链网络。进一步地,该第二区块链网络中的第二节点可以获取与预言机节点返回的资产发行地址相关联的地址共识结果。在地址共识结果指示达成共识时,第二节点可以在第二区块链网络中将虚拟资产发行到资产发行地址上。其中,这里的地址共识结果可以由预言机节点集合生成,也可以由第二区块链网络中的第二节点生成,这里将不对其进行限定。由于第一节点已经对第一区块链网络上的虚拟资产进行资产锁定,因此后续第二节点在第二区块链网络上发行虚拟资产时,将不会出现两个区块链网络同时存在虚拟资产的情况,以至于解决了虚拟资产在两个区块链网络出现虚拟资产增发的问题。此外,本申请的资产跨链转移过程中无需额外的可信任的第三方参与,因此可以有效避免因可信任第三方参与而导致的数据篡改或数据丢失等问题,以至于提高了资产跨链转移的安全性。
进一步地,请参见图6,图6是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图。如图6所示,该方法可以由业务对象的对象终端、第一区块链网络中的第一节点、第二区块链网络中的第二节点以及预言机节点集合中的预言机节点交互执行。其中,对象终端可以为上述图1所示的终端设备集群中的任意一个终端设备,例如,终端设备100a。第一节点可以为第一区块链网络中部署有资产锁定合约和第一预言机合约的任意一个区块链节点,例如,该第一节点可以为上述图1所示的区块链网络110W中的节点110a。第二节点可以为第二区块链网络中部署有资产发行合约和第二预言机合约的任意一个区块链节点,例如,该第二节点可以为上述图1所示的区块链网络120W中的节点120a。其中,第一区块链网络与第二区块链网络不同,预言机节点集合(例如,上述图1所示的预言机节点集合)中的预言机节点可以为分别独立于第一区块链网络和第二区块链网络的链下节点。该方法至少可以包括以下步骤S201-步骤S211:
步骤S201,业务对象的对象终端向第一区块链网络中的第一节点发送与虚拟资产相关联的资产跨链转移请求。
具体地,业务对象在将虚拟资产从第一区块链网络转移至第二区块链网络时,可以在对象终端上执行相应的触发操作,以从业务对象在第二区块链网络中的多个对象地址中选择一个对象地址,作为该虚拟资产的资产发行地址。对象终端在响应该触发操作时,可以基于该资产发行地址,生成与虚拟资产相关联的资产跨链转移请求,进而可以将该资产跨链转移请求发送至第一区块链网络中的第一节点。
步骤S202,第一节点在第一区块链网络上记录虚拟资产的资产发行地址,且在第一区块链网络上对虚拟资产进行资产锁定。
具体地,第一节点在接收到资产跨链转移请求时,可以对虚拟资产进行资产验证,得到资产验证结果。在资产验证结果指示第一区块链网络存在虚拟资产,且虚拟资产属于业务对象时,第一节点获取资产跨链转移请求携带的该虚拟资产的资产发行地址,并在第一区块链网络上记录该资产发行地址。与此同时,该第一节点还可以将虚拟资产从第一对象地址(即虚拟资产在第一区块链网络上原存储的对象地址)转移至第一资产锁定地址(即第一节点所部署的资产锁定合约的合约地址)。
步骤S203,第一节点通过第一预言机合约,向预言机节点集合中的预言机节点发送针对虚拟资产的资产锁定事件。
具体地,第一节点在将虚拟资产从第一对象地址转移至第一资产锁定地址后,可以生成针对虚拟资产的资产锁定事件,进而可以基于部署在第一节点上的第一预言机合约,将预言机节点集合中的预言机节点发送该资产锁定事件。
步骤S204,预言机节点集合中的预言机节点基于资产锁定合约,向第一节点发送用于获取资产发行地址的业务请求。
具体地,该预言机节点集合中的语言节点在检测到该资产锁定事件时,可以在链下调用第一节点部署的资产锁定合约,查询虚拟资产在第一区块链网络上的资产锁定地址。进一步地,该预言机节点可以生成用于获取该虚拟资产的资产发行地址的业务请求(即第一业务请求),进而可以将该第一业务请求发送至第一节点。
步骤S205,第一节点向预言机节点返回记录于第一区块链网络的资产发行地址。
具体地,该第一节点在接收到第一业务请求时,可以将记录于第一区块链网络的资产发行地址返回至预言机节点集合,以使该预言机节点集合中的多个预言机节点均获取到该资产发行地址。
步骤S206,对象终端向第二节点发送资产发行请求。
具体地,业务对象的对象中的在将第一区块链网络上的虚拟资产转移至第二区块链网络时,可以基于业务对象的业务对象标识,生成针对该虚拟资产的资产发行请求,进而可以将该资产发行请求发送至第二区块链网络中的第二节点。可以理解的是,在本申请的具体实施方式中,涉及到业务对象标识等相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理均遵守相关国家和地区的相关法律法规和标准。
步骤S207,第二节点基于第二预言机合约,向预言机节点发送用于获取资产发行地址的业务请求。
具体地,第二节点可以基于部署在第二节点上的资产发行合约,获取业务对象的资产发行请求,进而可以对资产发行请求进行合法性校验,以得到校验结果。在校验结果指示业务对象为合法对象时,可以生成用于获取资产发行地址的业务请求(即第二业务请求),进而通过调用部署在第二节点上的第二预言机合约,将该第二业务请求发送至预言机节点集合中的预言机节点。
步骤S208,预言机节点集合向第二节点返回资产发行地址。
具体地,该预言机节点集合中的预言机节点在具备共识功能时,可以对从第一区块链网络中获取到的N个资产发行地址进行地址共识,以得到与资产发行地址相关联的地址共识结果,进而将该地址共识结果所指示的资产发行地址返回至第二节点。可选的,预言机节点在不具备共识功能时,可以直接将从第一区块链网络中获取到的N个资产发行地址返回至第二节点。其中,N是指预言机节点集合中的预言机节点的数量,N为正整数。
步骤S209,第二节点获取与资产发行地址相关联的地址共识结果,在地址共识结果指示达成共识时,在第二区块链网络上发行虚拟资产。
具体地,第二节点在获取到与资产发行地址相关联的地址共识结果时,可以对地址共识结果进行结果分析,在确定地址共识结果指示达成共识(即地址共识结果指示存在超过共识阈值的资产发行地址为第二区块链网络中的同一对象地址)时,则基于部署在第二节点的资产发行合约,将虚拟资产发行至第二区块链网络上的地址共识结果所指示的资产发行地址(即业务对象所指定的第二对象地址)。
其中,该步骤S201-步骤S209的具体实施方式可参见上述图3所对应实施例中对步骤S101-步骤S103的描述,这里将不再赘述。
步骤S210,第二节点生成针对虚拟资产的资产转移通知。
具体地,第二节点可以基于该虚拟资产对应的资产转移结果,生成对应的资产转移通知。比如,在资产转移结果指示虚拟资产成功发行到资产发行地址(即跨链成功)时,该第二节点可以生成用于指示虚拟资产转移成功的资产转移成功通知。在资产跨链转移结果指示虚拟资产未成功发行到资产发行地址(即跨链失败)时,该第二节点可以生成用于指示虚拟资产转移失败的资产转移失败通知。其中,本申请实施例可以将资产转移成功通知或资产转移失败通知称之为资产转移通知。
步骤S211,第二节点向对象终端返回资产转移通知。
具体地,该第二节点可以将资产转移通知(例如,资产转移成功通知或资产转移失败通知)发送至业务对象,以使业务对象对应的对象终端显示该资产转移通知。其中,该业务对象对应的对象终端还用于将接收到的资产转移通知返回至第一节点,以使第一节点确定是否需要对第一区块链网络的虚拟资产进行资产解锁。
应当理解,第一节点可以从与第一区块链网络相关联的数据共识合约中,获取针对虚拟资产的共识时长阈值。这里的共识时长阈值还可以根据业务需求进行动态调整,例如,5分钟、半小时、一天等,这里将不对其进行限定。第一节点可以记录在第一区块链网络上对虚拟资产进行资产锁定的时间戳,进而可以将记录的时间戳确定为该虚拟资产的资产锁定时间戳。在检测时间戳与资产锁定时间戳之间的时间差值达到共识时长阈值,且未接收到第二节点生成的资产转移成功通知时,则确定虚拟资产对应的资产转移结果为转移失败结果。此时,该第一节点可以在第一区块链网络上对虚拟资产进行资产解锁,即将虚拟资产从第一资产锁定地址重新转移至第一对象地址。
比如,若共识时长阈值为5分钟,第一节点记录的资产锁定时间戳为12:00,那么,当检测时间戳为12:05,且第一节点还未接收到第二节点生成的资产转移成功通知时,该第一节点可以确定虚拟资产的资产转移结果为转移失败结果,进而需要在第一区块链网络上将虚拟资产从第一资产锁定地址重新转移至第一对象地址。
在本申请实施例中,由于第一节点已经对第一区块链网络上的虚拟资产进行资产锁定,因此后续第二节点在第二区块链网络上发行虚拟资产时,将不会出现两个区块链网络同时存在虚拟资产的情况,以至于解决了虚拟资产在两个区块链网络出现虚拟资产增发的问题。此外,本申请的资产跨链转移过程中通过引入去中心化的链下预言机节点,能够为链上的智能合约提供可信数据源,而无需额外的可信任的第三方参与,因此可以有效避免因可信任第三方参与而导致的数据篡改或数据丢失等问题,以至于提高了资产跨链转移的安全性。
进一步地,请参见图7,图7是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图。该基于区块链的数据处理装置1可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如,该基于区块链的数据处理装置1为一个应用软件;该基于区块链的数据处理装置1可以用于执行本申请实施例提供的方法中的相应步骤。如图7所示,该基于区块链的数据处理装置1可以运行于第一节点,该第一节点可以为第一区块链网络中的任意一个区块链节点,例如,该第一节点可以为上述图1所示的区块链网络110W中的节点110a。该基于区块链的数据处理装置1可以包括:发行地址记录模块10,资产锁定模块20,锁定事件发送模块30,阈值获取模块40,锁定时间戳确定模块50,转移失败结果确定模块60以及资产解锁模块70。
该发行地址记录模块10,用于在获取到与业务对象的虚拟资产相关联的资产跨链转移请求时,在第一区块链网络上记录虚拟资产对应的资产发行地址;资产发行地址是业务对象所指定的第二区块链网络中的对象地址;第二区块链网络与第一区块链网络不同。
其中,该发行地址记录模块10包括:跨链请求获取单元101,资产验证单元102以及发行地址记录单元103。
该跨链请求获取单元101,用于获取与业务对象的虚拟资产相关联的资产跨链转移请求;资产跨链转移请求用于指示将虚拟资产从第一区块链网络转移至第二区块链网络的资产发行地址;
该资产验证单元102,用于对虚拟资产进行资产验证,得到资产验证结果。
其中,该资产验证单元102包括:资产查询子单元1021,签名信息获取子单元1022,验签子单元1023,验证成功结果生成子单元1024以及验证失败结果生成子单元1025。
该资产查询子单元1021,用于在第一区块链网络的第一区块链上,对虚拟资产进行资产查询;
该签名信息获取子单元1022,用于若第一区块链上存在虚拟资产,则获取虚拟资产对应的资产签名信息;资产签名信息为业务对象对应的对象终端基于业务对象的对象私钥,对虚拟资产进行签名处理后所得到的;
该验签子单元1023,用于获取业务对象的对象公钥,基于对象公钥,对资产签名信息进行验签,得到验签结果;
该验证成功结果生成子单元1024,用于若验签结果指示验签成功,则生成与虚拟资产相关联的资产验证成功结果,将资产验证成功结果作为资产验证结果;资产验证成功结果用于指示虚拟资产属于业务对象;
该验证失败结果生成子单元1025,用于若验签结果指示验签失败,则生成与虚拟资产相关联的资产验证失败结果,将资产验证失败结果作为资产验证结果;资产验证失败结果用于指示虚拟资产不属于业务对象。
其中,该资产查询子单元1021,签名信息获取子单元1022,验签子单元1023,验证成功结果生成子单元1024以及验证失败结果生成子单元1025的具体实现方式可以参见上述图3所对应实施例中对虚拟资产进行资产验证的描述,这里将不再继续进行赘述。
该发行地址记录单元103,用于若资产验证结果指示第一区块链网络存在虚拟资产,且虚拟资产属于业务对象,则获取资产跨链转移请求所携带的资产发行地址,将资产发行地址记录在第一区块链网络上。
其中,该跨链请求获取单元101,资产验证单元102以及发行地址记录单元103的具体实现方式可以参见上述图3所对应实施例中对步骤S101的描述,这里将不再继续进行赘述。
该资产锁定模块20,用于在第一区块链网络上对虚拟资产进行资产锁定,且生成资产锁定事件。
其中,虚拟资产存储于业务对象在第一区块链网络上的第一对象地址;
该资产锁定模块20包括:第一锁定地址确定单元201以及锁定事件生成单元202。
该第一锁定地址确定单元201,用于获取部署在第一节点上的资产锁定合约的合约地址,将合约地址作为虚拟资产对应的第一资产锁定地址;
该锁定事件生成单元202,用于将虚拟资产从第一对象地址转移至第一资产锁定地址,且在转移完成后,生成资产锁定事件。
其中,该第一锁定地址确定单元201以及锁定事件生成单元202的具体实现方式可以参见上述图3所对应实施例中对步骤S102的描述,这里将不再继续进行赘述。
该锁定事件发送模块30,用于将资产锁定事件发送至预言机节点集合,以使预言机节点集合中的预言机节点根据资产锁定事件,将从第一区块链网络中获取到的虚拟资产的资产发行地址发送至第二区块链网络;第二区块链网络中的第二节点用于在地址共识结果指示达成共识时,将虚拟资产发行到预言机节点返回的资产发行地址上;地址共识结果是对预言机节点获取到的资产发行地址进行地址共识时所生成的。
其中,第二节点用于在将虚拟资产成功发行至资产发行地址时,生成资产转移成功通知;
该阈值获取模块40,用于从与第一区块链网络相关联的数据共识合约中,获取针对虚拟资产的共识时长阈值;
该锁定时间戳确定模块50,用于将在第一区块链网络上对虚拟资产进行资产锁定的时间戳,作为虚拟资产的资产锁定时间戳;
该转移失败结果确定模块60,用于若检测时间戳与资产锁定时间戳之间的时间差值达到共识时长阈值,且未接收到第二节点生成的资产转移成功通知,则确定虚拟资产对应的资产转移结果为转移失败结果;
该资产解锁模块70,用于在第一区块链网络上对虚拟资产进行资产解锁;资产解锁是指将虚拟资产从第一资产锁定地址重新转移至第一对象地址。
其中,该发行地址记录模块10,资产锁定模块20,锁定事件发送模块30,阈值获取模块40,锁定时间戳确定模块50,转移失败结果确定模块60以及资产解锁模块70的具体实现方式可以参见上述图3所对应实施例中对步骤S101-步骤S103的描述,这里将不再继续进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
进一步地,请参见图8,图8是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图。该基于区块链的数据处理装置2可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如,该基于区块链的数据处理装置2为一个应用软件;该基于区块链的数据处理装置2可以用于执行本申请实施例提供的方法中的相应步骤。如图8所示,该基于区块链的数据处理装置2可以运行于第二节点,该第二节点可以为第二区块链网络中的任意一个区块链节点,例如,该第二节点可以为上述图1所示的区块链网络120W中的节点120a。该基于区块链的数据处理装置2可以包括:地址共识结果获取模块100,资产发行模块200,成功通知生成模块300以及成功通知发送模块400。
该地址共识结果获取模块100,用于基于预言机节点集合中的预言机节点,获取与预言机节点返回的资产发行地址相关联的地址共识结果;地址共识结果是对预言机节点获取到的资产发行地址进行地址共识时所生成的;资产发行地址是虚拟资产对应的业务对象所指定的第二区块链网络中的对象地址;资产发行地址为预言机节点在检测到第一区块链网络中的第一节点发送的资产锁定事件时,从第一区块链网络中所获取到的;资产锁定事件为第一节点在获取到与虚拟资产相关联的资产跨链转移请求时,在第一区块链网络上对虚拟资产进行资产锁定后所生成的;第二区块链网络与第一区块链网络不同。
其中,预言机节点检测到的资产锁定事件是第一节点基于部署在第一节点上的第一预言机合约所发送的;
该地址共识结果获取模块100包括:发行请求获取单元1010,合法性校验单元1020、发行地址获取单元1030以及地址共识结果生成单元1040。
该发行请求获取单元1010,用于基于部署在第二节点上的资产发行合约,获取虚拟资产对应的业务对象发送的资产发行请求;
该合法性校验单元1020,用于对资产发行请求进行合法性校验,得到校验结果。
其中,资产发行请求携带业务对象的业务对象标识;
该合法性校验单元1020包括:标识查找子单元10201,第一校验结果生成子单元10202以及第二校验结果生成子单元10203。
该标识查找子单元10201,用于获取与第二区块链网络相关联的非法对象列表,在非法对象列表中查找业务对象标识;
该第一校验结果生成子单元10202,用于若非法对象列表中存在与业务对象标识相同的非法对象标识,则生成用于指示业务对象为非法对象的校验结果;
该第二校验结果生成子单元10203,用于若非法对象列表中不存在与业务对象标识相同的非法对象标识,则生成用于指示业务对象为合法对象的校验结果。
其中,该标识查找子单元10201,第一校验结果生成子单元10202以及第二校验结果生成子单元10203的具体实现方式可以参见上述图3所对应实施例中对资产发行请求进行合法性校验的描述,这里将不再继续进行赘述。
该发行地址获取单元1030,用于在校验结果指示业务对象为合法对象时,调用部署在第二节点上的第二预言机合约,获取预言机节点返回的记录于第一区块链网络的虚拟资产的资产发行地址。
该地址共识结果生成单元1040,用于对预言机返回的资产发行地址进行地址共识,生成地址共识结果。
其中,资产发行地址包括N个预言机节点分别发送的资产发行地址;N个预言机节点均属于预言机节点集合;N为正整数;
该地址共识结果生成单元1040包括:地址返回结果发送子单元10401以及地址共识结果生成子单元10402。
该地址返回结果发送子单元10401,用于将N个资产发行地址作为预言机节点集合的地址返回结果,将地址返回结果发送至第二区块链网络,以使第二区块链网络中的区块链节点对地址返回结果进行共识;
该地址共识结果生成子单元10402,用于若第二区块链网络中存在超过共识阈值的区块链节点确定资产发行地址均为业务对象的第二对象地址,则生成用于指示第二区块链网络中的区块链节点达成共识的地址共识结果;第二对象地址为业务对象所指定的虚拟资产在第二区块链网络上的对象地址。
其中,该地址返回结果发送子单元10401以及地址共识结果生成子单元10402的具体实现方式可以参见上述图6所对应实施例中对资产发行地址进行地址共识的描述,这里将不再继续进行赘述。
其中,该发行请求获取单元1010,合法性校验单元1020、发行地址获取单元1030以及地址共识结果生成单元1040的具体实现方式可以参见上述图6所对应实施例中对步骤S201-步骤S205的描述,这里将不再继续进行赘述。
该资产发行模块200,用于若地址共识结果指示达成共识,则将虚拟资产发行到预言机节点返回的资产发行地址上。
其中,该资产发行模块200包括:第二锁定地址确定单元2010,资产查询结果确定单元2020以及资产发行单元2030。
该第二锁定地址确定单元2010,用于若地址共识结果指示达成共识,则获取部署在第二节点的资产锁定合约的合约地址,将获取到的合约地址作为第二资产锁定地址;
该资产查询结果确定单元2020,用于在第二资产锁定地址中查询虚拟资产,得到资产查询结果;
该资产发行单元2030,用于基于资产查询结果,将虚拟资产发行到预言机节点返回的资产发行地址上。
其中,该资产发行单元2030包括:解锁交易生成子单元20301,第一区块确定子单元20302,第一区块写入子单元20303,发行交易生成子单元20304,第二区块确定子单元20305以及第二区块写入子单元20306。
该解锁交易生成子单元20301,用于若资产查询结果指示第二资产锁定地址中存在虚拟资产,则生成针对虚拟资产的资产解锁交易;资产解锁交易用于将虚拟资产从第二资产锁定地址中转移至预言机节点返回的资产发行地址上;
该第一区块确定子单元20302,用于对资产解锁交易进行打包处理得到第一待验证区块,将第一待验证区块广播至第二区块链网络,以使第二区块链网络中的区块链节点进行区块共识;
该第一区块写入子单元20303,用于在第二区块链网络中的区块链节点达成共识时,将第一待验证区块写入第二区块链;第一待验证区块用于更新第二区块链的最大生成时间戳。
该发行交易生成子单元20304,用于若资产查询结果指示第二资产锁定地址中不存在虚拟资产,则生成针对虚拟资产的资产发行交易;资产发行交易用于将虚拟资产发行到预言机节点返回的资产发行地址上;
该第二区块确定子单元20305,用于对资产发行交易进行打包处理得到第二待验证区块,将第二待验证区块广播至第二区块链网络,以使第二区块链网络中的区块链节点进行区块共识;
该第二区块写入子单元20306,用于在第二区块链网络中的区块链节点达成共识时,将第二待验证区块写入第二区块链;第二待验证区块用于更新第二区块链的最大生成时间戳。
其中,该解锁交易生成子单元20301,第一区块确定子单元20302,第一区块写入子单元20303,发行交易生成子单元20304,第二区块确定子单元20305以及第二区块写入子单元20306的具体实现方式可以参见上述图5所对应实施例中对虚拟资产进行资产发行的描述,这里将不再继续进行赘述。
其中,该第二锁定地址确定单元2010,资产查询结果确定单元2020以及资产发行单元2030的具体实现方式可以参见上述图6所对应实施例中对步骤S209的描述,这里将不再继续进行赘述。
该成功通知生成模块300,用于在将虚拟资产成功发行到资产发行地址时,生成用于指示虚拟资产转移成功的资产转移成功通知;
该成功通知发送模块400,用于将资产转移成功通知发送至业务对象,以使业务对象对应的对象终端显示资产转移成功通知。
其中,该地址共识结果获取模块100,资产发行模块200,成功通知生成模块300以及成功通知发送模块400的具体实现方式可以参见上述图6所对应实施例中对步骤S201-步骤S211的描述,这里将不再继续进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
进一步地,请参见图9,图9是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图。该基于区块链的数据处理装置3可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如,该基于区块链的数据处理装置3为一个应用软件;该基于区块链的数据处理装置3可以用于执行本申请实施例提供的方法中的相应步骤。如图9所示,该基于区块链的数据处理装置3可以运行于预言机节点,该预言机节点可以为上述图1所示的预言机节点集合中的任意一个预言机节点,例如,节点130a。该基于区块链的数据处理装置3可以包括:发行地址获取模块1000以及发行地址返回模块2000。
发行地址获取模块1000,用于在检测到第一区块链网络中的第一节点生成针对虚拟资产的资产锁定事件时,从第一区块链网络中获取虚拟资产的资产发行地址;资产锁定事件为第一节点在获取到与虚拟资产相关联的资产转移请求时,在第一区块链网络上对虚拟资产进行资产锁定后所生成的;资产发行地址是虚拟资产对应的业务对象所指定的第二区块链网络中的对象地址;第二区块链网络与第一区块链网络不同;
发行地址返回模块2000,用于将获取到的资产发行地址返回至第二区块链网络,以使第二区块链网络中的第二节点在确定地址共识结果指示达成共识时,将虚拟资产发行到预言机节点返回的资产发行地址上;地址共识结果是对预言机节点获取到的资产发行地址进行地址共识时所生成的。
其中,该发行地址获取模块1000以及发行地址返回模块2000的具体实现方式可以参见上述图3所对应实施例中对步骤S101-步骤S103的描述,这里将不再继续进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
进一步地,请参见图10,图10是本申请实施例提供的一种计算机设备的示意图。如图10所示,该计算机设备3000可以为上述图2对应实施例中的第一节点,该第一节点可以为第一区块链网络中部署有资产锁定合约和第一预言机合约的任意一个区块链节点,例如,上述图1所示的区块链网络110W中的节点110a。该计算机设备3000可以包括:至少一个处理器3001,例如,CPU,至少一个网络接口3004,用户接口3003,存储器3005,至少一个通信总线3002。其中,通信总线3002用于实现这些组件之间的连接通信。其中,用户接口3003可以包括显示屏(Display)、键盘(Keyboard),网络接口3004可选地可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器3005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器3005可选地还可以是至少一个位于远离前述处理器3001的存储装置。如图10所示,作为一种计算机存储介质的存储器3005可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图10所示的计算机设备3000中,网络接口3004主要用于与对象终端、预言机节点集合中的预言机节点进行网络通信;而用户接口3003主要用于为用户提供输入的接口;而处理器3001可以用于调用存储器3005中存储的设备控制应用程序。
应当理解,本申请实施例中所描述的计算机设备3000可执行前文图3或者图6所对应实施例中对该基于区块链的数据处理方法的描述,也可执行前文图7所对应实施例中对该基于区块链的数据处理装置1、图8所对应实施例中对该基于区块链的数据处理装置2或者图9所对应实施例中对该基于区块链的数据处理装置3的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时实现图3和图6中各个步骤所提供的基于区块链的数据处理方法,具体可参见图3以及图6各个步骤所提供的实现方式,在此不再赘述。
计算机可读存储介质可以是前述任一实施例提供的数据传输装置或者计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smartmedia card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备可执行前文各实施例中对基于区块链的数据处理方法或装置的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
进一步的,请参见图11,图11是本申请实施例提供的一种基于区块链的数据处理系统的结构示意图。图11所示的基于区块链的数据处理系统3可以包含基于区块链的数据处理装置1a、基于区块链的数据处理装置2a和基于区块链的数据处理装置3a。其中,基于区块链的数据处理装置1a可以为上述图7所对应实施例中的基于区块链的数据处理装置1,可以理解的是,该基于区块链的数据处理装置1a可以集成在上述第一节点,该第一节点可以为第一区块链网络中的任意一个区块链节点,例如,该第一节点可以为上述图1所示的区块链网络110W中的节点110a。因此,这里将不再进行赘述。其中,基于区块链的数据处理装置2a可以为上述图8所对应实施例中的基于区块链的数据处理装置2,可以理解的是,该基于区块链的数据处理装置2a可以集成在上述第二节点,该第二节点可以为第二区块链网络中的任意一个区块链节点,例如,该第二节点可以为上述图1所示的区块链网络120W中的节点120a。因此,这里将不再进行赘述。其中,基于区块链的数据处理装置3a可以为上述图9所对应实施例中的基于区块链的数据处理装置3,可以理解的是,该基于区块链的数据处理装置3a可以集成在上述预言机节点,该预言机节点可以为上述图1所示的预言机节点集合中的任意一个预言机节点,例如,节点130a。因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的基于区块链的数据处理系统实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (20)
1.一种基于区块链的数据处理方法,其特征在于,所述方法由第一区块链网络中的第一节点执行,包括:
在获取到与业务对象的虚拟资产相关联的资产跨链转移请求时,在所述第一区块链网络上记录所述虚拟资产对应的资产发行地址;所述资产发行地址是所述业务对象所指定的第二区块链网络中的对象地址;所述第二区块链网络与所述第一区块链网络不同;
在所述第一区块链网络上对所述虚拟资产进行资产锁定,且生成资产锁定事件;
将所述资产锁定事件发送至预言机节点集合,以使所述预言机节点集合中的预言机节点根据所述资产锁定事件,将从所述第一区块链网络中获取到的所述虚拟资产的资产发行地址发送至所述第二区块链网络;所述第二区块链网络中的第二节点用于在地址共识结果指示达成共识时,将所述虚拟资产发行到所述预言机节点返回的资产发行地址上;所述地址共识结果是对所述预言机节点获取到的资产发行地址进行地址共识时所生成的。
2.根据权利要求1所述的方法,其特征在于,所述在获取到与业务对象的虚拟资产相关联的资产跨链转移请求时,在所述第一区块链网络上记录所述虚拟资产对应的资产发行地址,包括:
获取与业务对象的虚拟资产相关联的资产跨链转移请求;所述资产跨链转移请求用于指示将所述虚拟资产从所述第一区块链网络转移至第二区块链网络的资产发行地址;
对所述虚拟资产进行资产验证,得到资产验证结果;
若所述资产验证结果指示所述第一区块链网络存在所述虚拟资产,且所述虚拟资产属于所述业务对象,则获取所述资产跨链转移请求所携带的资产发行地址,将所述资产发行地址记录在所述第一区块链网络上。
3.根据权利要求2所述的方法,其特征在于,所述对所述虚拟资产进行资产验证,得到资产验证结果,包括:
在所述第一区块链网络的第一区块链上,对所述虚拟资产进行资产查询;
若所述第一区块链上存在所述虚拟资产,则获取所述虚拟资产对应的资产签名信息;所述资产签名信息为所述业务对象对应的对象终端基于所述业务对象的对象私钥,对所述虚拟资产进行签名处理后所得到的;
获取所述业务对象的对象公钥,基于所述对象公钥,对所述资产签名信息进行验签,得到验签结果;
若所述验签结果指示验签成功,则生成与所述虚拟资产相关联的资产验证成功结果,将所述资产验证成功结果作为资产验证结果;所述资产验证成功结果用于指示所述虚拟资产属于所述业务对象;
若所述验签结果指示验签失败,则生成与所述虚拟资产相关联的资产验证失败结果,将所述资产验证失败结果作为资产验证结果;所述资产验证失败结果用于指示所述虚拟资产不属于所述业务对象。
4.根据权利要求1所述的方法,其特征在于,所述虚拟资产存储于所述业务对象在所述第一区块链网络上的第一对象地址;
所述在所述第一区块链网络上对所述虚拟资产进行资产锁定,且生成资产锁定事件,包括:
获取部署在所述第一节点上的资产锁定合约的合约地址,将所述合约地址作为所述虚拟资产对应的第一资产锁定地址;
将所述虚拟资产从所述第一对象地址转移至所述第一资产锁定地址,且在转移完成后,生成资产锁定事件。
5.根据权利要求4所述的方法,其特征在于,所述第二节点用于在将所述虚拟资产成功发行至所述资产发行地址时,生成资产转移成功通知;
所述方法还包括:
从与所述第一区块链网络相关联的数据共识合约中,获取针对所述虚拟资产的共识时长阈值;
将在所述第一区块链网络上对所述虚拟资产进行资产锁定的时间戳,作为所述虚拟资产的资产锁定时间戳;
若检测时间戳与所述资产锁定时间戳之间的时间差值达到所述共识时长阈值,且未接收到所述第二节点生成的所述资产转移成功通知,则确定所述虚拟资产对应的资产转移结果为转移失败结果;
在所述第一区块链网络上对所述虚拟资产进行资产解锁;所述资产解锁是指将所述虚拟资产从所述第一资产锁定地址重新转移至所述第一对象地址。
6.一种基于区块链的数据处理方法,其特征在于,所述方法由第二区块链网络中的第二节点执行,包括:
基于预言机节点集合中的预言机节点,获取与所述预言机节点返回的资产发行地址相关联的地址共识结果;所述地址共识结果是对所述预言机节点获取到的资产发行地址进行地址共识时所生成的;所述资产发行地址是所述虚拟资产对应的业务对象所指定的所述第二区块链网络中的对象地址;所述资产发行地址为所述预言机节点在检测到第一区块链网络中的第一节点发送的资产锁定事件时,从所述第一区块链网络中所获取到的;所述资产锁定事件为所述第一节点在获取到与所述虚拟资产相关联的资产跨链转移请求时,在所述第一区块链网络上对所述虚拟资产进行资产锁定后所生成的;所述第二区块链网络与所述第一区块链网络不同;
若所述地址共识结果指示达成共识,则将所述虚拟资产发行到所述预言机节点返回的资产发行地址上。
7.根据权利要求6所述的方法,其特征在于,所述预言机节点检测到的所述资产锁定事件是所述第一节点基于部署在所述第一节点上的第一预言机合约所发送的;
所述基于预言机节点集合中的预言机节点,获取与所述预言机节点返回的资产发行地址相关联的地址共识结果,包括:
基于部署在所述第二节点上的资产发行合约,获取所述虚拟资产对应的业务对象发送的资产发行请求;
对所述资产发行请求进行合法性校验,得到校验结果;
在校验结果指示所述业务对象为合法对象时,调用部署在所述第二节点上的第二预言机合约,获取所述预言机节点返回的记录于第一区块链网络的虚拟资产的资产发行地址;
对所述预言机节点返回的资产发行地址进行地址共识,生成地址共识结果。
8.根据权利要求7所述的方法,其特征在于,所述资产发行请求携带所述业务对象的业务对象标识;
所述对所述资产发行请求进行合法性校验,得到校验结果,包括:
获取与所述第二区块链网络相关联的非法对象列表,在所述非法对象列表中查找所述业务对象标识;
若所述非法对象列表中存在与所述业务对象标识相同的非法对象标识,则生成用于指示所述业务对象为非法对象的校验结果;
若所述非法对象列表中不存在与所述业务对象标识相同的非法对象标识,则生成用于指示所述业务对象为合法对象的校验结果。
9.根据权利要求7所述的方法,其特征在于,所述资产发行地址包括N个预言机节点分别发送的资产发行地址;所述N个预言机节点均属于所述预言机节点集合;N为正整数;
所述对所述预言机返回的资产发行地址进行地址共识,生成地址共识结果,包括:
将所述N个资产发行地址作为所述预言机节点集合的地址返回结果,将所述地址返回结果发送至所述第二区块链网络,以使所述第二区块链网络中的区块链节点对所述地址返回结果进行共识;
若所述第二区块链网络中存在超过共识阈值的区块链节点确定资产发行地址均为所述业务对象的第二对象地址,则生成用于指示所述第二区块链网络中的区块链节点达成共识的地址共识结果;所述第二对象地址为所述业务对象所指定的所述虚拟资产在所述第二区块链网络上的对象地址。
10.根据权利要求6所述的方法,其特征在于,所述若所述地址共识结果指示达成共识,则将所述虚拟资产发行到所述预言机节点返回的资产发行地址上,包括:
若所述地址共识结果指示达成共识,则获取部署在所述第二节点的资产锁定合约的合约地址,将获取到的合约地址作为第二资产锁定地址;
在所述第二资产锁定地址中查询所述虚拟资产,得到资产查询结果;
基于所述资产查询结果,将所述虚拟资产发行到所述预言机节点返回的资产发行地址上。
11.根据权利要求10所述的方法,其特征在于,所述基于所述资产查询结果,将所述虚拟资产发行到所述预言机节点返回的资产发行地址上,包括:
若所述资产查询结果指示所述第二资产锁定地址中存在所述虚拟资产,则生成针对所述虚拟资产的资产解锁交易;所述资产解锁交易用于将所述虚拟资产从所述第二资产锁定地址中转移至所述预言机节点返回的资产发行地址上;
对所述资产解锁交易进行打包处理得到第一待验证区块,将所述第一待验证区块广播至所述第二区块链网络,以使所述第二区块链网络中的区块链节点进行区块共识;
在所述第二区块链网络中的区块链节点达成共识时,将所述第一待验证区块写入所述第二区块链;所述第一待验证区块用于更新所述第二区块链的最大生成时间戳。
12.根据权利要求10所述的方法,其特征在于,所述基于所述资产查询结果,将所述虚拟资产发行到所述预言机节点返回的资产发行地址上,包括:
若所述资产查询结果指示所述第二资产锁定地址中不存在所述虚拟资产,则生成针对所述虚拟资产的资产发行交易;所述资产发行交易用于将所述虚拟资产发行到所述预言机节点返回的资产发行地址上;
对所述资产发行交易进行打包处理得到第二待验证区块,将所述第二待验证区块广播至所述第二区块链网络,以使所述第二区块链网络中的区块链节点进行区块共识;
在所述第二区块链网络中的区块链节点达成共识时,将所述第二待验证区块写入所述第二区块链;所述第二待验证区块用于更新所述第二区块链的最大生成时间戳。
13.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在将所述虚拟资产成功发行到所述资产发行地址时,生成用于指示所述虚拟资产转移成功的资产转移成功通知;
将所述资产转移成功通知发送至所述业务对象,以使所述业务对象对应的对象终端显示所述资产转移成功通知。
14.一种基于区块链的数据处理方法,其特征在于,所述方法由预言机节点集合中的预言机节点执行,包括:
在检测到第一区块链网络中的第一节点生成针对虚拟资产的资产锁定事件时,从所述第一区块链网络中获取所述虚拟资产的资产发行地址;所述资产锁定事件为所述第一节点在获取到与所述虚拟资产相关联的资产转移请求时,在所述第一区块链网络上对所述虚拟资产进行资产锁定后所生成的;所述资产发行地址是所述虚拟资产对应的业务对象所指定的第二区块链网络中的对象地址;所述第二区块链网络与所述第一区块链网络不同;
将获取到的资产发行地址返回至所述第二区块链网络,以使所述第二区块链网络中的第二节点在确定地址共识结果指示达成共识时,将所述虚拟资产发行到所述预言机节点返回的资产发行地址上;所述地址共识结果是对所述预言机节点获取到的资产发行地址进行地址共识时所生成的。
15.一种基于区块链的数据处理装置,其特征在于,包括:
发行地址记录模块,用于在获取到与业务对象的虚拟资产相关联的资产跨链转移请求时,在第一区块链网络上记录所述虚拟资产对应的资产发行地址;所述资产发行地址是所述业务对象所指定的第二区块链网络中的对象地址;所述第二区块链网络与所述第一区块链网络不同;
资产锁定模块,用于在所述第一区块链网络上对所述虚拟资产进行资产锁定,且生成资产锁定事件;
锁定事件发送模块,用于将所述资产锁定事件发送至预言机节点集合,以使所述预言机节点集合中的预言机节点根据所述资产锁定事件,将从所述第一区块链网络中获取到的所述虚拟资产的资产发行地址发送至所述第二区块链网络;所述第二区块链网络中的第二节点用于在地址共识结果指示达成共识时,将所述虚拟资产发行到所述预言机节点返回的资产发行地址上;所述地址共识结果是对所述预言机节点返回的资产发行地址进行地址共识时所生成的。
16.一种基于区块链的数据处理装置,其特征在于,包括:
地址共识结果获取模块,用于基于预言机节点集合中的预言机节点,获取与所述预言机节点返回的资产发行地址相关联的地址共识结果;所述地址共识结果是对所述预言机节点获取到的资产发行地址进行地址共识时所生成的;所述资产发行地址是所述虚拟资产对应的业务对象所指定的第二区块链网络中的对象地址;所述资产发行地址为所述预言机节点在检测到第一区块链网络中的第一节点发送的资产锁定事件时,从所述第一区块链网络中所获取到的;所述资产锁定事件为所述第一节点在获取到与所述虚拟资产相关联的资产跨链转移请求时,在所述第一区块链网络上对所述虚拟资产进行资产锁定后所生成的;所述第二区块链网络与所述第一区块链网络不同;
资产发行模块,用于若所述地址共识结果指示达成共识,则将所述虚拟资产发行到所述预言机节点返回的资产发行地址上。
17.一种基于区块链的数据处理装置,其特征在于,包括:
发行地址获取模块,用于在检测到第一区块链网络中的第一节点生成针对虚拟资产的资产锁定事件时,从所述第一区块链网络中获取所述虚拟资产的资产发行地址;所述资产锁定事件为所述第一节点在获取到与所述虚拟资产相关联的资产转移请求时,在所述第一区块链网络上对所述虚拟资产进行资产锁定后所生成的;所述资产发行地址是所述虚拟资产对应的业务对象所指定的第二区块链网络中的对象地址;所述第二区块链网络与所述第一区块链网络不同;
发行地址返回模块,用于将获取到的资产发行地址返回至所述第二区块链网络,以使所述第二区块链网络中的第二节点在确定地址共识结果指示达成共识时,将所述虚拟资产发行到预言机节点返回的资产发行地址上;所述地址共识结果是对所述预言机节点获取到的资产发行地址进行地址共识时所生成的。
18.一种计算机设备,其特征在于,包括:处理器和存储器以及网络接口;
所述处理器与所述存储器、所述网络接口相连,其中,所述网络接口用于提供数据通信功能,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1至14任一项所述的方法。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1至14任一项所述的方法。
20.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中,所述计算机程序适于由处理器读取并执行,以使得具有所述处理器的计算机设备执行权利要求1至14任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210846291.0A CN117455661A (zh) | 2022-07-19 | 2022-07-19 | 一种基于区块链的数据处理方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210846291.0A CN117455661A (zh) | 2022-07-19 | 2022-07-19 | 一种基于区块链的数据处理方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117455661A true CN117455661A (zh) | 2024-01-26 |
Family
ID=89593472
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210846291.0A Pending CN117455661A (zh) | 2022-07-19 | 2022-07-19 | 一种基于区块链的数据处理方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117455661A (zh) |
-
2022
- 2022-07-19 CN CN202210846291.0A patent/CN117455661A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112446785B (zh) | 跨链交易方法、系统、装置、设备和存储介质 | |
US11461773B2 (en) | Blockchain-based node management methods and apparatuses | |
TWI798483B (zh) | 區塊鏈交易的產生方法和裝置 | |
WO2021179661A1 (zh) | 跨区块链的数据互存方法、装置、设备及存储介质 | |
Bao et al. | IoTChain: A three-tier blockchain-based IoT security architecture | |
CN110009337B (zh) | 一种基于区块链的数据处理方法和装置 | |
WO2020082887A1 (zh) | 一种区块链的交易方法和装置 | |
CN111461723B (zh) | 基于区块链的数据处理系统及方法、装置 | |
CN110363527B (zh) | 基于区块链的存证、监管方法和装置 | |
CN112685505B (zh) | 一种交易数据处理方法、装置、计算机设备及存储介质 | |
US20230316273A1 (en) | Data processing method and apparatus, computer device, and storage medium | |
TWI727284B (zh) | 基於區塊鏈的隱私交易方法、裝置及其電腦設備、基於區塊鏈內的隱私交易的應用方法及其電腦設備 | |
CN110471982B (zh) | 基于区块链的数据处理方法和装置 | |
Han et al. | A survey on blockchain-based integrity auditing for cloud data | |
CN115514608B (zh) | 一种区块共识方法、装置、设备及存储介质 | |
CN113255014B (zh) | 一种基于区块链的数据处理方法以及相关设备 | |
CN113837760B (zh) | 数据处理方法、装置、计算机设备以及存储介质 | |
CN112615847A (zh) | 基于区块链的数据共享和隐私保护方法 | |
WO2019142884A1 (ja) | ブロック検証装置、ブロック検証方法、及びプログラム | |
CN116304265A (zh) | 一种基于区块链的电子档案管理方法及系统 | |
CN117455661A (zh) | 一种基于区块链的数据处理方法、装置、设备及介质 | |
CN117118640A (zh) | 一种数据处理方法、装置、计算机设备以及可读存储介质 | |
CN115001707B (zh) | 基于区块链的设备认证方法和相关设备 | |
CN117240621B (zh) | 网络请求的处理方法、装置、计算机可读介质及电子设备 | |
Xie et al. | A Raft Algorithm with Byzantine Fault-Tolerant Performance |
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 |