区块链中账户的处理方法和装置与流程

文档序号:11520521阅读:359来源:国知局
区块链中账户的处理方法和装置与流程

本发明涉及区块链领域,具体而言,涉及一种区块链中账户的处理方法和装置。



背景技术:

在区块链中,如果用户发现账户私钥存在泄露风险,可以通过将账户资产转移到其持有的其他账户中的办法解决。但这样做存在的问题是:

1、用户只是怀疑账户泄露,在证实之前并不想立即弃用该账户。比如,该账户是用户发布给其客户的收款账户,要重新发布一个新的账户需要时间。

2、该账户存在未完成的、或即将发生的交易。虽然可以将现有资产转移走,但是将要接收到的资产仍然有风险。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种区块链中账户的处理方法和装置,以至少解决由于账户私钥发生泄露造成的账户不安全的技术问题。

根据本发明实施例的一个方面,提供了一种区块链中账户的处理方法,包括:接收用户发送的冻结指令,其中,所述冻结指令用于指示将目标账户冻结;根据接收到的冻结指令生成冻结锁,其中,所述冻结锁包括冻结锁公钥;根据所述冻结指令和所述冻结锁公钥生成冻结请求,其中,所述冻结请求用于请求利用所述冻结锁对所述目标账户进行冻结;将所述冻结请求发送给区块链,以使所述区块链根据所述冻结请求记录冻结事件,其中,所述冻结事件用于指示所述区块链拒绝对所述目标账户执行资源转移。

根据本发明实施例的另一方面,还提供了一种区块链中账户的处理方法,包括:区块链接收第一冻结请求,其中,所述第一冻结请求由用户发送的冻结指令和冻结锁公钥生成,所述第一冻结请求用于请求对目标账户进行冻结,所述冻结锁根据所述用户发送的冻结指令生成,所述冻结锁包括冻结锁公钥;所述区块链验证所述第一冻结请求;在成功验证所述第一冻结请求的情况下,所述区块链根据所述第一冻结请求记录冻结事件,其中,所述冻结事件用于指示所述区块链拒绝对所述目标账户执行资源转移。

根据本发明实施例的另一方面,还提供了一种区块链中账户的处理装置,包括:第一接收单元,用于接收用户发送的冻结指令,其中,所述冻结指令用于指示将目标账户冻结;第一生成单元,用于根据接收到的冻结指令生成冻结锁,其中,所述冻结锁包括冻结锁公钥;第二生成单元,用于根据所述冻结指令和所述冻结锁公钥生成第一冻结请求,其中,所述第一冻结请求用于请求利用所述冻结锁对所述目标账户进行冻结;第一发送单元,用于将所述第一冻结请求发送给区块链,以使所述区块链根据所述第一冻结请求记录冻结事件,其中,所述冻结事件用于指示所述区块链拒绝对所述目标账户执行资源转移。

根据本发明实施例的另一方面,还提供了一种区块链中账户的处理装置,包括:第三接收单元,用于通过区块链接收第一冻结请求,其中,所述第一冻结请求由用户发送的冻结指令和冻结锁公钥生成,所述第一冻结请求用于请求对目标账户进行冻结,所述冻结锁根据所述用户发送的冻结指令生成,所述冻结锁包括冻结锁公钥;第二验证单元,用于通过所述区块链验证所述第一冻结请求;第三记录单元,用于在成功验证所述第一冻结请求的情况下,通过所述区块链根据所述第一冻结请求记录冻结事件,其中,所述冻结事件用于指示所述区块链拒绝对所述目标账户执行资源转移。

在本发明实施例中,采用接收用户发送的冻结指令,其中,所述冻结指令用于指示将目标账户冻结;根据接收到的冻结指令生成冻结锁,其中,所述冻结锁包括冻结锁公钥;根据所述冻结指令和所述冻结锁公钥生成第一冻结请求,其中,所述第一冻结请求用于请求利用所述冻结锁对所述目标账户进行冻结;将所述第一冻结请求发送给区块链,以使所述区块链根据所述第一冻结请求记录冻结事件,其中,所述冻结事件用于指示所述区块链拒绝对所述目标账户执行资源转移的方式,通过生成由冻结锁,并利用冻结锁中的冻结锁公钥对目标账户进行冻结,达到了确保目标账户安全的目的,从而实现了在账户私钥发生泄露时,确保账户安生的技术效果,进而解决了由于账户私钥发生泄露造成的账户不安全的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的区块链中账户的处理方法的硬件环境的示意图;

图2是根据本发明实施例的一种可选的区块链中账户的处理方法的流程图;

图3是根据本发明实施例的一种可选的区块链中账户的处理方法所生成的第一数据的示意图;

图4是根据本发明实施例的一种可选的区块链中账户的处理方法所生成的解冻请求的示意图;

图5是根据本发明实施例的另一种可选的区块链中账户的处理方法的流程图;

图6是根据本发明实施例的一种可选的区块链中账户的处理装置的示意图;

图7是根据本发明实施例的另一种可选的区块链中账户的处理装置的示意图;以及

图8是根据本发明实施例的一种终端的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

首先,在对本发明实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:

冻结锁:冻结锁是一对临时生成的公私钥对。在本发明中,通过将冻结锁公钥提交给区块链网络来对账户加锁,即冻结;通过将冻结锁私钥签名提交给区块链网络来解除对应的锁,即解冻。冻结锁不能重复使用。

实施例1

根据本发明实施例,提供了一种区块链中账户的处理方法的方法实施例。

该方法用于当用户发现目标账户的私钥存在泄露的风险或者已经因私钥泄露造成一定损失时,通过冻结锁将目标账户快速冻结,以保证目标账户的安全。尤其是在目标账户的私疑似泄露,但用户还不能确定其真实情况,并且用户在正式确认之前不想立即弃用该账户的情况下,通过冻结锁将目标账户快速冻结,可以保证目标账户的安全,待用户确定目标账户的私钥未泄露之后,对其进行解冻。如果用户认为无法确认目标账户的私钥是否泄露,或者用户能够确认目标账户的私钥确实发生泄露之后,将目标账户中的资源转移到新的账户。

例如:目标账户的私钥由多个人保管,其中,当用户a获知目标账户发生一笔不明原因的交易时,怀疑目标账户的私钥可能泄露,此时用户a可以选择立即对目标账户进行冻结,禁止目标账户发生交易,以保证目标账户的安全,随后用户a可以同保管有目标账户私钥的其他用户确定该不明交易是否由其他用户发起,如果经过确认,上述不明交易由其他用户发起,则目标账户的私钥未泄露,用户a可以解除对目标账户的冻结;如果经过确认,目标账户的私钥确实发生了泄露,则用户a保持目标账户的冻结状态,通过账户私钥丢失时将账户中资源转移的方式,将目标账户中的资源转移到新的账户。用户还可以对目标账户进行重复冻结,以使目标账户处于多重锁定状态,并且处于多重锁定状态的目标账户无法通过单一的“钥匙”对其进行解锁,只有所有的冻结全部被解冻之后,目标账户才可以恢复正常的可交易状态。重复冻结可以提高目标账户的安全性,也可以防止黑客或者非目标账户的用户的其他人在获取目标账户的私钥之后,先行对目标账户进行冻结。用户还可以对目标账户进行不完全冻结,例如:当用户确认目标账户的私钥发生了泄露,需要通过发起资源转移请求将目标账户中的资源转移到新的账户中,但如果此时发起资源转移请求,目标账户将无法再接收转入到其中的资源,因此在用户将新账户告知其他用户之前,可以选择对目标账户进行不完全冻结,使目标账户只能接收转入到其中的资源,但目标账户中的资源无法被转出,待用户将新账户地址告知其他用户之后,再通过发起资源转移请求将目标账户中的资源转移到新的账户中。

