1.本技术涉及区块链技术领域,尤其涉及一种跨
分片交易方法、设备及介质。
背景技术:
2.区块链技术是利用块链式
数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。简单的讲,区块链就是去中心化的分布式账本。
3.分片技术是区块链用来解决效率问题与可扩展性问题的主流技术之一。分片技术在不削弱区块链去中心化程度的基础上,将区块链节点和交易
信息从逻辑意义上划分为多个分片,多个相互独立的分片并行运行,且可执行多个交易,从而提升区块链的吞吐量。
4.现有技术中对于跨分片交易,由于接收数据的片区难以与发送数据的片区进行数据真实性的验证,进而难以保证交易数据是否存在篡改的可能,以致难以确保跨分片交易的准确性。
技术实现要素:
5.本技术实施例提供了一种跨分片交易方法、设备及介质,用于解决如下技术问题:现有技术中对于分片交易,难以保证交易数据是否存在篡改的可能,以致难以确保跨分片交易的准确性。
6.本技术实施例采用下述技术方案:
7.本技术实施例提供一种跨分片交易方法。通过第一分片对应的验证器获取跨分片交易信息,以确定跨分片交易信息所对应的交易方身份信息;在交易方身份信息中包括第一分片信息的情况下,通过验证器向交易方身份信息所对应的第二分片发送merkle证明请求信息;确定出第二分片发送的merkle证明中的检索关键词,根据检索关键词确定出相应的密文标识符集,以基于密文标识符集对当前交易信息在第二分片的数据状态进行验证;其中,密文标识符集中包括一个或多个密文标识,且密文标识与跨分片交易信息相关;基于数据状态,在第一分片上执行相应交易指令,并在交易完成后,接收第一分片与第二分片分别发送的对账信息请求,以基于对账信息请求中的数字身份标识与对账信息,对当前交易数据进行比对,在比对结果一致的情况下,完成当前跨分片交易。
8.本技术实施例通过确定出merkle证明中的检索关键词,根据检索关键词确定出相应的密文标识符集,以基于密文标识符集对当前交易信息在第二分片的数据状态进行验证。从而能够在交易信息加密的情况下,确定出当前交易的状态,防止交易数据被篡改,提高交易的安全性。其次,本技术实施例在交易指令完成后,会通过接收第一分片与第二分片分别发送的对账信息请求,对交易信息进行比对,并在比对结果正确的情况下,确定当前交易完成,从而进一步确保交易数据的准确性。
9.在本技术的一种实现方式中,确定出第二分片发送的merkle证明中的检索关键
词,根据检索关键词确定出相应的密文标识符集之前,方法还包括:通过分词系统对第一分片对应的当前交易数据内容进行分词处理,得到关键词集;对关键词集中的各关键词进行加密处理,得到加密关键词集;以及对当前交易数据内容对应的明文文档进行aes加密,得到密文文档;确定出关键词集中的各关键词分别对应的一个或多个明文文档的标识符,对明文文档的标识符进行加密处理得到密文标识,以基于密文标识构建加密关键词链表;其中,每个加密关键词链表中包括一个或多个密文标识;确定出各加密关键词链表分别对应的节点信息,以及确定出各加密关键词链表中的头节点信息,通过节点信息、头节点信息以及密文文档得到安全倒排索引。
10.在本技术的一种实现方式中,通过第一分片对应的第一验证器获取跨分片交易信息之前,方法还包括:获取当前第二分片对应的交易状态数据信息,基于安全倒排索引算法得到交易状态数据信息对应的密文标识;对密文标识进行哈希计算,得到密文标识对应的哈希值;根据密文标识对应的交易信息的获取顺序,以及各密文标识分别对应的串接值进行哈希计算,得到第二分片对应的merkle哈希树以及根节点的哈希值。
11.在本技术的一种实现方式中,确定出第二分片发送的merkle证明中的检索关键词,根据检索关键词确定出相应的密文标识符集,以基于认证符集对当前交易信息在第二分片的数据状态进行验证,具体包括:基于merkle证明,获取第二分片对应的检索关键词;根据检索关键词确定出相应的密文标识符集;其中,密文标识符集中包括一个或多个密文标识;从叶子节点逆向遍历密文标识符集,以得到叶子结点至根节点的路径所包含的兄弟节点的哈希值;基于兄弟节点的哈希值得到根节点的参考哈希值,将参考哈希值与merkle证明中根节点的哈希值进行比对,在比对结果一致的情况下,确定第二分片的数据正确;通过密钥对验证通过的密文标识符集进行解密,以得到第二分片对应的交易明文数据,以基于交易明文数据确定出交易状态。
12.在本技术的一种实现方式中,基于密文标识符集对当前交易信息在第二分片的数据状态进行验证之后,方法还包括:获取第二分片的数据状态;其中,数据状态至少包括交易已执行状态信息与交易未执行状态信息;在数据状态为交易已执行状态的情况下,对跨分片交易信息进行丢弃处理;在数据状态为交易未执行状态的情况下,基于数据信息确定出跨分片交易信息所对应的交易内容。
13.在本技术的一种实现方式中,基于密文标识符集对当前交易信息在第二分片的数据状态进行验证之后,方法还包括:响应于第一分片发送的交易数据请求,将交易数据请求转发给第二分片;在第二分片处,根据交易数据请求中携带的第一分片对应的身份信息以及交易数据信息生成授权信息,以对第一分片进行授权,以及将交易数据请求发送给区块链服务器;在区块链服务器处,响应于接收到的授权信息,将授权信息转发给第一分片;以及在第一分片处,根据授权信息从第一分片上获取交易数据。
14.在本技术的一种实现方式中,接收第一分片与第二分片分别发送的对账信息请求,以基于对账信息请求中的数字身份标识与对账信息,对当前交易数据进行比对,在比对结果一致的情况下,完成当前跨分片交易,具体包括:获取第一分片提交的用于生成与第二分片对应的对账信息的第一生成请求;其中,生成请求中包括由第一分片提供的与第二分片相关的交易数据;基于第一分片相关的交易数据,生成与目标业务对应的第一对账内容,并基于第一分片对应的数字身份标识和第二分片对应的数字身份标识,生成合作标识;其
中,合作标识用于指示第一分片和第二分片基于目标业务的对账者身份;将第一对账内容进行哈希计算,并基于计算结果与合作标识,生成与目标业务对应的第一加密对账信息;获取第二分片提交的用于生成与第一分片对应的对账信息的第二生成请求;其中,生成请求中包括由第二分片提供的与第一分片相关的业务数据;基于第二生成请求生成第二加密对账信息,以基于第一加密对账信息与第二加密对账信息,对当前跨分片交易进行验证。
15.在本技术的一种实现方式中,基于第二生成请求生成第二加密对账信息,以基于第一加密对账信息与第二加密对账信息,对当前跨分片交易进行验证,具体包括:基于第二分片相关的交易数据,生成与目标业务对应的第二对账内容,并基于第二分片对应的数字身份标识和第一分片对应的数字身份标识,生成合作标识;将第二对账内容进行哈希计算,并基于计算结果与合作标识生成与目标业务对应的第二加密对账信息;将第一加密对账信息与第二对账加密信息分别对应的合作标识进行比对,在合作标识比对结果一致的情况下,对第一加密对账信息与第二对账加密信息分别对应的哈希计算结果进行比对,在哈希计算结果一致的情况下,确定当前交易正确。
16.本技术实施例提供一种跨分片交易设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够:通过第一分片对应的验证器获取跨分片交易信息,以确定跨分片交易信息所对应的交易方身份信息;在交易方身份信息中包括第一分片信息的情况下,通过验证器向交易方身份信息所对应的第二分片发送merkle证明请求信息;确定出第二分片发送的merkle证明中的检索关键词,根据检索关键词确定出相应的密文标识符集,以基于密文标识符集对当前交易信息在第二分片的数据状态进行验证;其中,密文标识符集中包括一个或多个密文标识,且密文标识与跨分片交易信息相关;基于数据状态,在第一分片上执行相应交易指令,并在交易完成后,接收第一分片与第二分片分别发送的对账信息请求,以基于对账信息请求中的数字身份标识与对账信息,对当前交易数据进行比对,在比对结果一致的情况下,完成当前跨分片交易。
17.本技术实施例提供的一种非易失性计算机存储介质,存储有计算机可执行指令,计算机可执行指令设置为:通过第一分片对应的验证器获取跨分片交易信息,以确定跨分片交易信息所对应的交易方身份信息;在交易方身份信息中包括第一分片信息的情况下,通过验证器向交易方身份信息所对应的第二分片发送merkle证明请求信息;确定出第二分片发送的merkle证明中的检索关键词,根据检索关键词确定出相应的密文标识符集,以基于密文标识符集对当前交易信息在第二分片的数据状态进行验证;其中,密文标识符集中包括一个或多个密文标识,且密文标识与跨分片交易信息相关;基于数据状态,在第一分片上执行相应交易指令,并在交易完成后,接收第一分片与第二分片分别发送的对账信息请求,以基于对账信息请求中的数字身份标识与对账信息,对当前交易数据进行比对,在比对结果一致的情况下,完成当前跨分片交易。
18.本技术实施例采用的上述至少一个技术方案能够达到以下有益效果:本技术实施例通过确定出merkle证明中的检索关键词,根据检索关键词确定出相应的密文标识符集,以基于密文标识符集对当前交易信息在第二分片的数据状态进行验证。从而能够在交易信息加密的情况下,确定出当前交易的状态,防止交易数据被篡改,提高交易的安全性。其次,本技术实施例在交易指令完成后,会通过接收第一分片与第二分片分别发送的对账信息请
求,对交易信息进行比对,并在比对结果正确的情况下,确定当前交易完成,从而进一步确保交易数据的准确性。
附图说明
19.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附
20.图中:
21.图1为本技术实施例提供的一种跨分片交易方法流程图;
22.图2为本技术实施例提供的一种跨分片交易设备的结构示意图。
具体实施方式
23.本技术实施例提供一种跨分片交易方法、设备及介质。
24.为了使本技术领域的人员更好地理解本技术中的技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
25.区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。简单的讲,区块链就是去中心化的分布式账本。
26.分片技术是区块链用来解决效率问题与可扩展性问题的主流技术之一。分片技术在不削弱区块链去中心化程度的基础上,将区块链节点和交易信息从逻辑意义上划分为多个分片,多个相互独立的分片并行运行,且可执行多个交易,从而提升区块链的吞吐量。
27.现有技术中对于分片交易,由于接收数据的片区难以与发送数据的片区进行数据真实性的验证,进而难以保证交易数据是否存在篡改的可能,以致难以确保分片交易的准确性
28.为了解决上述问题,本技术实施例提供一种跨分片交易方法、设备及介质。通过确定出merkle证明中的检索关键词,根据检索关键词确定出相应的密文标识符集,以基于密文标识符集对当前交易信息在第二分片的数据状态进行验证。从而能够在交易信息加密的情况下,确定出当前交易的状态,防止交易数据被篡改,提高交易的安全性。其次,本技术实施例在交易指令完成后,会通过接收第一分片与第二分片分别发送的对账信息请求,对交易信息进行比对,并在比对结果正确的情况下,确定当前交易完成,从而进一步确保交易数据的准确性。
29.下面通过附图对本技术实施例提出的技术方案进行详细的说明。
30.图1为本技术实施例提供的一种跨分片交易方法流程图。如图1所示,跨分片交易方法包括如下步骤:
31.s101、通过第一分片对应的验证器获取跨分片交易信息,以确定跨分片交易信息所对应的交易方身份信息。
32.在本技术的一个实施例中,第一分片对应的验证器会实时获取跨分片交易信息,提供该验证器对该跨分片交易信息中携带的交易双方身份信息进行确定。
33.具体地,当第二分片需要向第一分片发起交易时,会向第一分片发送跨分片交易信息,该跨分片交易信息中包括需要进行交易的分片的身份信息,以及交易的数据信息。第一分片的验证器会对接收到的跨分片交易信息进行验证,在确定该跨分片交易信息中的交易方身份信息中存在第一分片的情况下,会进行下一步交易内容。
34.s102、在交易方身份信息中存在第一分片信息的情况下,通过验证器向交易方身份信息所对应的第二分片发送merkle证明请求信息。
35.在本技术的一个实施例中,在交易方身份信息中存在第一分片的情况下,第一分片的验证器会向第二分片发送merkle证明请求信息,在第二分片的验证器发送该merkle证明后,第一分片的验证器会将该merkle证明发送至区块链服务器,以通过区块链服务器对该merkle证明中的数据信息进行解析,以确定出当前交易状态与交易内容。
36.s103、确定出第二分片发送的merkle证明中的检索关键词,根据检索关键词确定出相应的密文标识符集,以基于密文标识符集对当前交易信息在第二分片的数据状态进行验证;其中,密文标识符集中包括一个或多个密文标识,且密文标识与跨分片交易信息相关。
37.在本技术的一个实施例中,通过分词系统对第一分片对应的当前交易数据内容进行分词处理,得到关键词集。对关键词集中的各关键词进行加密处理,得到加密关键词集,以及对当前交易数据内容对应的明文文档进行aes加密,得到密文文档。确定出关键词集中的各关键词分别对应的一个或多个明文文档的标识符,对明文文档的标识符进行加密处理得到密文标识,以基于密文标识构建加密关键词链表,其中,每个加密关键词链表中包括一个或多个密文标识。确定出各加密关键词链表分别对应的节点信息,以及确定出各加密关键词链表中的头节点信息,通过节点信息、头节点信息以及密文文档得到安全倒排索引。
38.具体地,获取第一分片对应的当前交易数据内容,通过分词系统对该当前交易数据内容进行分词处理,得到关键词集,对该关键词集中的各关键词进行加密处理,即可得到加密关键词集。以及对于当前交易数据对应的明文文档,对该明文文档进行aes算法加密,以得到密文文档。
39.进一步地,不同的明文文档会出现重复的关键词,因此,每一个关键词可能会对应一个或多个明文文档,对每一个明文文档建立相应的标识,由此,每一个关键词对应一个或多个标识符,即,每一个关键词可以对应一个标识符集。其次,为了确保数据的安全性,对每一个明文文档对应的标识符进行加密,可以得到加密后的标识符,即密文标识。由此,可以得到每个关键词分别对应的密文标识集,即,得到每个关键词分别对应的加密关键词链表,其中,该加密关键词链表中还包括相应的节点的节点地址。
40.进一步地,将每个加密关键词链表中的节点地址存储至第一数组,以及,将该加密关键词链表中的头节点地址存储至第二数组。通过该第一数组与第二数组构建出安全倒排索引。第二分片将该安全倒排索引与该密文文档发送至区块链服务器。
41.在本技术的一个实施例中,获取当前第二分片对应的交易状态数据信息,基于安
全倒排索引算法得到交易状态数据信息对应的密文标识。对密文标识进行哈希计算,得到密文标识对应的哈希值。根据密文标识对应的交易信息的获取顺序,以及各密文标识分别对应的串接值进行哈希计算,得到第二分片对应的merkle哈希树以及根节点的哈希值。
42.具体地,在第二分片处,基于第二分片对应的交易状态数据信息,确定出相应的关键词,以基于该确定出的相应的关键词与安全倒排索引算法,检索出与当前交易内容相关的密文标识。
43.进一步地,对该密文标识进行哈希计算,得到每个密文标识分别对应的哈希值。基于该每个密文标识分别对应的明文文档的获取时间,以及各个密文标识分别对应出串接值,构建该密文标识对应的merkle哈希树以及得到该merkle哈希树对应的根节点的哈希值。
44.在本技术的一个实施例中,基于merkle证明,获取第二分片对应的检索关键词。根据检索关键词确定出相应的密文标识符集;其中,密文标识符集中包括一个或多个密文标识。从叶子节点逆向遍历密文标识符集,以得到叶子结点至根节点的路径所包含的兄弟节点的哈希值。基于兄弟节点的哈希值得到根节点的参考哈希值,将参考哈希值与merkle证明中根节点的哈希值进行比对,在比对结果一致的情况下,确定第二分片的数据正确。通过密钥对验证通过的密文标识符集进行解密,以得到第二分片对应的交易明文数据,以基于交易明文数据确定出交易状态。
45.具体地,第一分片的验证器获取到第二分片发送的merkle证明后,获取该merkle证明中交易数据信息,以及获取该merkle证明中的根节点的哈希值。并将该交易数据信息与该根节点的哈希值上传至区块链服务器。区块链服务器基于获取到的交易数据信息,基于分词系统获取其相应的关键词,并基于该关键词与安全倒排索引确定出相应的密文标识符集。服务器从叶子节点开始逆向遍历,记录从叶子节点至根节点的遍历路径上所有兄弟节点的哈希值。基于所有兄弟节点的哈希值,得到当前根节点对应的参考哈希值。
46.进一步地,将获取到的参考哈希值与该merkle证明中的哈希值进行比对,以确定二者是否一致,在确定根节点的哈希值一致的情况下,确定获取到的第二分片的数据正确。此时,通过密钥可以对得到的密文标识符集进行解密,得到相应的明文文档,即,第二分片对应的交易明文数据。基于获取到的交易明文数据,可以确定出当前的交易内容与交易状态。
47.在本技术的一个实施例中,获取第二分片的数据状态;其中,数据状态至少包括交易已执行状态信息与交易未执行状态信息。在数据状态为交易已执行状态的情况下,对跨分片交易信息进行丢弃处理。在数据状态为交易未执行状态的情况下,基于数据信息确定出跨分片交易信息所对应的交易内容。
48.具体地,获取到第二分片的数据状态后,确定出第二分片的交易是否已经完成,若交易已经完成,则第一分片无需对接收到的跨分片交易信息进行相应处理,直接将该跨分片交易信息进行丢弃处理。若确定出第二分片的交易未完成,则根据第二分片的交易内容,确定出当前交易进度,以基于第二分片的交易进度,对当前跨分片交易信息作出响应。
49.在本技术的一个实施例中,响应于第一分片发送的交易数据请求,将交易数据请求转发给第二分片。在第二分片处,根据交易数据请求中携带的第一分片对应的身份信息以及交易数据信息生成授权信息,以对第一分片进行授权,以及将交易数据请求发送给区
块链服务器。在区块链服务器处,响应于接收到的授权信息,将授权信息转发给第一分片。以及在第一分片处,根据授权信息完成交易。
50.具体地,在确定出第二分片的交易处于未完成的状态下,第一分片向区块链服务器发送交易数据请求,区块链服务器将该交易数据请求发送至第二分片。第二分片接收到该交易数据请求后,基于该交易数据请求中的交易方身份信息与交易数据生成授权信息,以对第一分片进行授权,并将授权信息发送至区块链服务器。区块链服务器将接收到的授权信息发送至第一分片,第一分片基于授权信息完成当前交易内容。
51.s104、基于数据状态,在第一分片上执行相应交易指令,并在交易完成后,接收第一分片与第二分片分别发送的对账信息请求,以基于对账信息请求中的数字身份标识与对账信息,对当前交易数据进行比对,在比对结果一致的情况下,完成当前跨分片交易。
52.在本技术的一个实施例中,获取第一分片提交的用于生成与第二分片对应的对账信息的第一生成请求,其中,生成请求中包括由第一分片提供的与第二分片相关的交易数据。基于第一分片相关的交易数据,生成与目标业务对应的第一对账内容,并基于第一分片对应的数字身份标识和第二分片对应的数字身份标识,生成合作标识,其中,合作标识用于指示第一分片和第二分片基于目标业务的对账者身份。将第一对账内容进行哈希计算,并基于计算结果与合作标识,生成与目标业务对应的第一加密对账信息。获取第二分片提交的用于生成与第一分片对应的对账信息的第二生成请求,其中,生成请求中包括由第二分片提供的与第一分片相关的业务数据。基于第二生成请求生成第二加密对账信息,以基于第一加密对账信息与第二加密对账信息,对当前跨分片交易进行验证。
53.具体地,在第一分片与第二分片完成当前交易后,第一分片与第二分片会分别向区块链服务器发起对账信息请求,以对当前交易的准确性再次进行确认,以确保交易的准确性。
54.具体地,区块链服务器获取第一分片提交的对账信息的第一生成请求,其中,该第一生成请求中包括交易双方信息,即包括第一分片与第二分片,以及包含需要进行对账的目标业务信息。区块链服务器基于接收到的第一生成请求,生成第一对账内容,并根据第一生成请求中的交易双方信息,得到交易双方分别对应的数字身份标识,以根据交易双方分别对应的数字身份标识生成合作标识。其次,根据接收到的目标业务信息,确定出相应的第一分片中该目标业务对应的第一对账内容,并对该第一对账内容进行哈希计算,以根据哈希计算结果以及生成的合作标识得到第一分片中该目标业务对应的第一加密对账信息。
55.在本技术的一个实施例中,基于第二分片相关的交易数据,生成与目标业务对应的第二对账内容,并基于第二分片对应的数字身份标识和第一分片对应的数字身份标识,生成合作标识。将第二对账内容进行哈希计算,并基于计算结果与合作标识生成与目标业务对应的第二加密对账信息。将第一加密对账信息与第二对账加密信息分别对应的合作标识进行比对,在合作标识比对结果一致的情况下,对第一加密对账信息与第二对账加密信息分别对应的哈希计算结果进行比对,在哈希计算结果一致的情况下,确定当前交易正确。
56.具体地,区块链服务器获取第二分片提交的对账信息的第二生成请求,其中,该第二生成请求中包括交易双方信息,即包括第一分片与第二分片,以及包含需要进行对账的目标业务信息。区块链服务器基于接收到的第二生成请求,生成第二对账内容,并根据第二生成请求中的交易双方信息,得到交易双方分别对应的数字身份标识,以根据交易双方分
别对应的数字身份标识生成合作标识。其次,根据接收到的目标业务信息,确定出相应的第二分片中该目标业务对应的第二对账内容,并对该第二对账内容进行哈希计算,以根据哈希计算结果以及生成的合作标识得到第二分片中该目标业务对应的第二加密对账信息。
57.进一步地,将获取到的第一加密对账信息所对应的合作标识,与第二加密对账信息所对应的合作标识进行比对,在二者相同的情况下,将第一加密对账信息对应的哈希计算结果与第二加密对账信息对应的哈希计算结果进行比对,若二者对应的哈希计算结果一致,则确定当前交易正确,以完成当前跨片交易。
58.图2为本技术实施例提供的一种跨分片交易设备的结构示意图。如图2所示跨分片交易设备,包括:
59.至少一个处理器;以及,
60.与
所述至少一个处理器通信连接的存储器;其中,
61.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
62.通过第一分片对应的验证器获取跨分片交易信息,以确定所述跨分片交易信息所对应的交易方身份信息;
63.在所述交易方身份信息中包括所述第一分片信息的情况下,通过所述验证器向所述交易方身份信息所对应的第二分片发送merkle证明请求信息;
64.确定出第二分片发送的所述merkle证明中的检索关键词,根据所述检索关键词确定出相应的密文标识符集,以基于所述密文标识符集对当前交易信息在所述第二分片的数据状态进行验证;其中,所述密文标识符集中包括一个或多个密文标识,且所述密文标识与所述跨分片交易信息相关;
65.基于所述数据状态,在所述第一分片上执行相应交易指令,并在交易完成后,接收所述第一分片与所述第二分片分别发送的对账信息请求,以基于所述对账信息请求中的数字身份标识与对账信息,对当前交易数据进行比对,在比对结果一致的情况下,完成当前跨分片交易。
66.本技术实施例还提供一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
67.通过第一分片对应的验证器获取跨分片交易信息,以确定所述跨分片交易信息所对应的交易方身份信息;
68.在所述交易方身份信息中包括所述第一分片信息的情况下,通过所述验证器向所述交易方身份信息所对应的第二分片发送merkle证明请求信息;
69.确定出所述第二分片发送的merkle证明中的检索关键词,根据所述检索关键词确定出相应的密文标识符集,以基于所述密文标识符集对当前交易信息在所述第二分片的数据状态进行验证;其中,所述密文标识符集中包括一个或多个密文标识,且所述密文标识与所述跨分片交易信息相关;
70.基于所述数据状态,在所述第一分片上执行相应交易指令,并在交易完成后,接收所述第一分片与所述第二分片分别发送的对账信息请求,以基于所述对账信息请求中的数字身份标识与对账信息,对当前交易数据进行比对,在比对结果一致的情况下,完成当前跨分片交易。
71.本技术中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
72.上述对本技术特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
73.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术的实施例可以有各种更改和变化。凡在本技术实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
技术特征:
1.一种跨分片交易方法,其特征在于,所述方法包括:通过第一分片对应的验证器获取跨分片交易信息,以确定所述跨分片交易信息所对应的交易方身份信息;在所述交易方身份信息中包括所述第一分片信息的情况下,通过所述验证器向所述交易方身份信息所对应的第二分片发送merkle证明请求信息;确定出所述第二分片发送的merkle证明中的检索关键词,根据所述检索关键词确定出相应的密文标识符集,以基于所述密文标识符集对当前交易信息在所述第二分片的数据状态进行验证;其中,所述密文标识符集中包括一个或多个密文标识,且所述密文标识与所述跨分片交易信息相关;基于所述数据状态,在所述第一分片上执行相应交易指令,并在交易完成后,接收所述第一分片与所述第二分片分别发送的对账信息请求,以基于所述对账信息请求中的数字身份标识与对账信息,对当前交易数据进行比对,在比对结果一致的情况下,完成当前跨分片交易。2.根据权利要求1所述的一种跨分片交易方法,其特征在于,所述确定出所述第二分片发送的merkle证明中的检索关键词,根据所述检索关键词确定出相应的密文标识符集之前,所述方法还包括:通过分词系统对第一分片对应的当前交易数据内容进行分词处理,得到关键词集;对所述关键词集中的各关键词进行加密处理,得到加密关键词集;以及对所述当前交易数据内容对应的明文文档进行aes加密,得到密文文档;确定出所述关键词集中的各关键词分别对应的一个或多个明文文档的标识符,对所述明文文档的标识符进行加密处理得到密文标识,以基于所述密文标识构建加密关键词链表;其中,每个加密关键词链表中包括一个或多个密文标识;确定出各加密关键词链表分别对应的节点信息,以及确定出各所述加密关键词链表中的头节点信息,通过所述节点信息、所述头节点信息以及所述密文文档得到安全倒排索引。3.根据权利要求1所述的一种跨分片交易方法,其特征在于,所述通过第一分片对应的第一验证器获取跨分片交易信息之前,所述方法还包括:获取当前第二分片对应的交易状态数据信息,基于安全倒排索引算法得到所述交易状态数据信息对应的密文标识;对所述密文标识进行哈希计算,得到所述密文标识对应的哈希值;根据所述密文标识对应的交易信息的获取顺序,以及各所述密文标识分别对应的串接值进行哈希计算,得到所述第二分片对应的merkle哈希树以及根节点的哈希值。4.根据权利要求1所述的一种跨分片交易方法,其特征在于,所述确定出所述第二分片发送的merkle证明中的检索关键词,根据所述检索关键词确定出相应的密文标识符集,以基于所述认证符集对当前交易信息在所述第二分片的数据状态进行验证,具体包括:基于所述merkle证明,获取所述第二分片对应的检索关键词;根据所述检索关键词确定出相应的密文标识符集;其中,所述密文标识符集中包括一个或多个所述密文标识;从叶子节点逆向遍历所述密文标识符集,以得到所述叶子结点至根节点的路径所包含的兄弟节点的哈希值;
基于所述兄弟节点的哈希值得到根节点的参考哈希值,将所述参考哈希值与所述merkle证明中根节点的哈希值进行比对,在比对结果一致的情况下,确定所述第二分片的数据正确;通过密钥对验证通过的所述密文标识符集进行解密,以得到所述第二分片对应的交易明文数据,以基于所述交易明文数据确定出交易状态。5.根据权利要求1所述的一种跨分片交易方法,其特征在于,所述基于所述密文标识符集对当前交易信息在所述第二分片的数据状态进行验证之后,所述方法还包括:获取所述第二分片的数据状态;其中,所述数据状态至少包括交易已执行状态信息与交易未执行状态信息;在所述数据状态为交易已执行状态的情况下,对所述跨分片交易信息进行丢弃处理;在所述数据状态为交易未执行状态的情况下,基于所述数据信息确定出所述跨分片交易信息所对应的交易内容。6.根据权利要求1所述的一种跨分片交易方法,其特征在于,所述基于所述密文标识符集对当前交易信息在所述第二分片的数据状态进行验证之后,所述方法还包括:响应于所述第一分片发送的交易数据请求,将所述交易数据请求转发给所述第二分片;在所述第二分片处,根据所述交易数据请求中携带的所述第一分片对应的身份信息以及交易数据信息生成授权信息,以对所述第一分片进行授权,以及将授权信息发送给区块链服务器;在所述区块链服务器处,响应于接收到的所述授权信息,将所述授权信息转发给所述第一分片;以及在所述第一分片处,根据所述授权信息完成交易。7.根据权利要求1所述的一种跨分片交易方法,其特征在于,所述接收所述第一分片与所述第二分片分别发送的对账信息请求,以基于所述对账信息请求中的数字身份标识与对账信息,对当前交易数据进行比对,在比对结果一致的情况下,完成当前跨分片交易,具体包括:获取所述第一分片提交的用于生成与所述第二分片对应的对账信息的第一生成请求;其中,所述生成请求中包括由所述第一分片提供的与所述第二分片相关的交易数据;基于所述第一分片相关的交易数据,生成与目标业务对应的第一对账内容,并基于所述第一分片对应的数字身份标识和所述第二分片对应的数字身份标识,生成合作标识;其中,所述合作标识用于指示所述第一分片和所述第二分片基于所述目标业务的对账者身份;将所述第一对账内容进行哈希计算,并基于计算结果与所述合作标识,生成与所述目标业务对应的第一加密对账信息;获取所述第二分片提交的用于生成与所述第一分片对应的对账信息的第二生成请求;其中,所述生成请求中包括由所述第二分片提供的与所述第一分片相关的业务数据;基于所述第二生成请求生成第二加密对账信息,以基于所述第一加密对账信息与所述第二加密对账信息,对当前跨分片交易进行验证。8.根据权利要求7所述的一种跨分片交易方法,其特征在于,所述基于所述第二生成请
求生成第二加密对账信息,以基于所述第一加密对账信息与所述第二加密对账信息,对当前跨分片交易进行验证,具体包括:基于所述第二分片相关的交易数据,生成与目标业务对应的第二对账内容,并基于所述第二分片对应的数字身份标识和所述第一分片对应的数字身份标识,生成合作标识;将所述第二对账内容进行哈希计算,并基于计算结果与所述合作标识生成与所述目标业务对应的第二加密对账信息;将所述第一加密对账信息与所述第二对账加密信息分别对应的合作标识进行比对,在合作标识比对结果一致的情况下,对所述第一加密对账信息与所述第二对账加密信息分别对应的哈希计算结果进行比对,在哈希计算结果一致的情况下,确定当前交易正确。9.一种跨分片交易设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:通过第一分片对应的验证器获取跨分片交易信息,以确定所述跨分片交易信息所对应的交易方身份信息;在所述交易方身份信息中包括所述第一分片信息的情况下,通过所述验证器向所述交易方身份信息所对应的第二分片发送merkle证明请求信息;确定出所述第二分片发送的merkle证明中的检索关键词,根据所述检索关键词确定出相应的密文标识符集,以基于所述密文标识符集对当前交易信息在所述第二分片的数据状态进行验证;其中,所述密文标识符集中包括一个或多个密文标识,且所述密文标识与所述跨分片交易信息相关;基于所述数据状态,在所述第一分片上执行相应交易指令,并在交易完成后,接收所述第一分片与所述第二分片分别发送的对账信息请求,以基于所述对账信息请求中的数字身份标识与对账信息,对当前交易数据进行比对,在比对结果一致的情况下,完成当前跨分片交易。10.一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:通过第一分片对应的验证器获取跨分片交易信息,以确定所述跨分片交易信息所对应的交易方身份信息;在所述交易方身份信息中包括所述第一分片信息的情况下,通过所述验证器向所述交易方身份信息所对应的第二分片发送merkle证明请求信息;确定出所述第二分片发送的merkle证明中的检索关键词,根据所述检索关键词确定出相应的密文标识符集,以基于所述密文标识符集对当前交易信息在所述第二分片的数据状态进行验证;其中,所述密文标识符集中包括一个或多个密文标识,且所述密文标识与所述跨分片交易信息相关;基于所述数据状态,在所述第一分片上执行相应交易指令,并在交易完成后,接收所述第一分片与所述第二分片分别发送的对账信息请求,以基于所述对账信息请求中的数字身份标识与对账信息,对当前交易数据进行比对,在比对结果一致的情况下,完成当前跨分片
交易。
技术总结
本申请实施例公开了一种跨分片交易方法、设备及介质。通过第一分片对应的验证器获取跨分片交易信息,以确定跨分片交易信息所对应的交易方身份信息;在交易方身份信息中包括第一分片信息的情况下,通过验证器向交易方身份信息所对应的第二分片发送Merkle证明请求信息;确定出第二分片发送的Merkle证明中的检索关键词,根据检索关键词确定出相应的密文标识符集,以基于密文标识符集对当前交易信息在第二分片的数据状态进行验证;基于数据状态,在第一分片上执行相应交易指令,接收第一分片与第二分片分别发送的对账信息请求,以基于对账信息请求中的数字身份标识与对账信息,对当前交易数据进行比对,在比对结果一致的情况下,完成当前跨分片交易。成当前跨分片交易。成当前跨分片交易。
技术研发人员:
傅德谦 张庆
受保护的技术使用者:
临沂呆马区块链网络科技有限公司
技术研发日:
2022.11.14
技术公布日:
2023/3/27