CN109801168A - 一种区块链交易的校验方法、设备和存储介质 - Google Patents
一种区块链交易的校验方法、设备和存储介质 Download PDFInfo
- Publication number
- CN109801168A CN109801168A CN201910077670.6A CN201910077670A CN109801168A CN 109801168 A CN109801168 A CN 109801168A CN 201910077670 A CN201910077670 A CN 201910077670A CN 109801168 A CN109801168 A CN 109801168A
- Authority
- CN
- China
- Prior art keywords
- transaction
- information
- original
- block chain
- signature
- 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
Links
Landscapes
- Storage Device Security (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明提供一种区块链交易的校验方法、设备和存储介质,该方法包括根据用户端发送的交易请求信息分别生成第一原始交易和校验信息,构造生成包括所述第一原始交易和所述校验信息的第二原始交易;将所述第二原始交易返回给所述用户端,以供所述用户端对所述校验信息进行校验,并在校验成功后对所述第二原始交易签名以生成第一签名交易;接收所述第一签名交易,判断所述第一原始交易中的若干信息和所述校验信息是否一致:是,则执行所述第一签名交易;否,则终止执行所述第一签名交易。本发明通过在交易中增加了校验信息,通过两级校验结合,有效的识别修改交易的攻击,保障用户的财产安全。
Description
技术领域
本申请涉及区块链技术领域,具体涉及一种区块链交易的校验方法、设备和存储介质。
背景技术
区块链交易一般分为三个阶段:构建原始交易,签名,发送。目前一般通过用户的钱包终端发送的区块链交易没有构建原始交易的能力,需要通过区块链节点来构建,而此时,在钱包终端发送交易请求信息的过程和区块链节点返回构造好的交易给钱包终端的过程中,极有可能出现篡改数据的风险,而钱包终端不能解析构造的交易,无法对交易数据的真伪进行判断,如此,签名后发送并执行后会造成很大的损失。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种能够实现两重校验的区块链交易的校验方法、设备和存储介质。
第一方面,本发明提供一种区块链交易的校验方法,该方法应用于区块链节点,该方法包括:
根据用户端发送的交易请求信息分别生成第一原始交易和校验信息,构造生成包括第一原始交易和校验信息的第二原始交易;其中,校验信息包括配置在第一原始交易中的若干信息;
将第二原始交易返回给用户端,以供用户端对校验信息进行校验,并在校验成功后对第二原始交易签名以生成第一签名交易;
接收第一签名交易,判断第一原始交易中的若干信息和校验信息是否一致:
是,则执行第一签名交易;
否,则终止执行第一签名交易。
进一步,若干信息包括至少以下一项:目标账户的账户地址、转账金额
第二方面,本发明提供一种区块链交易的校验方法,其特征在于,方法应用于用户端,包括:
发送交易请求信息至区块链节点,以供区块链节点根据交易请求信息分别生成第一原始交易和校验信息,构造生成包括第一原始交易和校验信息的第二原始交易;其中,校验信息包括配置在第一原始交易中的若干信息;
接收第二原始交易,判断第二原始交易中的校验信息与第一原始交易的若干信息是否一致:
是,则将第二原始交易用私钥签名生成第一签名交易;
发送第一签名交易至区块链节点,以供区块链节点接收第一签名交易,并在对比第一原始交易中的若干信息和校验信息一致后执行第一签名交易。
第三方面,本发明还提供了一种区块链交易,其特征在于,包括:
原始交易和校验信息;原始交易用于提供交易信息,交易信息由区块链节点根据接收到用户端发出的交易请求信息构造生成;
校验信息包括原始交易中的若干信息;校验信息用于校验区块链节点构造的区块链交易是否被篡改和用于校验用户端用私钥签名的区块链交易是否被篡改。
第四方面,本发明还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本发明各实施例提供的校验方法。
第五方面,本发明还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本发明各实施例提供的区块链交易的校验方法。
本发明的有益效果
本发明通过区块链节点在构造区块链交易时,将校验信息与原始交易一同区块链交易中,用户端可以通过判断校验信息与发送请求信息对比后判断原始交易的真伪,区块链节点接收到签名交易后通过解析原始交易和校验信息对比,再次判断原始交易的真伪。通过校验信息实现两次验证交易的真伪,使区块链交易更加安全。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本发明一实施例提供的一种区块链交易的校验方法的流程图。
图2为本发明提供的一实施例提供的另一种区块链交易的校验方法的流程图。
图3为本发明提供的一种区块链交易的结构示意图。
图4为本发明一实施例提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1为本发明一实施例提供的一种区块链交易的校验方法的流程图。
如图1所示,在本实施例中,本发明提供一种区块链交易的校验方法,该方法应用于区块链节点,该方法包括:
S11、根据用户端发送的交易请求信息分别生成第一原始交易和校验信息,构造生成包括第一原始交易和校验信息的第二原始交易;其中,校验信息包括配置在第一原始交易中的若干信息;
S12、将第二原始交易返回给用户端,以供用户端对校验信息进行校验,并在校验成功后对第二原始交易签名以生成第一签名交易;
S13、接收第一签名交易,判断第一原始交易中的若干信息和校验信息是否一致:
是,则执行第一签名交易;
否,则终止执行第一签名交易。
具体地,用户终端向区块链节点发送交易请求信息,区块链节点收到该交易请求信息后,根据交易请求信息的内容构建第一原始交易tx1,其中,交易请求信息的内容可以包括:发起账户信息,合约账户信息,目标账户地址,转账金额,账户余额等;并将第一原始交易的若干信息,如目标账户地址,转账金额等信息放入校验结构中生成校验信息,区块链节点将原始交易和校验信息生成第二原始交易tx2,并将tx2发送至用户终端以供用户终端签名。用户终端在收到区块链节点生成的第二原始交易tx2后,解析第二原始交易tx2中的校验信息,与之前发送交易请求信息中的相关信息进行验证对比,若对比一致,则初步认定交易数据没有被篡改,则对第二原始交易tx2进行私钥签名后生成第一签名信息,发送给区块链节点以便执行后在区块链系统中共识。若不一致,则说明第一原始交易tx1的交易数据遭到篡改,用户终端不会对第二原始交易进行私钥签名。区块链节点收到第一签名信息后,执行合约执行该第一签名信息,在合约执行该签名信息时,合约处理程序将该签名信息中的校验信息与第一原始交易中的若干信息,如目标账户地址,账户余额等,进行校验,若校验一致,则说明第一原始交易tx1的交易数据并未被篡改,则继续执行该第一签名信息,若不一致,则说明第一原始交易的交易数据遭到篡改,执行合约停止执行第一签名信息。
第一签名信息在执行成功后由区块链节点记载到区块链上以供在区块链系统中进行共识。
上述实施例中,如果区块链节点收到的交易请求信息后被篡改,一方面,由于构造的区块链交易(此处指第二原始交易)还需要经过用户端签名,所以篡改者会将校验信息篡改的与交易请求信息的内容中相同以便通过用户端的校验后签名(因为用户端只能解析校验信息,不能解析校验第一原始交易),此时校验信息的内容与第一原始交易中tx1的若干信息便不一致,这时,在区块链节点收到签名的信息(指第一签名信息)后,合约处理程序解析第一原始交易tx1中的若干信息与校验信息便会不一致,校验失败,不再执行第一签名信息,从而避免了篡改带来的损失。另一方面,如果篡改者不将校验信息篡改的交易请求信息的内容相同,此时虽然校验信息与第一原始交易tx1中的若干信息一致,但是由于与交易请求信息的内容不一致,这时,用户端便会校验失败,同样避免了篡改带来的损失。
在更多实施例中,第一原始交易tx1中的若干信息除了可以是目标账户地址,转账金额等信息,还可以是账户余额,发起账户信息,合约账户信息等交易请求信息中的内容。
在更多实施例中,校验信息可以是上述所述的目标账户地址,转账金额,也可以是发起账户信息,合约账户信息等,还可以是这些信息的任意组合,只要在区块链节点收到交易请求信息后构造第二原始交易时,将第一原始交易的若干信息与校验信息保持一致即可,校验信息的内容本身并不受本实施例限制。
上述实施例通过在交易中增加了校验信息,实现了交易从构造到记载到区块链上这一过程中,通过校验信息对原始交易一方面使用户端进行校验,另一方面使区块链节点进行校验,通过两级校验结合,有效的识别修改交易的攻击,保障用户的财产安全。
图2为本发明提供的一实施例提供的另一种区块链交易的校验方法的流程图。
如图2所示,在本实施例中,本发明提供一种区块链交易的校验方法,该方法适用于用户端,包括:
S21、发送交易请求信息至区块链节点,以供区块链节点根据交易请求信息分别生成第一原始交易和校验信息,构造生成包括第一原始交易和校验信息的第二原始交易;其中,校验信息包括配置在第一原始交易中的若干信息;
S22、接收第二原始交易,判断第二原始交易中的校验信息与第一原始交易的若干信息是否一致:
是,则将第二原始交易用私钥签名生成第一签名交易;
S23、发送第一签名交易至区块链节点,以供区块链节点接收第一签名交易,并在对比第一原始交易中的若干信息和校验信息一致后执行第一签名交易。
具体地,上述方法的实施原理与图1所示方法的实施原理类似,在此不做赘述。
图3为本发明提供的一种区块链交易的结构示意图。如图3所示,在本实施例中,一种区块链交易3,包括:
原始交易31和校验信息32;原始交易31用于提供交易信息,交易信息由区块链节点根据接收到用户端发出的交易请求信息构造生成;
校验信息32包括原始交易中的若干信息;校验信息用于校验区块链节点构造的区块链交易是否被篡改和用于校验用户端用私钥签名的区块链交易是否被篡改。
本实施例通过在区块链的交易中增加了用户能够解析的校验信息,使用户终端在收到区块链节点构造的区块链交易时,能够在不能解析原始交易的合约结构的情况下,依然能够初步判断收到的区块链交易的交易数据是否遭到攻击篡改,避免盲目的进行签名后造成经济损失,通过区块链节点利用校验信息与原始交易解析后获取的若干信息再次进行校验,进一步确定区块链交易是否遭到篡改,两次校验互相配合,共同保障用户端的利益。
图4为本发明一实施例提供的一种设备的结构示意图。
如图4所示,作为另一方面,本申请还提供了一种设备400,包括一个或多个中央处理单元(CPU)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储部分408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM403中,还存储有设备400操作所需的各种程序和数据。CPU401、ROM402以及RAM403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
以下部件连接至I/O接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至I/O接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。
特别地,根据本公开的实施例,上述任一实施例描述的校验方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行校验方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。
作为又一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例的装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本申请的校验方法。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,各所述单元可以是设置在计算机或移动智能设备中的软件程序,也可以是单独配置的硬件装置。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离本申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (8)
1.一种区块链交易的校验方法,其特征在于,所述方法应用于区块链节点,所述方法包括:
根据用户端发送的交易请求信息分别生成第一原始交易和校验信息,构造生成包括所述第一原始交易和所述校验信息的第二原始交易;其中,所述校验信息包括配置在所述第一原始交易中的若干信息;
将所述第二原始交易返回给所述用户端,以供所述用户端对所述校验信息进行校验,并在校验成功后对所述第二原始交易签名以生成第一签名交易;
接收所述第一签名交易,判断所述第一原始交易中的若干信息和所述校验信息是否一致:
是,则执行所述第一签名交易;
否,则终止执行所述第一签名交易。
2.根据权利要求1所述的方法,其特征在于,所述若干信息包括至少以下一项:目标账户的账户地址、转账金额。
3.一种区块链交易的校验方法,其特征在于,所述方法应用于用户端,包括:
发送交易请求信息至区块链节点,以供区块链节点根据所述交易请求信息分别生成第一原始交易和校验信息,构造生成包括所述第一原始交易和所述校验信息的第二原始交易;其中,所述校验信息包括配置在所述第一原始交易中的若干信息;
接收所述第二原始交易,判断所述第二原始交易中的所述校验信息与所述第一原始交易的所述若干信息是否一致:
是,则将所述第二原始交易用私钥签名生成第一签名交易;
发送所述第一签名交易至所述区块链节点,以供所述区块链节点接收所述第一签名交易,并在对比所述第一原始交易中的若干信息和所述校验信息一致后执行所述第一签名交易。
4.根据权利要求3所述的方法,其特征在于,所述若干信息包括至少以下一项:目标账户的账户地址、转账金额。
5.一种区块链交易,其特征在于,包括:
原始交易和校验信息;所述原始交易用于提供交易信息,所述交易信息由区块链节点根据接收到用户端发出的交易请求信息构造生成;
所述校验信息包括所述原始交易中的若干信息;所述校验信息用于校验区块链节点构造的区块链交易是否被篡改和用于校验用户端用私钥签名的所述区块链交易是否被篡改。
6.根据权利要求5所述的交易,其特征在于,所述若干信息包括至少以下一项:目标账户的账户地址、转账金额。
7.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-4中任一项所述的方法。
8.一种存储有计算机程序的存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910077670.6A CN109801168B (zh) | 2019-01-28 | 2019-01-28 | 一种区块链交易的校验方法、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910077670.6A CN109801168B (zh) | 2019-01-28 | 2019-01-28 | 一种区块链交易的校验方法、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109801168A true CN109801168A (zh) | 2019-05-24 |
CN109801168B CN109801168B (zh) | 2020-12-11 |
Family
ID=66559075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910077670.6A Active CN109801168B (zh) | 2019-01-28 | 2019-01-28 | 一种区块链交易的校验方法、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109801168B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111915325A (zh) * | 2020-06-24 | 2020-11-10 | 普华云创科技(北京)有限公司 | 区块链交易信息的溯源方法、系统及计算机可读存储介质 |
WO2021032196A1 (zh) * | 2019-08-21 | 2021-02-25 | 杭州趣链科技有限公司 | 基于区块链的多级签名方法、装置、计算机设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160275461A1 (en) * | 2015-03-20 | 2016-09-22 | Rivetz Corp. | Automated attestation of device integrity using the block chain |
CN106506146A (zh) * | 2016-10-26 | 2017-03-15 | 北京瑞卓喜投科技发展有限公司 | 基于区块链技术的交易信息校验方法、装置及系统 |
CN108540488A (zh) * | 2018-04-25 | 2018-09-14 | 济南浪潮高新科技投资发展有限公司 | 一种基于区块链的数字签名司法鉴定系统及方法 |
CN109087080A (zh) * | 2018-07-13 | 2018-12-25 | 杭州复杂美科技有限公司 | 跨链交易方法、设备和存储介质 |
CN109213806A (zh) * | 2018-09-12 | 2019-01-15 | 北京英视睿达科技有限公司 | 基于区块链的企业排污数据处理方法及系统 |
-
2019
- 2019-01-28 CN CN201910077670.6A patent/CN109801168B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160275461A1 (en) * | 2015-03-20 | 2016-09-22 | Rivetz Corp. | Automated attestation of device integrity using the block chain |
CN106506146A (zh) * | 2016-10-26 | 2017-03-15 | 北京瑞卓喜投科技发展有限公司 | 基于区块链技术的交易信息校验方法、装置及系统 |
CN108540488A (zh) * | 2018-04-25 | 2018-09-14 | 济南浪潮高新科技投资发展有限公司 | 一种基于区块链的数字签名司法鉴定系统及方法 |
CN109087080A (zh) * | 2018-07-13 | 2018-12-25 | 杭州复杂美科技有限公司 | 跨链交易方法、设备和存储介质 |
CN109213806A (zh) * | 2018-09-12 | 2019-01-15 | 北京英视睿达科技有限公司 | 基于区块链的企业排污数据处理方法及系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021032196A1 (zh) * | 2019-08-21 | 2021-02-25 | 杭州趣链科技有限公司 | 基于区块链的多级签名方法、装置、计算机设备和存储介质 |
CN111915325A (zh) * | 2020-06-24 | 2020-11-10 | 普华云创科技(北京)有限公司 | 区块链交易信息的溯源方法、系统及计算机可读存储介质 |
CN111915325B (zh) * | 2020-06-24 | 2024-04-26 | 云南花伍科技有限公司 | 区块链交易信息的溯源方法、系统及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109801168B (zh) | 2020-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110363665B (zh) | 债权数据处理方法、装置、设备及介质 | |
CN109831514A (zh) | 平行链共识方法、数据异常处理方法、设备和存储介质 | |
CN109087101B (zh) | 交易校验方法、装置、存储介质及电子设备 | |
CN104574050B (zh) | 在线结算的方法、装置及系统 | |
CN101753374B (zh) | 服务器对服务器的完整性检查 | |
CN110443704A (zh) | 一种跨链发送资源的方法和装置 | |
CN108492105A (zh) | 基于区块链的资产交易监管方法、系统、设备及存储介质 | |
CN104615939B (zh) | 单据生成方法、验证方法、装置和系统 | |
CN109087204A (zh) | 跨链交易校验方法、设备和存储介质 | |
CN109064146A (zh) | 一种数字货币交易方法、设备、系统、终端及客户端钱包 | |
CN106411950B (zh) | 基于区块链交易id的认证方法、装置及系统 | |
CN108647969A (zh) | 一种接入区块链的方法、装置、系统和存储介质 | |
CN109472599A (zh) | 一种基于区块链的用户资产信息流转方法及装置 | |
CN112508566A (zh) | 基于联盟链的跨链隐私交易方法及设备 | |
US20140351129A1 (en) | Centralized versatile transaction verification | |
CN110458557A (zh) | 一种付款方法、设备及存储介质 | |
CN108921559A (zh) | 跨链交易校验方法、设备和存储介质 | |
CN108494557A (zh) | 社保数字证书管理方法、计算机可读存储介质及终端设备 | |
CN109035000A (zh) | 一种基于区块链的担保借款方法及系统、设备和存储介质 | |
CN109801168A (zh) | 一种区块链交易的校验方法、设备和存储介质 | |
CN111125778A (zh) | 一种版权交易信息的处理方法及装置 | |
CN110941840B (zh) | 一种数据处理方法、系统及终端 | |
CN115456603A (zh) | 一种基于双链结构的审批流程处理方法和装置 | |
CN108492119A (zh) | 基于区块链的信息防伪认证方法、装置、设备及介质 | |
CN110335031A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |