首页 / 专利库 / 银行与财务事项 / 分布式账本技术 / 区块链 / 区块头 / 区块链中的信息查找方法、装置、存储介质和计算机设备

链中的信息查找方法、装置、存储介质和计算机设备

阅读:918发布:2020-05-11

专利汇可以提供链中的信息查找方法、装置、存储介质和计算机设备专利检索,专利查询,专利分析的服务。并且本 申请 涉及一种 区 块 链 中的信息查找方法、装置、存储介质和计算机设备,所述方法包括:从区块链获取目标交易的、隔离了交易变量的交易信息;获取与所述目标交易对应的下一笔交易的交易标识,根据所述交易标识获取所述下一笔交易的地址信息和公钥;对所述地址信息、所述公钥和所述交易信息进行哈希运算,得到所述下一笔交易的第一索引哈希值;按照所述第一索引哈希值,查找所述区块链中所述下一笔交易的交易信息。本申请提供的方案可以提高在区块链中查找交易信息的灵活性。,下面是链中的信息查找方法、装置、存储介质和计算机设备专利的具体信息内容。

1.一种链中的信息查找方法,包括:
从区块链获取目标交易的、隔离了交易变量的交易信息;
获取与所述目标交易对应的下一笔交易的交易标识,根据所述交易标识获取所述下一笔交易的地址信息和公钥;
对所述地址信息、所述公钥和所述交易信息进行哈希运算,得到所述下一笔交易的第一索引哈希值;
按照所述第一索引哈希值,查找所述区块链中所述下一笔交易的交易信息。
2.根据权利要求1所述的方法,其特征在于,所述按照所述第一索引哈希值,查找所述区块链中所述下一笔交易的交易信息包括:
按照所述第一索引哈希值查找所述区块链中对应的区块头
当所述区块头中的索引哈希值与所述第一索引哈希值匹配时,则从所述区块头对应的区块体中获取所述下一笔交易的交易信息。
3.根据权利要求2所述的方法,其特征在于,所述从所述区块头对应的区块体中获取所述下一笔交易的交易信息包括:
当所述区块体中保存有多笔交易信息时,在所述区块体中按照所述交易标识查找所述下一笔交易的交易信息。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从隔离了所述交易变量的交易信息中,查找交易输入状态信息;
在所述交易输入状态信息中提取所述目标交易对应的上一笔交易的第二索引哈希值;
按照所述第二索引哈希值,查找所述区块链中所述上一笔交易的交易信息。
5.根据权利要求4所述的方法,其特征在于,所述隔离了所述交易变量的交易信息包括:不包含签名信息的交易输入状态信息,以及不包含附加信息的交易输出状态信息;
所述从隔离了所述交易变量的交易信息中,查找交易输入状态信息包括:
对隔离了所述交易变量的交易信息进行解析;
根据解析的结果得到不包含所述签名信息的交易输入状态信息。
6.根据权利要求1所述的方法,其特征在于,所述从区块链获取目标交易的、隔离了交易变量的交易信息包括:
获取所述目标交易的交易哈希值;
根据所述交易哈希值从所述区块链中获取所述目标交易的包含交易变量的交易信息;
从所获取的交易信息中提取除所述交易变量之外的部分内容,以得到隔离了所述交易变量的交易信息。
7.根据权利要求6所述的方法,其特征在于,所述交易哈希值是将所述目标交易的、且包含交易变量的交易信息进行上链后,由所述区块链中相应节点对所述包含交易变量的交易信息进行哈希运算得到的;或者,
所述交易哈希值是将所述目标交易的、且包含交易变量的交易信息进行上链时,由服务器对包含所述交易变量的交易信息进行哈希运算得到的。
8.根据权利要求1所述的方法,其特征在于,所述从区块链获取目标交易的、隔离了交易变量的交易信息之前,所述方法还包括:
获取所述目标交易的、且包含交易变量的交易信息;
通过隔离见证方式将所获取的交易信息中的所述交易变量进行隔离,得到隔离了所述交易变量的交易信息;
将所得的交易信息存储于所述区块链。
9.根据权利要求8所述的方法,其特征在于,所述交易变量包括所述目标交易的签名信息和附加信息;所述将所获取的交易信息中的所述交易变量进行隔离,得到隔离了所述交易变量的交易信息包括:
在将所获取的交易信息中,获取交易输入状态信息和交易输出状态信息;
将所述交易输入状态信息中的签名信息进行隔离;以及,
对交易输出状态信息中的附加信息进行隔离,得到隔离了所述签名信息和所述附加信息的交易信息。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收终端发送的交易信息验证请求;所述交易信息验证请求携带了包含交易变量的交易信息;
对所述交易信息验证请求中的交易信息进行哈希运算,得到交易哈希值;
当根据所述交易哈希值从所述区块链中获取到匹配的交易信息时,则确定所述交易信息验证请求中的交易信息为真实交易信息。
11.一种区块链中的信息查找装置,其特征在于,所述装置包括:
交易信息获取模块,用于从区块链获取目标交易的、隔离了交易变量的交易信息;
地址信息获取模块,用于获取与所述目标交易对应的下一笔交易的交易标识,根据所述交易标识获取所述下一笔交易的地址信息和公钥;
哈希运算模块,用于对所述地址信息、所述公钥和所述交易信息进行哈希运算,得到所述下一笔交易的第一索引哈希值;
交易信息查找模块,用于按照所述第一索引哈希值,查找所述区块链中所述下一笔交易的交易信息。
12.根据权利要求11所述的装置,其特征在于,所述交易信息查找模块,还用于:
按照所述第一索引哈希值查找所述区块链中对应的区块头;
当所述区块头中的索引哈希值与所述第一索引哈希值匹配时,则从所述区块头对应的区块体中获取所述下一笔交易的交易信息。
13.根据权利要求12所述的装置,其特征在于,所述交易信息查找模块,还用于:
当所述区块体中保存有多笔交易信息时,在所述区块体中按照所述交易标识查找所述下一笔交易的交易信息。
14.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至10中任一项所述方法的步骤。
15.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至10中任一项所述方法的步骤。

说明书全文

链中的信息查找方法、装置、存储介质和计算机设备

[0001] 本申请是于2019年09月20日提交中国专利局,申请号为201910892829.X,发明名称为“区块链中的信息查找方法、装置、存储介质和计算机设备”的分案申请,其全部内容通过引用结合在本申请中。

技术领域

[0002] 本申请涉及区块链技术领域,特别是涉及一种区块链中的信息查找方法、装置、存储介质和计算机设备。

背景技术

[0003] 区块链是按时间顺序将数据区块以链条的方式组合成特定数据结构,并以密码学方式保证的不可篡改和不可伪造的去中心化共享总账。在区块链中保存了大量的交易信息,如何在区块链中快速查找到用户各笔交易的交易信息,成为本领域技术人员关注的热点。
[0004] 传统的在区块链中查找交易信息的方法中,通常是通过交易哈希值在区块链上查找对应交易的交易信息,而对于该交易的下一笔交易,也只能事先获得对应的交易哈希值,然后才能在区块链上查找到下一笔交易的交易信息,从而降低了在区块链中查找交易信息的灵活性。

发明内容

[0005] 基于此,有必要针对在区块链中查找交易信息的灵活性低的技术问题,提供一种区块链中的信息查找方法、装置、存储介质和计算机设备。
[0006] 一种区块链中的信息查找方法,包括:
[0007] 从区块链获取目标交易的、隔离了交易变量的交易信息;
[0008] 获取与所述目标交易对应的下一笔交易的交易标识,根据所述交易标识获取所述下一笔交易的地址信息和公钥;
[0009] 对所述地址信息、所述公钥和所述交易信息进行哈希运算,得到所述下一笔交易的第一索引哈希值;
[0010] 按照所述第一索引哈希值,查找所述区块链中所述下一笔交易的交易信息。
[0011] 一种区块链中的信息查找装置,所述装置包括:
[0012] 交易信息获取模块,用于从区块链获取目标交易的、隔离了交易变量的交易信息;
[0013] 地址信息获取模块,用于获取与所述目标交易对应的下一笔交易的交易标识,根据所述交易标识获取所述下一笔交易的地址信息和公钥;
[0014] 哈希运算模块,用于对所述地址信息、所述公钥和所述交易信息进行哈希运算,得到所述下一笔交易的第一索引哈希值;
[0015] 交易信息查找模块,用于按照所述第一索引哈希值,查找所述区块链中所述下一笔交易的交易信息。
[0016] 一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述区块链中的信息查找方法的步骤。
[0017] 一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述区块链中的信息查找方法的步骤。
[0018] 上述区块链中的信息查找方法、装置、存储介质和计算机设备,从区块链获取目标交易的、隔离了交易变量的交易信息,对下一笔交易的地址信息、公钥和交易信息进行哈希运算,得到下一笔交易的第一索引哈希值,从而通过第一索引哈希值可以查找到下一笔交易的交易信息,从而无需预先各下一笔交易的交易哈希值,也能查找到各下一笔交易的交易信息,提高了在区块链中查找交易信息的灵活性。此外,将交易变量从交易信息隔离开,从而所获得的交易信息中不包含交易变量,利用不包含交易变量的交易信息所生成的索引哈希值进行交易信息的查询,使查询具有可控性。附图说明
[0019] 图1为一个实施例中区块链中的信息查找方法的应用环境图;
[0020] 图2为一个实施例中区块链中的信息查找方法的流程示意图;
[0021] 图3为一个实施例中包含交易变量的交易信息示意图;
[0022] 图4为一个实施例中区块链中的信息双向查找方法的流程示意图;
[0023] 图5为一个实施例中隔离交易变量步骤的流程示意图;
[0024] 图6为一个实施例中交易完成前,验证目标交易真实性和合法性步骤的流程示意图;
[0025] 图7为一个实施例中通过交易哈希值查找交易信息步骤的流程示意图;
[0026] 图8为一个实施例中交易完成后校验目标交易真实性步骤的流程示意图;
[0027] 图9为另一个实施例中区块链中的信息查找方法的流程示意图;
[0028] 图10为一个实施例中区块链中的信息查找装置的结构框图
[0029] 图11为另一个实施例中区块链中的信息查找装置的结构框图;
[0030] 图12为一个实施例中计算机设备的结构框图。