可选地,在本实施例中,上述区块链中账户的处理方法可以应用于如图1所示的由服务器102和终端104所构成的硬件环境中。如图1所示,服务器102通过网络与终端104进行连接,上述网络包括但不限于:广域网、城域网或局域网,终端104并不限定于pc、手机、平板电脑等。本发明实施例的区块链中账户的处理方法可以由服务器102来执行,也可以由终端104来执行,还可以是由服务器102和终端104共同执行。其中,终端104执行本发明实施例的区块链中账户的处理方法也可以是由安装在其上的客户端来执行。下面以安装于终端104上的客户端为例对上述区块链中账户的处理方法进行说明。

图2是根据本发明实施例的一种可选的区块链中账户的处理方法的流程图,如图2所示,该方法可以包括以下步骤:

步骤s202,接收用户发送的冻结指令,其中,冻结指令用于指示将目标账户冻结;

步骤s204,根据接收到的冻结指令生成冻结锁,其中,冻结锁包括冻结锁公钥;

步骤s206,根据冻结指令和冻结锁公钥生成第一冻结请求,其中,第一冻结请求用于请求利用冻结锁对目标账户进行冻结;

步骤s208,将第一冻结请求发送给区块链,以使区块链根据第一冻结请求记录冻结事件,其中,冻结事件用于指示区块链拒绝对目标账户执行资源转移。

通过上述步骤s202至步骤s208,通过生成由冻结锁,并利用冻结锁中的冻结锁公钥对目标账户进行冻结,可以解决了由于账户私钥发生泄露造成的账户不安全的技术问题,进而达到在账户私钥发生泄露时,确保账户安全的技术效果。

在步骤s202提供的技术方案中,当用户发现目标账户的账户私钥存在泄露风险,或者已经因目标账户的账户私钥泄露造成损失,或者目标账户被不明人员冻结时,用户可以向客户端发出冻结指令,以将目标账户冻结,从而确保目标账户的安全,其中,由于对目标账户进行冻结需要拥用目标账户的私钥,在用户发现目标账户被不明人员冻结时,说明该不明人员拥有了目标账户的私钥,目标账户私钥已发生泄露。具体的,在用户发出冻结指令之后,客户端接收用户发送的冻结指令,进而根据该冻结指令的指示将目标账户冻结,冻结后的目标账户中的资源无法被转移,从而确保了账户的安全。当目标账户不应该再被解冻,或者目标账户不会再被使用时,用户可以将目标账户中的资源转移到新的账户中。

在步骤s204提供的技术方案中,客户端根据接收到的冻结指令生成一把冻结锁,并通过该冻结锁对目标账户进行冻结,从而确保目标账户的安全。具体地,上述冻结锁是一对临时的公私钥对,其中包括一个冻结锁公钥和一个冻解锁私钥,冻结锁公钥用于提交给区块链以对目标账户加锁从而将目标账户冻结,账户冻结之后,用户可以通过将冻结锁私钥签名提交给区块链,从而解除对应的锁,即解除由上述冻结锁公钥对应的冻结锁对目标账户的锁定。

在步骤s206提供的技术方案中,客户端根据冻结指令的指示和冻结锁中的冻结锁公钥生成第一冻结请求,该第一冻结请求用于提交给区块链,以使区块链拒绝对目标账户执行资源转移。

在步骤s208提供的技术方案中,将该第一冻结请求发送给区块链,区块链根据接收到的第一冻结请求记录一个冻结事件,并在记录该冻结事件之后,根据记录的冻结事件,拒绝对目标账户执行任何的资源转移,从而完成对目标账户的安全,确保目标账户的安全。

可选地,根据冻结指令和冻结锁公钥生成第一冻结请求包括:根据冻结指令获取目标账户的账户地址、目标账户的私钥和冻结锁公钥;利用目标账户的私钥对目标账户的账户地址和冻结锁公钥进行签名,得到第一数据;根据第一数据生成第一冻结请求,其中,第一冻结请求包括目标账户的账户地址、冻结锁公钥和目标账户的私钥签名。

作为一种可选的实施例,在对目标账户进行冻结时,以目标账户的账户地址作为目标账户的标识,通过生成冻结锁,将冻结锁公钥提交给区块链,从而采用冻结锁对应的锁对目标账户加锁,除此以外,只有具有目标账户私钥的用户可以对目标账户进行冻结,因此,生成第一冻结请求时,客户端根据用户发出的冻结指令,获取要冻结的目标账户的账户地址、目标账户的私钥,以及冻结锁公钥,然后利用目标账户的私钥对目标账户的账户地址和冻结锁公钥进行签名,并根据目标账户的账户地址、冻结锁公钥和目标账户的私钥签名得到第一数据,最后根据第一数据生成第一冻结请求,在第一冻结请求中包括目标账户的账户地址,冻结锁公钥以及目标账户的私钥签名,在将第一冻结请求发送给区块链之后,区块链可以根据第一冻结请求拒绝对目标账户执行资源转移,从而完成对目标账户的冻结。

可选地,在将第一冻结请求发送给区块链之后,方法还包括:区块链根据第一冻结请求对第一数据中目标账户的私钥签名进行验证;在验证通过之后,区块链记录目标账户的账户地址和冻结锁公钥;区块链根据第一冻结请求记录冻结事件,其中,冻结事件用于指示采用冻结锁公钥对目标账户进行冻结。

作为一种可选的实施例,区块链需要对接收到的冻结请求进行验证,验证通过后对目标账户进行冻结。具体地,在客户端将生成的第一冻结请求发送给区块链之后,区块链对第一冻结请求中目标账户的私钥签名进行验证,在验证通过之后,区块链确定记录目标账户的账户地址和冻结锁公钥的合法性,并将该账户地址和冻结锁公钥记录在冻结事件中,以根据该冻结锁公钥关联的冻结锁对目标地址对应的目标账户进行冻结,具体地,在记录冻结事件后,区块链拒绝对目标账户执行某些类型的资源转移。

可选地,第一冻结请求包括冻结类型,将第一冻结请求发送给区块链,以使区块链根据第一冻结请求记录冻结事件包括:将第一冻结请求发送给区块链,以指示区块链根据第一冻结请求拒绝对目标账户执行冻结类型的资源转移。

