CN111399993B - 一种关联事务请求的跨链实现方法、装置、设备和介质 - Google Patents
一种关联事务请求的跨链实现方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN111399993B CN111399993B CN202010218939.0A CN202010218939A CN111399993B CN 111399993 B CN111399993 B CN 111399993B CN 202010218939 A CN202010218939 A CN 202010218939A CN 111399993 B CN111399993 B CN 111399993B
- Authority
- CN
- China
- Prior art keywords
- transaction request
- transaction
- uplink
- association
- write data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 238000012795 verification Methods 0.000 claims abstract description 55
- 238000004422 calculation algorithm Methods 0.000 claims description 50
- 230000015654 memory Effects 0.000 claims description 21
- 238000010200 validation analysis Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 abstract description 46
- 238000006386 neutralization reaction Methods 0.000 abstract description 10
- 230000008901 benefit Effects 0.000 description 27
- 230000000875 corresponding effect Effects 0.000 description 24
- 230000008569 process Effects 0.000 description 16
- 239000003999 initiator Substances 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 239000003550 marker Substances 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000012419 revalidation Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请公开了一种关联事务请求的跨链实现方法、装置、设备和介质,涉及区块链技术领域。具体实现方案为:获取用户发起的第一事务请求;如果确定第一事务请求具有关联标记,则执行第一事务请求,以产生对应的第一事务数据进行上链存储;根据第一事务数据更新本地的写数据集,且将第一事务数据更新的本地写数据集作为预生效写数据集,设置为锁定状态;获取第二事务请求在其他区块链的上链证明;根据上链证明中的谜底字符串对第一事务请求和第二事务请求的关联性进行验证,且根据上链证明中的上链信息对第二事务请求的上链有效性进行验证;如果验证通过,则对第一事务数据的预生效写数据集解除锁定状态。采用去中性化的方式保证事务处理的原子性。
Description
技术领域
本申请实施例涉及计算机技术领域,具体涉及区块链技术。
背景技术
在区块链***中,逐渐出现跨链协作处理业务的需求。即,需要在两条区块链中分别发起事务请求进行处理,例如,进行跨链的数字货币兑换业务。跨链协作处理的事务,要求具有事务处理的原子性。所谓原子性,即关联的事务请求需要同时生效或同时失效。
现有技术中,关联的事务请求处理可采用在交易所进行协调,或通过中继链来协调的方案。这些方案的问题都是中心化方式来协调关联的事务请求,且只能用于货币兑换,而没有提供去中心化的、通用的关联事务请求保证原子性的操作方案。
发明内容
本申请实施例提供一种关联事务请求的跨链实现方法、装置、设备和介质,以实现跨链关联事务请求处理的去中性化和保证事务处理的原子性。
第一方面,本申请实施例公开了一种关联事务请求的跨链实现方法,由区块链节点执行,该方法包括:
获取用户发起的第一事务请求;
如果确定所述第一事务请求具有关联标记,则执行所述第一事务请求,以产生对应的第一事务数据进行上链存储;其中,所述关联标记基于用户设置的谜底字符串产生;
根据所述第一事务数据更新本地的写数据集,且将所述第一事务数据更新的本地写数据集作为预生效写数据集,设置为锁定状态;
获取第二事务请求在其他区块链的上链证明;
根据所述上链证明中的谜底字符串对所述第一事务请求和第二事务请求的关联性进行验证,且根据所述上链证明中的上链信息对所述第二事务请求的上链有效性进行验证;
如果验证通过,则对所述第一事务数据的预生效写数据集解除锁定状态。
上述申请中的一个实施例具有如下优点或有益效果:如果接收到的第一事务请求具有关联标记,则将执行该第一事务请求得到的第一事务数据上链存储后,先将基于该第一事务数据更新的本地预生效写数据集设为锁定状态,再通过第一事务请求关联的第二事务请求在其他区块链的上链证明,完成关联性和有效性验证后,解除本地预生效写数据集的锁定状态。本申请实施例,为具有关联关系的事务请求设置相同的关联标记,区块链节点在处理具有关联标记的事务请求时,无需通过中心化协调者来保证事务请求处理的原子性,而是由区块链节点自身通过具有关联关系的其他事务请求的上链证明进行关联性和有效性的验证,以实现跨链关联事务请求处理的去中性化和保证事务处理的原子性。
另外,根据本申请上述实施例的关联事务请求的跨链实现方法,还可以具有如下附加的技术特征:
可选的,确定所述第一事务请求具有关联标记包括:
从所述第一事务请求的设定字段中解析获取关联标记。
上述申请中的一个实施例具有如下优点或有益效果:本申请在事务请求的设定字段中携带其关联标记,提高了关联标记获取的便捷性。
可选的,确定所述第一事务请求具有关联标记之后,执行所述第一事务请求之前,还包括:
识别所述关联标记是否存在于历史事务请求中,且所述历史事务请求的写数据集已经解除锁定状态;
若是,则拒绝执行所述第一事务请求。
上述申请中的一个实施例具有如下优点或有益效果:如果第一事务请求的关联标记,被历史事务请求使用过,且历史事务请求的写数据集已经解除锁定,则拒绝执行该第一事务请求。这样设置的好处是可防止关联标记的谜底字符串被泄露,避免了恶意节点窃取历史关联标记的谜底字符串后发起恶意上链证明,保证了第一事务请求处理的安全性和可靠性。
可选的,所述写数据集包括被所述第一事务数据进行更新的数据对象的集合,将所述预生效写数据集设置为锁定状态之后,还包括:
如果获取到的第三事务请求的预执行结果中的写数据对象,在本地数据中处于锁定状态,则拒绝执行所述第三事务请求的上链操作。
上述申请中的一个实施例具有如下优点或有益效果:如果一个事务请求预执行过程中需要引用处于锁定状态的数据对象,由于锁定状态的数据对象还没有通过上链证明进行验证,所以拒绝执行该事务请求。本申请处于锁定状态的预生效写数据集不能被其他事务请求所引用,以保证本地写数据集中数据的准确性,和事务请求处理过程的有效性。
可选的,获取第二事务请求在其他区块链的上链证明包括:
获取用户发起的第二事务请求在其他区块链的上链证明事务请求。
上述申请中的一个实施例具有如下优点或有益效果:通过上链事务请求的方式,获取第二事务请求在其他区块链的上链证明,相比于用户线下传输,提高了上链证明获取的安全性和可靠性。
可选的,根据所述上链证明中的谜底字符串对所述第一事务请求和第二事务请求的关联性进行验证,且根据所述上链证明中的上链信息对所述第二事务请求的上链有效性进行验证包括:
执行所述上链证明事务请求,以从所述上链证明事务请求中获取谜底字符串,对所述第一事务请求和第二事务请求的关联性进行验证,且根据所述上链证明事务请求中的上链信息对所述第二事务请求的上链有效性进行验证;
将执行所述上链证明事务请求而产生的上链证明事务数据进行上链存储。
上述申请中的一个实施例具有如下优点或有益效果:从上链证明事务请求中获取谜底字符串和上链信息进行关联性和有效性验证,且需要将执行上链事务请求产生的上链证明事务数据进行上链存储。以保证上链证明事务数据的可靠性和可追溯性。
可选的,根据所述上链证明中的谜底字符串对所述第一事务请求和第二事务请求的关联性进行验证包括:
根据所述上链证明中的谜底字符串,按照设定生成算法产生关联标记,其中,所述设定生成算法为哈希算法;
将产生的所述关联标记与所述第一事务请求中包括的关联标记进行匹配;
如果匹配成功,则所述第一事务请求和第二事务请求的关联性验证通过。
上述申请中的一个实施例具有如下优点或有益效果:根据上链证明中的谜底字符串,按照设定算法在本地生成一个关联标记,如果本地生成的关联标记与第一事务请求中包含的关联标记匹配,则说明第一事务请求和第二事务请求的关联性验证通过。为第一事务请求和第二事务请求的关联性验证提供了一种新思路。
可选的,根据所述上链证明中的谜底字符串,按照设定生成算法产生关联标记包括:
根据所述上链证明中的谜底字符串、第一事务请求所属的区块链标识以及第二事务请求所属的区块链标识,按照设定生成算法产生所述关联标记。
上述申请中的一个实施例具有如下优点或有益效果:通过谜底字符串、各关联事务请求所属的区块链标识生成关联标记,可降低当前生成的关联标记与历史关联标记重复的概率。
可选的,根据所述上链证明中的上链信息对所述第二事务请求的上链有效性进行验证包括:
根据所述上链证明中的第二事务请求的事务数据计算事务标识;
根据所述第二事务请求的事务标识,以及所述上链信息中第二事务请求的梅克尔树路径信息,计算所述第二事务请求所在区块中的梅克尔树根;其中,所述梅克尔树路径信息包括与所述第二事务请求的事务标识一起生成所述梅克尔树根的其他节点标识;
从所述第二事务请求所属区块链中获取所述第二事务请求所在区块的区块头信息;
将计算的梅克尔树根与所述区块头信息中的梅克尔树根进行匹配;
如果匹配,则确定所述第二事务请求的上链有效性验证通过。
上述申请中的一个实施例具有如下优点或有益效果:在对第二事务请求的上链有效性进行验证时,计算第二事务请求的事务数据的事务标识,再结合梅克尔树路径信息,在本地计算梅克尔树根,并将本地计算的梅克尔树根与区块头中记录的梅克尔树根进行匹配,来对第二事务请求的上链有效性进行验证。提高了对第二事务请求的上链有效性验证的精准性。
可选的,将预生效写数据集设置为锁定状态之后,还包括:
如果达到设定超期阈值,则设置所述预生效写数据集为失效状态。
可选的,将预生效写数据集设置为锁定状态之后,还包括:
获取所述用户发起的第一事务撤销事务请求;
执行所述第一事务撤销事务请求,以在区块链中回滚所述第一事务请求,使得所述预生效写数据失效。
上述申请中的一个实施例具有如下优点或有益效果:对于锁定状态的预生效写数据集,如果达到设定超期阈值,或者获取到第一事务撤销事务请求,则该预生效写数据集失效。给出了预生效写数据集失效的两种不同的触发方式,可更为灵活的判定预生效写数据集是否失效。
可选的,如果达到设定超期阈值,则设置所述预生效写数据集为失效状态之前,还包括:
从所述第一事务请求中获取所述设定超期阈值。
上述申请中的一个实施例具有如下优点或有益效果:设定超期阈值可携带在事务请求中,这样设置的好处是可以更为灵活的根据各事务请求的需求,为其设置特定的设定超期阈值。
第二方面,本申请实施例公开了一种关联事务请求的跨链实现装置,配置于区块链节点中,该装置包括:
事务请求获取模块,用于获取用户发起的第一事务请求;
事务请求执行模块,用于如果确定所述第一事务请求具有关联标记,则执行所述第一事务请求,以产生对应的第一事务数据进行上链存储;其中,所述关联标记基于用户设置的谜底字符串产生;
数据更新锁定模块,用于根据所述第一事务数据更新本地的写数据集,且将所述第一事务数据更新的本地写数据集作为预生效写数据集,设置为锁定状态;
上链证明获取模块,用于获取第二事务请求在其他区块链的上链证明;
上链证明验证模块,用于根据所述上链证明中的谜底字符串对所述第一事务请求和第二事务请求的关联性进行验证,且根据所述上链证明中的上链信息对所述第二事务请求的上链有效性进行验证;
数据解锁模块,用于如果验证通过,则对所述第一事务数据的预生效写数据集解除锁定状态。
第三方面,本申请实施例公开了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请任意实施例所述的关联事务请求的跨链实现方法。
第四方面,本申请实施例提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本申请任意实施例所述的关联事务请求的跨链实现方法。
上述申请中的一个实施例具有如下优点或有益效果:如果接收到的第一事务请求具有关联标记,则将执行该第一事务请求得到的第一事务数据上链存储后,先将基于该第一事务数据更新的本地预生效写数据集设为锁定状态,再通过第一事务请求关联的第二事务请求在其他区块链的上链证明,完成关联性和有效性验证后,解除本地预生效写数据集的锁定状态。本申请实施例,为具有关联关系的事务请求设置相同的关联标记,区块链节点在处理具有关联标记的事务请求时,无需通过中心化协调者来保证事务请求处理的原子性,而是由区块链节点自身通过具有关联关系的其他事务请求的上链证明进行关联性和有效性的验证,以实现跨链关联事务请求处理的去中性化和保证事务处理的原子性。
上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1为本申请实施例一提供的关联事务请求的跨链实现方法的流程图;
图2A为本申请实施例二提供的关联事务请求的跨链实现方法的流程图;
图2B为本申请实施例二提供的梅克尔树根的计算原理示意图;
图3A-3B为本申请实施例三提供的关联事务请求的跨链实现方法的流程图;
图4A为本申请实施例四提供的关联事务请求的跨链实现方法的信令图;
图4B-4C为本申请实施例四提供的关联事务请求的跨链实现流程框图;
图5为本申请实施例五提供的关联事务请求的跨链实现装置的结构示意图;
图6是用来实现本申请实施例六的关联事务请求的跨链实现方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
实施例一
图1为本申请实施例一提供的关联事务请求的跨链实现方法的流程图。本实施例适用于在多条区块链中分别发起关联事务请求来共同实现某一需求的跨链操作情况。该实施例可以由区块链节点中配置的关联事务请求的跨链实现装置来执行,该装置可以采用软件和/或硬件来实现,集成于作为区块链节点的电子设备中。
如图1所示,该方法包括:
S110,获取用户发起的第一事务请求。
其中,该第一事务请求,为用户基于某种业务需求在当前区块链网络中发起的。可以是UTXO(未花费交易输出)形式或基于智能合约发起的事务请求,本申请实施例对此不进行限制。
本操作中,本机的区块链节点可以在本机中获取到用户产生的第一事务请求,也可以是通过区块链网络接收到其他节点传输的第一事务请求。
S120,如果确定第一事务请求具有关联标记,则执行第一事务请求,以产生对应的第一事务数据进行上链存储。
其中,所述关联标记基于用户设置的谜底字符串产生。
本操作中,识别第一事务请求是否具有关联标记。关联标记用于表征该事务请求具有在其他区块链中的关联事务请求。关联标记可以通过任何方式或内容格式发起至区块链网络中,只要能指明该第一事务请求为关联事务请求即可。
关联标记的内容可选是字符串,且是基于用户设置的谜底字符串产生的。所谓谜底字符串是用户个人定义的字符串,可具有易于记忆、私密性的特点。一般由发起多个关联事务请求的用户个人所持有。可以通过对谜底字符串进行设定生成算法的计算来确定关联标记。设定生成算法优选是具有不可逆性,即不能根据关联标记推导出谜底字符串。设定生成算法可选的是哈希算法,例如sha256算法。
可选的,在本申请中,确定第一事务请求具有关联标记时,可以是从所述第一事务请求的设定字段中解析获取关联标记。具体的,用户在生成关联的至少两个事务请求时,需要在关联的各事务请求中的设定字段添加关联标记。其中,该设定字段可以是事务请求结构体中的某个字段,如增设的专用字段、预留的空白字段或备注字段等。区块链节点在接收到第一事务请求后,可以是对该第一事务请求的设定字段内容进行解析,查看其中是否包含关联标记,如果包含,则说明该第一事务请求在其他区块链中有关联的其他事务请求(如关联的第二事务请求),如果不包含,则说明该第一事务请求为普通的非关联事务请求。
可选的,在本申请中,当区块链节点确定第一事务请求具有关联标记时,则继续执行该第一事务请求,例如,可调用智能合约运行该第一事务请求,执行该第一事务请求后会产生执行结果,与第一事务请求一并作为第一事务数据,上链存储到区块中。
S130,根据第一事务数据更新本地的写数据集,且将第一事务数据更新的本地写数据集作为预生效写数据集,设置为锁定状态。
其中,执行第一事务请求一般会涉及到读数据操作和写数据操作。在区块链***的数据库中,以数据对象为单位存储数据,数据对象可以根据业务需求进行定义,例如,账户、余额、身份信息、和交易记录等任何数据都可以通过数据对象的形式来存储。在执行事务请求的过程中,一般需要读取一些数据对象,以及写更新一些数据对象,这些记为读数据集和写数据集,会作为事务数据的一部分进行上链存储。
区块链节点为了本地的数据处理方便,以及支持本地化数据访问,通常都会基于区块链上的区块数据,构建本地存储的数据库,即将数据对象存储于本地的存储空间中,供访问。所以,区块链节点会根据第一事务数据更新本地的写数据集,即写数据集中更新的数据对象,会用来更新本地的数据对象。所谓写更新,可以是增加数据对象、更改数据对象或删除数据对象的操作。
在本实施例中,若第一事务请求是关联事务请求,则对于关联事务请求所导致的写数据集更新,会作为预生效写数据集,将其设置为锁定状态。例如,可以是为预生效写数据集设置锁定状态的标识。这区别于非关联事务请求的操作,非关联事务请求对本地的数据对象更新后可直接生效,不需要锁定。其中,所谓锁定状态,即禁止锁定的数据对象被其他事务请求所引用,例如被读操作或被写操作。
具体的,所述写数据集包括被所述第一事务数据进行更新的数据对象的集合,将所述预生效写数据集设置为锁定状态之后,还包括:如果获取到的第三事务请求的预执行结果中的写数据对象,在本地数据中处于锁定状态,则拒绝执行所述第三事务请求的上链操作。其中,第三事务请求是任意其他的事务请求,当区块链节点在本地预执行该第三事务请求,以确定其读数据对象和写数据对象时,判断该读数据对象和写数据对象是否为本地处于锁定状态的预生效写数据集,如果是,由于其读数据对象和写数据对象因锁定无法被读操作或写操作,所以区块链节点此时拒绝执行该第三事务请求的上链操作。
S140,获取第二事务请求在其他区块链的上链证明。
其中,第二事务请求可以是与第一事务请求相关联,但是由不同区块链上的节点处理的事务请求。第一事务请求和第二事务请求具有相同的关联标记。所述第一事务请求的数量和/或第二事务请求的数量为一个或多个。第二事务请求在其他区块链的上链证明可以是,用于证明第二事务请求与第一事务请求之间的关联性,以及证明第二事务请求已在其他区块链进行上链存储的数据信息。其中,上链证明中可以包括但不限于:生成第二事务请求的关联标记的谜底字符串,以及表征第二事务请求已在其他区块链上链存储的上链信息。可选的,上链信息可以包括但不限于:第二事务请求已上链的事务数据,以及第二事务请求对应的梅克尔树路径信息等。
可选的,在本申请中,上链证明可以是用户发起的,区块链节点获取第二事务请求在其他区块链的上链证明包括:获取用户发起的第二事务请求在其他区块链的上链证明事务请求。
具体的,用户向其他区块链发送第二事务请求后,会收到其他区块链反馈的上链信息。如可以是用户主动从其他区块链上查找获取,还可以是其他区块链主动向用户反馈。用户会根据第二事务请求在其他区块链的上链信息和生成第二事务请求的关联标记的谜底字符串,调用智能合约,生成第二事务请求在其他区块链的上链证明事务请求,发送至处理第一事务请求的区块链网络。处理第一事务请求的区块链节点就会接收到用户发起的第二事务请求在其他区块链的上链证明事务请求。本申请实施例通过上链事务请求的方式,获取第二事务请求在其他区块链的上链证明,相比于用户线下传输,提高了上链证明获取的安全性和可靠性。
S150,根据上链证明中的谜底字符串对第一事务请求和第二事务请求的关联性进行验证,且上链证明中的上链信息对第二事务请求的上链有效性进行验证。
本操作中,区块链节点在根据上链证明中的谜底字符串对第一事务请求和第二事务请求的关联性进行验证时,可以是采用上链证明中的谜底字符串按照设定的关联标记生成算法(即设定生成算法),生成该谜底字符串对应的关联标记,将本地生成的该关联标记与第一事务请求的关联标记进行一致性匹配,如果匹配成功,说明第一事务请求和第二事务请求的关联性验证通过。
区块链节点在根据上链证明中的上链信息对第二事务请求的上链有效性进行验证的方法有很多。对此本实施例不进行限定。可以是查看上链证明中是否包含第二事务请求在其他区块链上的上链信息,若包含,则说明对第二事务请求的上链有效性验证通过;还可以是根据上链证明中包含的第二事务请求在其他区块链上的上链信息,对第二事务请求在其他区块链中上链的事务数据的准确性进行验证,如果验证通过,则说明对第二事务请求的上链有效性验证通过。具体如何根据上链信息,对第二事务请求上链的事务数据进行准确性验证的方法,将在后续实施例进行详细介绍。
可选的,若本机节点获取的是用户发起的第二事务请求在其他区块链的上链证明事务请求。此时,可以是执行该上链证明事务请求,以从上链证明事务请求中获取谜底字符串,对第一事务请求和第二事务请求的关联性进行验证,且根据上链证明事务请求中的上链信息对第二事务请求的上链有效性进行验证;将执行上链证明事务请求而产生的上链证明事务数据进行上链存储。其中,上链证明事务数据,可以是根据上链证明事务请求中的谜底字符串进行两事务请求关联性验证,以及根据上链信息进行第二事务请求上链有效性验证的过程中,所产生的相关数据以及上链证明事务请求。对上链证明事务数据进行上链存储,以保证上链证明事务数据的可靠性和可追溯性。
S160,如果验证通过,则对第一事务数据的预生效写数据集解除锁定状态。
在本申请中,如果对第一事务请求和第二事务请求的关联性验证通过,且对第二事务请求的上链有效性也验证通过,则说明第一事务请求关联的第二事务请求的事务数据已上链存储。此时,可以将本地设置为锁定状态的预生效写数据集,进行解除锁定。例如,可以是将预生效写数据集的锁定状态标识删除,或将锁定状态标识修改为解锁标识。解除锁定状态后的预生效写数据集对应的数据对象,可以被其他事务请求所引用,例如,被读操作或被写操作。
需要说明的是,在本申请中,第一事务请求和第二事务请求的发起方用户可以相同也可以不同,只要保证第一事务请求和第二事务请求的关联标记是采用相同的谜底字符串按照一样的算法生成即可。当第一事务请求和第二事务请求的发起方用户不同时,可以是各发起方用户都知道生成关联标记的谜底字符串;还可以是只有部分发起方知道。可选的,当有部分发起方知道谜底字符串时,本申请实施例的执行过程可以包括:已知谜底发起方在生成关联标识后,向区块链1发起包含该关联标识的第一事务请求,同时将生成的关联标识发送至未知谜底发起方,此时,未知谜底发起方根据接收到的关联标识,向区块链2发起包含该关联标识的第二事务请求。相应的,由于未知谜底发起方不知道谜底字符串,所以其先不急于向区块链1发送上链证明,而是等区块链2接收已知谜底发起方发送的第一事务请求的上链证明,进行验证及上链等相关操作后,由于该上链证明中包含两方共有的谜底字符串,所以未知谜底发起方也就可以从区块链2中获取谜底字符串以及第二事务请求的上链信息,进而向区块链1发送第二事务请求的上链证明。
本申请实施例的技术方案,如果接收到的第一事务请求具有关联标记,则将执行该第一事务请求得到的第一事务数据上链存储后,先将基于该第一事务数据更新的本地预生效写数据集设为锁定状态,再通过第一事务请求关联的第二事务请求在其他区块链的上链证明,完成关联性和有效性验证后,解除本地预生效写数据集的锁定状态。本申请实施例,为具有关联关系的事务请求设置相同的关联标记,区块链节点在处理具有关联标记的事务请求时,无需通过中心化协调者来保证事务请求处理的原子性,而是由区块链节点自身通过具有关联关系的其他事务请求的上链证明进行关联性和有效性的验证,以实现跨链关联事务请求处理的去中性化和保证事务处理的原子性。
可选的,在本申请实施例中,关联标记的内容可选是字符串,且是基于用户设置的谜底字符串产生的。关联标记对应的谜底字符串在对相互关联的事务请求(如第一事务请求和第二事务请求)的进行关联性验证后,该关联标记对应的谜底字符串就被公开。为了保证用户每次发起的关联事务请求的谜底字符串的私密性,需要保证用户为每次发起的相互关联的事务请求的关联标记,与已处理的历史关联事务请求(即历史事务请求)的关联标记不同。具体的,确定第一事务请求具有关联标记之后,执行第一事务请求之前,还包括:识别所述关联标记是否存在于历史事务请求中,且历史事务请求的写数据集已经解除锁定状态;若是,则拒绝执行所述第一事务请求。
其中,历史事务请求可以是任意用户已经发起并处理完成的具有关联关系的事务请求。即,历史事务请求的关联标记,以及关联标记对应的谜底字符串已经公开。当区块链节点在确定本次接收的第一事务请求具有关联标记后,先识别该关联关系是否存在于某个历史事务请求中,且该历史事务请求处理后对应的预生效写数据集已经解除了锁定状态,若是则说明第一事务请求中的关联标记的谜底字符串已经被公开,此时,区块链节点应该拒绝执行该第一事务请求。这样设置的好处是可防止关联标记的谜底字符串被泄露,避免了恶意节点窃取历史关联标记的谜底字符串后发起恶意上链证明,保证了第一事务请求处理的安全性和可靠性。
需要说明的是,如果第一事务请求的关联标识存在于历史事务请求中,但是具有该关联标识的历史事务请求的写数据集仍处于锁定状态,此时由于具有该关联标识的历史事务请求还没有生效,即其对应的谜底字符串还没有被公开,此时可以继续执行第一事务请求。
实施例二
图2A为本申请实施例二提供的关联事务请求的跨链实现方法的流程图;图2B为本申请实施例二提供的梅克尔树根的计算原理示意图。本实施例在上述实施例的基础上,进行了进一步的优化,给出了根据所述上链证明中的谜底字符串对所述第一事务请求和第二事务请求的关联性进行验证,且根据所述上链证明中的上链信息对所述第二事务请求的上链有效性进行验证的具体情况介绍。如图2A-2B所示,该方法具体可以包括:
S201,获取用户发起的第一事务请求。
S202,如果确定第一事务请求具有关联标记,则执行第一事务请求,以产生对应的第一事务数据进行上链存储。
其中,关联标记基于用户设置的谜底字符串产生。
S203,根据第一事务数据更新本地的写数据集,且将第一事务数据更新的本地写数据集作为预生效写数据集,设置为锁定状态。
S204,获取第二事务请求在其他区块链的上链证明。
S205,根据上链证明中的谜底字符串,按照设定生成算法产生关联标记。
其中,设定生成算法是基于谜底字符串生成关联标记时,所采用的算法,该算法具有不可逆性,优选的,该设定生成算法为哈希算法。需要说明的是,用户发起的第一事务请求中的关联标记也是通过该设定生成算法得到的。
可选的,本申请中,区块链节点可以从上链证明中获取谜底字符串后,调用设定生成算法,对谜底字符串进行处理,得到该谜底字符串对应的关联标记。具体的,当设定生成算法为哈希算法,如sha256算法,此时区块链节点可以基于哈希算法对应的计算逻辑,如关联标记=sha256(谜底字符串),计算谜底字符串的哈希值,作为该谜底字符串的关联标识。
可选的,为了进一步避免用户发起的第一事务请求中的关联标记与历史事务请求中的关联标记重复,用户在根据其谜底字符串,按照设定生成算法产生关联标记时,可以是根据谜底字符串、第一事务请求所属的区块链标识以及第二事务请求所属的区块链标识,按照设定生成算法产生所述关联标记。具体的,当设定生成算法为哈希算法,如sha256算法,用户可以基于哈希算法对应的计算逻辑,如关联标记=sha256(谜底字符串+第一事务请求所属区块链标识+第二事务请求所属区块链标识),计算谜底字符串、第一事务请求所属区块链标识和第二事务请求所属区块链标识的哈希值,作为该谜底字符串的关联标识。相应的,区块链节点在执行本步骤时,可以是根据上链证明中的谜底字符串、第一事务请求所属的区块链标识以及第二事务请求所属的区块链标识,按照设定生成算法产生所述关联标记。具体的执行过程与上述介绍的用户生成关联标识的过程类似,不再赘述。
S206,将产生的关联标记与第一事务请求中包括的关联标记进行匹配。
可选的,本申请中,本机节点将本地根据上链证明中的谜底字符串,按照设定生成算法产生的关联标记,与第一事务请求中包含的关联标记进行一致性匹配。如果匹配成功,则说明第一事务请求和第二事务请求是相互关联的,即对第一事务请求和第二事务请求的关联性验证通过。否则,对第一事务请求和第二事务请求的关联性验证不通过。
S207,如果匹配成功,则第一事务请求和第二事务请求的关联性验证通过。
S208,根据上链证明中的第二事务请求的事务数据计算事务标识。
可选的,区块链节点从上链证明的上链信息中获取第二事务请求的事务数据,调用事务标识生成算法,对事务数据进行运算,得到该事务数据对应的事务标识。例如,若事务标识生成算法为哈希算法,则可以是对第二事务请求的事务数据进行哈希运算,得到的哈希值即为第二事务请求的事务标识。
S209,根据第二事务请求的事务标识,以及上链信息中第二事务请求的梅克尔树路径信息,计算第二事务请求所在区块中的梅克尔树根。
其中,所述梅克尔树路径信息包括与所述第二事务请求的事务标识一起生成所述梅克尔树根的其他节点标识。例如,如图2B所示的梅克尔树,假设事务标识5对应的是第二事务请求的事务标识,则要计算图2B所示的梅克尔树根,除了事务标识5外,还需要事务标识6、节点标识12和节点标识13,此时梅克尔树路径信息包括:事务标识6、节点标识12和节点标识13。所谓节点标识,是指梅克尔树上的各个树节点的标识,节点标识是两个下层标识通过哈希算法计算而得的。
可选的,由于梅克尔树路径信息中包括了除第二事务请求的事务标识外,生成梅克尔树根所需的其他节点标识。所以区块链节点可以根据本地计算的第二事务请求的事务标识,结合上链信息中的梅克尔树路径信息包含的各节点标识,计算出第二事务请求所在区块的梅克尔树根。例如,如图2B所示,区块链节点可以先根据本地计算的第二事务请求的事务标识(即事务标识5)和梅克尔树路径信息中的事物标识6,计算节点标识11,然后再根据梅克尔树路径信息中的节点标识12和计算出的节点标识11,计算节点标识14,最后根据梅克尔树路径信息中的节点标识13和计算出的节点标识14,计算出梅克尔树根。
S210,从第二事务请求所属区块链中获取第二事务请求所在区块的区块头信息。
可选的,区块链节点可以从第二事务请求所属区块链,即处理第二事务请求的区块链中,查找第二事务请求所在区块,然后获取该区块的区块头信息。本步骤获取区块链头信息时,至少获取区块头中记录的该区块的梅克尔树根。
S211,将计算的梅克尔树根与区块头信息中的梅克尔树根进行匹配。
可选的,区块链节点将从第二事务请求所属区块链中获取第二事务请求所在区块的梅克尔树根,与本地根据第二事务请求的事务标识和梅克尔树路径信息,计算得到的梅克尔树根进行一致性匹配。如果匹配成功,则说明第二事务请求上链的事务数据是有效的,即第二事务请求的上链有效性验证通过。否则,第二事务请求的上链有效性验证不通过。
S212,如果匹配,则确定第二事务请求的上链有效性验证通过。
S213,如果第一事务请求和第二事务请求的关联性验证通过,且第二事务请求的上链有效性验证通过,则对第一事务数据的预生效写数据集解除锁定状态。
可选的,在本申请中,如果通过S205-S207确定第一事务请求和第二事务请求的关联性验证通过;且通过S208-S212确定第二事务请求的上链有效性验证也通过,则说明第一事务请求关联的第二事务请求的事务数据上链有效,此时区块链节点可以对S203设置为锁定状态的预生效写数据集解除锁定状态。如果S205-S207的验证过程和S208-S212的验证过程,至少一次没有验证通过,则说明区块链节点获取的第二事务请求在其他区块链的上链证明有误。此时可以是继续保持预生效写数据的锁定状态,等待下次接收正确的上链证明;还可以是直接将预生效写数据设置为无效状态。
本申请实施例的技术方案,如果接收到的第一事务请求具有关联标记,则将执行该第一事务请求得到的第一事务数据上链存储后,先将基于该第一事务数据更新的本地预生效写数据集设为锁定状态,再通过第二事务请求在其他区块链的上链证明中的谜底字符串,生成一个关联标记与第一事务请求的关联标记匹配,以对第一事务请求和第二事务请求进行关联性验证。为第一事务请求和第二事务请求的关联性验证提供了一种新思路。根据上链证明中的第二事务请求的事务数据和梅克尔树路径信息,计算梅克尔树根与区块头中记录的梅克尔树根进行匹配,以对第二事务请求的上链有效性进行验证。提高了对第二事务请求的上链有效性验证的精准性。当关联性验证和有效性验证都通过,则解除本地预生效写数据集的锁定状态。以实现跨链关联事务请求处理的去中性化和保证事务处理的原子性。
实施例三
图3A-3B为本申请实施例三提供的关联事务请求的跨链实现方法的流程图。本实施例在上述各实施例的基础上,进行了进一步的优化,给出了将预生效写数据集设置为锁定状态之后,预生效数据集失效的两种情况介绍。
可选的,如3A示出了一种根据设定超期阈值,来确定预生效数据集是否失效的情况。该情况具体可以包括:
S301,获取用户发起的第一事务请求。
S302,如果确定第一事务请求具有关联标记,则执行第一事务请求,以产生对应的第一事务数据进行上链存储。
其中,关联标记基于用户设置的谜底字符串产生。
S303,根据第一事务数据更新本地的写数据集,且将第一事务数据更新的本地写数据集作为预生效写数据集,设置为锁定状态。
S304,判断是否获取到第二事务请求在其他区块链的上链证明,若是,则执行S305,若否,则执行S307。
在本操作中,区块链节点在将预生效写数据集设置为锁定状态后,就时刻等待获取用户发送的第二事务请求在其他区块链的上链证明,如果接收到该上链证明,就执行S305对第一事务请求和第二事务请求的关联性进行验证,以及对第二事务请求的上链有效性进行验证。如果没有接收到,就需要执行S307,判断当前时刻是否达到设定超期阈值。
S305,根据上链证明中的谜底字符串对第一事务请求和第二事务请求的关联性进行验证,且根据上链证明中的上链信息对第二事务请求的上链有效性进行验证。
S306,如果验证通过,则对第一事务数据的预生效写数据集解除锁定状态。
S307,判断是否达到设定超期阈值,若是,则执行S308,若否,则执行S304。
可选的,由于设置为锁定状态的预生效写数据集是不能被引用的,所以为了尽可能的降低对链上其他事务请求处理的影响,可以为本地锁定状态的预生效写数据设置设定超期阈值。该设定超期阈值可以是预先设定的预生效写数据的有效期限,其可以是默认的时长,如可以是等待预设个数(如3个)的区块生成时长。可选的,当第一事务请求和第二事务请求的发起时间不同步,或者其中一个的处理过程耗时较长,此时设置默认的设定超期阈值,可能会出现关联的某一事务请求还没处理完,就已经达到默认的设定超期阈值,导致事务请求处理失败。为了避免这种情况出现,本申请还可以是在用户发起第一事务请求和第二事务请求时,根据实际需求,在第一事务请求和第二事务请求中添加上该事务请求对应的设定超期阈值。
可选的,区块链节点如果在执行完将预生效写数据集设置为锁定状态后,没有接收到第二事务请求在其他区块链的上链证明,就判断当前时刻是否达到设定超期阈值。具体的,如果该设定超期阈值是默认时长,此时可以直接与默认时长进行比较,如果该设定超期阈值携带在事务请求中,此时可以是从所述第一事务请求中获取设定超期阈值,与当前时刻进行比较。如果达到设定超期阈值,则说明当前时刻已经达到该预生效写数据集的有效期限,需要执行S308,将该预生效写数据集设置为失效状态。如果未达到,则说明当前时刻还没有达到该预生效写数据集的有效期限,返回S304,继续等待获取第二事务请求在其他区块链的上链证明。
S308,如果达到设定超期阈值,则设置预生效写数据集为失效状态。
可选的,如果当前时刻达到设定超期阈值,可以将预生效写数据集的锁定状态标识改为失效状态标识。当第一事务请求对应的预生效写数据集无效时,说明该第一事务请求上链存储的事务数据是无效的,此时可以是在区块链中回滚该预生效写数据集对应的第一事务请求等。
可选的,如3B示出了一种根据事务撤销事务请求,来确定预生效数据集失效的情况。该情况具体可以包括:
S309,获取用户发起的第一事务请求。
S310,如果确定第一事务请求具有关联标记,则执行第一事务请求,以产生对应的第一事务数据进行上链存储。
其中,关联标记基于用户设置的谜底字符串产生。
S311,根据第一事务数据更新本地的写数据集,且将第一事务数据更新的本地写数据集作为预生效写数据集,设置为锁定状态。
可选的,在本情况下,区块链节点在将预生效写数据即设置为锁定状态后,如果获取到第二事务请求在其他区块链的上链证明,则执行S312-S313的操作。如果获取到用户发起的第一事务撤销事务请求,则执行S314的操作。
S312,若获取第二事务请求在其他区块链的上链证明,则根据上链证明中的谜底字符串对第一事务请求和第二事务请求的关联性进行验证,且根据上链证明中的上链信息对第二事务请求的上链有效性进行验证。
S313,如果验证通过,则对第一事务数据的预生效写数据集解除锁定状态。
S314,若获取用户发起的第一事务撤销事务请求,则执行第一事务撤销事务请求,以在区块链中回滚第一事务请求,使得预生效写数据失效。
其中,第一事务撤销事务请求可以是用户需要撤销第一事务请求的事务数据时,基于智能合约发起向当前区块链网络发起的事务请求。例如,用户在第二事务请求所属区块链上没有查找到第二事务请求的上链信息,或者是用户发起第一事务请求后,又想撤销本次事务请求时,可以向第一事务请求所属区块链发送第一事务撤销事务请求。该第一事务撤销事务请求用于请求区块链节点撤销已执行的第一事务请求的事务数据,例如,可以是通过回滚的方式撤销。
在本操作中,区块链节点可以在本机中获取到用户发起的第一事务撤销事务请求,也可以是通过区块链网络接收到其他节点传输的第一事务撤销事务请求。在获取到第一事务撤销事务请求后,可以调用智能合约运行该第一事务撤销事务请求,以实现在区块链中回滚第一事务请求。当第一事务请求被回滚,由该第一事务请求的事务数据更新的本地预生效写数据,也就相应的失效了,即S311设置为锁定状态的预生效写数据也就随着第一事务请求的回滚操作,回到了S311更新前的状态。
可选的,在本申请中,还可以是将上述介绍的两种确定预生效数据集失效的情况相结合,即区块链节点在将预生效写数据集设置为锁定状态之后,如果达到设定超期阈值,则设置所述预生效写数据集为失效状态。如果获取所述用户发起的第一事务撤销事务请求;执行所述第一事务撤销事务请求,以在区块链中回滚所述第一事务请求,使得所述预生效写数据失效。
本申请实施例的技术方案,如果接收到的第一事务请求具有关联标记,则将执行该第一事务请求得到的第一事务数据上链存储后,将基于该第一事务数据更新的本地预生效写数据集设为锁定状态;之后如果区块链节点获取了第二事务请求在其他区块链的上链证明,则进行关联性和有效性的相关验证,通过后解除本地预生效写数据集的锁定状态。如果达到设定超期阈值都没有接收到上链证明,和/或接收到第一事务撤销事务请求,则预生效写数据集失效。进一步完善了跨链关联事务请求的处理方法,进而更好的实现跨链关联事务请求处理的去中性化和保证事务处理的原子性。
实施例四
图4A为本申请实施例四提供的关联事务请求的跨链实现方法的信令图;图4B-4C为本申请实施例四提供的关联事务请求的跨链实现流程框图。本实施例在上述各实施例的基础上,进行了进一步的优化,给出了用户端、执行关联事务请求的两个区块链的节点,即第一区块链的节点和第二区块链的节点相互交互,完成关联事务请求的跨链实现方法的具体情况介绍。如图4A-4C所示,该方法具体可以包括:
S401,用户端根据谜底字符串,按照设定生成算法产生关联标记,并向第一区块链发起包含该关联标记的第一事务请求,向第二区块链发起包含该关联标记的第二事务请求。
可选的,用户端可以是根据谜底字符串、第一事务请求所属的第一区块链标识以及第二事务请求所属的第二区块链标识,按照设定生成算法产生所述关联标记。
示例性的,图4B中用户端在生成相互关联的第一事务请求和第二事务请求前,先根据谜底字符串,按照设定生成算法生成关联标记,用户端生成的第一事务请求中添加有该关联标记;生成的第二事务请求中也添加有该关联标记。由于本申请中的关联事务请求是需要跨链处理的,所以将第一事务请求发送至第一区块链处理,将第二事务请求发送至第二区块链处理。
S402,第一区块链的节点获取用户发起的第一事务请求。
S403,第二区块链的节点获取用户发起的第二事务请求。
S404,如果第一区块链节点确定第一事务请求具有关联标记,则执行第一事务请求,以产生对应的第一事务数据进行上链存储。
S405,如果第二区块链节点确定第二事务请求具有关联标记,则执行第二事务请求,以产生对应的第二事务数据进行上链存储。
S406,第一区块链的节点根据第一事务数据更新本地的写数据集,且将第一事务数据更新的本地写数据集作为预生效写数据集,设置为锁定状态。
S407,第二区块链的节点根据第二事务数据更新本地的写数据集,且将第二事务数据更新的本地写数据集作为预生效写数据集,设置为锁定状态。
示例性的,S402、S404和S406对应的是图4B中第一区块链处理第一事务请求的过程,S403、S405和S407对应的是图4B中第二区块链处理第二事务请求的过程。本申请中,无论是第一区块链的节点,还是第二区块链的节点,其在执行完该事务请求进行上链后,都需要将得到的事务数据更新的本地写数据集作为预生效写数据集进行锁定。
S408,用户端从第一区块链中获取第一事务请求的上链信息,并根据上链信息和谜底字符串,生成第一事务请求在第一区块链的上链证明,发送至第二区块链。
示例性的,如图4B所示,用户端可以在向第一区块链发送第一事务请求后,就等待第一区块链的节点处理完该第一事务请求后,从第一区块获取第一事务请求的上链信息,从而根据获取的第一事务请求的上链信息和谜底字符串生成第一事务请求的上链证明,然后发送至第二区块链。
S409,用户端从第二区块链中获取第二事务请求的上链信息,并根据上链信息和谜底字符串,生成第二事务请求在第二区块链的上链证明,发送至第一区块链。
示例性的,如图4B所示,用户端可以在向第二区块链发送第二事务请求后,按照S408类似的方法,生成第二事务请求的上链证明,然后发送至第一区块链。
S410,第一区块链的节点获取第二事务请求在第二区块链的上链证明。
S411,第一区块链的节点根据上链证明中的谜底字符串对第一事务请求和第二事务请求的关联性进行验证,且根据上链证明中的上链信息对第二事务请求的上链有效性进行验证。
S412,如果第一区块链的节点验证通过,则对第一事务数据的预生效写数据集解除锁定状态。
示例性的,如图4B所示,第一区块链节点获取用户发送的第二事务请求的上链证明后,如果根据该上链证明,对第一事务请求和第二事务请求的关联性验证通过,且对第二事务请求的上链有效性验证通过,则可以执行将第一事务数据的预生效写数据集解除锁定。
S413,第二区块链的节点获取第一事务请求在第一区块链的上链证明。
S414,第二区块链的节点根据上链证明中的谜底字符串对第一事务请求和第二事务请求的关联性进行验证,且根据上链证明中的上链信息对第一事务请求的上链有效性进行验证。
S415,如果第二区块链的节点验证通过,则对第二事务数据的预生效写数据集解除锁定状态。
示例性的,如图4B所示,第二区块链节点获取用户发送的第一事务请求的上链证明后,按照S411-S412类似的方法,验证通过后,将第二事务数据的预生效写数据集解除锁定。由图4B可以看出,此时第一事务请求和第二事务请求的事务数据都已上链存储,且对应的预生效写数据集也解除锁定,所以,此时关联事务请求的跨链处理完成。
需要说明的是,上述S401-S415的操作和图4B示出的是成功完成关联事务请求的跨链处理的情况,但是实际场景下,区块链节点可能会因为无法获取到关联事务请求的上链证明,导致关联事务请求跨链处理失败。
可能存在的原因如下:
原因一、用户端发送了第一事务请求和第二事务请求后,有一方区块链并没有成功将事务请求进行上链存储。此时用户端可以是不执行上述S408-S409的某一步。例如,如图4C所示,第二区块链在接收到用户发送的第二事务请求后,因为某些原因没有将第二事务请求的事务数据进行上链存储。此时用户端无法获取第二事务请求的上链信息,进而也就无法执行S409生成第二事务请求的上链证明发送至第一区块链。
原因二、若用户端发送了第一事务请求和第二事务请求后,又想撤回该事务请求,此时即使两事务请求的事务数据已经上链存储,用户端也可以不执行S408和S409的操作。或者是向第一区块链发送第一事务撤销事务请求;向第二区块链发送第二事务撤销事务请求。
针对上述两原因,无论是第一区块链的节点,还是第二区块链的节点,其在将预生效写数据集设置为锁定状态后,如果达到设定超期阈值还没有接收到关联事务数据的上链证明,和/或获取到用户发起的事务撤销事务请求,则说明其锁定的预生效写数据集失效了。具体的,如图4C所示,第一区块链的节点如果将第一事务请求的第一事务数据的预生效写数据集锁定后,达到设定超期阈值仍然没有收到用户发送的第二事务请求的上链证明,此时第一区块链的节点就会将第一事务数据的预生效写数据集设置为失效状态。如果第一区块链的节点获取到用户端发起的第一事务撤销事务请求,此时,第一区块链的节点需要执行该第一事务撤销事务请求,以在第一区块链中回滚该第一事务请求,使得预生效写数据失效。
本申请实施例的方案,给出了用户端和执行关联事务请求的不同区块链的节点,如何相互交互完成关联事务请求的跨链实现方法的具体情况介绍。本申请中用户为具有关联关系的事务请求设置相同的关联标记,处理各事务请求的区块链节点在本地协调相互关联的事务请求的处理过程,对其进行关联性和有效性验证,以实现跨链关联事务请求处理的去中性化和保证事务处理的原子性。
实施例五
图5为本申请实施例五提供的关联事务请求的跨链实现装置的结构示意图;本实施例适用于在多条区块链中分别发起关联事务请求来共同实现某一需求的跨链操作情况。该装置可实现本申请实施例一至实施例四所述的关联事务请求的跨链实现方法。该装置可集成于作为区块链节点的电子设备中,该装置500具体包括如下:
事务请求获取模块501,用于获取用户发起的第一事务请求;
事务请求执行模块502,用于如果确定所述第一事务请求具有关联标记,则执行所述第一事务请求,以产生对应的第一事务数据进行上链存储;其中,所述关联标记基于用户设置的谜底字符串产生;
数据更新锁定模块503,用于根据所述第一事务数据更新本地的写数据集,且将所述第一事务数据更新的本地写数据集作为预生效写数据集,设置为锁定状态;
上链证明获取模块504,用于获取第二事务请求在其他区块链的上链证明;
上链证明验证模块505,用于根据所述上链证明中的谜底字符串对所述第一事务请求和第二事务请求的关联性进行验证,且根据所述上链证明中的上链信息对所述第二事务请求的上链有效性进行验证;
数据解锁模块506,用于如果验证通过,则对所述第一事务数据的预生效写数据集解除锁定状态。
本申请实施例的技术方案,如果接收到的第一事务请求具有关联标记,则将执行该第一事务请求得到的第一事务数据上链存储后,先将基于该第一事务数据更新的本地预生效写数据集设为锁定状态,再通过第一事务请求关联的第二事务请求在其他区块链的上链证明,完成关联性和有效性验证后,解除本地预生效写数据集的锁定状态。本申请实施例,为具有关联关系的事务请求设置相同的关联标记,区块链节点在处理具有关联标记的事务请求时,无需通过中心化协调者来保证事务请求处理的原子性,而是由区块链节点自身通过具有关联关系的其他事务请求的上链证明进行关联性和有效性的验证,以实现跨链关联事务请求处理的去中性化和保证事务处理的原子性。
可选的,所述事务请求执行模块502在确定所述第一事务请求具有关联标记时,具体用于:
从所述第一事务请求的设定字段中解析获取关联标记。
可选的,所述事务请求执行模块502,在确定所述第一事务请求具有关联标记之后,执行所述第一事务请求之前,还用于:
识别所述关联标记是否存在于历史事务请求中,且所述历史事务请求的写数据集已经解除锁定状态;
若是,则拒绝执行所述第一事务请求。
可选的,所述事务请求执行模块502,还用于:
如果获取到的第三事务请求的预执行结果中的写数据对象,在本地数据中处于锁定状态,则拒绝执行所述第三事务请求的上链操作。
可选的,所述上链证明获取模块504,具体用于:
获取用户发起的第二事务请求在其他区块链的上链证明事务请求。
可选的,所述上链证明验证模块505具体用于:
执行所述上链证明事务请求,以从所述上链证明事务请求中获取谜底字符串,对所述第一事务请求和第二事务请求的关联性进行验证,且根据所述上链证明事务请求中的上链信息对所述第二事务请求的上链有效性进行验证;
将执行所述上链证明事务请求而产生的上链证明事务数据进行上链存储。
可选的,所述上链证明验证模块505包括:
关联标记产生单元,用于根据所述上链证明中的谜底字符串,按照设定生成算法产生关联标记,其中,所述设定生成算法为哈希算法;
关联标记匹配单元,用于将产生的所述关联标记与所述第一事务请求中包括的关联标记进行匹配;
关联性验证单元,用于如果匹配成功,则所述第一事务请求和第二事务请求的关联性验证通过。
可选的,所述关联标记产生单元,具体用于:
根据所述上链证明中的谜底字符串、第一事务请求所属的区块链标识以及第二事务请求所属的区块链标识,按照设定生成算法产生所述关联标记。
可选的,所述上链证明验证模块505,还包括:
事务标识计算单元,用于根据所述上链证明中的第二事务请求的事务数据计算事务标识;
梅克尔树根计算单元,用于根据所述第二事务请求的事务标识,以及所述上链信息中第二事务请求的梅克尔树路径信息,计算所述第二事务请求所在区块中的梅克尔树根;其中,所述梅克尔树路径信息包括与所述第二事务请求的事务标识一起生成所述梅克尔树根的其他节点标识;
区块头信息获取单元,用于从所述第二事务请求所属区块链中获取所述第二事务请求所在区块的区块头信息;
梅克尔树根匹配单元,用于将计算的梅克尔树根与所述区块头信息中的梅克尔树根进行匹配;
有效性验证单元,用于如果匹配,则确定所述第二事务请求的上链有效性验证通过。
可选的,所述装置还包括:
失效状态设置模块,用于如果达到设定超期阈值,则设置所述预生效写数据集为失效状态。
可选的,所述装置还包括:
超期阈值获取模块,用于从所述第一事务请求中获取所述设定超期阈值。
可选的,所述事务请求获取模块501还用于:获取所述用户发起的第一事务撤销事务请求;
所述事务请求执行模块502还用于:执行所述第一事务撤销事务请求,以在区块链中回滚所述第一事务请求,使得所述预生效写数据失效。
可选的,所述第一事务请求的数量和/或第二事务请求的数量为一个或多个。
实施例六
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图6所示,是根据本申请实施例的关联事务请求的跨链实现方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图6所示,该电子设备包括:一个或多个处理器601、存储器602,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器***)。图6中以一个处理器601为例。
存储器602即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的关联事务请求的跨链实现方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的关联事务请求的跨链实现方法。
存储器602作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的关联事务请求的跨链实现方法对应的程序指令/模块(例如,附图5所示的事务请求获取模块501、事务请求执行模块502、数据更新锁定模块503、上链证明获取模块504、上链证明验证模块505和数据解锁模块506)。处理器601通过运行存储在存储器602中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的关联事务请求的跨链实现方法。
存储器602可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储根据关联事务请求的跨链实现方法的电子设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器602可选包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至关联事务请求的跨链实现方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
关联事务请求的跨链实现方法的电子设备还可以包括:输入装置603和输出装置604。处理器601、存储器602、输入装置603和输出装置604可以通过总线或者其他方式连接,图6中以通过总线连接为例。
输入装置603可接收输入的数字或字符信息,以及产生与关联事务请求的跨链实现方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置604可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,如果接收到的第一事务请求具有关联标记,则将执行该第一事务请求得到的第一事务数据上链存储后,先将基于该第一事务数据更新的本地预生效写数据集设为锁定状态,再通过第一事务请求关联的第二事务请求在其他区块链的上链证明,完成关联性和有效性验证后,解除本地预生效写数据集的锁定状态。本申请实施例,为具有关联关系的事务请求设置相同的关联标记,区块链节点在处理具有关联标记的事务请求时,无需通过中心化协调者来保证事务请求处理的原子性,而是由区块链节点自身通过具有关联关系的其他事务请求的上链证明进行关联性和有效性的验证,以实现跨链关联事务请求处理的去中性化和保证事务处理的原子性。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (16)
1.一种关联事务请求的跨链实现方法,其特征在于,由区块链节点执行,所述方法包括:
获取用户发起的第一事务请求;
如果确定所述第一事务请求具有关联标记,则执行所述第一事务请求,以产生对应的第一事务数据进行上链存储;其中,所述关联标记基于用户设置的谜底字符串产生;
根据所述第一事务数据更新本地的写数据集,且将所述第一事务数据更新的本地写数据集作为预生效写数据集,设置为锁定状态;
获取第二事务请求在其他区块链的上链证明;
根据所述上链证明中的谜底字符串对所述第一事务请求和第二事务请求的关联性进行验证,且根据所述上链证明中的上链信息对所述第二事务请求的上链有效性进行验证;
如果验证通过,则对所述第一事务数据的预生效写数据集解除锁定状态。
2.根据权利要求1所述的方法,其特征在于,确定所述第一事务请求具有关联标记包括:
从所述第一事务请求的设定字段中解析获取关联标记。
3.根据权利要求1所述的方法,其特征在于,确定所述第一事务请求具有关联标记之后,执行所述第一事务请求之前,还包括:
识别所述关联标记是否存在于历史事务请求中,且所述历史事务请求的写数据集已经解除锁定状态;
若是,则拒绝执行所述第一事务请求。
4.根据权利要求1所述的方法,其特征在于,所述写数据集包括被所述第一事务数据进行更新的数据对象的集合,将所述预生效写数据集设置为锁定状态之后,还包括:
如果获取到的第三事务请求的预执行结果中的写数据对象,在本地数据中处于锁定状态,则拒绝执行所述第三事务请求的上链操作。
5.根据权利要求1所述的方法,其特征在于,获取第二事务请求在其他区块链的上链证明包括:
获取用户发起的第二事务请求在其他区块链的上链证明事务请求。
6.根据权利要求5所述的方法,其特征在于,根据所述上链证明中的谜底字符串对所述第一事务请求和第二事务请求的关联性进行验证,且根据所述上链证明中的上链信息对所述第二事务请求的上链有效性进行验证包括:
执行所述上链证明事务请求,以从所述上链证明事务请求中获取谜底字符串,对所述第一事务请求和第二事务请求的关联性进行验证,且根据所述上链证明事务请求中的上链信息对所述第二事务请求的上链有效性进行验证;
将执行所述上链证明事务请求而产生的上链证明事务数据进行上链存储。
7.根据权利要求1或5所述的方法,其特征在于,根据所述上链证明中的谜底字符串对所述第一事务请求和第二事务请求的关联性进行验证包括:
根据所述上链证明中的谜底字符串,按照设定生成算法产生关联标记,其中,所述设定生成算法为哈希算法;
将产生的所述关联标记与所述第一事务请求中包括的关联标记进行匹配;
如果匹配成功,则所述第一事务请求和第二事务请求的关联性验证通过。
8.根据权利要求7所述的方法,其特征在于,根据所述上链证明中的谜底字符串,按照设定生成算法产生关联标记包括:
根据所述上链证明中的谜底字符串、第一事务请求所属的区块链标识以及第二事务请求所属的区块链标识,按照设定生成算法产生所述关联标记。
9.根据权利要求1或5所述的方法,其特征在于,根据所述上链证明中的上链信息对所述第二事务请求的上链有效性进行验证包括:
根据所述上链证明中的第二事务请求的事务数据计算事务标识;
根据所述第二事务请求的事务标识,以及所述上链信息中第二事务请求的梅克尔树路径信息,计算所述第二事务请求所在区块中的梅克尔树根;其中,所述梅克尔树路径信息包括与所述第二事务请求的事务标识一起生成所述梅克尔树根的其他节点标识;
从所述第二事务请求所属区块链中获取所述第二事务请求所在区块的区块头信息;
将计算的梅克尔树根与所述区块头信息中的梅克尔树根进行匹配;
如果匹配,则确定所述第二事务请求的上链有效性验证通过。
10.根据权利要求1所述的方法,其特征在于,将预生效写数据集设置为锁定状态之后,还包括:
如果达到设定超期阈值,则设置所述预生效写数据集为失效状态。
11.根据权利要求10所述的方法,其特征在于,如果达到设定超期阈值,则设置所述预生效写数据集为失效状态之前,还包括:
从所述第一事务请求中获取所述设定超期阈值。
12.根据权利要求1所述的方法,其特征在于,将预生效写数据集设置为锁定状态之后,还包括:
获取所述用户发起的第一事务撤销事务请求;
执行所述第一事务撤销事务请求,以在区块链中回滚所述第一事务请求,使得所述预生效写数据失效。
13.根据权利要求1所述的方法,其特征在于,所述第一事务请求的数量和/或第二事务请求的数量为一个或多个。
14.一种关联事务请求的跨链实现装置,其特征在于,配置于区块链节点中,所述装置包括:
事务请求获取模块,用于获取用户发起的第一事务请求;
事务请求执行模块,用于如果确定所述第一事务请求具有关联标记,则执行所述第一事务请求,以产生对应的第一事务数据进行上链存储;其中,所述关联标记基于用户设置的谜底字符串产生;
数据更新锁定模块,用于根据所述第一事务数据更新本地的写数据集,且将所述第一事务数据更新的本地写数据集作为预生效写数据集,设置为锁定状态;
上链证明获取模块,用于获取第二事务请求在其他区块链的上链证明;
上链证明验证模块,用于根据所述上链证明中的谜底字符串对所述第一事务请求和第二事务请求的关联性进行验证,且根据所述上链证明中的上链信息对所述第二事务请求的上链有效性进行验证;
数据解锁模块,用于如果验证通过,则对所述第一事务数据的预生效写数据集解除锁定状态。
15.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-13中任一项所述的关联事务请求的跨链实现方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-13中任一项所述的关联事务请求的跨链实现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010218939.0A CN111399993B (zh) | 2020-03-25 | 2020-03-25 | 一种关联事务请求的跨链实现方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010218939.0A CN111399993B (zh) | 2020-03-25 | 2020-03-25 | 一种关联事务请求的跨链实现方法、装置、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111399993A CN111399993A (zh) | 2020-07-10 |
CN111399993B true CN111399993B (zh) | 2023-03-07 |
Family
ID=71433020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010218939.0A Active CN111399993B (zh) | 2020-03-25 | 2020-03-25 | 一种关联事务请求的跨链实现方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111399993B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112579700B (zh) * | 2020-12-14 | 2024-05-28 | 深圳前海微众银行股份有限公司 | 一种跨链事务处理方法及装置 |
CN112650764B (zh) * | 2020-12-30 | 2024-07-09 | 北京百度网讯科技有限公司 | 跨链数据处理方法、装置、设备和存储介质 |
CN115021990B (zh) * | 2022-05-26 | 2023-06-23 | 西安电子科技大学 | 一种面向联盟链的通用异步跨链交易方法 |
WO2024017798A1 (en) * | 2022-07-22 | 2024-01-25 | Nchain Licensing Ag | Proving and verifying input data |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108596588A (zh) * | 2018-04-28 | 2018-09-28 | 百度在线网络技术(北京)有限公司 | 一种区块数据的处理方法、装置、计算设备和存储介质 |
CN109426949A (zh) * | 2017-08-29 | 2019-03-05 | 华为技术有限公司 | 一种跨链交易方法及装置 |
CN110070360A (zh) * | 2019-04-28 | 2019-07-30 | 百度在线网络技术(北京)有限公司 | 一种事务请求处理方法、装置、设备及存储介质 |
CN110232094A (zh) * | 2019-05-06 | 2019-09-13 | 深圳壹账通智能科技有限公司 | 跨链交易的装置、方法及存储介质 |
CN110442652A (zh) * | 2019-08-15 | 2019-11-12 | 腾讯科技(深圳)有限公司 | 一种基于区块链的跨链数据处理方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190172026A1 (en) * | 2017-12-02 | 2019-06-06 | Alchemy Limited LLC | Cross blockchain secure transactions |
-
2020
- 2020-03-25 CN CN202010218939.0A patent/CN111399993B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109426949A (zh) * | 2017-08-29 | 2019-03-05 | 华为技术有限公司 | 一种跨链交易方法及装置 |
CN108596588A (zh) * | 2018-04-28 | 2018-09-28 | 百度在线网络技术(北京)有限公司 | 一种区块数据的处理方法、装置、计算设备和存储介质 |
CN110070360A (zh) * | 2019-04-28 | 2019-07-30 | 百度在线网络技术(北京)有限公司 | 一种事务请求处理方法、装置、设备及存储介质 |
CN110232094A (zh) * | 2019-05-06 | 2019-09-13 | 深圳壹账通智能科技有限公司 | 跨链交易的装置、方法及存储介质 |
CN110442652A (zh) * | 2019-08-15 | 2019-11-12 | 腾讯科技(深圳)有限公司 | 一种基于区块链的跨链数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111399993A (zh) | 2020-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111399993B (zh) | 一种关联事务请求的跨链实现方法、装置、设备和介质 | |
KR102611812B1 (ko) | 블록체인에 기반한 데이터 처리 방법, 장치, 기기, 저장매체 및 프로그램 | |
CN110032571B (zh) | 业务流程处理方法、装置、存储介质及计算设备 | |
US10778603B2 (en) | Systems and methods for controlling access to broker resources | |
CN106470184B (zh) | 安全认证方法、装置及*** | |
CN110365491A (zh) | 业务处理方法、装置、设备、存储介质以及数据共享*** | |
CN102591716B (zh) | 数据项管理器 | |
EP3852040A2 (en) | Blockchain transfer processing method and apparatus, device, and medium | |
CN110866740B (zh) | 一种区块链事务请求的处理方法、装置、电子设备和介质 | |
US20230403141A1 (en) | Cloud platform resource cross-project transfer method and system, and computer storage medium | |
CN111352706A (zh) | 一种数据访问方法、装置、设备及存储介质 | |
CN113935070B (zh) | 基于区块链的数据处理方法、装置、设备以及存储介质 | |
CN111339114A (zh) | 一种数据访问方法、装置、设备及存储介质 | |
CN107819729B (zh) | 一种数据请求方法及其***、接入设备、存储设备和存储介质 | |
CN115955362B (zh) | 基于区块链的数据存储及通信方法、装置、设备和介质 | |
CN115481440B (zh) | 数据处理方法、装置、电子设备和介质 | |
US20220224536A1 (en) | Method and apparatus for blockchain community governance, device and storage medium | |
CN114205367B (zh) | 一种上级和下级平台数据同步方法、装置及介质 | |
US20220230171A1 (en) | Method and apparatus for blockchain community governance, device and storage medium | |
CN113626850B (zh) | 基于联盟链的请求处理方法、装置、设备和存储介质 | |
CN111339571B (zh) | 一种区块链密钥管理方法、装置、设备和存储介质 | |
CN110765210B (zh) | 基于区块链的鉴权方法、装置、设备和介质 | |
CN111417944A (zh) | 用于增强型比特币钱包的计算机实现的***和方法 | |
CN111737758B (zh) | 区块链网络的权限管理方法、装置、设备以及存储介质 | |
KR102304954B1 (ko) | 피어 노드, 피어 노드에서 수행되는 처리 방법 및 블록체인 플랫폼 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |