CN111046109A - 一种跨链任务处理方法、装置、设备及可读存储介质 - Google Patents

一种跨链任务处理方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN111046109A
CN111046109A CN201911382910.XA CN201911382910A CN111046109A CN 111046109 A CN111046109 A CN 111046109A CN 201911382910 A CN201911382910 A CN 201911382910A CN 111046109 A CN111046109 A CN 111046109A
Authority
CN
China
Prior art keywords
chain
cross
subtask
task
processing
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.)
Granted
Application number
CN201911382910.XA
Other languages
English (en)
Other versions
CN111046109B (zh
Inventor
李海友
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Xunlei Network Technology Co Ltd
Original Assignee
Shenzhen Onething Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Onething Technology Co Ltd filed Critical Shenzhen Onething Technology Co Ltd
Priority to CN201911382910.XA priority Critical patent/CN111046109B/zh
Publication of CN111046109A publication Critical patent/CN111046109A/zh
Application granted granted Critical
Publication of CN111046109B publication Critical patent/CN111046109B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1474Saving, restoring, recovering or retrying in transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种跨链任务处理方法、装置、设备和可读存储介质,在该方法中,区块链处理第一跨链任务的第一子任务,并将第一子任务对应的处理记录信息发送至锚定点区块链进行存储;其中,第一跨链任务包括第一子任务和需要在另一条区块链执行的第二子任务;在符合交易信息同步条件时,从锚定点区块链中同步跨链交易信息;其中,跨链交易信息包括第一跨链任务对应已完成子任务的处理记录信息;当达到预设条件时,仍未从跨链交易信息中获取到第二子任务对应的处理记录信息时,对第一子任务的处理操作进行回滚。可见,该技术方案可保障第一跨链任务对应数据的一致性。

Description

一种跨链任务处理方法、装置、设备及可读存储介质
技术领域
本申请涉及区块链技术领域,特别是涉及一种跨链任务处理方法、装置、设备及可读存储介质。
背景技术
采用分片技术可解决区块链技术中的扩展性问题。分片技术可将原来的一个链分为多个Shard(区块链领域一般称为“片”或“域”),每个Shard可以看作一个相对独立的链,每个链只处理跟自己相关的任务,只存储跟自己相关数据。分片既可扩展性问题中的计算力的问题,也可解决存储问题。虽然分片技术复杂度相对较高,但是有很好的扩展性,当性能不够用的时候,继续增加链的个数就可以了。
虽然分片技术对解决扩展性问题相对彻底,但同时也比较具有挑战性。而其中一个比较具有挑战性的问题是跨链任务越来越多。跨链任务指一个任务改变了两个Shard中的不同账号状态。目前,处理跨链任务存在一个严重的问题,即跨链任务一致性问题。在跨链任务双方若存在一个区块链非常繁忙或记账节点认为手续费较低,而忽略任务,就会导致跨链任务进入了From Shard,但不能保证一定的时间内一定能进入到To Shard。即跨链任务仅一条区块链进行了处理,而另一条区块链并未处理该跨链任务。如此便出现跨链任务不一致的问题。例如,当为跨链转账时,当出现跨链任务不一致时期便会扣款方已扣款而收款方未收款,或收款方已收款但扣款方未扣款。而这个跨链任务不一致时期可能是长久的,也就说,跨链任务长期处于不一致状态,会造成严重的影响。
综上所述,如何有效地解决跨链任务对应数据一致性等问题,是目前本领域技术人员急需解决的技术问题。
发明内容
本申请的目的是提供一种跨链任务处理方法、装置、设备及可读存储介质,以保障跨链任务的一致性。
为解决上述技术问题,本申请提供如下技术方案:
一种跨链任务处理方法,应用于区块链节点,包括:
处理第一跨链任务的第一子任务,并将所述第一子任务对应的处理记录信息发送至锚定点区块链进行存储;其中,所述第一跨链任务包括所述第一子任务和需要在另一条区块链执行的第二子任务;
在符合交易信息同步条件时,从所述锚定点区块链中同步跨链交易信息;其中,所述跨链交易信息包括所述第一跨链任务对应已完成子任务的处理记录信息;
当达到预设条件时,仍未从所述跨链交易信息中获取到所述第二子任务对应的处理记录信息时,对所述第一子任务的处理操作进行回滚。
优选地,还包括:
接收第二跨链任务的第四子任务;所述第二跨链任务包括在另一条区块链执行的第三子任务和所述第四子任务;
从所述锚定点区块链中同步跨链交易信息;
当所述跨链交易信息中具有所述第三子任务对应的处理记录信息时,对所述第四子任务的进行处理;
将所述第四子任务对应的处理记录信息发送至所述锚定点区块链进行存储。
优选地,将所述第四子任务对应的处理记录信息发送至锚定点区块链进行存储,包括:
将所述第四子任务对应的处理记录数据添加至跨链完成哈希树中,并计算所述跨链完成哈希树的跨链完成树根;
将所述跨链完成树根发送至所述锚定点区块链。
优选地,将所述第一子任务对应的处理记录信息发送至锚定点区块链进行存储,包括:
将所述第一子任务对应的处理记录数据添加至跨链哈希树中,并计算所述跨链哈希树的跨链树根;
将所述跨链树根发送至所述锚定点区块链。
优选地,将所述跨链树根发送至所述锚定点区块链,包括:
将所述跨链树根添加至最新区块的区块头中,将所述区块头发送至所述锚定点区块链,以便所述锚定点区块链记录所述区块头。
优选地,从所述锚定点区块链中同步跨链交易信息,包括:
从所述锚定点区块链中同步各个区块链发送的区块头;
从各个所述区块链中获取各个所述区块头分别对应的目标区块体;
利用所述区块头验证所述目标区块体,在验证通过后,从所述目标区块体中提取所述跨链交易信息。
优选地,当所述跨链交易信息中具有所述第二子任务对应的处理记录信息时,包括:
确定所述第一跨链任务已完成,并向所述第一跨链任务发起设备反馈所述第一跨链任务已完成的响应消息。
一种跨链任务处理装置,应用于区块链节点,包括:
跨链子任务处理模块,用于处理第一跨链任务的第一子任务,并将所述第一子任务对应的处理记录信息发送至锚定点区块链进行存储;其中,所述第一跨链任务包括所述第一子任务和需要在另一条区块链执行的第二子任务;
跨链交易信息同步模块,用于在符合交易信息同步条件时,从所述锚定点区块链中同步跨链交易信息;其中,所述跨链交易信息包括所述第一跨链任务对应已完成子任务的处理记录信息;
跨链回滚处理模块,用于当达到预设条件时,仍未从所述跨链交易信息中获取到所述第二子任务对应的处理记录信息时,对所述第一子任务的处理操作进行回滚。
一种跨链任务处理设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述跨链任务处理方法的步骤。
一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述跨链任务处理方法的步骤。
应用本申请实施例所提供的方法,处理第一跨链任务的第一子任务,并将第一子任务对应的处理记录信息发送至锚定点区块链进行存储;其中,第一跨链任务包括第一子任务和需要在另一条区块链执行的第二子任务;在符合交易信息同步条件时,从锚定点区块链中同步跨链交易信息;其中,跨链交易信息包括第一跨链任务对应已完成子任务的处理记录信息;当达到预设条件时,仍未从跨链交易信息中获取到第二子任务对应的处理记录信息时,对第一子任务的处理操作进行回滚。
在本方法中,将第一跨链任务对应的不同区块链的处理任务认定为第一子任务和第二子任务;当第一跨链任务对应的其中一个区块链处理完第一子任务之后,将第一子任务对应的处理记录信息发送到锚定点区块链进行存储。在符合交易信息同步条件时,从锚定点区块链中同步跨链交易信息。各个区块链处理完跨链交易子任务之后,均将对应的处理记录信息发送至锚定点区块链进行存储。因此,当跨链交易信息中如未记录第二子任务对应的处理记录信息时,此时可确定第二子任务未被及时处理,为了保障第一跨链任务对应数据的一致性,此时可对第一子任务的处理操作进行回滚,以确定第一跨链任务对应的两个子任务要么都被处理,要么都未被处理。如此,便可保障第一跨链任务对应数据的一致性。
相应地,本申请实施例还提供了与上述跨链任务处理方法相对应的跨链任务处理装置、设备和可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中一种跨链任务处理方法的实施流程图;
图2为本申请实施例中一种跨链任务具体处理方法的实施例流程图;
图3为现有的跨链任务处理示意图;
图4为本申请实施例中一种跨链哈希树结构示意图;
图5为本申请实施例中一种跨链完成哈希树结构示意图;
图6为本申请实施例中一种跨链交易实现示意图;
图7为本申请实施例中一种跨链任务处理装置的结构示意图;
图8为本申请实施例中一种跨链任务处理设备的结构示意图;
图9为本申请实施例中一种跨链任务处理设备的具体结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为便于理解,下面简单说明一下本申请实施例所提供的跨链任务处理方法所涉及到的相关名词或技术:
区块链(blockchain),一个不断连续增长的记录(区块,block)列表,这些列表通过密码学方法前后串联起来,具有不可串改、公开、透明的特性。
交易(transaction),区块链中的转账,是区块中的主要数据,交易最终被打包进入区块,链入区块链中。
共识(consensus),分布式系统中达成一致性的算法,比如proof of work(pow)、proof of stake(pos)或者拜占庭容错算法(BFT)等。
记账节点/挖矿节点(validator/miner),区块链系统中参与共识,为达成共识贡献力量的节点。
BFT(Byzantine Fault Tolerance,拜占庭容错算法):共识算法的一类,典型的实现有PBFT(实用拜占庭容错)算法。跟POW和POS不同,BFT类算法要求网络中节点的数量和身份必须是提前确定好的,只要坏的节点小于特定比例(比如1/3),就可以保证数据安全可用,其中坏的节点包括恶意节点和故障节点。需要注意的是,这个的容错阈值1/3是按照权重计算的,而不是按照记账节点的个数。比如说,假如只有一个节点是恶意的,但是它的权重大于等于1/3,那么整个系统的安全性将得不到保证。
POW:共识算法中的一种,通过算力决定区块的有效性。在出一个块的时候,需要不断的尝试不同的nonce,使得hash(block_header+nonce)符合一定的系统预先决定的规定(通俗来说比如hash前缀有几个0)。之所以叫POW,是因为不断尝试不同的的Nonce是比较耗费计算资源的。值得一提的是,验证一个nonce是不是符合规定是非常简单的。
POS:共识算法的一种。跟POW不同,POW通过算力决定决定区块的有效性,而POS以stake(数字货币)作为依据决定区块的有效性。
区块hash:整个区块的密码学摘要,可以简单地可以理解为不会冲突的唯一标识,hash一样说明整个区块也一样。
Proposer:共识算法中的区块提议者,指的是收集交易并打包到区块中的节点,一般proposer会得到对应的奖励。
私钥:private key,在密码学里面公钥是指对信息进行数字签名的一种技术,签名过后用于证明信息确实是私钥持有人认证过的,私钥应该严格保护不被泄露。在区块链常用的椭圆曲线算法中,私钥实际上可以理解为一个很大的随机数。
公钥:public key,与私钥对应,公钥用来验证签名过后的信息,证实签名确实出自指定的私钥(也即私钥的持有人),公钥应该是对外公开的。在椭圆曲线算法中,公钥是用私钥通过简单计算生成,也就是说,私钥决定了公钥。
Merkle tree(默克尔树,一种哈希树):一种树状数据结构,上层节点包含下层节点的hash引用,能够快速安全的验证大量数据节点是否一致。
Merkle root:merkle tree的唯一树根,如果全部数据节点一样,那树根必定一样。
Merkle proof:证明某个节点存在于merkle tree中的高效的可靠的只需要传输少量数据方法。
Transaction Root:在区块链中为了能够快速可靠地仅仅需要少量数据地验证一个交易是否包含在区块中,将交易组成一个Merkle tree,树根称为merkle root,放在区块头中。
State Root:是state tree的树根,放在区块头中。由于具有merkle tree的特性,state root一样,说明tree中的每个账号对应的数据都是一样的。
Receipt Tree:每个区块生成的时候,除了更改状态树state tree之外,如果有交易有触发事件,则将这些事件记入到receipt tree中,这些事件用来表明交易对区块的影响。一般来说,这些事件是合约内代码逻辑触发。外部程序可以仅仅关注这些receipt tree中的事件就可以知道合约里面发生的关键逻辑。
分片/分区(sharding),分片是为了区块链的扩展性(高性能)所采取的一种技术。跟传统的数据库分库分表的思想方法类似,将原来的数据库拆分为多个库,分开以后每个库存储的数据和处理的请求不同,因此整个系统的性能提高了。在区块链的分片中,每个片有自己的记账节点,存储自己的数据和处理自己的交易(允许一定情况下有交互,如同步跨链交易信息时),因此整个区块链系统中能够处理的交易大大提高。
Nonce:一个账号发出交易的序号,是一个严格单调递增的计数器。当发出一个交易,Nonce增加,同时交易中也会带上这个Nonce值。
实施例一:
请参考图1,图1为本申请实施例中一种跨链任务处理方法的流程图,该方法可应用于区块链节点,该方法包括以下步骤:
S101、处理第一跨链任务的第一子任务,并将第一子任务对应的处理记录信息发送至锚定点区块链进行存储。
其中,第一跨链任务包括第一子任务和需要在另一条区块链执行的第二子任务。
在本申请实施例中,将同一个跨链任务对应不同区块链的处理操作称之为子任务,即同一个跨链任务包括两个子任务,两个子任务需要分别在两个shard进行处理。跨链任务即跨链交易,例如,当交易双方的账户分别由不同的区块链shard管理时,此交易即为跨链交易。
需要说明的是,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
由于第一跨链任务需要由两条区块链(也即两个shard)处理完成,下面为了避免混淆,分别称这两条区块链为第一区块链和第二区块链,且由于第一区块链和第二区块链处理流程之间可相互参照,下文以第一区块链处理第一子任务为例进行详细说明。
在本申请中,第一区块链处理的第一跨链任务的第一子任务可以由客户端发起交易,经过分片技术,将第一跨链任务(或第一跨链任务中的子任务)分配给第一区块链,也可以为接收到第一跨链任务的第二区块链,将需要被第一区块链处理的子任务发送给第一区块链。也就是说,第一子任务可以为第一跨链任务的from链(第一跨链任务源链)对应的本链任务,也可以为第一跨链任务的to链(第一跨链任务目的链)对应的本链任务,在本申请实施例中对第一子任务并不做限定。对第一区块链属于from链还是to链也不做限定。
为了便于描述,下文以第一区块链为from链角色,第一子任务为from链的本链任务为例,对第一跨链任务处理进行详细说明。
第一区块链对第一子任务进行处理之后,便可将第一子任务对应的处理记录信息发送至锚定点区块链进行存储。
其中,处理记录信息可以为处理第一子任务的完整记录数据,也可以为能够验证或证明存在该完整记录数据的标识信息。
其中,锚定点区块链可以具体为区别于第一区块链和第二区块链的第三条区块链,该区块链专门用于记录处理记录信息,以便验证子任务是否完成。也就是说,在本申请实施例中,可预先设置一条锚定点区块链,专门用于记录处理记录信息。如此,各个参与第一跨链任务处理的区块链在处理完对应的第一跨链任务的子任务之后,都需将处理记录信息发送给锚定点区块链进行数据同步。也就是说,锚定点区块链中存储了第一跨链任务中已完成的子任务对应的处理记录信息。
S102、在符合交易信息同步条件时,从锚定点区块链中同步跨链交易信息。
其中,跨链交易信息包括第一跨链任务对应已完成子任务的处理记录信息。
举例来说,交易信息同步条件可以具体为交易信息同步时间周期,即周期性的从锚定点区块链中同步跨链交易信息,当然也可以设定为其它条件,在此不做具体限制。
同步跨链交易信息即从锚定点区块链中获取第一跨链任务的子任务处理记录信息。当处理记录信息即为处理记录数据时,则可直接从锚定点区块链中获取处理记录数据即可;当处理记录信息为可验证或指明存在对应的处理记录数据时,则可从相应区块链中获得处理记录数据,并利用处理记录信息对其进行验证。
S103、当达到预设条件时,仍未从跨链交易信息中获取到第二子任务对应的处理记录信息时,对第一子任务的处理操作进行回滚。
其中预设条件是预先设定的,例如但不限于设定为当第二子任务在若干个区块周期内仍未完成时,达到预设条件,此时认为第二子任务已无法完成,为避免第一跨链任务不一致,将第一子任务回滚。预设条件还可以设定为定时器到时、或第一跨链任务的第一子任务完成时间达到指定时长,或第一子任务对应的区块写满需要入链存储时,或已处理的第一跨链任务的数量达到指定阈值等其它条件,在此不做具体限制。
同步跨链交易信息之后,便可通过遍历查询各个处理记录数据,确定是否存在第一跨链任务的第二子任务对应的处理记录信息。当存在第二子任务对应的处理记录信息时,则确定第二子任务一被成功处理,此时,第一跨链任务对应的数据已实现同步,即第一跨链任务对应的数据同步即指第一跨链任务被两个参与的区块链同时完成或同时未完成。当确定第二子任务被成功处理,此时可确定第一跨链任务处理完成,可将相应数据存入区块链中。
优选地,当跨链交易信息中具有第二子任务对应的处理记录信息时,可确定第一跨链任务已完成,并向第一跨链任务发起设备反馈第一跨链任务已完成的响应消息。以便通知第一跨链任务发起者,第一跨链任务已完成。
当跨链交易信息中无第二子任务对应的处理记录信息时,则表明第二子任务还未被第二区块链成功处理,此时第一跨链任务不满足数据同步,为了保障第一跨链任务的数据同步,此时可直接对第一子任务的处理操作进行回滚,使得第一区块链和第二区块链均未完成第一跨链任务的子任务,以保障数据同步。
应用本申请实施例所提供的方法,处理第一跨链任务的第一子任务,并将第一子任务对应的处理记录信息发送至锚定点区块链进行存储;其中,第一跨链任务包括第一子任务和需要在另一条区块链执行的第二子任务;在符合交易信息同步条件时,从锚定点区块链中同步跨链交易信息;其中,跨链交易信息包括第一跨链任务对应已完成子任务的处理记录信息;当达到预设条件时,仍未从跨链交易信息中获取到第二子任务对应的处理记录信息时,对第一子任务的处理操作进行回滚。
在本方法中,将第一跨链任务对应的不同区块链的处理任务认定为第一子任务和第二子任务;当第一跨链任务对应的其中一个区块链处理完第一子任务之后,将第一子任务对应的处理记录信息发送到锚定点区块链进行存储。在符合交易信息同步条件时,从锚定点区块链中同步跨链交易信息。各个区块链处理完跨链交易子任务之后,均将对应的处理记录信息发送至锚定点区块链进行存储。因此,当跨链交易信息中如未记录第二子任务对应的处理记录信息时,此时可确定第二子任务未被及时处理,为了保障第一跨链任务对应数据的一致性,此时可对第一子任务的处理操作进行回滚,以确定第一跨链任务对应的两个子任务要么都被处理,要么都未被处理。如此,便可保障第一跨链任务对应数据的一致性。
需要说明的是,基于上述实施例,本申请实施例还提供了相应的改进方案。在优选/改进实施例中涉及与上述实施例中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在本文的优选/改进实施例中不再一一赘述。
实施例二:
上述实施例一,详细说明了当第一区块链处理某个跨链任务的第一子任务对应的处理流程,下面以第一区块链接收到第二跨链任务对应的第四子任务对应的处理流程进行详细说明。
请参考图2,该方法包括:
S201、接收指定第二跨链任务的第四子任务;第二跨链任务包括在另一条区块链执行的第三子任务和第四子任务。
其中,第二跨链任务可以为任意一个to链为第一区块链的跨链任务。且,第四子任务即为第一区块链的本链任务。当然,第三子任务即为from链对应的本链任务。
S202、从锚定点区块链中同步跨链交易信息。
跨链交易信息的具体同步操作可具体参见上述实施例一,在此不再一一赘述。
S203、当跨链交易信息中具有第三子任务对应的处理记录信息时,对第四子任务的进行处理。
当跨链任务交易信息中具有第三子任务对应的处理记录信息时,可确定第三子任务已被其from链处理完成,此时可直接对第四子任务进行处理。
当跨链任务交易信息中无第三子任务对应的处理记录信息时,可确定第三子任务还未被其from链处理完成,此时为了保障第二跨链任务对应数据的一致性,可暂停处理第四子任务。优选地,为了保障第二跨链任务能够被完成,还可在暂定处理第四子任务之后,定期与锚定点区块链同步跨链交易信息,以便在确定第三子任务完成之后,对第四子任务进行处理。
S204、将第四子任务对应的处理记录信息发送至锚定点区块链进行存储。
处理完第四子任务之后,可将对应的处理记录信息发送至锚定点区块链进行存储,以便处理第三子任务的区块链通过同步跨链交易处理信息,确定第二跨链任务已完成,进行入链处理。
优选地,在本申请实施例中,为了减少锚定点区块链对应的存储压力,在向锚定点区块链发送处理记录信息时,可仅发送能够验证或证明确实存在相应处理记录数据的标注信息。可仅向锚定点区块链发送能够验证跨链处理的哈希树根,具体实现过程,包括:
步骤一、将第四子任务对应的处理记录数据添加至跨链完成哈希树中,并计算跨链完成哈希树的跨链完成树根;
步骤二、将跨链完成树根发送至锚定点区块链。
为便于描述,下面将上述两个步骤结合起来进行说明。
在本申请实施例中,每一个可能参与第二跨链任务处理的区块链均可设置跨链完成哈希树。跨链完成哈希树的叶字节点可存储第二跨链任务对应的第四子任务对应的处理记录数据,即,跨链完成哈希树可存储当为本链任务的to链对应的本链任务的处理记录数据。然后采用哈希树对应的算法,计算出跨链完成哈系数的跨链完成树根,由于哈希树结构的特殊性,当树形结构内存储的数据唯一时,其对应的树根也是唯一不可复制的。因此,可直接将跨链完成树根发送给锚定点区块链。即,此时跨链完成树根即为处理记录信息。如此,便可减少锚定点区块链减少存储量,也可实现保障第二跨链任务的一致性。
实施例三:
优选地,为了减少锚定点区块链的存储量,在区块链中还可设置跨链哈希树,在跨链哈希树中存储第一跨链任务对应的from链的本链任务处理记录数据。即,上述步骤S101中的将第一子任务对应的处理记录信息发送至锚定点区块链进行存储,可具体包括:
步骤一、将第一子任务对应的处理记录数据添加至跨链哈希树中,并计算跨链哈希树的跨链树根;
步骤二、将跨链树根发送至锚定点区块链。
其中,步骤二为将跨链树根添加至最新区块的区块头中,将区块头发送至锚定点区块链,以便锚定点区块链记录区块头。
如此,上述步骤S102中的从锚定点区块链中同步跨链交易信息,则可具体包括:
步骤一、从锚定点区块链中同步各个区块链发送的区块头;
步骤二、从各个区块链中获取各个区块头分别对应的目标区块体;
步骤三、利用区块头验证目标区块体,在验证通过后,从目标区块体中提取跨链交易信息。
为便于理解,下面结合现有的跨链处理以及采用了本申请实施例所提供的跨链任务处理方法的具体应用场景为例,对本申请实施例所提供的技术方案进行详细说明。
请参考图3,图3为现有的跨链任务处理示意图。
Shard0中的账户Account0向Shard1中的Account1转10个币(假设Account0归属到Shard0,而Account1归属到Shard1),一个交易改变了两个Shard中的不同账号状态,我们称这个交易为跨链交易。简要的处理流程入下:
1、客户端发送交易,要求从From账号Account0转10个币到To账号Account1;
2、按照交易分片的规则,用From地址取模,交易进入到Shard0(编号为0的区块链)中,扣除了Account0的10个币;
3、交易进入到Shard0中的区块之后,由Shard0中的节点(可以是专门的转发节点,细节不在本方案的范围之内)通知Shard1(编号为1的区块链),并且需要带上Merkle proof证明交易确实已经进入到了Shard0中;
4、交易进入到Shard1中,给Account1增加10个币;
5、通知Shard0中的节点并带上Merkle proof,整个流程处理完毕(Shard0中的转发节点知道流程处理完成,不用再重发交易到Shard1中);
其中,发送Merkle Proof是为了从密码学的角度证明某个交易确实已经入到了链中。
事实上,这是正常情况下的流程图对应的处理流程,实际上情况可能复杂得多。如说交易进入到了Shard0之后,并不能保证交易一定能够进入到Shard1中,典型的情况包括:Shard1非常忙,导致交易长时间堆积最终被丢弃,或者因为Shard1中的记账节点觉得手续费较低,忽略了交易。这就是不同Shard中的一致性问题,跨链交易进入了From Shard,但是不能保证一定的时间内一定能进入到To Shard。
请参考图4和图5,图4为本申请实施例中一种跨链哈希树结构示意图;图5为本申请实施例中一种跨链完成哈希树结构示意图。
本申请实施例所提供的跨链任务处理方法,可保证From Shard和To Shard的一致性,也就是一个交易要么都进入了From Shard和To Shard,要么都没有进。其具体实现过程如下:
增加Metachain(锚定点区块链)用于协调不同Shard之间的工作。Metachain也是一个相对独立运行的链,作为跨链交易的一个锚定点,用于保证不同Shard之间的一致性,会收集不同Shard的区块头。
对于每个Shard,在区块头中增加一个称为CrossRoot(跨链哈希树)的Merkleroot。CrossRoot是双层Merkle Tree的树根,这棵Merkle Tree记录着一个区块中涉及到的跨链交易。图4展示了在一个有4个Shard(Shard0、Shard1、Shard2、Shard3)的系统中,Shard3中的一个区块头中包含的CrossRoot。这棵树包含两层,也就是Layer1和Layer2。其中Layer2记录着需要跨链到具体某个Shard的交易,这些交易按照在交易在区块中的顺序排列并且组成一个TxRoot。比如图4中Tx0,Tx1,Tx2,Tx3(Tx,Transaction)是需要从Shard3中转发给Shard0中的交易(跨链任务),这些交易按照在区块中的先后顺序排列成MerkleTree得到Shard0TxRoot。同理可以得到Shard1TxRoot,Shard2TxRoot和Shard3TxRoot,需要注意的是,Shard3TxRoot因为是本区(即图4对应的哈希树为Shard3自身对应的跨链哈希树),所以交易总是为空。在Layer1中,Shard0TxRoot,Shard1TxRoot,Shard2TxRoot和Shard3TxRoot组成CrossRoot。
除了CrossRoot之外,每个Shard中的区块头还增加FinishedCrossRoot(跨链交易完成哈希树,即记录跨链任务中to链对应的本链任务)。FinishedCrossRoot和CrossRoot结构上完全相同,但是功能上相反,CrossRoot表示需要转发到To区去处理的交易数据,而FinishedCrossRoot表示已经在To区处理完的交易。图5表示Shard3在处理完了从Shard0而来的跨链交易Tx0-Tx3之后的树结构。
请参考图6,图6为本申请实施例中一种跨链交易实现示意图,即借助CrossRoot和Metachain,跨链交易从Shard3中跨链到Shard0的过程,包括:
1、每个Shard在出完一个块之后,可将区块头以交易的形式发送到Metachain中。正上文,每一个Shard的区块头中都包括CrossRoot。每个Shard从Metachain同步其他Shard的区块头,Metachain作为整个系统的接入点,每个Shard的区块都以已经写入Metachain上的为准,只有区块头已经进入到metachain中才会得到系统的承认,即确定相应跨链任务的子任务是否处理完成。
2、Shard0从Metachain中同步Metachain的区块头以及相关的区块数据,得到CrossRoot,用于下一步同步涉及到的跨链交易。
3、Shard0从Shard3拿到Shard0TxRoot的以及Merkle Proof,证明Shard0TxRoot的值确实是CrossRoot的Layer1叶子节点,然后同步4个交易Tx0-Tx3,由于CrossRoot已经经过共识,从CrossRoot能证明Tx0-Tx3都包含在CrossRoot中(也就是包含在Shard3的区块中)。同步完成之后Shard0在本链对交易进行处理并且入链。
4、Shard0将在交易处理完之后,区块头同步到Metachain,区块头中包含已经处理完的FinishedCrossRoot。在异常情况下,如说经过若干个Metachain区块或时间达到指定时长之后(具体可根据系统配置调节),shard0仍然未完成全部Tx0-Tx3交易,那么Shard3将未完成的交易回滚(如将转账方的钱扣回去)。
实施例四:
相应于上面的方法实施例,本申请实施例还提供了一种跨链任务处理装置,下文描述的跨链任务处理装置与上文描述的跨链任务处理方法可相互对应参照。
参见图7示,该装置包括以下模块:
跨链子任务处理模块101,用于处理第一跨链任务的第一子任务,并将第一子任务对应的处理记录信息发送至锚定点区块链进行存储;其中,第一跨链任务包括第一子任务和需要在另一条区块链执行的第二子任务;
跨链交易信息同步模块102,用于在符合交易信息同步条件时,从锚定点区块链中同步跨链交易信息;其中,跨链交易信息包括第一跨链任务对应已完成子任务的处理记录信息;
跨链回滚处理模块103,用于达到预设条件时,仍未从跨链交易信息中获取到第二子任务对应的处理记录信息时,对第一子任务的处理操作进行回滚。
应用本申请实施例所提供的装置,处理第一跨链任务的第一子任务,并将第一子任务对应的处理记录信息发送至锚定点区块链进行存储;其中,第一跨链任务包括第一子任务和需要在另一条区块链执行的第二子任务;在符合交易信息同步条件时,从锚定点区块链中同步跨链交易信息;其中,跨链交易信息包括第一跨链任务对应已完成子任务的处理记录信息;当达到预设条件时,仍未从跨链交易信息中获取到第二子任务对应的处理记录信息时,对第一子任务的处理操作进行回滚。
在本装置中,将第一跨链任务对应的不同区块链的处理任务认定为第一子任务和第二子任务;当第一跨链任务对应的其中一个区块链处理完第一子任务之后,将第一子任务对应的处理记录信息发送到锚定点区块链进行存储。在符合交易信息同步条件时,从锚定点区块链中同步跨链交易信息。各个区块链处理完跨链交易子任务之后,均将对应的处理记录信息发送至锚定点区块链进行存储。因此,当跨链交易信息中如未记录第二子任务对应的处理记录信息时,此时可确定第二子任务未被及时处理,为了保障第一跨链任务对应数据的一致性,此时可对第一子任务的处理操作进行回滚,以确定第一跨链任务对应的两个子任务要么都被处理,要么都未被处理。如此,便可保障第一跨链任务对应数据的一致性。
在本申请的一种具体实施方式中,还包括:
子任务处理模块,用于接收指定第二跨链任务的第四子任务;第二跨链任务包括在在另一条区块链执行的第三子任务和第四子任务;从锚定点区块链中同步跨链交易信息;当跨链交易信息中具有第三子任务对应的处理记录信息时,对第四子任务的进行处理;将第四子任务对应的处理记录信息发送至锚定点区块链进行存储。
在本申请的一种具体实施方式中,子任务处理模块,具体用于将第四子任务对应的处理记录数据添加至跨链完成哈希树中,并计算跨链完成哈希树的跨链完成树根;将跨链完成树根发送至锚定点区块链。
在本申请的一种具体实施方式中,跨链子任务处理模块101,包括:
处理记录数据处理单元,用于将第一子任务对应的处理记录数据添加至跨链哈希树中,并计算跨链哈希树的跨链树根;
处理记录数据存储单元,用于将跨链树根发送至锚定点区块链。
在本申请的一种具体实施方式中,处理记录数据存储单元,具体用于将跨链树根添加至最新区块的区块头中,将区块头发送至锚定点区块链,以便锚定点区块链记录区块头。
在本申请的一种具体实施方式中,跨链交易信息同步模块102,具体用于从锚定点区块链中同步各个区块链发送的区块头;从各个区块链中获取各个区块头分别对应的目标区块体;利用区块头验证目标区块体,在验证通过后,从目标区块体中提取跨链交易信息。
在本申请的一种具体实施方式中,包括:
响应模块,用于当跨链交易信息中具有第二子任务对应的处理记录信息时,确定第一跨链任务已完成,并向第一跨链任务发起设备反馈第一跨链任务已完成的响应消息。
实施例五:
相应于上面的方法实施例,本申请实施例还提供了一种跨链任务处理设备,下文描述的一种跨链任务处理设备与上文描述的一种跨链任务处理方法可相互对应参照。
参见图8所示,该跨链任务处理设备包括:
存储器D1,用于存储计算机程序;
处理器D2,用于执行计算机程序时实现上述方法实施例的跨链任务处理方法的步骤。
具体的,请参考图9,图9为本实施例提供的一种跨链任务处理设备的具体结构示意图,该跨链任务处理设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在跨链任务处理设备301上执行存储介质330中的一系列指令操作。
跨链任务处理设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。例如,Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。
上文所描述的跨链任务处理方法中的步骤可以由跨链任务处理设备的结构实现。
实施例六:
相应于上面的方法实施例,本申请实施例还提供了一种可读存储介质,下文描述的一种可读存储介质与上文描述的一种跨链任务处理方法可相互对应参照。
一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的跨链任务处理方法的步骤。
该可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的可读存储介质。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

Claims (10)

1.一种跨链任务处理方法,其特征在于,应用于区块链节点,包括:
处理第一跨链任务的第一子任务,并将所述第一子任务对应的处理记录信息发送至锚定点区块链进行存储;其中,所述第一跨链任务包括所述第一子任务和需要在另一条区块链执行的第二子任务;
在符合交易信息同步条件时,从所述锚定点区块链中同步跨链交易信息;其中,所述跨链交易信息包括所述第一跨链任务对应已完成子任务的处理记录信息;
当达到预设条件时,仍未从所述跨链交易信息中获取到所述第二子任务对应的处理记录信息时,对所述第一子任务的处理操作进行回滚。
2.根据权利要求1所述的跨链任务处理方法,其特征在于,还包括:
接收第二跨链任务的第四子任务;所述第二跨链任务包括在另一条区块链执行的第三子任务和所述第四子任务;
从所述锚定点区块链中同步跨链交易信息;
当所述跨链交易信息中具有所述第三子任务对应的处理记录信息时,对所述第四子任务的进行处理;
将所述第四子任务对应的处理记录信息发送至所述锚定点区块链进行存储。
3.根据权利要求2所述的跨链任务处理方法,其特征在于,将所述第四子任务对应的处理记录信息发送至锚定点区块链进行存储,包括:
将所述第四子任务对应的处理记录数据添加至跨链完成哈希树中,并计算所述跨链完成哈希树的跨链完成树根;
将所述跨链完成树根发送至所述锚定点区块链。
4.根据权利要求1所述的跨链任务处理方法,其特征在于,将所述第一子任务对应的处理记录信息发送至锚定点区块链进行存储,包括:
将所述第一子任务对应的处理记录数据添加至跨链哈希树中,并计算所述跨链哈希树的跨链树根;
将所述跨链树根发送至所述锚定点区块链。
5.根据权利要求4所述的跨链任务处理方法,其特征在于,将所述跨链树根发送至所述锚定点区块链,包括:
将所述跨链树根添加至最新区块的区块头中,将所述区块头发送至所述锚定点区块链,以便所述锚定点区块链记录所述区块头。
6.根据权利要求5所述的跨链任务处理方法,其特征在于,从所述锚定点区块链中同步跨链交易信息,包括:
从所述锚定点区块链中同步各个区块链发送的区块头;
从各个所述区块链中获取各个所述区块头分别对应的目标区块体;
利用所述区块头验证所述目标区块体,在验证通过后,从所述目标区块体中提取所述跨链交易信息。
7.根据权利要求1至6任一项所述的跨链任务处理方法,其特征在于,当所述跨链交易信息中具有所述第二子任务对应的处理记录信息时,包括:
确定所述第一跨链任务已完成,并向所述第一跨链任务发起设备反馈所述第一跨链任务已完成的响应消息。
8.一种跨链任务处理装置,其特征在于,应用于区块链节点,包括:
跨链子任务处理模块,用于处理第一跨链任务的第一子任务,并将所述第一子任务对应的处理记录信息发送至锚定点区块链进行存储;其中,所述第一跨链任务包括所述第一子任务和需要在另一条区块链执行的第二子任务;
跨链交易信息同步模块,用于在符合交易信息同步条件时,从所述锚定点区块链中同步跨链交易信息;其中,所述跨链交易信息包括所述第一跨链任务对应已完成子任务的处理记录信息;
跨链回滚处理模块,用于当达到预设条件时,仍未从所述跨链交易信息中获取到所述第二子任务对应的处理记录信息时,对所述第一子任务的处理操作进行回滚。
9.一种跨链任务处理设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述跨链任务处理方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述跨链任务处理方法的步骤。
CN201911382910.XA 2019-12-27 2019-12-27 一种跨链任务处理方法、装置、设备及可读存储介质 Active CN111046109B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911382910.XA CN111046109B (zh) 2019-12-27 2019-12-27 一种跨链任务处理方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911382910.XA CN111046109B (zh) 2019-12-27 2019-12-27 一种跨链任务处理方法、装置、设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN111046109A true CN111046109A (zh) 2020-04-21
CN111046109B CN111046109B (zh) 2023-09-15

Family

ID=70240916

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911382910.XA Active CN111046109B (zh) 2019-12-27 2019-12-27 一种跨链任务处理方法、装置、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN111046109B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111753334A (zh) * 2020-07-02 2020-10-09 卓尔智联(武汉)研究院有限公司 一种联盟链跨链数据一致性验证方法、装置和电子设备
CN111769948A (zh) * 2020-06-15 2020-10-13 布比(北京)网络技术有限公司 基于区块链的链间交互方法、系统、装置和计算机设备
CN112087497A (zh) * 2020-08-17 2020-12-15 成都质数斯达克科技有限公司 数据同步方法、装置、电子设备及可读存储介质
CN112202863A (zh) * 2020-09-24 2021-01-08 成都质数斯达克科技有限公司 数据同步方法、装置、电子设备及可读存储介质
CN112235423A (zh) * 2020-12-11 2021-01-15 腾讯科技(深圳)有限公司 跨链事务处理方法及装置、电子设备、存储介质
CN112487098A (zh) * 2020-12-10 2021-03-12 深圳前海微众银行股份有限公司 一种区块链中跨链的原子变量实现方法及装置、电子设备
CN113537991A (zh) * 2021-09-16 2021-10-22 中国信息通信研究院 一种跨链交易有序执行方法和跨链系统
CN113810496A (zh) * 2021-09-17 2021-12-17 中国长江三峡集团有限公司 一种基于区块链技术的财务人员操作记录黑匣子保存方法
CN114504828A (zh) * 2022-02-08 2022-05-17 北京趣玩天橙科技有限公司 一种数据回滚实现内存一致性的方法及系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107085810A (zh) * 2017-04-19 2017-08-22 朱皞罡 一种区块链的跨链操作方法及区块链管理系统
CN108269190A (zh) * 2018-01-17 2018-07-10 深圳四方精创资讯股份有限公司 基于跨链中继平台的跨链方法及其系统
CN108492108A (zh) * 2018-03-29 2018-09-04 深圳前海微众银行股份有限公司 区块链跨链通信方法、系统和计算机可读存储介质
CN108900585A (zh) * 2018-06-15 2018-11-27 浙江华信区块链科技服务有限公司 跨链事务一致性实现方法
US20190018887A1 (en) * 2017-04-12 2019-01-17 Vijay K. Madisetti Method and System for Tuning Blockchain Scalability, Decentralization, and Security for Fast and Low-Cost Payment and Transaction Processing
CN109784881A (zh) * 2018-12-29 2019-05-21 广州蓝石信息技术有限公司 基于去中心化网关的通用跨链支付方案
US20190340267A1 (en) * 2018-05-01 2019-11-07 International Business Machines Corporation Blockchain implementing cross-chain transactions
US20190347657A1 (en) * 2017-06-12 2019-11-14 Tencent Technology (Shenzhen) Company Limited Resource transfer method and apparatus, storage medium, and computer device
CN110473100A (zh) * 2019-08-15 2019-11-19 深圳前海微众银行股份有限公司 一种基于区块链系统的交易处理方法及装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190018887A1 (en) * 2017-04-12 2019-01-17 Vijay K. Madisetti Method and System for Tuning Blockchain Scalability, Decentralization, and Security for Fast and Low-Cost Payment and Transaction Processing
CN107085810A (zh) * 2017-04-19 2017-08-22 朱皞罡 一种区块链的跨链操作方法及区块链管理系统
US20190347657A1 (en) * 2017-06-12 2019-11-14 Tencent Technology (Shenzhen) Company Limited Resource transfer method and apparatus, storage medium, and computer device
CN108269190A (zh) * 2018-01-17 2018-07-10 深圳四方精创资讯股份有限公司 基于跨链中继平台的跨链方法及其系统
CN108492108A (zh) * 2018-03-29 2018-09-04 深圳前海微众银行股份有限公司 区块链跨链通信方法、系统和计算机可读存储介质
US20190340267A1 (en) * 2018-05-01 2019-11-07 International Business Machines Corporation Blockchain implementing cross-chain transactions
CN108900585A (zh) * 2018-06-15 2018-11-27 浙江华信区块链科技服务有限公司 跨链事务一致性实现方法
CN109784881A (zh) * 2018-12-29 2019-05-21 广州蓝石信息技术有限公司 基于去中心化网关的通用跨链支付方案
CN110473100A (zh) * 2019-08-15 2019-11-19 深圳前海微众银行股份有限公司 一种基于区块链系统的交易处理方法及装置

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111769948A (zh) * 2020-06-15 2020-10-13 布比(北京)网络技术有限公司 基于区块链的链间交互方法、系统、装置和计算机设备
CN111769948B (zh) * 2020-06-15 2023-06-02 布比(北京)网络技术有限公司 基于区块链的链间交互方法、系统、装置和计算机设备
CN111753334B (zh) * 2020-07-02 2021-02-23 卓尔智联(武汉)研究院有限公司 一种联盟链跨链数据一致性验证方法、装置和电子设备
CN111753334A (zh) * 2020-07-02 2020-10-09 卓尔智联(武汉)研究院有限公司 一种联盟链跨链数据一致性验证方法、装置和电子设备
CN112087497A (zh) * 2020-08-17 2020-12-15 成都质数斯达克科技有限公司 数据同步方法、装置、电子设备及可读存储介质
CN112087497B (zh) * 2020-08-17 2021-04-27 成都质数斯达克科技有限公司 数据同步方法、装置、电子设备及可读存储介质
CN112202863B (zh) * 2020-09-24 2022-09-20 成都质数斯达克科技有限公司 数据同步方法、装置、电子设备及可读存储介质
CN112202863A (zh) * 2020-09-24 2021-01-08 成都质数斯达克科技有限公司 数据同步方法、装置、电子设备及可读存储介质
CN112487098A (zh) * 2020-12-10 2021-03-12 深圳前海微众银行股份有限公司 一种区块链中跨链的原子变量实现方法及装置、电子设备
CN112235423A (zh) * 2020-12-11 2021-01-15 腾讯科技(深圳)有限公司 跨链事务处理方法及装置、电子设备、存储介质
CN113537991A (zh) * 2021-09-16 2021-10-22 中国信息通信研究院 一种跨链交易有序执行方法和跨链系统
CN113810496A (zh) * 2021-09-17 2021-12-17 中国长江三峡集团有限公司 一种基于区块链技术的财务人员操作记录黑匣子保存方法
CN114504828A (zh) * 2022-02-08 2022-05-17 北京趣玩天橙科技有限公司 一种数据回滚实现内存一致性的方法及系统

Also Published As

Publication number Publication date
CN111046109B (zh) 2023-09-15

Similar Documents

Publication Publication Date Title
CN111046109A (zh) 一种跨链任务处理方法、装置、设备及可读存储介质
CN110493148B (zh) 一种区块处理、区块共识和区块同步方法及装置
JP6882474B2 (ja) リプレイ攻撃の検出のためのシステム及び方法
US11966916B2 (en) Resource transfer method and apparatus, storage medium, and computer device
EP3688929B1 (en) System and method for providing privacy and security protection in blockchain-based private transactions
US20210295321A1 (en) Methods for decentralized digital asset transfer and smart contract state transition
US11128522B2 (en) Changing a master node in a blockchain system
CN110648137B (zh) 一种区块处理方法和节点以及系统
JP6905059B2 (ja) リプレイ攻撃の検出のためのシステム及び方法
US7926103B2 (en) System and method for preventing replay attacks
CN111475576B (zh) 基于区块链的分布式数据库存储方法及系统
CN110009338B (zh) 基于区块链的记账方法及装置、电子设备
CN109493223B (zh) 一种记账方法及装置
EP4332870A1 (en) Transaction data processing method and apparatus, computer device and storage medium
CN110875893A (zh) 共识验证方法、校验节点及区块链系统
Dobre et al. PoWerStore: Proofs of writing for efficient and robust storage
US20210233068A1 (en) Settlement system, settlement method, user device, and settlement program
CN113067707B (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
CN113064764B (zh) 在区块链系统中执行区块的方法及装置
CN110060161A (zh) 用于区块链交易防重的客户端服务实现方法及服务组件
CN112347184A (zh) 分叉处理方法以及区块链节点
CN111311254A (zh) 一种基于区块链的业务处理方法、装置和系统
CN112507019A (zh) 一种基于智能合约的pbft共识系统及方法
CN113157450A (zh) 在区块链系统中执行区块的方法及装置
CN108882230B (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210914

Address after: 518000 21 / f-23 / F, block B, building 12, Shenzhen Bay science and technology ecological park, No. 18, South Keji Road, high tech community, Yuehai street, Nanshan District, Shenzhen City, Guangdong Province

Applicant after: Xunlei Networking Technologies, Ltd.

Applicant after: SHENZHEN ONETHING TECHNOLOGIES Co.,Ltd.

Address before: 518052 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Applicant before: SHENZHEN ONETHING TECHNOLOGIES Co.,Ltd.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20240619

Address after: 518000, 2101 to 2107, Xunlei Building, No. 3709 Baishi Road, Gaoxin District, Yuehai Street, Nanshan District, Shenzhen, Guangdong Province

Patentee after: Xunlei Networking Technologies, Ltd.

Country or region after: China

Address before: 518000 21 / f-23 / F, block B, building 12, Shenzhen Bay science and technology ecological park, No. 18, South Keji Road, high tech community, Yuehai street, Nanshan District, Shenzhen City, Guangdong Province

Patentee before: Xunlei Networking Technologies, Ltd.

Country or region before: China

Patentee before: SHENZHEN ONETHING TECHNOLOGIES Co.,Ltd.