本发明还提供了一种优选实施例,该优选实施例中,在客户端生成的第一冻结请求中还包括冻结类型,以对目标账户进行与上述冻结类型相对应的冻结。可选地,该冻结类型可以但不限定为“完全禁止交易的冻结”或者“只禁止资产转出的冻结”等。为了保证账户安全,该冻结类型至少要禁止资产转出。可选地,客户端可以利用目标账户的私钥对目标账户的账户地址、冻结锁公钥以及上述冻结类型进行签名,得到第一数据,再根据第一数据生成第一冻结请求,最后将第一冻结请求发送给区块链,从而在区块链对第一冻结请求成功验证之后,拒绝对目标地址所对应的目标账户执行冻结类型中限定的资源转移。图3是根据本发明实施例的一种可选的区块链中账户的处理方法所生成的第一数据的示意图,如图3所示,客户端对目标账户的账户地址、冻结类型和冻结锁公钥进行签名得到第一数据,在生成的第一数据中,包括有目标账户的账户地址、冻结类型、冻结锁公钥以及账户私钥签名。

可选地,在将第一冻结请求发送给区块链,以使区块链根据第一冻结请求记录冻结事件之后,方法还包括:接收用户发送的解冻指令,其中,解冻指令用于指示解除利用冻结锁对目标账户进行的冻结;根据解冻指令和冻结锁私钥生成解冻请求,其中,解冻请求用于请求利用冻结锁私钥将目标账户解冻,冻结锁私钥与冻结锁公钥相匹配;将解冻请求发送给区块链,以使区块链根据解冻请求记录解冻事件,其中,解冻事件用于指示区块链解除利用冻结锁对目标账户进行的冻结。

作为一种可选的实施例,在对目标账户进行冻结之后,还可以对目标账户进行解冻。具体地,用户发送解冻指令,客户端接收用户发送的解冻指令,并根据解冻指令和冻结锁私钥生成解冻请求,这里的冻结锁私钥与上述对目标账户进行冻结的冻结锁相匹配,并且通过该冻结锁私钥能够且只能解除利用与其相匹配的冻结锁进行的冻结。客户端将解冻请求发送给区块链,区块链根据解冻请求记录解冻事件,并根据记录的解冻事件允许对目标账户执行资源转移,从而对将目标账户解冻。需要说明的是区块链根据解冻请求记录的解冻事件,仅能解除利用与冻结锁私钥相匹配的冻结锁对目标账户的冻结,当目标账户被多个冻结锁冻结时,单个解冻请求仅能解除解冻请求中包含的冻结锁私钥所对应的冻结锁,而无法使目标账户完全解冻。

可选地,根据解冻指令和冻结锁私钥生成解冻请求包括:根据解冻指令获取目标账户的账户地址、目标账户的私钥和冻结锁公钥;利用冻结锁私钥对目标账户的账户地址和冻结锁公钥进行签名,得到冻结锁私钥签名;利用目标账户的私钥对目标账户的账户地址、冻结锁公钥和冻结锁私钥签名进行签名,得到第二数据;根据第二数据生成解冻请求,解冻请求包括目标账户的账户地址、冻结锁公钥、冻结锁私钥签名和第二数据。

作为一种可选的实施例,在对目标账户进行解冻时,同样以目标账户的账户地址作为目标账户的标识,采用与冻结时的冻结锁公钥相匹配的冻结锁私钥对将目标账户解锁。并且,同样只有具有目标账户私钥的用户可以对目标账户进行解冻。因此,生成解冻请求时,客户端根据用户发送的解冻指令,获取要解冻的目标账户的账户地址、目标账户的私钥和对目标账户进行冻结的冻结锁公钥,然后利用冻结锁私钥对上述目标账户的地址和冻结锁公钥进行签名,得到冻结锁私钥签名,再利用目标账户的私钥对上述目标账户的地址、冻结锁公钥以及冻结锁私钥签名进行第二次签名得到第二数据,最后根据第二数据生成解冻请求。图4是根据本发明实施例的一种可选的区块链中账户的处理方法所生成的解冻请求的示意图,如图4所示,在生成的第二数据中包括目标账户的账户地址、冻结锁公钥、冻结锁私钥签名和目标账户的账户私钥签名。

可选地,根据解冻指令和冻结锁私钥生成解冻请求包括:根据解冻指令获取目标账户的账户地址、目标账户的私钥和冻结锁公钥;利用目标账户的私钥对目标账户的账户地址、冻结锁公钥和冻结锁私钥进行签名,并根据目标账户的账户地址、冻结锁公钥、冻结锁私钥和目标账户的私钥签名得到第三数据;最后根据第三数据生成解冻请求,解冻请求包括目标账户的账户地址、冻结锁公钥、冻结锁私钥和第三数据。

作为一种可选的实施例,客户端还可以通过另一种方式生成冻结请求,具体地,客户端根据用户发送的解冻指令,获取要解冻的目标账户的账户地址、目标账户的私钥和对目标账户进行冻结的冻结锁公钥,然后利用目标账户的私钥对上述目标账户的账户地址、冻结锁公钥和冻结锁私钥进行签名,从而得到第三数据,进一步地根据第三数据生成解冻请求,根据上述第三数据生成的解冻请求中包括有目标账户的账户地址、冻结锁公钥、冻结锁私钥以及第三数据。

需要说明的是,如果目标账户的私钥确定发生了泄露,如:目标账户的私钥已经被黑客获取,则黑客也可以利用获取的私钥对目标账户进行冻结,即在用户对目标账户进行冻结的基础上对目标账户进行重复冻结,使目标账户处于多重锁定状态。在目标账户处于多重锁定的状态下,任何单把“钥匙”(冻结锁私钥)都无法完全解除目标账户的冻结状态。因此,尽管由于黑客对目标账户进行重复冻结,使用户无法将账户解冻,但只要用户不对目标账户进行解冻,目标账户内的资源就是安全的,在该情况下,用户可以利用账户资源转移的方法,在不解冻目标账户的情况下将目标账户中的资源转移到新账户中。

根据本发明实施例,还提供了另一种区块链中账户的处理方法的方法实施例。

图5是根据本发明实施例的另一种可选的区块链中账户的处理方法的流程图,如图5所示,该方法可以包括以下步骤:

步骤s502,区块链接收第一冻结请求,第一冻结请求由用户发送的冻结指令和冻结锁公钥生成,第一冻结请求用于请求对目标账户进行冻结,冻结锁根据用户发送的冻结指令生成,冻结锁包括冻结锁公钥;

步骤s504,区块链验证第一冻结请求;

步骤s506,在成功验证第一冻结请求的情况下,其中,区块链根据第一冻结请求记录冻结事件,其中,冻结事件用于指示区块链拒绝对目标账户执行资源转移。

通过上述步骤s502至步骤s506,通过区块链接收第一冻结请求,并根据第一冻结请求,利用冻结锁公钥对目标账户进行冻结,可以解决了由于账户私钥发生泄露造成的账户不安全的技术问题,进而达到在账户私钥发生泄露时,确保账户安生的技术效果。

可选地,区块链验证第一冻结请求包括:区块链获取目标账户的公钥;区块链利用目标账户的公钥验证第一冻结请求中由目标账户的私钥对目标账户的账户地址和冻结锁公钥进行签名得到的第一数据;在成功验证第一数据的情况下,区块链记录第一冻结请求中携带的冻结锁公钥和目标账户的账户地址。