具体实施方式

[0031] 为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0032] 图1为一个实施例中区块链中的信息查找方法的应用环境图。参照图1,该区块链中的信息查找方法应用于区块链中的信息查找系统。该区块链中的信息查找系统包括终端110、服务器120和区块链节点130。终端110、服务器120和区块链节点130通过网络连接。终端110向服务器120发送用户每笔交易的交易信息获取请求,服务器120响应该交易信息获取请求,从区块链中对应的区块链节点130从区块链获取目标交易的、隔离了交易变量的交易信息;获取与目标交易对应的下一笔交易的地址信息;对地址信息和交易信息进行哈希运算,得到下一笔交易的第一索引哈希值;按照第一索引哈希值,查找区块链中下一笔交易的交易信息。
[0033] 其中,终端110具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑笔记本电脑等中的至少一种。服务器120可以是用独立的服务器或者是多个服务器组成的服务器集群来实现。区块链节点130可以是构成区块链的节点,该节点具体可以是服务器。
[0034] 如图2所示,在一个实施例中,提供了一种区块链中的信息查找方法。本实施例主要以该方法应用于上述图1中的服务器120来举例说明。参照图2,该区块链中的信息查找方法具体包括如下步骤:
[0035] S202,从区块链获取目标交易的、隔离了交易变量的交易信息。
[0036] 狭义来讲,区块链可以是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。广义来讲,区块链是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构。
[0037] 交易可以是在区块链上执行的一种资源转移操作,具体而言可以是转账,如比特币的转入或转出,又如在进行买卖时资金的转入或转出,又如通过区块链开发票等等。目标交易是当前所查找的交易。交易变量包括但不限于凭证和附加信息,该附加信息包括用于标识交易时间的时间戳,交易变量可以用于对交易进行真实性验证。该凭证可以是签名信息。初始的交易信息中包含了与交易相关的交易信息、签名信息和附加信息。
[0038] 在一个实施例中,S202之前,该方法还可以包括:服务器获取目标交易初始的交易信息;将该初始的交易信息中的交易变量进行隔离,得到隔离了交易变量的交易信息;将所得的交易信息存储于用于记录交易的区块链。其中,这里的隔离可以是将交易变量从交易信息中分开,然后分别保存于区块链中。
[0039] 在另一个实施例中,服务器根据交易哈希值获取目标交易的整个交易信息,然后从整个交易信息中将交易变量进行隔离,得到隔离交易变量的交易信息。其中,这里的隔离可以是将交易变量从所获取的交易信息中分开。
[0040] 其中,如图3所示,包含交易变量的交易信息中,包括有:凭证(voucher)、索引(index)、上一笔交易的索引哈希值(hash)、数额(amount)、目标交易的公钥(condition)、目标交易的地址信息(address)、数据(data)、交易标识和附加信息(extra_info)等等。附加信息中至少包括用于标识交易时间的时间戳和传感器的精确读数,传感器的精确读数在防伪溯源时使用。凭证(如签名信息)和附加信息属于交易变量。
[0041] 在一个实施例中,服务器通过隔离见证,将交易变量从交易信息中进行了隔离,得到隔离了交易变量的、只与交易相关的交易信息,该交易信息可以保存于区块链对应的区块中。
[0042] 隔离见证可以指,将交易中的两部分(一部分是与交易相关的交易信息,如结余的收入与支出信息;另一部分是交易变量,可用于证明本次交易的合法性)分开,从而交易标识(id)完全由第一部分(即与交易相关的交易信息)决定,不受见证部分的影响。
[0043] S204,获取与目标交易对应的下一笔交易的地址信息。
[0044] 其中,地址信息可以是存储下一笔交易的交易信息所对应的节点地址。
[0045] 在一个实施例中,当需要查找目标交易的下一笔交易时,可以根据该下一笔交易的交易标识获取该下一笔交易的地址信息,此外,还可以获取该下一笔交易的公钥。
[0046] S206,对地址信息和交易信息进行哈希运算,得到下一笔交易的第一索引哈希值。
[0047] 其中,哈希运算可以指通过哈希函数进行运算。哈希函数可以是MD4、MD5、SHA(Secure Hash Algorithm,安全散列算法)家族算法。SHA家族算法包括:SHA-1、SHA-224、SHA-256、SHA-384和SHA-512。同一用户在区块链上可以进行多笔交易,每一笔交易之间在时间上存在先后顺序的关系,对于某个目标交易,可以对应有下一笔交易,可以对该下一笔交易的地址信息和目标交易中隔离了交易变量的交易信息进行哈希运算,然后将所得的第一索引哈希值作为该下一笔交易的索引哈希值。
[0048] 此外,不同用户在区块链上进行的交易,每一笔交易之间在时间上也存在先后顺序的关系,对于某个目标交易,可以对应有下一笔交易,也可以对该下一笔交易的地址信息和目标交易中隔离了交易变量的交易信息进行哈希运算,然后将所得的第一索引哈希值作为该下一笔交易的索引哈希值。目标交易的交易信息与下一笔交易的交易信息可分别保存于不同的区块中。
[0049] 在一个实施例中,当产生与目标交易对应的下一笔交易时,服务器在该下一笔交易的交易信息中添加目标交易的目标索引哈希值,以便在定位到该下一笔交易的交易信息时,可以通过该下一笔交易的交易信息中包含的目标索引哈希值,在区块链中查找目标交易的交易信息,以实现交易信息的前向查找。
[0050] 在一个实施例中,在获得地址信息和目标交易中隔离了交易变量的交易信息之后,服务器采用指定的哈希函数对地址信息和交易信息进行哈希运算,得到下一笔交易的第一索引哈希值。例如,以哈希函数为SHA-256为例,服务器采用SHA-256对下一笔交易的地址信息和交易信息进行哈希运算,得到256位的第一索引哈希值。
[0051] 在一个实施例中,在S206之前,服务器还可以获取与目标交易对应的下一笔交易的公钥。S206具体可以包括:对公钥、地址信息和交易信息进行哈希运算,得到下一笔交易的第一索引哈希值。
[0052] 在一个实施例中,在上链阶段,区块链节点在接收到终端或服务器发送的各笔交易信息时,按照上链时间确定目标交易,获取目标交易的交易信息,对该交易信息中进行哈希运算得到目标索引哈希值,将该目标索引哈希值作为目标交易的交易信息(该交易信息隔离了交易变量)的索引哈希值,并进行保存。然后,区块链节点确定目标交易的下一笔交易,获取该下一笔交易的公钥和地址信息,然后对隔离了交易变量的交易信息、下一笔交易的公钥和地址信息进行哈希运算得到第一索引哈希值,可以将第一索引哈希值作为下一笔交易的交易信息(该交易信息隔离了交易变量)的索引哈希值,并进行保存。通过上述方式的设置,从而可以通过索引哈希值查找到对应的隔离了交易变量的交易信息。
[0053] S208,按照第一索引哈希值,查找区块链中下一笔交易的交易信息。
[0054] 在一个实施例中,服务器按照第一索引哈希值查找区块链中区块的区块头,当区块头中的索引哈希值与该第一索引哈希值匹配时,则该区块即为所要查找的区块,获取该区块头对应的区块体中的交易信息。
[0055] 在一个实施例中,当区块体中保存有多笔交易信息时,服务器可以按照交易标识查找对应的交易信息。
[0056] 在一个实施例中,服务器从隔离了交易变量的交易信息中,提取目标交易对应的上一笔交易的第二索引哈希值;按照第二索引哈希值,查找区块链中上一笔交易的交易信息。从而,服务器可以在得到目标交易的交易信息后,根据该交易信息中的关于上一笔交易的索引哈希值查找对应的交易信息,从而可以实现交易信息的前向查找,而且也可以实现交易信息的后向查找,具备了双向查找的能
[0057] 其中,隔离了交易变量的交易信息中,包括有:不包含签名信息的交易输入状态信息,以及不包含附加信息的交易输出状态信息。在该交易输入状态信息中可以包含有上一笔交易的索引哈希值,此外还包含索引等。
[0058] 在一个实施例中,从隔离了交易变量的交易信息中,提取目标交易对应的上一笔交易的第二索引哈希值的步骤,具体可以包括:服务器从隔离了交易变量的交易信息中,查找交易输入状态信息;在交易输入状态信息中提取目标交易对应的上一笔交易的第二索引哈希值。
[0059] 在一个实施例中,服务器对隔离了交易变量的交易信息进行解析,得到不包含签名信息的交易输入状态信息,以及不包含附加信息的交易输出状态信息。在所得的交易输入状态信息中,提取目标交易对应的上一笔交易的第二索引哈希值。
[0060] 作为一个示例,如图4所示,当查找下一笔交易的交易信息时,对应的查找步骤为:在当前交易A初始的交易信息中,将交易输入状态信息中的签名信息和交易输出状态信息中的附加信息进行隔离,从而得到上一笔交易的索引哈希值、数额、目标交易的公钥、目标交易的地址信息、数据、交易标识等交易定量字段,通过sha256函数对这些交易定量字段进行哈希运算,得到当前交易A的索引哈希值A。获取当前交易A的下一笔交易B的地址信息和公钥时,将索引哈希值A与下一笔交易B的地址信息和公钥进行哈希运算,得到下一笔交易B的索引哈希值B,在区块链中用索引哈希值B查找下一笔交易的交易信息。
[0061] 当查找上一笔交易的交易信息时,对应的查找步骤为:在当前交易A中,利用交易输入状态信息中的关于上一笔交易C的索引哈希值C,在区块链中按照索引哈希值C查找上一笔交易C的交易信息。需要说明的是,通过索引哈希值可以查找到隔离了交易变量的交易信息。
[0062] 上述实施例中,从区块链获取目标交易的、隔离了交易变量的交易信息,对下一笔交易的地址信息和交易信息进行哈希运算,得到下一笔交易的第一索引哈希值,从而通过第一索引哈希值可以查找到下一笔交易的交易信息,从而无需预先各下一笔交易的交易哈希值,也能查找到各下一笔交易的交易信息,提高了在区块链中查找交易信息的灵活性。此外,将交易变量从交易信息隔离开,从而所获得的交易信息中不包含交易变量,利用不包含交易变量的交易信息所生成的索引哈希值进行交易信息的查询,使查询具有可控性。
[0063] 在一个实施例中,如图5所示,S202之前,该方法还包括:
[0064] S502,获取目标交易的、且包含交易变量的交易信息。
[0065] 在一个实施例中,服务器可以获取目标交易的交易哈希值,然后根据该交易哈希值在区块链上查找目标交易的且包含交易变量的交易信息。
[0066] 在一个实施例中,交易哈希值也可以是服务器在将目标交易的交易信息进行上链后,由区块链节点对包含交易变量的交易信息进行哈希运算得到的。
[0067] 在另一个实施例中,交易哈希值可以是服务器在将交易信息进行上链时,服务器对整个交易信息(即包含交易变量的交易信息)进行哈希运算得到的,因此,在区块链上可以定位到目标交易的整个交易信息。
[0068] S504,将所获取的交易信息中的交易变量进行隔离,得到隔离了交易变量的交易信息。
[0069] 其中,将所获取的交易信息中的交易变量进行隔离,可以指:将所获取的交易信息中的交易变量与交易定量信息进行分开。签名信息和附加信息为交易变量。索引、目标交易的上一笔交易的索引哈希值、数额、目标交易的公钥、目标交易的地址信息、数据和交易标识为交易定量信息。
[0070] 在一个实施例中,交易变量包括目标交易的签名信息和附加信息;S504具体可以包括:在将所获取的交易信息中,获取交易输入状态信息和交易输出状态信息;将交易输入状态信息中的签名信息进行隔离;以及,对交易输出状态信息中的附加信息进行隔离,得到隔离了签名信息和附加信息的交易信息。
[0071] 在一个实施例中,服务器在所获取的交易信息时,将交易信息中交易输入状态信息的签名信息进行隔离,即把签名信息与索引、目标交易的上一笔交易的索引哈希值进行分开。此外,服务器将交易信息中交易输出状态信息中的附加信息进行隔离,即把附加信息与数额、目标交易的公钥、目标交易的地址信息、数据、交易标识进行分开。
[0072] S506,将所得的交易信息存储于区块链。
[0073] 在一个实施例中,服务器将所得的交易信息存储于区块链的目标区块中。此外,服务器也可以将交易变量也存储于该区块链的目标区块中。
[0074] 上述实施例中,将交易变量从交易信息隔离开,从而所获得的交易信息中不包含交易变量,以便利用不包含交易变量的交易信息所生成的索引哈希值进行交易信息的查询,使查询具有可控性。
[0075] 在一个实施例中,如图6所示,S202之前,该方法还包括:
[0076] S602,接收关于目标交易的交易请求。
[0077] 其中,在进行交易前,服务器需对该笔交易的真实性和合法性进行验证,当确定该笔交易为真实交易、且合法(即确定资源账户地址对应的资源数值大于或等于交易资源数值)时,则执行该目标交易的操作。
[0078] 在一个实施例中,服务器接收终端发送的、关于目标交易的交易请求。例如,用户在进行比特币交易时,通过终端发起买卖比特币交易的交易请求。
[0079] S604,从交易请求中提取签名信息、交易资源数值和资源账户地址。
[0080] 其中,签名信息可以是交易发起者的数字签名,或者是对目标交易的交易信息的数字签名。交易资源数值可以是目标交易所需的资源数额,如购买比特币时,需要花费的金额。资源账户地址可以是用户资源账户所在的地址,如保存用户比特币账户的区块链节点的地址。在该资源账户中,可以持有比特币资源,还可以持有交易资源,如资金。
[0081] 在一个实施例中,终端登录对应的资源账户系统后,在需要进行目标交易时,从用户的资源账户系统中获取签名信息、交易资源数值和资源账户地址,然后生成携带有签名信息、交易资源数值和资源账户地址的交易请求。
[0082] S606,当根据签名信息确定目标交易为真实交易、且确定资源账户地址对应的资源数值大于或等于交易资源数值时,则从资源账户地址中,按照交易资源数值转出交易资源。
[0083] 在一个实施例中,服务器根据签名信息判断目标交易是否为真实交易,然后判断资源账户地址对应的资源账户中,是否存在大于或等于交易资源数值的资源数值,若确定目标交易为真实交易、且对应的资源数值大于或等于交易资源数值时,表示目标交易为真实交易、且为合法的,按照交易资源数值转出交易资源,以完成目标交易的操作。
[0084] 上述实施例中,在进行目标交易之前,对目标交易的真实性和合法性进行验证,在确定目标交易为真实交易、且为合法时,才进行交易资源的转移,从而确保了用户的财产安全,也避免了出现无效交易。
[0085] 在一个实施例中,如图7所示,S202具体可以包括:
[0086] S702,获取目标交易的交易哈希值。
[0087] 在一个实施例中,交易哈希值也可以是服务器在将目标交易的交易信息进行上链后,由区块链节点对包含交易变量的交易信息进行哈希运算得到的。
[0088] 在另一个实施例中,交易哈希值可以是服务器在将交易信息进行上链时,服务器对包含交易变量的交易信息进行哈希运算得到的。
[0089] S704,根据交易哈希值从区块链中获取目标交易的包含交易变量的交易信息。
[0090] 其中,由于交易哈希值是对包含交易变量的交易信息进行哈希运算所得到的,因此,服务器可以通过交易哈希值,在区块链上可以定位到关于目标交易的、包含交易变量的交易信息。
[0091] S706,从所获取的交易信息中提取除交易变量之外的部分内容,以得到隔离了交易变量的交易信息。
[0092] 在一个实施例中,服务器可以从获取的交易信息中将交易变量进行滤除,从而得到不包含交易变量的交易信息。
[0093] 上述实施例中,将初始的交易信息中的交易变量进行隔离,以得到不包含交易变量的交易信息,然后根据该交易信息与下一笔交易的地址信息得到下一笔交易的第一索引哈希值,从而索引出下一笔交易的交易信息,避免了交易变量对交易信息查找的影响,使查询具有可控性。
[0094] 在一个实施例中,如图8所示,该方法可以包括:
[0095] S802,接收终端发送的交易信息验证请求;交易信息验证请求携带了包含交易变量的交易信息。
[0096] 当目标交易完成后,若对该目标交易存在疑义,此时可以对目标交易的交易信息进行验证,以确定目标交易的真实性。例如,区块链发票,当用户或发票审核部对所持有发票的真实性具有疑义时,可以在链上验证发票的真实性。其中,发票的交易变量可以包括用户的签名信息和开发票的时间戳等。
[0097] 在一个实施例中,终端在交易信息验证页面上传包含交易变量的交易信息,当检测到验证操作时,根据上传的交易信息生成交易信息验证请求,将该交易信息验证请求发送至服务器。
[0098] 例如,用户在交易信息验证页面,将所持有的交易信息上传至交易验证系统,当用户点击验证按钮时,终端会生成携带有交易信息的交易信息验证请求。
[0099] S804,对交易信息验证请求中的交易信息进行哈希运算,得到交易哈希值。
[0100] 在一个实施例中,在获得包含交易变量的交易信息时,服务器采用指定的哈希函数对该交易信息进行哈希运算,得到关于目标交易的交易哈希值。由于交易哈希值是对包含交易变量的交易信息进行哈希运算所得到的,因此,服务器可以通过交易哈希值,在区块链上可以定位到关于目标交易的、包含交易变量的交易信息。
[0101] S806,当根据交易哈希值从区块链中获取到匹配的交易信息时,则确定交易信息验证请求中的交易信息为真实交易信息。
[0102] 在一个实施例中,服务器根据交易哈希值从区块链中查找是否存在匹配的交易信息,若查找到,则确定交易信息验证请求中的交易信息为真实交易信息;若为查找到,则确定交易信息验证请求中的交易信息为伪造的交易信息。
[0103] 作为一个示例,当用户对所持有发票的真实性具有疑义时,可以通过服务器对发票信息进行哈希运算得到发票哈希值,根据发票哈希值查找区块链中是否存在有匹配的发票,由于区块链中的数据是不可更改的,因此,当查找到匹配的发票时,则确定用户所持有的发票是真实发票。
[0104] 上述实施例中,可以通过区块链中的交易信息判断终端上的交易信息是否为真实交易信息,可以避免交易信息被修改,确保了交易信息的安全性。
[0105] 如图9所示,在一个实施例中,提供了另一种区块链中的信息查找方法,该区块链中的信息查找方法具体包括如下步骤:
[0106] S902,接收关于目标交易的交易请求。
[0107] S904,从交易请求中提取签名信息、交易资源数值和资源账户地址。
[0108] S906,当根据签名信息确定目标交易为真实交易、且确定资源账户地址对应的资源数值大于或等于交易资源数值时,则从资源账户地址中,按照交易资源数值转出交易资源。
[0109] S908,从区块链获取目标交易的、且包含交易变量的交易信息。
[0110] 在一个实施例中,服务器获取目标交易的交易哈希值,根据交易哈希值从区块链中获取目标交易的包含交易变量的交易信息,从所获取的交易信息中提取除交易变量之外的部分内容,以得到隔离了交易变量的交易信息。
[0111] S910,将所获取的交易信息中的交易变量进行隔离,得到隔离了交易变量的交易信息。
[0112] S912,将所得的交易信息存储于区块链。
[0113] 此外,服务器也将交易变量存储于区块链。
[0114] S914,从区块链获取目标交易的、隔离了交易变量的交易信息。
[0115] S916,获取与目标交易对应的下一笔交易的地址信息和公钥。
[0116] S918,对公钥、地址信息和交易信息进行哈希运算,得到下一笔交易的第一索引哈希值。
[0117] S920,按照第一索引哈希值,查找区块链中下一笔交易的交易信息。
[0118] S922,从隔离了交易变量的交易信息中,提取目标交易对应的上一笔交易的第二索引哈希值。
[0119] 在一个实施例中,S922具体可以包括:从隔离了交易变量的交易信息中,查找交易输入状态信息;在交易输入状态信息中提取目标交易对应的上一笔交易的第二索引哈希值。
[0120] S924,按照第二索引哈希值,查找区块链中上一笔交易的交易信息。
[0121] S926,接收终端发送的交易信息验证请求;交易信息验证请求携带了包含交易变量的交易信息。
[0122] S928,对交易信息验证请求中的交易信息进行哈希运算,得到交易哈希值。
[0123] S930,当根据交易哈希值从区块链中获取到匹配的交易信息时,则确定交易信息验证请求中的交易信息为真实交易信息。
[0124] 图2、5-9为一个实施例中包裹检测方法的流程示意图。应该理解的是,虽然图2、5-9的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、5-9中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0125] 如图10所示,在一个实施例中,提供了一种区块链中的信息查找装置,该区块链中的信息查找装置具体包括:交易信息获取模块1002、地址信息获取模块1004、哈希运算模块1006和交易信息查找模块1008;其中:
[0126] 交易信息获取模块1002,用于从区块链获取目标交易的、隔离了交易变量的交易信息;
[0127] 地址信息获取模块1004,用于获取与目标交易对应的下一笔交易的地址信息;
[0128] 哈希运算模块1006,用于对所述地址信息和所述交易信息进行哈希运算,得到所述下一笔交易的第一索引哈希值;
[0129] 交易信息查找模块1008,用于按照所述第一索引哈希值,查找所述区块链中所述下一笔交易的交易信息。
[0130] 在一个实施例中,如图11所示,该装置还包括:公钥获取模块1010;其中:
[0131] 公钥获取模块1010,用于获取与目标交易对应的下一笔交易的公钥;
[0132] 哈希运算模块1006还用于对所述公钥、所述地址信息和所述交易信息进行哈希运算,得到所述下一笔交易的第一索引哈希值。
[0133] 上述实施例中,从区块链获取目标交易的、隔离了交易变量的交易信息,对下一笔交易的地址信息和交易信息进行哈希运算,得到下一笔交易的第一索引哈希值,从而通过第一索引哈希值可以查找到下一笔交易的交易信息,从而无需预先各下一笔交易的交易哈希值,也能查找到各下一笔交易的交易信息,提高了在区块链中查找交易信息的灵活性。此外,将交易变量从交易信息隔离开,从而所获得的交易信息中不包含交易变量,利用不包含交易变量的交易信息所生成的索引哈希值进行交易信息的查询,使查询具有可控性。
[0134] 在一个实施例中,如图11所示,该装置还包括:装置还包括:交易信息上链模块1012;其中:
[0135] 交易信息上链模块1012,用于从区块链获取目标交易的、隔离了交易变量的交易信息之前,获取目标交易的初始交易信息;将初始交易信息中的交易变量进行隔离,得到隔离了交易变量的交易信息;将所得的交易信息存储于区块链。
[0136] 在一个实施例中,交易变量包括目标交易的签名信息和附加信息;交易信息上链模块1012,还用于:获取初始交易信息中的交易输入状态信息和交易输出状态信息;将交易输入状态信息中的签名信息进行隔离;以及,对交易输出状态信息中的附加信息进行隔离,得到隔离了签名信息和附加信息的交易信息。
[0137] 上述实施例中,将交易变量从交易信息隔离开,从而所获得的交易信息中不包含交易变量,以便利用不包含交易变量的交易信息所生成的索引哈希值进行交易信息的查询,使查询具有可控性。
[0138] 在一个实施例中,如图11所示,该装置还包括:交易资源转移模块1014;其中:
[0139] 交易资源转移模块1014,用于在从区块链获取目标交易的、隔离了交易变量的交易信息之前,接收关于目标交易的交易请求;从交易请求中提取签名信息、交易资源数值和资源账户地址;当根据签名信息确定目标交易为真实交易、且确定资源账户地址对应的资源数值大于或等于交易资源数值时,则从资源账户地址中,按照交易资源数值转出交易资源。
[0140] 上述实施例中,在进行目标交易之前,对目标交易的真实性和合法性进行验证,在确定目标交易为真实交易、且为合法时,才进行交易资源的转移,从而确保了用户的财产安全,也避免了出现无效交易。
[0141] 在一个实施例中,如图11所示,该装置还包括:哈希值提取模块1016;其中:
[0142] 哈希值提取模块1016,用于从隔离了交易变量的交易信息中,提取目标交易对应的上一笔交易的第二索引哈希值;
[0143] 交易信息查找模块1008还用于按照第二索引哈希值,查找区块链中上一笔交易的交易信息。
[0144] 在一个实施例中,哈希值提取模块1016,还用于:从隔离了交易变量的交易信息中,查找交易输入状态信息;在交易输入状态信息中提取目标交易对应的上一笔交易的第二索引哈希值。
[0145] 在一个实施例中,交易信息获取模块还用于:获取目标交易的交易哈希值;根据交易哈希值从区块链中获取目标交易的包含交易变量的交易信息;从所获取的交易信息中提取除交易变量之外的部分内容,以得到隔离了交易变量的交易信息。
[0146] 上述实施例中,将初始的交易信息中的交易变量进行隔离,以得到不包含交易变量的交易信息,然后根据该交易信息与下一笔交易的地址信息得到下一笔交易的第一索引哈希值,从而索引出下一笔交易的交易信息,避免了交易变量对交易信息查找的影响,使查询具有可控性。
[0147] 在一个实施例中,如图11所示,该装置还包括:验证请求接收模块1018和交易信息验证模块1020;其中:
[0148] 验证请求接收模块1018,用于接收终端发送的交易信息验证请求;交易信息验证请求携带了包含交易变量的交易信息;
[0149] 哈希运算模块1006还用于对交易信息验证请求中的交易信息进行哈希运算,得到交易哈希值;
[0150] 交易信息验证模块1020,用于当根据交易哈希值从区块链中获取到匹配的交易信息时,则确定交易信息验证请求中的交易信息为真实交易信息。
[0151] 上述实施例中,可以通过区块链中的交易信息判断终端上的交易信息是否为真实交易信息,可以避免交易信息被修改,确保了交易信息的安全性。
[0152] 图12示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的服务器120。如图12所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现区块链中的信息查找方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行区块链中的信息查找方法。
[0153] 本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0154] 在一个实施例中,本申请提供的区块链中的信息查找装置可以实现为一种计算机程序的形式,计算机程序可在如图12所示的计算机设备上运行。计算机设备的存储器中可存储组成该区块链中的信息查找装置的各个程序模块,比如,图10所示的交易信息获取模块1002、地址信息获取模块1004、哈希运算模块1006和交易信息查找模块1008。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的区块链中的信息查找方法中的步骤。
[0155] 例如,图12所示的计算机设备可以通过如图10所示的区块链中的信息查找装置中的交易信息获取模块1002执行S202。计算机设备可通过地址信息获取模块1004执行S204。计算机设备可通过哈希运算模块1006执行S206。计算机设备可通过交易信息查找模块1008执行S208。
[0156] 在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述区块链中的信息查找方法的步骤。此处区块链中的信息查找方法的步骤可以是上述各个实施例的区块链中的信息查找方法中的步骤。
[0157] 在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述区块链中的信息查找方法的步骤。此处区块链中的信息查找方法的步骤可以是上述各个实施例的区块链中的信息查找方法中的步骤。
[0158] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
[0159] 以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0160] 以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