作为一种可选的实施例,区块链在接收到第一冻结请求之后,需要通过验证目标账户的私钥签名,以确认发起第一冻结请求的用户的身份。具体地,区块链接收到第一冻结请求之后,区块链对第一冻结请求中目标账户的私钥签名进行验证,可选地,区块链从证书中心中获取目标账户的公钥,并利用目标账户的公钥对第一冻结请求中目标账户的私钥签名进行验证。区块链中通常包括多个节点,其中每个节点均根据目标账户的公钥对目标账户的私钥签名进行验证,并在多数节点验证通过之后,认为区块链对第一冻结请求的验证通过。在区块链对第一冻结请求验证通过之后,区块链获取到目标账户的账户地址和冻结锁公钥,从而根据获取的账户地址和冻结锁公钥记录冻结事件,并根据记录的冻结事件拒绝对目标账户执行任何的资源转移。

可选地,在区块链根据第一冻结请求记录冻结事件之后,方法还包括:区块链接收解冻请求,解冻请求由用户发送的解冻指令、冻结锁公钥和和冻结锁私钥生成,解冻请求用于请求解除利用冻结锁对目标账户进行的冻结,解冻请求携带冻结锁公钥,解冻请求携带的冻结锁公钥与冻结请求携带的冻结锁公钥相同,冻结锁私钥与冻结锁公钥相匹配;区块链验证解冻请求中的冻结锁私钥签名和第二数据,或者,区块链验证解冻请求中的第三数据,其中,冻结锁签名为利用冻结锁私钥对目标账户的账户地址和冻结锁公钥进行签名得到的,第二数据为利用目标账户的私钥对目标账户的账户地址、目标账户的私钥和冻结锁私钥签名进行签名得到的,第三数据为利用目标账户的私钥对目标账户的账户地址、目标账户的私钥和冻结锁私钥进行签名得到的;在成功验证冻结锁私钥签名和第二数据的情况下,或者,在成功验证第三数据的情况下,区块链根据账户地址和冻结锁公钥记录解冻事件,其中,解冻事件用于指示区块链解除利用冻结锁对目标账户进行的冻结。

作为一种可选的实施例,在对目标账户进行冻结之后,还可以对目标账户进行解冻。具体地,由用户发送解冻指令,客户端接收用户发送的解冻指令,并根据解冻指令、冻结锁公钥和和冻结锁私钥生成解冻请求,这里的冻结锁私钥与上述对目标账户进行冻结的冻结锁公钥相匹配,并且通过该冻结锁私钥可以并且只能解除利用与其相匹配的冻结锁公钥进行的冻结。客户端将解冻请求发送给区块链,区块链接收该解冻请求,并对解冻请求中的数据进行验证。上述解冻请求是由客户端生成的,具体地,客户端可以利用冻结锁私钥对目标账户的账户地址和冻结锁公钥进行签名得到冻结锁私钥签名,再利用目标账户的私钥对目标账户的账户地址、冻结锁公钥和冻结锁私钥签名进行签名,得到第二数据,最后根据第二数据生成解冻请求。或者,客户可以利用目标账户的私钥对目标账户的账户地址、冻结锁公钥和冻结锁公钥进行签名,得到第三数据,最后根据第三数据生成解冻请求。区块链需要对解冻请求中的签名进行验证。具体地,当解冻请求由第二数据生成时,区块链需要验证冻结锁私钥签名和第二数据,当解冻请求由第三数据生成时,区块链需要验证第三数据。区块链在验证成功的情况下,根据解冻请求记录解冻事件,并根据记录的解冻事件允许对目标账户执行资源转移,从而对将目标账户解冻。

可选地,在区块链根据第一冻结请求记录冻结事件之后,方法还包括:区块链接收第二冻结请求,其中,第二冻结请求用于请求对目标账户进行冻结;区块链判断发送第一冻结请求的第一发送地址与发送第二冻结请求的第二发送地址是否一致;如果第一发送地址与第二发送地址一致,则判断发送第一冻结请求与发送第二冻结请求的时间间隔是否大于预设时间;如果时间间隔小于或者等于预设时间,则拒绝第二冻结请求。

作为一种可选的实施例,由于可以对目标账户进行重复冻结,为了避免有人通过不停地提交冻结请求来攻击区块链网络,对同一地址提交冻结请求的时间间隔进行限制。具体地,在区块链在接收到第一冻结请求之后,又再次接收到第二冻结请求,则区块链首先判断发送第一冻结请求的第一地址和发送第二地址请求的第二地址是否是同一地址,如果第一地址和第二地址为同一地址,则再次判断发送第一冻结请求与发送第二冻结请求的时间间隔是否大于预设时间,只有在发送第二冻结请求与发送第一冻结请求的时间间隔大于预设时间时,区块链才会接受第二冻结请求,如果上述时间间隔小于或者等于预设时间,则区块链拒绝第二次冻结请求。

可选地,在区块链根据第一冻结请求记录冻结事件之后,方法还包括:区块链接收第二冻结请求,其中,第二冻结请求用于请求对目标账户进行冻结;区块链判断目标账户当前被冻结锁冻结的次数是否等于预设阈值;如果目标账户当前被冻结锁冻结的次数等于预设阈值,则区块链拒绝第二冻结请求。

作为一种可选的实施例,还可以对同一账户的最大冻结次数进行限定,以避免有人通过不停对同一账户发送冻结请求来攻击区块链网络。具体地,在区块链在接收到第一冻结请求之后,又再次接收到第二冻结请求,则区块链判断当前目标账户被通过冻结锁设置为冻结的次数是否为预设阈值,如果目标账户被通过冻结锁设置为冻结的次数等于预设阈值,表明目标账户当前被多重锁定的次数已经达到了上限,区块链拒绝第二次冻结请求。并且,在当前被多重锁定的次数已经达到了上限后,区块链不允许再对目标账户进行解冻,用户只能通过资源找回的方式将目标账户资源转移到新账户中。在目标账户冻结次数达到上限之后禁止目标账户解冻可以防止黑客对目标账户进行重复锁定以达到冻结上限,而让用户无法再次冻结账户,而后黑客再逐个解冻重复锁定,从而给用户造成账户风险。

通过上述本发明实施例提供的区块链中账户的处理方法,在目标账户的私钥发生泄露或者疑似泄露时,对目标进行快速冻结,从而确保了目标账户的安全。在本发明实施例中,用户无论在确认目标账户私钥泄露,还是怀疑目标账户的私钥发生泄露,也或者目标账户被不明冻结时,用户可以立即发起对目标账户的冻结,以在第一时间通过冻结目标账户的方式保护目标账户的安全。在确认目标账户的私钥未发生泄露时,将目标账户解冻,而在确认目标账户的私钥确实发生泄露,或者已无法确认目标账户的私钥究竟是否发生泄露时,保持目标账户的冻结,通过资源转移的方式将目标账户中的资源转移到新的账户中。用户冻结账户之后,只有确认目标账户的私钥确实未发生泄露时才能将其解冻,而不能随意将目标账户解冻。可选地,由于目标账户的用户可能存在多个,每一个用户都拥有目标账户的私钥,可以对目标账户进行冻结,因此,目标账户可以被重复冻结,在确认目标账户私钥确实未发生泄露时,在对目标账户发起冻结的所有用户均发起解冻请求之后,目标账户解冻。当目标账户可以被进行重复冻结时,应当设置目标账户被重新冻结的最大次数,以防止黑客通过不停对目标账户进行冻结对区块链进行攻击,使区块链网络因重负荷而发生崩溃。而在设置了目标账户最大冻结次数之后,应当在目标账户被冻结的次数达到最大次数时,永久冻结目标账户,禁止通过解决请求将目标账户再次解冻,以此来防止非法用户在获取目标账户的私钥之后,对目标账户进行重复冻结达到目标账户的最大冻结次数,使真正的用户无法通过将目标账户冻结来确保目标账户的安全,而非法用户则可以寻找机会将目标账用户解冻,进而盗取目标账户中的资源。需要说明的是,当将目标账户最大冻结次数设置为1时,目标账户实质上只能被冻结一次,而不能被重复冻结。此时对目标账户进行的冻结即为永久冻结,用户无法通过发起解冻请求将目标账户解冻。当目标账户被永久冻结时,用户可以通过资源找回的方式,将目标账户中的资源转移到新账户中。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

实施例2

根据本发明实施例,还提供了一种用于实施上述区块链中账户的处理方法的区块链中账户的处理装置。图6是根据本发明实施例的一种可选的区块链中账户的处理装置的示意图,如图6所示,该装置可以包括:第一接收单元610、第一生成单元620、第二生成单元630和第一发送单元640。

需要说明的是,该实施例中的第一接收单元单元610可以用于执行本申请实施例1中的步骤s202,该实施例中的第一生成单元单元620可以用于执行本申请实施例1中的步骤s204,该实施例中的第二生成单元单元630可以用于执行本申请实施例1中的步骤s206,该实施例中的第一发送单元单元640可以用于执行本申请实施例1中的步骤s208。

此处需要说明的是,上述单元与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述单元作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。

通过上述单元,可以解决了由于账户私钥发生泄露造成的账户不安全的技术问题,进而达到在账户私钥发生泄露时,确保账户安生的技术效果。

可选地,第二生成单元包括:第一获取模块,用于根据冻结指令获取目标账户的账户地址、目标账户的私钥和冻结锁公钥;第一签名模块,用于利用目标账户的私钥对目标账户的账户地址和冻结锁公钥进行签名,得到第一数据;第一生成模块,用于根据第一数据生成第一冻结请求,其中,第一冻结请求包括目标账户的账户地址、冻结锁公钥和目标账户的私钥签名。

作为一种可选的实施例,在对目标账户进行冻结时,以目标账户的账户地址作为目标账户的标识,通过生成冻结锁,将冻结锁公钥提交给区块链,从而采用冻结锁对应的锁对目标账户加锁,除此以外,只有具有目标账户私钥的用户可以对目标账户进行冻结,因此,生成第一冻结请求时,第一获取模块根据用户发出的冻结指令,获取要冻结的目标账户的账户地址、目标账户的私钥,以及冻结锁公钥,然后第一签名模块利用目标账户的私钥对目标账户的账户地址和冻结锁公钥进行签名,并根据目标账户的账户地址、冻结锁公钥和目标账户的私钥签名得到第一数据,最后第一生成模块根据第一数据生成第一冻结请求,在第一冻结请求中包括目标账户的账户地址,冻结锁公钥以及目标账户的私钥签名,在将第一冻结请求发送给区块链之后,区块链可以根据第一冻结请求拒绝对目标账户执行资源转移,从而完成对目标账户的冻结。

可选地,装置还包括:第一验证单元,用于在将第一冻结请求发送给区块链之后,通过区块链根据第一冻结请求对第一数据中目标账户的私钥签名进行验证;第一记录单元,用于在验证通过之后,通过区块链记录目标账户的账户地址和冻结锁公钥;第二记录单元,用于通过区块链根据第一冻结请求记录冻结事件,其中,冻结事件用于指示采用冻结锁公钥对目标账户进行冻结。

作为一种可选的实施例,区块链需要对接收到的冻结请求进行验证,验证通过后对目标账户进行冻结。具体地,在将生成的第一冻结请求发送给区块链之后,第一验证单元通过区块链对第一冻结请求中目标账户的私钥签名进行验证,在验证通过之后,区块链确定记录目标账户的账户地址和冻结锁公钥的合法性,第二记录单元将该账户地址和冻结锁公钥记录在冻结事件中,以根据该冻结锁公钥关联的冻结锁对目标地址对应的目标账户进行冻结,具体地,在记录冻结事件后,区块链拒绝对目标账户执行某些类型的资源转移。

可选地,第一冻结请求包括冻结类型,发送单元包括:发送模块,用于将第一冻结请求发送给区块链,以指示区块链根据第一冻结请求拒绝对目标账户执行冻结类型的资源转移。

本发明还提供了一种优选实施例,该优选实施例中,在客户端生成的第一冻结请求中还包括冻结类型,以对目标账户进行与上述冻结类型相对应的冻结。可选地,该冻结类型可以但不限定为“完全禁止交易的冻结”或者“只禁止资产转出的冻结”等。为了保证账户安全,该冻结类型至少要禁止资产转出。可选地,客户端可以利用目标账户的私钥对目标账户的账户地址、冻结锁公钥以及上述冻结类型进行签名,得到第一数据,再根据第一数据生成第一冻结请求,最后发送模块将第一冻结请求发送给区块链,从而在区块链对第一冻结请求成功验证之后,拒绝对目标地址所对应的目标账户执行冻结类型中限定的资源转移。图3是根据本发明实施例的一种可选的区块链中账户的处理方法所生成的第一数据的示意图,如图3所示,客户端对目标账户的账户地址、冻结类型和冻结锁公钥进行签名得到第一数据,在生成的第一数据中,包括有目标账户的账户地址、冻结类型、冻结锁公钥以及账户私钥签名。

可选地,装置还包括:第二接收单元,用于在将第一冻结请求发送给区块链,以使区块链根据第一冻结请求记录冻结事件之后,接收用户发送的解冻指令,其中,解冻指令用于指示解除利用冻结锁对目标账户进行的冻结;第三生成单元,用于根据解冻指令和冻结锁私钥生成解冻请求,其中,解冻请求用于请求利用冻结锁私钥将目标账户解冻,冻结锁私钥与冻结锁公钥相匹配;第二发送单元,用于将解冻请求发送给区块链,以使区块链根据解冻请求记录解冻事件,其中,解冻事件用于指示区块链解除利用冻结锁对目标账户进行的冻结。

作为一种可选的实施例,在对目标账户进行冻结之后,还可以对目标账户进行解冻。具体地,用户发送解冻指令,第二接收单元接收用户发送的解冻指令,第三生成单元根据解冻指令和冻结锁私钥生成解冻请求,这里的冻结锁私钥与上述对目标账户进行冻结的冻结锁相匹配,并且通过该冻结锁私钥能够且只能解除利用与其相匹配的冻结锁进行的冻结。第二发送单元将解冻请求发送给区块链,区块链根据解冻请求记录解冻事件,并根据记录的解冻事件允许对目标账户执行资源转移,从而对将目标账户解冻。需要说明的是区块链根据解冻请求记录的解冻事件,仅能解除利用与冻结锁私钥相匹配的冻结锁对目标账户的冻结,当目标账户被多个冻结锁冻结时,单个解冻请求仅能解除解冻请求中包含的冻结锁私钥所对应的冻结锁,而无法使目标账户完全解冻。

可选地,第三生成单元包括:第二获取模块,用于根据解冻指令获取目标账户的账户地址、目标账户的私钥和冻结锁公钥;第二签名模块,用于利用冻结锁私钥对目标账户的账户地址和冻结锁公钥进行签名,得到冻结锁私钥签名;第三签名模块,用于利用目标账户的私钥对目标账户的账户地址、冻结锁公钥和冻结锁私钥签名进行签名,得到第二数据;第二生成模块,用于根据第二数据生成解冻请求,解冻请求包括目标账户的账户地址、冻结锁公钥、冻结锁私钥签名和第二数据。

作为一种可选的实施例,在对目标账户进行解冻时,同样以目标账户的账户地址作为目标账户的标识,采用与冻结时的冻结锁公钥相匹配的冻结锁私钥对将目标账户解锁。并且,同样只有具有目标账户私钥的用户可以对目标账户进行解冻。因此,生成解冻请求时,第二获取模块根据用户发送的解冻指令,获取要解冻的目标账户的账户地址、目标账户的私钥和对目标账户进行冻结的冻结锁公钥,然后第二签名模块利用冻结锁私钥对上述目标账户的地址和冻结锁公钥进行签名,得到冻结锁私钥签名,第三签名模块利用目标账户的私钥对上述目标账户的地址、冻结锁公钥以及冻结锁私钥签名进行第二次签名得到第二数据,最后第二生成模块根据第二数据生成解冻请求。图4是根据本发明实施例的一种可选的区块链中账户的处理方法所生成的解冻请求的示意图,如图4所示,在生成的第二数据中包括目标账户的账户地址、冻结锁公钥、冻结锁私钥签名和目标账户的账户私钥签名。

可选地,第三生成单元包括:第三获取模块,用于根据解冻指令获取目标账户的账户地址、目标账户的私钥和冻结锁公钥;第四签名模块,用于利用目标账户的私钥对目标账户的账户地址、冻结锁公钥和冻结锁私钥进行签名,得到第三数据;第三生成模块,用于根据第三数据生成解冻请求,解冻请求包括目标账户的账户地址、冻结锁公钥、冻结锁私钥和第三数据。

作为一种可选的实施例,客户端还可以通过另一种方式生成冻结请求,具体地,第三获取模块根据用户发送的解冻指令,获取要解冻的目标账户的账户地址、目标账户的私钥和对目标账户进行冻结的冻结锁公钥,然后第四签名模块利用目标账户的私钥对上述目标账户的账户地址、冻结锁公钥和冻结锁私钥进行签名,从而得到第三数据,进一步地第三生成模块根据第三数据生成解冻请求,根据上述第三数据生成的解冻请求中包括有目标账户的账户地址、冻结锁公钥、冻结锁私钥以及第三数据。

需要说明的是,如果目标账户的私钥确定发生了泄露,如:目标账户的私钥已经被黑客获取,则黑客也可以利用获取的私钥对目标账户进行冻结,即在用户对目标账户进行冻结的基础上对目标账户进行重复冻结,使目标账户处于多重锁定状态。在目标账户处于多重锁定的状态下,任何单把“钥匙”(冻结锁私钥)都无法完全解除目标账户的冻结状态。因此,尽管由于黑客对目标账户进行重复冻结,使用户无法将账户解冻,但只要用户不对目标账户进行解冻,目标账户内的资源就是安全的,在该情况下,用户可以利用账户资源转移的方法,在不解冻目标账户的情况下将目标账户中的资源转移到新账户中。

根据本发明实施例,还提供了另一种用于实施上述区块链中账户的处理方法的区块链中账户的处理装置。图7是根据本发明实施例的一种可选的区块链中账户的处理装置的示意图,如图7所示,该装置可以包括:第三接收单元710、第二验证单元720和第三记录单元730。

需要说明的是,该实施例中的第三接收单元710可以用于执行本申请实施例1中的步骤s502,该实施例中的第二验证单元720可以用于执行本申请实施例1中的步骤s504,该实施例中的第三记录单元730可以用于执行本申请实施例1中的步骤s506。

此处需要说明的是,上述单元与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述单元作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。

通过上述单元,可以解决了由于账户私钥发生泄露造成的账户不安全的技术问题,进而达到在账户私钥发生泄露时,确保账户安生的技术效果。

可选地,第二验证单元包括:第四获取模块,用于通过区块链获取目标账户的公钥;第一验证模块,用于通过区块链利用目标账户的公钥验证第一冻结请求中由目标账户的私钥对目标账户的账户地址和冻结锁公钥进行签名得到的第一数据;第五获取模块,用于在成功验证第一数据的情况下,通过区块链记录第一冻结请求中携带的冻结锁公钥和目标账户的账户地址。

作为一种可选的实施例,区块链在接收到第一冻结请求之后,需要通过验证目标账户的私钥签名,以确认发起第一冻结请求的用户的身份。具体地,区块链接收到第一冻结请求之后,区块链对第一冻结请求中目标账户的私钥签名进行验证,可选地,第四获取模块通过区块链从证书中心中获取目标账户的公钥,并利用目标账户的公钥对第一冻结请求中目标账户的私钥签名进行验证。区块链中通常包括多个节点,其中每个节点均根据目标账户的公钥对目标账户的私钥签名进行验证,并在多数节点验证通过之后,认为区块链对第一冻结请求的验证通过。在区块链对第一冻结请求验证通过之后,区块链获取到目标账户的账户地址和冻结锁公钥,从而第五获取模块通过区块链根据获取的账户地址和冻结锁公钥记录冻结事件,并根据记录的冻结事件拒绝对目标账户执行任何的资源转移。

可选地,装置还包括:第四接收单元,用于在区块链根据第一冻结请求记录冻结事件之后,通过区块链接收解冻请求,解冻请求由用户发送的解冻指令、冻结锁公钥和和冻结锁私钥生成,解冻请求用于请求解除利用冻结锁对目标账户进行的冻结,解冻请求携带冻结锁公钥,解冻请求携带的冻结锁公钥与冻结请求携带的冻结锁公钥相同,冻结锁私钥与冻结锁公钥相匹配;第三验证单元,用于通过区块链验证解冻请求中的冻结锁私钥签名和第二数据,或者,区块链验证解冻请求中的第三数据,其中,冻结锁签名为利用冻结锁私钥对目标账户的账户地址和冻结锁公钥进行签名得到的,第二数据为利用目标账户的私钥对目标账户的账户地址、目标账户的私钥和冻结锁私钥签名进行签名得到的,第三数据为利用目标账户的私钥对目标账户的账户地址、目标账户的私钥和冻结锁私钥进行签名得到的;第四记录单元,用于在成功验证冻结锁私钥签名和第二数据的情况下,或者,在成功验证第三数据的情况下,通过区块链根据账户地址和冻结锁公钥记录解冻事件,其中,解冻事件用于指示区块链解除利用冻结锁对目标账户进行的冻结。

作为一种可选的实施例,在对目标账户进行冻结之后,还可以对目标账户进行解冻。具体地,由用户发送解冻指令,客户端接收用户发送的解冻指令,并根据解冻指令、冻结锁公钥和和冻结锁私钥生成解冻请求,这里的冻结锁私钥与上述对目标账户进行冻结的冻结锁公钥相匹配,并且通过该冻结锁私钥可以并且只能解除利用与其相匹配的冻结锁公钥进行的冻结。客户端将解冻请求发送给区块链,第四接收单元通过区块链接收该解冻请求,并对解冻请求中的数据进行验证。上述解冻请求是由客户端生成的,具体地,客户端可以利用冻结锁私钥对目标账户的账户地址和冻结锁公钥进行签名得到冻结锁私钥签名,再利用目标账户的私钥对目标账户的账户地址、冻结锁公钥和冻结锁私钥签名进行签名,得到第二数据,最后根据第二数据生成解冻请求。或者,客户可以利用目标账户的私钥对目标账户的账户地址、冻结锁公钥和冻结锁公钥进行签名,得到第三数据,最后根据第三数据生成解冻请求。区块链需要对解冻请求中的签名进行验证。具体地,当解冻请求由第二数据生成时,第三验证单元通过区块链需要验证冻结锁私钥签名和第二数据,当解冻请求由第三数据生成时,第三验证单元通过区块链需要验证第三数据。第四记录单元通过区块链在验证成功的情况下,根据解冻请求记录解冻事件,并根据记录的解冻事件允许对目标账户执行资源转移,从而对将目标账户解冻。

可选地,装置还包括:第五接收单元,用于在区块链根据第一冻结请求记录冻结事件之后,通过区块链接收第二冻结请求,其中,第二冻结请求用于请求对目标账户进行冻结;判断单元,用于通过区块链判断目标账户当前被冻结锁冻结的次数是否等于预设阈值;拒绝单元,用于在目标账户当前被冻结锁冻结的次数等于预设阈值时,通过区块链拒绝第二冻结请求。

作为一种可选的实施例,还可以对同一账户的最大冻结次数进行限定,以避免有人通过不停对同一账户发送冻结请求来攻击区块链网络。具体地,在区块链在接收到第一冻结请求之后,第五接收单元通过区块链再次接收到第二冻结请求,则判断单元通过区块链判断当前目标账户被通过冻结锁设置为冻结的次数是否为预设阈值,如果目标账户被通过冻结锁设置为冻结的次数等于预设阈值,表明目标账户当前被多重锁定的次数已经达到了上限,拒绝单元通过区块链拒绝第二次冻结请求。并且,在当前被多重锁定的次数已经达到了上限后,区块链不允许再对目标账户进行解冻,用户只能通过资源找回的方式将目标账户资源转移到新账户中。在目标账户冻结次数达到上限之后禁止目标账户解冻可以防止黑客对目标账户进行重复锁定以达到冻结上限,而让用户无法再次冻结账户,而后黑客再逐个解冻重复锁定,从而给用户造成账户风险。

此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。

实施例3

根据本发明实施例,还提供了一种用于实施上述区块链中账户的处理方法的终端。

图8是根据本发明实施例的一种终端的结构框图,如图8所示,该终端可以包括:一个或多个(图中仅示出一个)处理器801、存储器803、以及传输装置805(如上述实施例中的发送装置),如图8所示,该终端还可以包括输入输出设备807。

其中,存储器803可用于存储软件程序以及模块,如本发明实施例中的区块链中账户的处理方法和装置对应的程序指令/模块,处理器801通过运行存储在存储器803内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的区块链中账户的处理方法。存储器803可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器803可进一步包括相对于处理器801远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

上述的传输装置805用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置805包括一个网络适配器(networkinterfacecontroller,nic),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置805为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。

其中,具体地,存储器803用于存储应用程序。

处理器801可以通过传输装置805调用存储器803存储的应用程序,以执行下述步骤:接收用户发送的冻结指令,其中,冻结指令用于指示将目标账户冻结;根据接收到的冻结指令生成冻结锁,其中,冻结锁包括冻结锁公钥;根据冻结指令和冻结锁公钥生成第一冻结请求,其中,第一冻结请求用于请求利用冻结锁对目标账户进行冻结;将第一冻结请求发送给区块链,以使区块链根据第一冻结请求记录冻结事件,其中,冻结事件用于指示区块链拒绝对目标账户执行资源转移。

处理器801还用于执行下述步骤:根据冻结指令获取目标账户的账户地址、目标账户的私钥和冻结锁公钥;利用目标账户的私钥对目标账户的账户地址和冻结锁公钥进行签名,得到第一数据;根据第一数据生成第一冻结请求,其中,第一冻结请求包括目标账户的账户地址、冻结锁公钥和目标账户的私钥签名。

处理器801还用于执行下述步骤:通过区块链根据第一冻结请求对第一数据中目标账户的私钥签名进行验证;在验证通过之后,通过区块链记录目标账户的账户地址和冻结锁公钥;通过区块链根据第一冻结请求记录冻结事件,其中,冻结事件用于指示采用冻结锁公钥对目标账户进行冻结。

处理器801还用于执行下述步骤:将第一冻结请求发送给区块链,以指示区块链根据第一冻结请求拒绝对目标账户执行冻结类型的资源转移。

处理器801还用于执行下述步骤:接收用户发送的解冻指令,其中,解冻指令用于指示解除利用冻结锁对目标账户进行的冻结;根据解冻指令和冻结锁私钥生成解冻请求,其中,解冻请求用于请求利用冻结锁私钥将目标账户解冻,冻结锁私钥与冻结锁公钥相匹配;将解冻请求发送给区块链,以使区块链根据解冻请求记录解冻事件,其中,解冻事件用于指示区块链解除利用冻结锁对目标账户进行的冻结。

处理器801还用于执行下述步骤:根据解冻指令获取目标账户的账户地址、目标账户的私钥和冻结锁公钥;利用冻结锁私钥对目标账户的账户地址和冻结锁公钥进行签名,得到冻结锁私钥签名;利用目标账户的私钥对目标账户的账户地址、冻结锁公钥和冻结锁私钥签名进行签名,得到第二数据;根据第二数据生成解冻请求,解冻请求包括目标账户的账户地址、冻结锁公钥、冻结锁私钥签名和第二数据。

处理器801还用于执行下述步骤:根据解冻指令获取目标账户的账户地址、目标账户的私钥和冻结锁公钥;利用目标账户的私钥对目标账户的账户地址、冻结锁公钥和冻结锁私钥进行签名,得到第三数据;根据第三数据生成解冻请求,解冻请求包括目标账户的账户地址、冻结锁公钥、冻结锁私钥和第三数据。

处理器801还用于执行下述步骤:通过区块链接收第一冻结请求,其中,第一冻结请求由用户发送的冻结指令和冻结锁公钥生成,第一冻结请求用于请求对目标账户进行冻结,冻结锁根据用户发送的冻结指令生成,冻结锁包括冻结锁公钥;通过区块链验证第一冻结请求;在成功验证第一冻结请求的情况下,通过区块链根据第一冻结请求记录冻结事件,其中,冻结事件用于指示区块链拒绝对目标账户执行资源转移。

处理器801还用于执行下述步骤:通过区块链获取目标账户的公钥;通过区块链利用目标账户的公钥验证第一冻结请求中由目标账户的私钥对目标账户的账户地址和冻结锁公钥进行签名得到的第一数据;在成功验证第一数据的情况下,通过区块链记录第一冻结请求中携带的冻结锁公钥和目标账户的账户地址。

处理器801还用于执行下述步骤:通过区块链接收解冻请求,解冻请求由用户发送的解冻指令、冻结锁公钥和冻结锁私钥生成,解冻请求用于请求解除利用冻结锁对目标账户进行的冻结,解冻请求携带冻结锁公钥,解冻请求携带的冻结锁公钥与冻结请求携带的冻结锁公钥相同,冻结锁私钥与冻结锁公钥相匹配;通过区块链验证解冻请求中的冻结锁私钥签名和第二数据,或者,区块链验证解冻请求中的第三数据,其中,冻结锁签名为利用冻结锁私钥对目标账户的账户地址和冻结锁公钥进行签名得到的,第二数据为利用目标账户的私钥对目标账户的账户地址、目标账户的私钥和冻结锁私钥签名进行签名得到的,第三数据为利用目标账户的私钥对目标账户的账户地址、目标账户的私钥和冻结锁私钥进行签名得到的;在成功验证冻结锁私钥签名和第二数据的情况下,或者,在成功验证第三数据的情况下,通过区块链根据账户地址和冻结锁公钥记录解冻事件,其中,解冻事件用于指示区块链解除利用冻结锁对目标账户进行的冻结。

处理器801还用于执行下述步骤:通过区块链接收第二冻结请求,其中,第二冻结请求用于请求对目标账户进行冻结;通过区块链判断目标账户当前被冻结锁冻结的次数是否等于预设阈值;如果目标账户当前被冻结锁冻结的次数等于预设阈值,则区块链拒绝第二冻结请求。

采用本发明实施例,提供了一种区块链中账户的处理方法的终端的方案。通过生成由冻结锁,并利用冻结锁中的冻结锁公钥对目标账户进行冻结,达到了确保目标账户安全的目的,从而实现了在账户私钥发生泄露时,确保账户安生的技术效果,进而解决了由于账户私钥发生泄露造成的账户不安全的技术问题。

可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。

本领域普通技术人员可以理解,图8所示的结构仅为示意,终端可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobileinternetdevices,mid)、pad等终端设备。图8其并不对上述电子装置的结构造成限定。例如,终端还可包括比图8中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图8所示不同的配置。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-onlymemory,rom)、随机存取器(randomaccessmemory,ram)、磁盘或光盘等。

实施例4

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行区块链中账户的处理方法的程序代码。

可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:

s1,接收用户发送的冻结指令;

s2,根据接收到的冻结指令生成冻结锁;

s3,根据冻结指令和冻结锁公钥生成第一冻结请求;

s4,将第一冻结请求发送给区块链,以使区块链根据第一冻结请求记录冻结事件。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:根据冻结指令获取目标账户的账户地址、目标账户的私钥和冻结锁公钥;利用目标账户的私钥对目标账户的账户地址和冻结锁公钥进行签名,得到第一数据;根据第一数据生成第一冻结请求,其中,第一冻结请求包括目标账户的账户地址、冻结锁公钥和目标账户的私钥签名。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:区块链根据第一冻结请求对第一数据中目标账户的私钥签名进行验证;在验证通过之后,区块链记录目标账户的账户地址和冻结锁公钥;区块链根据第一冻结请求记录冻结事件,其中,冻结事件用于指示采用冻结锁公钥对目标账户进行冻结。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:将第一冻结请求发送给区块链,以指示区块链根据第一冻结请求拒绝对目标账户执行冻结类型的资源转移。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:接收用户发送的解冻指令,其中,解冻指令用于指示解除利用冻结锁对目标账户进行的冻结;根据解冻指令和冻结锁私钥生成解冻请求,其中,解冻请求用于请求利用冻结锁私钥将目标账户解冻,冻结锁私钥与冻结锁公钥相匹配;将解冻请求发送给区块链,以使区块链根据解冻请求记录解冻事件,其中,解冻事件用于指示区块链解除利用冻结锁对目标账户进行的冻结。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:根据解冻指令获取目标账户的账户地址、目标账户的私钥和冻结锁公钥;利用冻结锁私钥对目标账户的账户地址和冻结锁公钥进行签名,得到冻结锁私钥签名;利用目标账户的私钥对目标账户的账户地址、冻结锁公钥和冻结锁私钥签名进行签名,得到第二数据;根据第二数据生成解冻请求,解冻请求包括目标账户的账户地址、冻结锁公钥、冻结锁私钥签名和第二数据。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:根据解冻指令获取目标账户的账户地址、目标账户的私钥和冻结锁公钥;利用目标账户的私钥对目标账户的账户地址、冻结锁公钥和冻结锁私钥进行签名,得到第三数据;根据第三数据生成解冻请求,解冻请求包括目标账户的账户地址、冻结锁公钥、冻结锁私钥和第三数据。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:通过区块链接收第一冻结请求,其中,第一冻结请求由用户发送的冻结指令和冻结锁公钥生成,第一冻结请求用于请求对目标账户进行冻结,冻结锁根据用户发送的冻结指令生成,冻结锁包括冻结锁公钥;通过区块链验证第一冻结请求;在成功验证第一冻结请求的情况下,通过区块链根据第一冻结请求记录冻结事件,其中,冻结事件用于指示区块链拒绝对目标账户执行资源转移。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:通过区块链获取目标账户的公钥;通过区块链利用目标账户的公钥验证第一冻结请求中由目标账户的私钥对目标账户的账户地址和冻结锁公钥进行签名得到的第一数据;在成功验证第一数据的情况下,通过区块链记录第一冻结请求中携带的冻结锁公钥和目标账户的账户地址。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:通过区块链接收解冻请求,解冻请求由用户发送的解冻指令、冻结锁公钥和冻结锁私钥生成,解冻请求用于请求解除利用冻结锁对目标账户进行的冻结,解冻请求携带冻结锁公钥,解冻请求携带的冻结锁公钥与冻结请求携带的冻结锁公钥相同,冻结锁私钥与冻结锁公钥相匹配;通过区块链验证解冻请求中的冻结锁私钥签名和第二数据,或者,区块链验证解冻请求中的第三数据,其中,冻结锁签名为利用冻结锁私钥对目标账户的账户地址和冻结锁公钥进行签名得到的,第二数据为利用目标账户的私钥对目标账户的账户地址、目标账户的私钥和冻结锁私钥签名进行签名得到的,第三数据为利用目标账户的私钥对目标账户的账户地址、目标账户的私钥和冻结锁私钥进行签名得到的;在成功验证冻结锁私钥签名和第二数据的情况下,或者,在成功验证第三数据的情况下,通过区块链根据账户地址和冻结锁公钥记录解冻事件,其中,解冻事件用于指示区块链解除利用冻结锁对目标账户进行的冻结。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:通过区块链接收第二冻结请求,其中,第二冻结请求用于请求对目标账户进行冻结;通过区块链判断目标账户当前被冻结锁冻结的次数是否等于预设阈值;如果目标账户当前被冻结锁冻结的次数等于预设阈值,则区块链拒绝第二冻结请求。

可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1