CN116318714A - 区块链资产恢复方法和区块链资产恢复系统 - Google Patents
区块链资产恢复方法和区块链资产恢复系统 Download PDFInfo
- Publication number
- CN116318714A CN116318714A CN202310140800.2A CN202310140800A CN116318714A CN 116318714 A CN116318714 A CN 116318714A CN 202310140800 A CN202310140800 A CN 202310140800A CN 116318714 A CN116318714 A CN 116318714A
- Authority
- CN
- China
- Prior art keywords
- client
- blockchain
- asset
- signature
- key
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种区块链资产恢复方法和区块链资产恢复系统,属于区块链技术领域。该方法包括:第一客户端响应于对密钥的重新配置操作,向多个第二客户端请求对重新配置操作进行签名,以恢复区块链上第一客户端的区块链资产,接着,第一客户端基于接收到的多个第一签名、重新配置后的密钥以及校验信息,请求区块链节点恢复区块链资产。在这一过程中,区块链节点需要根据校验信息,校验第一签名对应的第二客户端是否真的对重新配置操作具有授权权限,也即是,对重新配置操作具有授权权限的客户端信息在区块链上并未公开,从而上述方法在实现区块链资产恢复的基础上,确保了区块链资产的安全性。
Description
技术领域
本申请涉及区块链技术领域,特别涉及一种区块链资产恢复方法和区块链资产恢复系统。
背景技术
由于区块链(blockchain)具有公开透明、去中心化、不可篡改等特点,区块链资产应运而生。对于区块链资产而言,用户拥有针对该区块链资产的私钥就意味着拥有对该区块链资产的操作权限,因此,区块链资产的安全性与私钥的安全性息息相关,一旦私钥丢失或遗忘,意味着会失去对区块链资产的操作权限。
相关技术中,若用户的私钥因丢失或遗忘导致用户失去对区块链资产的操作权限,可以通过恢复私钥来恢复区块链资产,从而重新拥有对区块链资产的操作权限,例如,用户将私钥托管至第三方平台上,作为“云钱包”,当私钥丢失时,通过第三方平台来恢复私钥。
然而,上述方法依赖于第三方平台的可信程度,一旦出现恶意管理员或黑客攻击事件,用户的私钥将难以恢复,进而导致区块链资产难以恢复。
发明内容
本申请实施例提供了一种区块链资产恢复方法和区块链资产恢复系统,能够在实现区块链资产恢复的基础上,确保区块链资产的安全性。该技术方案如下:
第一方面,提供了一种区块链资产恢复方法,所述方法应用于区块链资产恢复系统,所述系统包括第一客户端、多个第二客户端以及区块链节点,所述区块链节点上配置有区块链,所述方法包括:
所述第一客户端响应于对密钥的重新配置操作,向多个所述第二客户端发送第一签名请求,所述密钥用于对所述区块链上所述第一客户端的区块链资产进行操作,所述第一签名请求指示对所述重新配置操作进行签名;
所述第一客户端接收多个所述第二客户端基于所述第一签名请求生成的第一签名,所述第一签名指示所述第二客户端已授权所述第一客户端重新配置所述密钥;
所述第一客户端基于重新配置后的所述密钥、校验信息以及接收到的多个所述第一签名,向所述区块链节点发送第一资产恢复请求,所述校验信息用于校验所述第二客户端是否在所述第一客户端发布于所述区块链的客户端列表中,所述客户端列表指示对所述重新配置操作具有授权权限的多个客户端;
所述区块链节点接收所述第一资产恢复请求,基于所述校验信息,校验所述第一签名对应的所述第二客户端是否在所述客户端列表中,若校验通过的所述第一签名的数量大于或等于目标阈值,基于重新配置后的所述密钥,恢复所述第一客户端对所述区块链资产的操作权限。
在上述方法中,第一客户端响应于对密钥的重新配置操作,向多个第二客户端请求对重新配置操作进行签名,以恢复区块链上第一客户端的区块链资产,接着,第一客户端基于接收到的多个第一签名、重新配置后的密钥以及校验信息,请求区块链节点恢复区块链资产。在这一过程中,区块链节点需要根据校验信息,校验第一签名对应的第二客户端是否真的对重新配置操作具有授权权限,也即是,对重新配置操作具有授权权限的客户端信息在区块链上并未公开,从而上述方法在实现区块链资产恢复的基础上,确保了区块链资产的安全性。
在一些实施例中,所述区块链节点接收所述第一资产恢复请求,基于所述校验信息,校验所述第一签名对应的所述第二客户端是否在所述客户端列表中,包括:
所述区块链节点接收所述第一资产恢复请求,从所述区块链上获取所述客户端列表,所述客户端列表包括多个对所述重新配置操作具有授权权限的客户端的校验地址,所述客户端的校验地址基于所述校验信息和所述客户端的地址生成;
所述区块链节点基于所述校验信息和所述第一签名对应的所述第二客户端的地址,生成所述第二客户端的校验地址;
若所述第二客户端的校验地址在所述客户端列表中,且基于所述第二客户端的公钥对所述第一签名验签通过,所述区块链节点确定所述第一签名校验通过。
在一些实施例中,所述若校验通过的所述第一签名的数量大于或等于目标阈值,基于重新配置后的所述密钥,恢复所述第一客户端对所述区块链资产的操作权限,包括:
若校验通过的所述第一签名的数量大于或等于所述目标阈值,所述区块链节点在所述区块链上发布第一状态信息,所述第一状态信息指示所述区块链资产正在恢复中;
若所述区块链节点在目标时间段内未接收到恶意行为举报,基于重新配置后的所述密钥,恢复所述第一客户端对所述区块链资产的操作权限,所述恶意行为举报指示对所述区块链资产进行恢复的行为是恶意行为。
在一些实施例中,所述方法还包括:
多个所述第二客户端中的目标第二客户端在所述目标时间段内从所述区块链上获取所述第一状态信息;
所述目标第二客户端向所述第一客户端发送通知消息,所述通知消息用于通知所述第一客户端所述区块链资产正在恢复中,以使所述第一客户端确定对所述区块链资产进行恢复的行为是否为恶意行为,若是,向所述区块链节点发送所述恶意行为举报。
在一些实施例中,所述方法还包括:
若所述第一客户端未对所述密钥进行重新配置,接收到所述目标第二客户端发送的所述通知消息,所述第一客户端基于所述校验信息和多个所述第二客户端中除所述目标第二客户端以外的第二客户端,向所述区块链节点发送所述恶意行为举报。
在一些实施例中,所述方法还包括:
若所述区块链节点在所述目标时间段内接收到所述恶意行为举报,在所述区块链上发布第二状态信息,所述第二状态信息指示已停止恢复所述区块链资产。
通过上述方法,若校验通过的第一签名的数量大于或等于目标阈值,区块链节点基于目标时间段设置区块链资产的保护期,来确保区块链资产的安全性,避免作恶者恶意恢复区块链资产。也即是,在目标时间段内,通过任一诚实的守护者可撤销此次区块链资产恢复行为,能够保证区块链资产的安全性,实现了1/n的安全性,n也即是守护者数量。
在一些实施例中,所述方法还包括:
若所述第一客户端处于离线状态,所述第一客户端响应于所述重新配置操作,向多个所述第二客户端发送第二签名请求,所述第二签名请求指示对所述重新配置操作进行签名,以及向所述区块链节点发送第二资产恢复请求,所述第二签名请求携带所述校验信息;
所述第二客户端接收所述第二签名请求,生成第二签名,基于重新配置后的所述密钥、所述第二签名以及所述校验信息,向所述区块链节点发送所述第二资产恢复请求,所述第二签名指示所述第二客户端已授权所述第一客户端重新配置所述密钥;
所述区块链节点接收多个所述第二客户端发送的所述第二资产恢复请求,基于所述校验信息,校验所述第二签名对应的所述第二客户端是否在所述客户端列表中,若校验通过的所述第二签名的数量大于所述目标阈值,基于重新配置后的所述密钥,恢复所述第一客户端对所述区块链资产的操作权限。
通过上述方法,在第一客户端处于离线状态时,也能够实现区块链资产恢复,并且确保了区块链资产的安全性。
在一些实施例中,所述校验信息包括随机数和口令密码中至少一项。
在一些实施例中,所述基于重新配置后的所述密钥,恢复所述第一客户端对所述区块链资产的操作权限,包括:
将对所述区块链资产具有操作权限的地址更新为重新配置后的所述密钥对应的地址。
在一些实施例中,所述第一客户端响应于对密钥的重新配置操作,向多个所述第二客户端发送第一签名请求,包括:
所述第一客户端响应于所述重新配置操作,基于重新配置前的所述密钥对应的地址和重新配置后的所述密钥对应的地址,向多个所述第二客户端发送所述第一签名请求。
第二方面,本申请实施例提供了一种区块链资产恢复系统,,所述系统包括第一客户端、多个第二客户端以及区块链节点,所述区块链节点上配置有区块链;
所述第一客户端,用于:
响应于对密钥的重新配置操作,向多个所述第二客户端发送第一签名请求,所述密钥用于对所述区块链上所述第一客户端的区块链资产进行操作,所述第一签名请求指示对所述重新配置操作进行签名;
接收多个所述第二客户端基于所述第一签名请求生成的第一签名,所述第一签名指示所述第二客户端已授权所述第一客户端重新配置所述密钥;
基于重新配置后的所述密钥、校验信息以及接收到的多个所述第一签名,向所述区块链节点发送第一资产恢复请求,所述校验信息用于校验所述第二客户端是否在所述第一客户端发布于所述区块链的客户端列表中,所述客户端列表指示对所述重新配置操作具有授权权限的多个客户端;
所述区块链节点,用于:
接收所述第一资产恢复请求,基于所述校验信息,校验所述第一签名对应的所述第二客户端是否在所述客户端列表中,若校验通过的所述第一签名的数量大于或等于目标阈值,基于重新配置后的所述密钥,恢复所述第一客户端对所述区块链资产的操作权限。
在一些实施例中,所述区块链节点,用于:
接收所述第一资产恢复请求,从所述区块链上获取所述客户端列表,所述客户端列表包括多个对所述重新配置操作具有授权权限的客户端的校验地址,所述客户端的校验地址基于所述校验信息和所述客户端的地址生成;
基于所述校验信息和所述第一签名对应的所述第二客户端的地址,生成所述第二客户端的校验地址;
若所述第二客户端的校验地址在所述客户端列表中,且基于所述第二客户端的公钥对所述第一签名验签通过,确定所述第一签名校验通过。
在一些实施例中,所述区块链节点,用于:
若校验通过的所述第一签名的数量大于或等于所述目标阈值,在所述区块链上发布第一状态信息,所述第一状态信息指示所述区块链资产正在恢复中;
若在目标时间段内未接收到恶意行为举报,基于重新配置后的所述密钥,恢复所述第一客户端对所述区块链资产的操作权限,所述恶意行为举报指示对所述区块链资产进行恢复的行为是恶意行为。
在一些实施例中,多个所述第二客户端中的目标第二客户端,用于在所述目标时间段内从所述区块链上获取所述第一状态信息;向所述第一客户端发送通知消息,所述通知消息用于通知所述第一客户端所述区块链资产正在恢复中,以使所述第一客户端确定对所述区块链资产进行恢复的行为是否为恶意行为,若是,向所述区块链节点发送所述恶意行为举报。
在一些实施例中,所述第一客户端,还用于:若未对所述密钥进行重新配置,接收到所述目标第二客户端发送的所述通知消息,基于所述校验信息和多个所述第二客户端中除所述目标第二客户端以外的第二客户端,向所述区块链节点发送所述恶意行为举报。
在一些实施例中,所述区块链节点,还用于:
若在所述目标时间段内接收到所述恶意行为举报,在所述区块链上发布第二状态信息,所述第二状态信息指示已停止恢复所述区块链资产。
在一些实施例中,所述第一客户端还用于:若第一客户端处于离线状态,响应于所述重新配置操作,向多个所述第二客户端发送第二签名请求,所述第二签名请求指示对所述重新配置操作进行签名,以及向所述区块链节点发送第二资产恢复请求,所述第二签名请求携带所述校验信息;
所述第二客户端,还用于:接收所述第二签名请求,生成第二签名,基于重新配置后的所述密钥、所述第二签名以及所述校验信息,向所述区块链节点发送所述第二资产恢复请求,所述第二签名指示所述第二客户端已授权所述第一客户端重新配置所述密钥;
所述区块链节点,还用于:接收多个所述第二客户端发送的所述第二资产恢复请求,基于所述校验信息,校验所述第二签名对应的所述第二客户端是否在所述客户端列表中,若校验通过的所述第二签名的数量大于所述目标阈值,基于重新配置后的所述密钥,恢复所述第一客户端对所述区块链资产的操作权限。
在一些实施例中,所述校验信息包括随机数和口令密码中至少一项。
在一些实施例中,所述区块链节点,用于:
将对所述区块链资产具有操作权限的地址更新为重新配置后的所述密钥对应的地址。
在一些实施例中,所述第一客户端用于:
所述第一客户端响应于所述重新配置操作,基于重新配置前的所述密钥对应的地址和重新配置后的所述密钥对应的地址,向多个所述第二客户端发送所述第一签名请求。
第三方面,本申请实施例提供了一种区块链资产恢复装置,所述装置配置于区块链资产恢复系统中的第一客户端,所述系统还包括多个第二客户端以及区块链节点,所述区块链节点上配置有区块链,所述装置包括至少一个功能模块,用于执行如前述第一方面或第一方面的任意一种可能的实现方式所提供的区块链资产恢复方法中第一客户端的功能。
第四方面,本申请实施例提供了一种区块链资产恢复装置,所述装置配置于区块链资产恢复系统中的区块链节点,所述系统还包括第一客户端和多个第二客户端,所述区块链节点上配置有区块链,所述装置包括至少一个功能模块,用于执行如前述第一方面或第一方面的任意一种可能的实现方式所提供的区块链资产恢复方法中区块链节点的功能。
第五方面,本申请实施例提供了一种区块链资产恢复装置,所述装置配置于区块链资产恢复系统中的第二客户端,所述系统还包括第一客户端以及区块链节点,所述区块链节点上配置有区块链,所述装置包括至少一个功能模块,用于执行如前述第一方面或第一方面的任意一种可能的实现方式所提供的区块链资产恢复方法中第二客户端的功能。
第六方面,本申请实施例提供了一种计算设备,所述计算设备包括处理器和存储器,所述存储器用于存储至少一段程序代码,所述至少一段程序代码由所述处理器加载并执行如前述第一方面或第一方面的任意一种可能的实现方式所提供的区块链资产恢复方法中第一客户端的功能;或者,如前述第一方面或第一方面的任意一种可能的实现方式所提供的区块链资产恢复方法中区块链节点的功能;或者,如前述第一方面或第一方面的任意一种可能的实现方式所提供的区块链资产恢复方法中第二客户端的功能。
第七方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质用于存储至少一段程序代码,该至少一段程序代码用于实现如前述第一方面或第一方面的任意一种可能的实现方式所提供的区块链资产恢复方法中第一客户端的功能;或者,如前述第一方面或第一方面的任意一种可能的实现方式所提供的区块链资产恢复方法中区块链节点的功能;或者,如前述第一方面或第一方面的任意一种可能的实现方式所提供的区块链资产恢复方法中第二客户端的功能。该存储介质包括但不限于易失性存储器,例如随机访问存储器,非易失性存储器,例如快闪存储器、硬盘(hard disk drive,HDD)、固态硬盘(solid state drive,SSD)。
第八方面,本申请实施例提供了一种计算机程序产品,当该计算机程序产品在计算设备上运行时,使得该计算设备实现如前述第一方面或第一方面的任意一种可能的实现方式所提供的区块链资产恢复方法中第一客户端的功能;或者,如前述第一方面或第一方面的任意一种可能的实现方式所提供的区块链资产恢复方法中区块链节点的功能;或者,如前述第一方面或第一方面的任意一种可能的实现方式所提供的区块链资产恢复方法中第二客户端的功能。该计算机程序产品可以为一个软件安装包,在需要实现前述区块链资产恢复方法的情况下,可以下载该计算机程序产品并在计算设备上执行该计算机程序产品。
附图说明
图1是本申请实施例提供的一种实施环境的示意图;
图2是本申请实施例提供的一种计算设备的硬件结构示意图;
图3是本申请实施例提供的一种计算设备集群的结构示意图;
图4是本申请实施例提供的一种计算设备集群的连接方式示意图;
图5是本申请实施例提供的一种区块链资产恢复方法的示意图;
图6是本申请实施例提供的一种区块链资产恢复方法的流程图;
图7是本申请实施例提供的另一种区块链资产恢复方法的示意图;
图8是本申请实施例提供的另一种区块链资产恢复方法的流程图;
图9是本申请实施例提供的一种区块链资产恢复装置的结构示意图;
图10是本申请实施例提供的另一种区块链资产恢复装置的结构示意图;
图11是本申请实施例提供的另一种区块链资产恢复装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
需要说明的是,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本申请中涉及到的校验信息、客户端列表等都是在充分授权的情况下获取的。
为了方便理解,下面先对本申请涉及的关键术语和关键概念进行说明。
区块链(blockchain),是利用块链式数据结构来验证和存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全性、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
非同质化代币(non-fungible token,NFT),是一种区块链上的数据单位,每个代币可以代表一个独特的数字资料,作为虚拟商品所有权的电子认证或证书。由于其不能互换的特性,NFT可以代表数字资产,如画作、艺术品、声音、视频、游戏中的项目或其他形式的创意作品。虽然作品本身是可以无限复制的,但这些代表它们的代币在其底层区块链上能被完整溯源,故能为买家提供所有权证明。在本申请实施例中,将其统称为区块链上的区块链资产。
智能合约(smart contract),一种旨在以信息化方式传播、验证或执行合同的计算机协议,其在分布式账本上体现为可自动执行的计算机程序。
下面对本申请涉及的应用场景和实施环境进行介绍。
本申请实施例提供的技术方案能够应用于对区块链上的区块链资产进行恢复的场景。例如,用户通过密钥对该用户在区块链上的区块链资产进行操作,若用户因密钥丢失导致失去对区块链资产的操作权限,则需要对区块链资产进行恢复,以重新拥有对区块链资产的操作权限。在本申请实施例中,提供了一种区块链资产恢复方法和区块链资产恢复系统,能够在实现区块链资产恢复的基础上,确保区块链资产的安全性。
下面参考图1,先对本申请的实施环境进行介绍。
图1是本申请实施例提供的一种实施环境的示意图。如图1所示,该实施环境为区块链资产恢复系统100,该区块链资产恢复系统100包括第一客户端110、多个第二客户端120以及区块链节点130,区块链节点130上配置有区块链。第一客户端110、多个第二客户端120以及区块链节点130之间通过有线网络或无线网络直接或间接地连接。需要说明的是,在区块链资产恢复系统100中,任意形式的计算设备如服务器、终端等都能加入区块链而成为系统中的某个节点。
第一客户端110通过密钥对区块链上第一客户端110的区块链资产进行操作。示意性地,用户使用的终端上运行有第一客户端110。例如,终端为智能手机、平板电脑、车载终端、掌上游戏主机等,本申请不限于此。示意性地,第一客户端110通过区块链提供的软件开发工具包(software development kit,SDK)/应用程序接口(application programminginterface,API)来调用区块链完成相关操作,例如,第一客户端110通过SDK,向区块链节点130发送针对区块链资产的访问请求,以实现对区块链资产的访问。在本申请实施例中,第一客户端110的密钥成对出现,包括私钥和公钥,私钥由第一客户端自己保管(或者说由用户自己保管),公钥可对外公布,对于区块链资产来说,区块链资产的拥有者为一串地址,即公钥的哈希值,而公钥所对应的私钥则真正拥有区块链资产,也即是具有对区块链资产的操作权限。
多个第二客户端120用于接收第一客户端110响应于对密钥的重新配置操作发送的签名请求,根据签名请求生成相应签名后返回给第一客户端110,该签名请求指示对重新配置操作进行签名。示意性地,用户使用的终端上运行有第二客户端120,例如,终端为智能手机、平板电脑、车载终端、掌上游戏主机等,本申请不限于此。
区块链节点130上配置有区块链。示意性地,区块链节点130通过智能合约来维护区块链。例如,智能合约包括区块链资产合约和区块链资产恢复合约,其中,区块链资产合约用于记录区块链资产的描述信息和所属关系,如区块链资产A的描述信息指示区块链资产A的内容,区块链资产A的所属关系指示第一客户端110具有对区块链资产A的操作权限。区块链资产恢复合约用于记录对区块链资产进行恢复的相关信息(这部分内容会在后续方法实施例中详细介绍,在此不再赘述)。另外,本申请对于区块链节点130的数量不作限定,图中所示仅为示意性说明。
在一些实施例中,区块链节点130为独立的物理服务器,或者是多个物理服务器构成的服务器集群或者分布式系统。在另一些实施例中,区块链节点130部署在云平台上,云平台是云计算平台的简称,是指基于硬件资源和软件资源的服务,提供计算、网络和存储能力。通过网络“云”将庞大的数据计算处理在远端进行处理和分析后返回给用户,具有大规模、分布式、虚拟化、高可用性、扩展性、按需服务以及安全性等特点。云平台可以以较小的管理代价,或者用户与业务提供者较低的交互复杂度,实现可配置计算资源的快速发放与发布。示意性地,云平台是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,CDN)以及大数据和人工智能平台等基础云计算服务的云服务器,本申请不限于此。
在一些实施例中,上述无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也能够是任何网络,包括但不限于局域网(local area network,LAN)、城域网(metropolitan area network,MAN)、广域网(wide area network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合。在一些实现方式中,使用包括超级文本标记语言(hyper text markup language,HTML)、可扩展标记语言(extensible markuplanguage,XML)等的技术和/或格式来代表通过网络交换的数据。此外还能够使用诸如安全套接字层(secure socket layer,SSL)、传输层安全(transport layer security,TLS)、虚拟专用网络(virtual private network,VPN)、网际协议安全(internet protocolsecurity,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还能够使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
下面对上述实施环境涉及的硬件结构进行介绍。
本申请实施例提供了一种计算设备,能够配置为上述区块链资产恢复系统中的任意节点。
示意性地,参考图2,图2是本申请实施例提供的一种计算设备的硬件结构示意图。如图2所示,该计算设备200包括存储器201、处理器202、通信接口203以及总线204。其中,存储器201、处理器202、通信接口203通过总线204实现彼此之间的通信连接。
存储器201可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。示意性地,以该计算设备能够配置为上述第一客户端110为例,存储器201用于存储至少一段程序代码,当存储器201中存储的程序代码被处理器202执行时,处理器202和通信接口203用于执行下述区块链资产恢复方法中第一客户端110所涉及的步骤。以该计算设备能够配置为上述第二客户端120为例,存储器201用于存储至少一段程序代码,当存储器201中存储的程序代码被处理器202执行时,处理器202和通信接口203用于执行下述区块链资产恢复方法中第二客户端120所涉及的步骤。以该计算设备能够配置为上述区块链节点130为例,存储器201用于存储至少一段程序代码,当存储器201中存储的程序代码被处理器202执行时,处理器202和通信接口203用于执行下述区块链资产恢复方法中区块链节点130所涉及的步骤。
处理器202可以是网络处理器(network processor,NP)、中央处理器(centralprocessing unit,CPU)、特定应用集成电路(application-specific integratedcircuit,ASIC)或用于控制本申请方案程序执行的集成电路。该处理器202可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。该处理器202的数量可以是一个,也可以是多个。
通信接口203使用例如收发器一类的收发模块,来实现计算设备200与其他设备或通信网络之间的通信。例如,可以通过通信接口203获取数据。
其中,存储器201和处理器202可以分离设置,也可以集成在一起。
总线204可包括在计算设备200各个部件(例如,存储器201、处理器202、通信接口203)之间传送信息的通路。
本申请实施例还提供了一种计算设备集群。该计算设备集群包括至少一台计算设备。该计算设备可以配置为上述实施环境中的区块链节点。图3是本申请实施例提供的一种计算设备集群的结构示意图。如图3所示,该计算设备集群包括至少一个计算设备200。计算设备集群中的一个或多个计算设备200中的存储器201中可以存有相同的用于执行区块链资产恢复方法的指令。在一些可能的实现方式中,该计算设备集群中的一个或多个计算设备200的存储器201中也可以分别存有用于执行区块链资产恢复方法的部分指令。换言之,一个或多个计算设备200的组合可以共同执行区块链资产恢复方法的指令。需要说明的是,计算设备集群中的不同的计算设备200中的存储器201可以存储不同的指令,分别用于执行区块链节点的部分功能。在一些实施例中,计算设备集群中的一个或多个计算设备可以通过网络连接。其中,该网络可以是广域网或局域网等等。图4是本申请实施例提供的一种计算设备集群的连接方式示意图。如图4所示,两个计算设备200之间通过网络进行连接。具体地,通过各个计算设备中的通信接口与该网络进行连接。应理解,图4中示出的计算设备200的功能也可以由多个计算设备200完成。
基于上述对本申请的实施环境的介绍,下面对本申请提供的区块链资产恢复方法进行介绍。
示意性地,参考图5,图5是本申请实施例提供的一种区块链资产恢复方法的示意图。如图5所示,该区块链资产恢复方法应用于区块链资产恢复系统,该系统包括第一客户端、多个第二客户端和区块链节点,区块链节点上配置有区块链,第一客户端通过SDK调用区块链节点上部署的区块链资产合约,对第一客户端在区块链上的区块链资产(如视频、图片等数字资产)进行操作。另外,区块链节点上部署有区块链资产恢复合约,第一客户端通过SDK调用该区块链资产恢复合约,预先将客户端列表发布至区块链上,该客户端列表所指示的客户端能够授权第一客户端重新配置密钥,第一客户端在对密钥重新配置后,向多个第二客户端请求对重新配置操作进行签名,接着,通过SDK调用区块链资产恢复合约,对区块链资产进行恢复。在这一过程中,若第一客户端处于在线状态(即第一客户端与区块链节点之间正常通信连接),第一客户端可以直接向区块链节点发送资产恢复请求以请求对区块链资产进行恢复;若第一客户端处于离线状态(即第一客户端与区块链节点之间的通信连接异常),第一客户端可以通过目标第二客户端向区块链节点发送资产恢复请求以请求对区块链资产进行恢复,其中,目标第二客户端可以理解为是第一客户端信任的第二客户端,或者说,诚实的第二客户端。下面通过图6和图8所示实施例,对上述两种区块链资产恢复方法分别进行介绍。
图6是本申请实施例提供的一种区块链资产恢复方法的流程图。如图6所示,该方法应用于区块链资产恢复系统,该系统包括第一客户端、多个第二客户端以及区块链节点,该区块链节点上配置有区块链,以该系统中各个节点之间的交互为例进行介绍,该方法包括下述步骤601至步骤608。
601、第一客户端响应于对客户端列表的发布操作,向区块链节点发送针对客户端列表的发布请求,该客户端列表指示对第一客户端重新配置密钥的操作具有授权权限的多个客户端。
在本申请实施例中,密钥用于对区块链上第一客户端的区块链资产进行操作,即,第一客户端通过密钥对区块链上第一客户端的区块链资产进行操作。其中,第一客户端的密钥成对出现,包括私钥和公钥,私钥由第一客户端自己保管,公钥可对外公布,对于区块链资产来说,区块链资产的拥有者为一串地址,即公钥的哈希值,而公钥所对应的私钥则真正拥有区块链资产,也即是具有对区块链资产的操作权限。示意性地,用户使用的终端上运行有第一客户端,区块链节点上部署有区块链资产合约,第一客户端能够响应于用户在终端上实施的操作,向区块链节点发送请求,以调用区块链资产合约,对第一客户端在区块链上的区块链资产进行操作。
其中,区块链节点上还部署有区块链资产恢复合约,用于恢复客户端在区块链上的区块链资产。对于第一客户端来说,第一客户端预先配置客户端列表,该客户端列表所指示的客户端对第一客户端重新配置密钥的操作具有授权权限,接着,第一客户端响应于对客户端列表的发布操作,向区块链节点发送针对客户端列表的发布请求,以调用区块链资产恢复合约,将客户端列表发布于区块链上,后续若第一客户端重新配置密钥,能够基于该客户端列表所指示的客户端,实现区块链资产恢复。换言之,客户端列表所指示的客户端可以理解为是第一客户端的区块链资产的守护者,或者说第一客户端信任的客户端。
在一些实施例中,客户端列表包括多个对重新配置操作具有授权权限的客户端的校验地址,该客户端的校验地址基于校验信息和客户端的地址生成。其中,校验信息由第一客户端生成,包括随机数(nonce)和口令密码(password)中至少一项。示意性地,对于客户端列表所指示的任一个客户端,第一客户端将该客户端的地址和校验信息进行拼接,对拼接后的内容计算哈希值,得到该客户端的校验地址。也即是说,客户端的校验地址是一种匿名化的地址,第一客户端并不会将这些客户端的真实地址发布于区块链上,从而确保了客户端信息的安全性,也即是确保了守护者信息的安全性。另外,针对客户端列表的发布请求还可以携带其他用于区块链资产恢复的相关信息,以进一步提升区块链资产恢复的安全性,例如,该发布请求还携带目标阈值(用于指示授权重新配置密钥的客户端的最低数量,如目标阈值k=5,k为正整数)、目标时间段(用于指示区块链资产恢复的保护期,如目标时间段t=1天,t为正整数)等等,本申请不限于此。
602、区块链节点接收发布请求,将客户端列表发布于区块链上。
在本申请实施例中,区块链节点接收发布请求,对第一客户端的地址进行校验,若校验通过,将客户端列表以区块的形式发布于区块链上。例如,区块链节点基于第一客户端的地址,调用区块链资产合约,确定第一客户端的地址与区块链资产的所属关系是否匹配,若匹配,确定校验通过。当然,基于前述步骤601可知,该发布请求还可以携带其他用于区块链资产恢复的相关信息,同理,区块链节点将这些信息和客户端列表一并以区块的形式发布于区块链上,本申请不限于此。
经过上述步骤601和步骤602,第一客户端通过将客户端列表发布于区块链上,后续若第一客户端重新配置密钥,能够基于该客户端列表所指示的客户端,实现区块链资产恢复。这一过程也可以理解为第一客户端为区块链资产设置守护者的过程。下面对这一过程进行举例说明:例如,第一客户端的地址表示为addralice,守护者的地址表示为{addr1,…,addrn},n为正整数。第一客户端设置目标阈值k和目标时间段t,并生成校验信息(如随机数nonce)。第一客户端将守护者的地址与校验信息进行拼接,对拼接后的内容计算哈希值,生成守护者的校验地址{HASH(addr1||nonce),…,HASH(addrn||nonce)},也即客户端列表listaddr。接着,第一客户端响应于对客户端列表的发布操作,向区块链节点发送针对客户端列表的发布请求,该发布请求携带客户端列表、目标阈值以及目标时间段等信息,区块链节点接收发布请求,调用区块链资产恢复合约,将这些信息以区块的形式发布于区块链上。应理解,若校验信息包括随机数和口令密码,第一客户端可以将守护者的地址、随机数以及口令密码进行拼接,对拼接后的内容计算哈希值,生成守护者的校验地址,本申请不限于此。
下面通过步骤603至步骤608,对第一客户端通过重新配置密钥来恢复区块链资产的过程进行介绍。
603、第一客户端响应于对密钥的重新配置操作,向多个第二客户端发送第一签名请求,该第一签名请求指示对重新配置操作进行签名。
在本申请实施例中,第一客户端响应于对密钥的重新配置操作,生成重新配置后的密钥,基于重新配置前的密钥对应的地址和重新配置后的密钥对应的地址,向多个第二客户端发送第一签名请求,其中,密钥对应的地址是指公钥的哈希值,也即是第一客户端的地址。示意性地,重新配置前的密钥对应的地址也称为第一客户端的旧地址,重新配置后的密钥对应的地址也称为第一客户端的新地址,第一客户端基于新地址和旧地址,生成第一消息,向多个第二客户端发送第一签名请求。例如,第一客户端的旧地址表示为addralice,新地址表示为addr’alice,第一消息表示为m=addralice||addr’alice,第一客户端可以通过发送邮件或短信等方式,向第二客户端发送第一签名请求,本申请不限于此。
需要说明的是,在本步骤中,第二客户端是指第一客户端认为对重新配置操作具有授权权限的客户端,应理解,虽然第一客户端预先将客户端列表发布于区块链上,但有可能第一客户端会向不存在于客户端列表中的客户端发送第一签名请求,故此处将第一客户端发送第一签名请求的对象称为第二客户端。
604、第二客户端响应于第一签名请求,生成第一签名,向第一客户端发送第一签名,该第一签名指示第二客户端已授权第一客户端重新配置密钥。
在本申请实施例中,对于任一个第二客户端,第二客户端响应于第一签名请求,基于第二客户端的私钥,生成第一签名,向第一客户端发送第一签名。例如,以第一签名请求携带第一消息为例,第二客户端基于第二客户端的私钥,对第一消息进行签名,生成第一签名。
605、第一客户端接收多个第二客户端基于第一签名请求生成的第一签名。
606、第一客户端基于重新配置后的密钥、校验信息以及接收到的多个第一签名,向区块链节点发送第一资产恢复请求。
在本申请实施例中,第一资产恢复请求指示对第一客户端在区块链上的区块链资产进行恢复,或者说,对该区块链资产的地址进行更新,以使第一客户端重新拥有对区块链资产的操作权限。另外,基于前述步骤601和步骤602可知,第一客户端预先将客户端列表发布于区块链上,该客户端列表包括多个对重新配置操作具有授权权限的客户端的校验地址,该客户端的校验地址基于校验信息和客户端的地址生成,也即是,这些对重新配置操作具有授权权限的客户端信息在区块链上是不公开的,因此,在本步骤中,第一客户端将校验信息也发送给区块链节点,以便区块链节点对第二客户端的身份进行校验,也即是,在本步骤中,第一客户端发送的校验信息用于校验第二客户端是否在第一客户端发布于区块链的客户端列表中。
示意性地,第一客户端基于重新配置后的密钥对应的地址(也即是第一客户端的新地址)、校验信息以及接收到的多个第一签名,向区块链节点发送第一资产恢复请求。在一些实施例中,该第一资产恢复请求还携带重新配置前的密钥对应的地址(也即是第一客户端的旧地址)以及第一签名对应的第二客户端的地址。
在一些实施例中,若第一客户端接收到的第一签名的数量大于或等于目标阈值,第一客户端向区块链节点发送第一资产恢复请求,也即是,第一客户端在接收到足够多的第一签名之后,再向区块链节点发送第一资产恢复请求,能够提升区块链资产恢复的成功率,避免因为第一签名的数量不足而导致区块链资产恢复失败。
607、区块链节点接收第一资产恢复请求。
608、区块链节点基于校验信息,校验第一签名对应的第二客户端是否在客户端列表中,若校验通过的第一签名的数量大于或等于目标阈值,基于重新配置后的密钥,恢复第一客户端对区块链资产的操作权限。
在本申请实施例中,基于重新配置后的密钥,恢复第一客户端对区块链资产的操作权限是指,区块链节点将对区块链资产具有操作权限的地址更新为重新配置后的密钥对应的地址,也即是,更新为第一客户端的新地址。需要说明的是,在本申请实施例中,第一客户端无需逐个对区块链资产进行恢复,通过上述过程,区块链节点可以将第一客户端在区块链上的全部区块链资产均进行恢复,提高区块链资产恢复的效率。当然,第一客户端也可以针对部分区块链资产发起资产恢复请求,以提升区块链资产的安全性,满足个性化需求,本申请不限于此。
下面以任一个第一签名为例,对区块链节点基于校验信息校验第一签名的过程进行介绍,示意性地,这一过程包括下述步骤A至步骤C:
步骤A、区块链节点接收第一资产恢复请求,从区块链上获取客户端列表,该客户端列表包括多个对重新配置操作具有授权权限的客户端的校验地址,该客户端的校验地址基于校验信息和客户端的地址生成。
其中,第一资产恢复请求携带重新配置前的密钥对应的地址,也即第一客户端的旧地址,区块链节点基于重新配置前的密钥对应的地址,从区块链上获取客户端列表。另外,基于前述步骤601和步骤602可知,第一客户端可以将客户端列表、目标阈值以及目标时间段等信息以区块的形式发布于区块链上,例如,这些信息存储在目标区块,相应地,在本步骤中,区块链节点从区块链上获取目标区块,对该目标区块进行解析,得到客户端列表、目标阈值以及目标时间段等信息。
步骤B、区块链节点基于校验信息和第一签名对应的第二客户端的地址,生成第二客户端的校验地址。
其中,区块链节点将校验信息与第一签名对应的第二客户端的地址进行拼接,对拼接后的内容计算哈希值,生成第二客户端的校验地址。
步骤C、若第二客户端的校验地址在客户端列表中,且基于第二客户端的公钥对第一签名验签通过,区块链节点确定第一签名校验通过。
其中,区块链节点将第二客户端的校验地址与客户端列表中的校验地址进行比对,若第二客户端的校验地址在客户端列表中,表明第二客户端具有对重新配置操作的授权权限,或者说,第二客户端为第一客户端为区块链资产设置的守护者,基于此,区块链节点基于第二客户端的公钥,对第一签名进行验签,若验签通过,确定第一签名校验通过。
对于区块链节点接收到的任一个第一签名,区块链节点均执行如上述步骤A至步骤C所示的校验过程,若校验通过的第一签名的数量大于或等于目标阈值,基于重新配置后的密钥,恢复第一客户端对区块链资产的操作权限。
经过上述步骤603至步骤608,对第一客户端通过重新配置密钥来恢复区块链资产的过程进行了介绍。在一些实施例中,若校验通过的第一签名的数量大于或等于目标阈值,区块链节点基于目标时间段设置区块链资产的保护期,来确保区块链资产的安全性,避免作恶者恶意恢复区块链资产。下面对这一过程进行介绍,包括下述步骤1和步骤2:
步骤1、若校验通过的第一签名的数量大于或等于目标阈值,区块链节点在区块链上发布第一状态信息,该第一状态信息指区块链资产正在恢复中。
其中,区块链节点在区块链上发布第一状态信息之后,接入区块链的客户端都能够及时获知第一状态信息。若多个第二客户端中的任一个第二客户端在获取到第一状态消息后,及时通知第一客户端,第一客户端就可以判断当前对区块链资产进行恢复的行为是否是恶意行为,或者说,当前对区块链资产进行恢复的行为是否由第一客户端自身发起。示意性地,多个第二客户端中的目标第二客户端在目标时间段内从区块链上获取第一状态信息;目标第二客户端向第一客户端发送通知消息,该通知消息用于通知第一客户端区块链资产正在恢复中,以使第一客户端确定对区块链资产进行恢复的行为是否为恶意行为,若是,向区块链节点发送恶意行为举报,该恶意行为举报指示对区块链资产进行恢复的行为是恶意行为。其中,目标时间段也即是第一客户端预先设置的区块链资产的保护期。
步骤2、若区块链节点在目标时间段内未接收到恶意行为举报,基于重新配置后的密钥,恢复第一客户端对区块链资产的操作权限。
其中,若区块链节点在目标时间段内未接收到恶意行为举报,表明当前对区块链资产进行恢复的行为确实是由第一客户端自身发起的,而非作恶者发起的恶意行为,因此,基于重新配置后的密钥,恢复第一客户端对区块链资产的操作权限。
在一些实施例中,若区块链节点在目标时间段内接收到恶意行为举报,在区块链上发布第二状态信息,该第二状态信息指示已停止恢复区块链资产。其中,结合前述步骤1可知,目标第二客户端在获取到第一状态信息后,会向第一客户端发送通知消息,若第一客户端接收到该通知消息,发现当前对区块链资产进行恢复的行为并非由第一客户端自身发起,则第一客户端可以向区块链节点发送恶意行为举报,以使区块链节点停止恢复区块链资产。应理解,由于通知消息是由目标第二客户端发送的,表明目标第二客户端是可信任的,或者说是诚实的,基于此,第一客户端将多个第二客户端中除目标第二客户端以外的第二客户端确定为恶意客户端,通过目标第二客户端,将这些恶意客户端的名单发布于区块链上。也即是,在目标时间段内,通过任一诚实的守护者可撤销此次区块链资产恢复行为,能够保证区块链资产的安全性,实现了1/n的安全性,n也即是守护者数量。示意性地,这一过程包括:第一客户端基于校验信息和多个第二客户端中除目标第二客户端以外的第二客户端,向目标第二客户端发送针对恶意行为举报的转发请求,目标第二客户端接收该转发请求,对目标第二客户端的地址和校验信息进行拼接,对拼接后的内容计算哈希值,生成目标第二客户端的校验地址,基于目标第二客户端的私钥,对该校验地址进行签名,生成第三签名,向区块链节点发送恶意行为举报,该恶意行为举报携带第三签名和多个第二客户端中除目标第二客户端以外的第二客户端的地址。区块链节点接收该恶意行为举报,基于目标第二客户端的公钥,对第三签名进行验签,若验签通过,且目标第二客户端的校验地址在客户端列表中,在区块链上发布第二状态信息,该第二状态信息包括多个第二客户端中除目标第二客户端以外的第二客户端的地址。
在另一些实施例中,若第一客户端未对密钥进行重新配置,接收到目标第二客户端发送的通知消息,第一客户端直接向区块链节点发送恶意行为举报,即,第一客户端基于校验信息和多个第二客户端中除目标第二客户端以外的第二客户端,向区块链节点发送恶意行为举报。示意性地,这一过程包括:第一客户端对第一客户端的地址和校验信息进行拼接,对拼接后的内容计算哈希值,生成第一客户端的校验地址,基于第一客户端的私钥,对该校验地址进行签名,生成第四签名,向区块链节点发送恶意行为举报,该恶意行为举报携带第四签名和多个第二客户端中除目标第二客户端以外的第二客户端的地址。区块链节点接收该恶意行为举报,基于第一客户端的公钥,对第四签名进行验签,若验签通过,在区块链上发布第二状态信息,该第二状态信息包括多个第二客户端中除目标第二客户端以外的第二客户端的地址。
经过上述步骤601至步骤608,对第一客户端为区块链资产设置守护者,以及第一客户端处于在线状态时,通过重新配置密钥来恢复区块链资产的过程进行了介绍,下面参考图7,对上述内容进行举例说明。
图7是本申请实施例提供的另一种区块链资产恢复方法的示意图。如图7所示,区块链资产恢复方法应用于区块链资产恢复系统,该系统包括第一客户端(用户)、多个第二客户端(以第二客户端均为守护者为例)以及区块链节点(配置有区块链)。示意性地,该区块链资产恢复方法包括如下几个阶段:
第一阶段、设置区块链资产守护者阶段。
在该阶段,第一客户端预先配置客户端列表、校验信息、目标阈值以及目标时间段,其中,客户端列表所指示的是匿名化后的守护者身份;响应于对客户端列表的发布操作,向区块链节点发送针对客户端列表的发布请求,以调用区块链资产恢复合约,将客户端列表、校验信息、目标阈值以及目标时间段发布于区块链上,例如,以校验信息为随机数nonce为例,第一客户端选择n个守护者、生成随机数nonce、设置目标阈值k以及目标时间段t。第一客户端将守护者的地址与随机数nonce进行拼接,对拼接后的内容计算哈希值,生成守护者的校验地址{HASH(addr1||nonce),…,HASH(addrn||nonce)},也即客户端列表listaddr。
上述第一阶段也即是上述步骤601至步骤602,具体过程在此不再赘述。
第二阶段、区块链资产恢复阶段。
在该阶段,若第一客户端密钥丢失,第一客户端响应于对密钥的重新配置操作,生成重新配置后的密钥,对公钥计算哈希值,得到第一客户端的新地址。接着,第一客户端基于新地址和旧地址,生成第一消息,向多个第二客户端发送第一签名请求。例如,第一客户端的旧地址表示为addralice,新地址表示为addr’alice,第一消息表示为m=addralice||addr’alice,第一客户端可以通过发送邮件或短信等方式,向第二客户端发送第一签名请求,本申请不限于此。
第二客户端接收第一签名请求,基于第二客户端的私钥,对第一消息进行签名,生成第一签名,向第一客户端发送第一签名。
第一客户端接收多个第二客户端基于第一签名请求生成的第一签名,若第一客户端接收到的第一签名的数量大于或等于目标阈值,第一客户端向区块链节点发送第一资产恢复请求,也即是,第一客户端在接收到足够多的第一签名之后,再向区块链节点发送第一资产恢复请求。例如,第一客户端在接收到足够多的第一签名signatures={σ1,…,σi|i≥k,i为正整数}之后,基于签名集合signatures、第一签名对应的第二客户端的地址{addr1,…,addrn}、旧地址addralice,新地址addr’alice以及随机数nonce,向区块链节点发送第一资产恢复请求。
区块链节点接收第一资产恢复请求,基于校验信息,校验第一签名对应的第二客户端是否在客户端列表中,若校验通过的第一签名的数量大于或等于目标阈值,在区块链上发布第一状态信息,该第一状态信息指示区块链资产正在恢复中。例如,区块链节点基于第一客户端的旧地址addralice,从区块链上获取客户端列表listaddr、目标阈值k以及目标时间段t,针对第一签名对应的第二客户端的地址{addr1,…,addrn}中的任一个地址addrj,将随机数nonce与addrj进行拼接,对拼接后的内容计算哈希值,得到相应的校验地址,判断该校验地址是否在客户端列表中,若在,则基于addrj对应的公钥对签名σj进行验签,若验签通过,确定签名σj校验通过,表明守护者j已授权第一客户端重新配置密钥,若校验通过的签名数量大于或等于目标阈值k,在区块链上发布第一状态信息,记录当前时间为资产恢复的起始时间。
上述第二阶段也即是上述步骤603至步骤608,具体过程在此不再赘述。
第三阶段、区块链资产安全性保证阶段。
在该阶段,区块链节点在区块链上发布第一状态信息之后,接入区块链的客户端都能够及时获知第一状态信息。若多个第二客户端中的目标第二客户端在获取到第一状态消息后,及时通知第一客户端,第一客户端就可以判断当前对区块链资产进行恢复的行为是否是恶意行为,或者说,当前对区块链资产进行恢复的行为是否由第一客户端自身发起。在这一过程中,若第一客户端密钥丢失,第一客户端将多个第二客户端中除目标第二客户端以外的第二客户端确定为恶意客户端,通过目标第二客户端,将这些恶意客户端的名单发布于区块链上,即,通过目标第二客户端,向区块链节点发送恶意行为举报。换言之,诚实的守护者可协助第一客户端,获取相关信息后签名消息发送给区块链节点,阻止此次恶意行为并揭示恶意客户端的身份。若第一客户端密钥未丢失,第一客户端直接向区块链节点发送恶意行为举报,即,第一客户端基于校验信息和多个第二客户端中除目标第二客户端以外的第二客户端,向区块链节点发送恶意行为举报,其中,第一客户端可以使用自身密钥签名消息进行自证,阻止此次作恶行为并揭示恶意客户端的身份。区块链节点在接收到恶意行为举报之后,在区块链上发布第二状态信息,该第二状态信息指示已停止恢复区块链资产,该第二状态信息包括多个第二客户端中除目标第二客户端以外的第二客户端的地址。也即是,在区块链资产的保护期内,仅需一位诚实的守护者即可保证区块链资产的安全性,实现了1/n的安全性,n也即是守护者数量。
第四阶段、区块链资产完成恢复。
在该阶段,若区块链节点在目标时间段内未接收到恶意行为举报,基于重新配置后的密钥,恢复第一客户端对区块链资产的操作权限,也即是,将对区块链资产具有操作权限的地址更新为重新配置后的密钥对应的地址,也即是,更新为第一客户端的新地址。例如,将区块链资产的旧地址addralice更新为新地址addr’alice。
上述第三阶段和第四阶段也即是上述步骤608中恶意行为举报的相关内容,具体过程在此不再赘述。
综上,在本申请提供的区块链资产恢复方法中,第一客户端响应于对密钥的重新配置操作,向多个第二客户端请求对重新配置操作进行签名,以恢复区块链上第一客户端的区块链资产,接着,第一客户端基于多个第一签名、重新配置后的密钥以及校验信息,请求区块链节点恢复第一客户端对区块链资产的操作权限。其中,区块链节点需要根据校验信息,校验第一签名对应的第二客户端是否真的对重新配置操作具有授权权限,也即是,对重新配置操作具有授权权限的客户端信息在区块链上并未公开,从而上述方法在实现区块链资产恢复的基础上,确保了区块链资产的安全性。
经过上述图6和图7,对第一客户端处于在线状态下,如何实现区块链资产恢复的过程进行了介绍,下面通过图8,对第一客户端处于离线状态下,如何实现区块链资产恢复的过程进行介绍。
图8是本申请实施例提供的另一种区块链资产恢复方法的流程图。如图8所示,该方法应用于区块链资产恢复系统,该系统包括第一客户端、多个第二客户端以及区块链节点,该区块链节点上配置有区块链,以该系统中各个节点之间的交互为例进行介绍,该方法包括下述步骤801至步骤807。
801、第一客户端响应于对客户端列表的发布操作,向区块链节点发送针对客户端列表的发布请求,该客户端列表指示对第一客户端重新配置密钥的操作具有授权权限的多个客户端,该密钥用于对区块链上第一客户端的区块链资产进行操作。
其中,本步骤与前述图6所示实施例中步骤601同理,故不再赘述。
802、区块链节点接收发布请求,将客户端列表发布于区块链上。
其中,本步骤与前述图6所示实施例中步骤602同理,故不再赘述。
803、第一客户端响应于对密钥的重新配置操作,向多个第二客户端发送第二签名请求,该第二签名请求指示对重新配置操作进行签名,以及向区块链节点发送第二资产恢复请求,该第二签名请求携带校验信息。
其中,第一客户端处于离线状态,响应于对密钥的重新配置操作,生成重新配置后的密钥,基于重新配置前的密钥对应的地址、重新配置后的密钥对应的地址以及校验信息,向多个第二客户端发送第二签名请求。示意性地,重新配置前的密钥对应的地址也称为第一客户端的旧地址,重新配置后的密钥对应的地址也称为第一客户端的新地址,第一客户端基于新地址和旧地址,生成第二消息,向多个第二客户端发送第二签名请求。例如,第一客户端的旧地址表示为addralice,新地址表示为addr’alice,第二消息表示为m=addralice||addr’alice,第一客户端可以通过发送邮件或短信等方式,向第二客户端发送第二签名请求,本申请不限于此。
804、第二客户端接收第二签名请求,生成第二签名,该第二签名指示第二客户端已授权第一客户端重新配置密钥。
其中,对于任一个第二客户端,第二客户端响应于第二签名请求,基于第二客户端的私钥,生成第二签名。
805、第二客户端基于重新配置后的密钥、第二签名以及校验信息,向区块链节点发送第二资产恢复请求。
例如,第二客户端基于第二签名σj、第二客户端的地址addrj、旧地址addralice,新地址addr’alice以及随机数nonce,向区块链节点发送第一资产恢复请求。
806、区块链节点接收多个第二客户端发送的第二资产恢复请求。
807、区块链节点基于校验信息,校验第二签名对应的第二客户端是否在客户端列表中,若校验通过的第二签名的数量大于或等于目标阈值,基于重新配置后的密钥,恢复第一客户端对区块链资产的操作权限。
其中,本步骤与前述图6所示实施例中步骤608同理,故不再赘述。
经过上述步骤801至步骤807,对第一客户端处于离线状态下,如何实现区块链资产恢复的过程进行介绍。应理解,上述过程的原理与前述图6所示实施例同理,即,若第一客户端处于在线状态,第一客户端可以直接向区块链节点发送资产恢复请求以请求对区块链资产进行恢复;若第一客户端处于离线状态,第一客户端可以通过目标第二客户端向区块链节点发送资产恢复请求以请求对区块链资产进行恢复,其中,目标第二客户端可以理解为是第一客户端信任的第二客户端,或者说,诚实的第二客户端。
综上,在本申请提供的区块链资产恢复方法中,若第一客户端处于离线状态,第一客户端响应于对密钥的重新配置操作,向多个第二客户端请求对重新配置操作进行签名,以恢复区块链上第一客户端的区块链资产,接着,由第二客户端基于第二签名、重新配置后的密钥以及校验信息,请求区块链节点恢复第一客户端对区块链资产的操作权限。其中,区块链节点需要根据校验信息,校验第二签名对应的第二客户端是否真的对重新配置操作具有授权权限,也即是,对重新配置操作具有授权权限的客户端信息在区块链上并未公开,从而上述方法在第一客户端处于离线状态时,也能够实现区块链资产恢复,并且确保了区块链资产的安全性。
图9是本申请实施例提供的一种区块链资产恢复装置的结构示意图。该区块链资产恢复装置可以通过软件、硬件或者两者的结合实现成为前述区块链资产恢复系统中第一客户端的部分或者全部功能。如图9所示,该装置配置于区块链资产恢复系统中的第一客户端,该系统还包括多个第二客户端以及区块链节点,该区块链节点上配置有区块链,该装置包括发送模块901和接收模块902。
发送模块901,用于响应于对密钥的重新配置操作,向多个第二客户端发送第一签名请求,该密钥用于对区块链上第一客户端的区块链资产进行操作,该第一签名请求指示对重新配置操作进行签名;
接收模块902,用于接收多个第二客户端基于第一签名请求生成的第一签名,该第一签名指示第二客户端已授权第一客户端重新配置密钥;
该发送模块901,还用于基于重新配置后的密钥、校验信息以及接收到的多个第一签名,向区块链节点发送第一资产恢复请求,该校验信息用于校验第二客户端是否在第一客户端发布于区块链的客户端列表中,该客户端列表指示对重新配置操作具有授权权限的多个客户端,该第一资产恢复请求用于区块链节点基于校验信息,校验第二客户端是否在客户端列表中,若确定校验通过的第一签名的数量大于或等于目标阈值,基于重新配置后的密钥,恢复第一客户端对区块链资产的操作权限。
在一些实施例中,校验信息包括随机数和口令密码中至少一项。
在一些实施例中,该发送模块901,用于响应于重新配置操作,基于重新配置前的密钥对应的地址和重新配置后的密钥对应的地址,向多个第二客户端发送第一签名请求。
通过上述装置,第一客户端响应于对密钥的重新配置操作,向多个第二客户端请求对重新配置操作进行签名,以恢复区块链上第一客户端的区块链资产,接着,第一客户端基于多个第一签名、重新配置后的密钥以及校验信息,请求区块链节点恢复第一客户端对区块链资产的操作权限。其中,区块链节点需要根据校验信息,校验第一签名对应的第二客户端是否真的对重新配置操作具有授权权限,也即是,对重新配置操作具有授权权限的客户端信息在区块链上并未公开,从而上述方法在实现区块链资产恢复的基础上,确保了区块链资产的安全性。
需要说明的是:上述实施例提供的区块链资产恢复装置在进行区块链资产恢复时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的区块链资产恢复装置与区块链资产恢复方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图10是本申请实施例提供的另一种区块链资产恢复装置的结构示意图。该区块链资产恢复装置可以通过软件、硬件或者两者的结合实现成为前述区块链资产恢复系统中区块链节点的部分或者全部功能。如图10所示,该装置配置于区块链资产恢复系统中的区块链节点,该系统还包括第一客户端以及多个第二客户端,该区块链节点上配置有区块链,该装置包括接收模块1001和资产恢复模块1002。
接收模块1001,用于接收第一客户端基于重新配置后的密钥、校验信息以及多个第一签名发送的第一资产恢复请求,该密钥用于对区块链上第一客户端的区块链资产进行操作,该第一签名由第二客户端基于第一客户端发送的第一签名请求生成,该第一签名请求指示对第一客户端对密钥的重新配置操作进行签名,该校验信息用于校验第一签名对应的第二客户端是否在第一客户端发布于区块链的客户端列表中,该客户端列表指示对重新配置操作具有授权权限的多个客户端,该第一签名指示第二客户端已授权第一客户端重新配置密钥;
资产恢复模块1002,用于基于校验信息,校验第一签名对应的第二客户端是否在客户端列表中,若校验通过的第一签名的数量大于或等于目标阈值,基于重新配置后的密钥,恢复第一客户端对区块链资产的操作权限。
在一些实施例中,该资产恢复模块1002,用于:
从区块链上获取客户端列表,该客户端列表包括多个对重新配置操作具有授权权限的客户端的校验地址,该客户端的校验地址基于校验信息和客户端的地址生成;
基于校验信息和第一签名对应的第二客户端的地址,生成第二客户端的校验地址;
若第二客户端的校验地址在客户端列表中,且基于第二客户端的公钥对第一签名验签通过,确定第一签名校验通过。
在一些实施例中,该资产恢复模块1002,用于:
若校验通过的第一签名的数量大于或等于目标阈值,在区块链上发布第一状态信息,该第一状态信息指示区块链资产正在恢复中;
若在目标时间段内未接收到恶意行为举报,基于重新配置后的密钥,恢复第一客户端对区块链资产的操作权限,该恶意行为举报指示对区块链资产进行恢复的行为是恶意行为。
在一些实施例中,该资产恢复模块1002,还用于:
若在目标时间段内接收到恶意行为举报,在区块链上发布第二状态信息,该第二状态信息指示已停止恢复区块链资产。
在一些实施例中,该资产恢复模块1002,用于:将对区块链资产具有操作权限的地址更新为重新配置后的密钥对应的地址。
通过上述装置,第一客户端响应于对密钥的重新配置操作,向多个第二客户端请求对重新配置操作进行签名,以恢复区块链上第一客户端的区块链资产,接着,第一客户端基于多个第一签名、重新配置后的密钥以及校验信息,请求区块链节点恢复第一客户端对区块链资产的操作权限。其中,区块链节点需要根据校验信息,校验第一签名对应的第二客户端是否真的对重新配置操作具有授权权限,也即是,对重新配置操作具有授权权限的客户端信息在区块链上并未公开,从而上述方法在实现区块链资产恢复的基础上,确保了区块链资产的安全性。
另外,在上述基于区块链资产恢复装置中,接收模块1001和资产恢复模块1002均可以通过软件实现,或者可以通过硬件实现。示例性的,接下来以资产恢复模块1002为例,介绍资产恢复模块1002的实现方式。类似的,其他模块的实现方式可以参考资产恢复模块1002的实现方式。
模块作为软件功能单元的一种举例,资产恢复模块1002可以包括运行在计算实例上的代码。其中,计算实例可以包括物理主机(计算设备)、虚拟机、容器中的至少一种。进一步地,上述计算实例可以是一台或者多台。例如,资产恢复模块1002可以包括运行在多个主机/虚拟机/容器上的代码。需要说明的是,用于运行该代码的多个主机/虚拟机/容器可以分布在相同的区域(region)中,也可以分布在不同的region中。进一步地,用于运行该代码的多个主机/虚拟机/容器可以分布在相同的可用区(availability zone,AZ)中,也可以分布在不同的AZ中,每个AZ包括一个数据中心或多个地理位置相近的数据中心。其中,通常一个region可以包括多个AZ。
同样,用于运行该代码的多个主机/虚拟机/容器可以分布在同一个虚拟私有云(virtual private cloud,VPC)中,也可以分布在多个VPC中。其中,通常一个VPC设置在一个区域(region)内,同一region内两个VPC之间,以及不同region的VPC之间跨区通信需在每个VPC内设置通信网关,经通信网关实现VPC之间的互连。
模块作为硬件功能单元的一种举例,资产恢复模块1002可以包括至少一个计算设备。或者,资产恢复模块1002也可以是利用专用集成电路(application-specificintegrated circuit,ASIC)实现、或可编程逻辑器件(programmable logic device,PLD)实现的设备等。其中,上述PLD可以是复杂程序逻辑器件(complex programmable logicaldevice,CPLD)、现场可编程门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合实现。
资产恢复模块1002包括的多个计算设备可以分布在相同的region中,也可以分布在不同的region中。资产恢复模块1002包括的多个计算设备可以分布在相同的AZ中,也可以分布在不同的AZ中。同样,资产恢复模块1002包括的多个计算设备可以分布在同一个VPC中,也可以分布在多个VPC中。其中,该多个计算设备可以是服务器、ASIC、PLD、CPLD、FPGA和GAL等计算设备的任意组合。
需要说明的是,上述实施例提供的区块链资产恢复装置在进行区块链资产恢复时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的区块链资产恢复装置与区块链资产恢复方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图11是本申请实施例提供的另一种区块链资产恢复装置的结构示意图。该区块链资产恢复装置可以通过软件、硬件或者两者的结合实现成为前述区块链资产恢复系统中第二客户端的部分或者全部功能。如图11所示,该装置配置于区块链资产恢复系统中的第二客户端,该系统还包括第一客户端以及区块链节点,该区块链节点上配置有区块链,该装置包括接收模块1101和发送模块1102。
接收模块1101,用于接收第一客户端发送的第二签名请求,该第二签名请求是由第一客户端处于离线状态,响应于对密钥的重新配置操作发送的,该第二签名请求指示对重新配置操作进行签名,以及向区块链节点发送第二资产恢复请求,该第二签名请求携带校验信息,该校验信息用于校验第二客户端是否在第一客户端发布于区块链的客户端列表中,该客户端列表指示对重新配置操作具有授权权限的多个客户端;
发送模块1102,用于基于第二签名请求,生成第二签名,基于重新配置后的密钥、第二签名以及校验信息,向区块链节点发送第二资产恢复请求,该第二签名指示第二客户端已授权第一客户端重新配置密钥;该第二资产恢复请求指示区块链节点基于校验信息,校验第二签名对应的第二客户端是否在客户端列表中,若校验通过的第二签名的数量大于或等于目标阈值,基于重新配置后的密钥,恢复第一客户端对区块链资产的操作权限。
通过上述装置,若第一客户端处于离线状态,第一客户端响应于对密钥的重新配置操作,向多个第二客户端请求对重新配置操作进行签名,以恢复区块链上第一客户端的区块链资产,接着,由第二客户端基于第二签名、重新配置后的密钥以及校验信息,请求区块链节点恢复第一客户端对区块链资产的操作权限。其中,区块链节点需要根据校验信息,校验第二签名对应的第二客户端是否真的对重新配置操作具有授权权限,也即是,对重新配置操作具有授权权限的客户端信息在区块链上并未公开,从而上述方法在第一客户端处于离线状态时,也能够实现区块链资产恢复,并且确保了区块链资产的安全性。
需要说明的是,上述实施例提供的区块链资产恢复装置在进行区块链资产恢复时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的区块链资产恢复装置与区块链资产恢复方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一元素与另一元素区别分开。例如,在不脱离各种所述示例的范围的情况下,第一客户端可以被称为第二客户端,并且类似地,第二客户端可以被称为第一客户端。第一客户端和第二客户端都可以是客户端,并且在某些情况下,可以是单独且不同的客户端。
本申请中术语“至少一个”的含义是指一个或多个,本申请中术语“多个”的含义是指两个或两个以上,例如,多个客户端是指两个或两个以上的客户端。
以上描述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以程序结构信息的形式实现。该程序结构信息包括一个或多个程序指令。在计算设备上加载和执行该程序指令时,全部或部分地产生按照本申请实施例中的流程或功能。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (17)
1.一种区块链资产恢复方法,其特征在于,所述方法应用于区块链资产恢复系统,所述系统包括第一客户端、多个第二客户端以及区块链节点,所述区块链节点上配置有区块链,所述方法包括:
所述第一客户端响应于对密钥的重新配置操作,向多个所述第二客户端发送第一签名请求,所述密钥用于对所述区块链上所述第一客户端的区块链资产进行操作,所述第一签名请求指示对所述重新配置操作进行签名;
所述第一客户端接收多个所述第二客户端基于所述第一签名请求生成的第一签名,所述第一签名指示所述第二客户端已授权所述第一客户端重新配置所述密钥;
所述第一客户端基于重新配置后的所述密钥、校验信息以及接收到的多个所述第一签名,向所述区块链节点发送第一资产恢复请求,所述校验信息用于校验所述第二客户端是否在所述第一客户端发布于所述区块链的客户端列表中,所述客户端列表指示对所述重新配置操作具有授权权限的多个客户端;
所述区块链节点接收所述第一资产恢复请求,基于所述校验信息,校验所述第一签名对应的所述第二客户端是否在所述客户端列表中,若校验通过的所述第一签名的数量大于或等于目标阈值,基于重新配置后的所述密钥,恢复所述第一客户端对所述区块链资产的操作权限。
2.根据权利要求1所述的方法,其特征在于,所述区块链节点接收所述第一资产恢复请求,基于所述校验信息,校验所述第一签名对应的所述第二客户端是否在所述客户端列表中,包括:
所述区块链节点接收所述第一资产恢复请求,从所述区块链上获取所述客户端列表,所述客户端列表包括多个对所述重新配置操作具有授权权限的客户端的校验地址,所述客户端的校验地址基于所述校验信息和所述客户端的地址生成;
所述区块链节点基于所述校验信息和所述第一签名对应的所述第二客户端的地址,生成所述第二客户端的校验地址;
若所述第二客户端的校验地址在所述客户端列表中,且基于所述第二客户端的公钥对所述第一签名验签通过,所述区块链节点确定所述第一签名校验通过。
3.根据权利要求1或2所述的方法,其特征在于,所述若校验通过的所述第一签名的数量大于或等于目标阈值,基于重新配置后的所述密钥,恢复所述第一客户端对所述区块链资产的操作权限,包括:
若校验通过的所述第一签名的数量大于或等于所述目标阈值,所述区块链节点在所述区块链上发布第一状态信息,所述第一状态信息指示所述区块链资产正在恢复中;
若所述区块链节点在目标时间段内未接收到恶意行为举报,基于重新配置后的所述密钥,恢复所述第一客户端对所述区块链资产的操作权限,所述恶意行为举报指示对所述区块链资产进行恢复的行为是恶意行为。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
多个所述第二客户端中的目标第二客户端在所述目标时间段内从所述区块链上获取所述第一状态信息;
所述目标第二客户端向所述第一客户端发送通知消息,所述通知消息用于通知所述第一客户端所述区块链资产正在恢复中,以使所述第一客户端确定对所述区块链资产进行恢复的行为是否为恶意行为,若是,向所述区块链节点发送所述恶意行为举报。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述第一客户端未对所述密钥进行重新配置,接收到所述目标第二客户端发送的所述通知消息,所述第一客户端基于所述校验信息和多个所述第二客户端中除所述目标第二客户端以外的第二客户端,向所述区块链节点发送所述恶意行为举报。
6.根据权利要求3至5中任一项所述的方法,其特征在于,所述方法还包括:
若所述区块链节点在所述目标时间段内接收到所述恶意行为举报,在所述区块链上发布第二状态信息,所述第二状态信息指示已停止恢复所述区块链资产。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
若所述第一客户端处于离线状态,所述第一客户端响应于所述重新配置操作,向多个所述第二客户端发送第二签名请求,所述第二签名请求指示对所述重新配置操作进行签名,以及向所述区块链节点发送第二资产恢复请求,所述第二签名请求携带所述校验信息;
所述第二客户端接收所述第二签名请求,生成第二签名,基于重新配置后的所述密钥、所述第二签名以及所述校验信息,向所述区块链节点发送所述第二资产恢复请求,所述第二签名指示所述第二客户端已授权所述第一客户端重新配置所述密钥;
所述区块链节点接收多个所述第二客户端发送的所述第二资产恢复请求,基于所述校验信息,校验所述第二签名对应的所述第二客户端是否在所述客户端列表中,若校验通过的所述第二签名的数量大于所述目标阈值,基于重新配置后的所述密钥,恢复所述第一客户端对所述区块链资产的操作权限。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述校验信息包括随机数和口令密码中至少一项。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述基于重新配置后的所述密钥,恢复所述第一客户端对所述区块链资产的操作权限,包括:
将对所述区块链资产具有操作权限的地址更新为重新配置后的所述密钥对应的地址。
10.根据权利要求1至9中任一项所述的方法,其特征在于,所述第一客户端响应于对密钥的重新配置操作,向多个所述第二客户端发送第一签名请求,包括:
所述第一客户端响应于所述重新配置操作,基于重新配置前的所述密钥对应的地址和重新配置后的所述密钥对应的地址,向多个所述第二客户端发送所述第一签名请求。
11.一种区块链资产恢复系统,其特征在于,所述系统包括第一客户端、多个第二客户端以及区块链节点,所述区块链节点上配置有区块链;
所述第一客户端,用于:
响应于对密钥的重新配置操作,向多个所述第二客户端发送第一签名请求,所述密钥用于对所述区块链上所述第一客户端的区块链资产进行操作,所述第一签名请求指示对所述重新配置操作进行签名;
接收多个所述第二客户端基于所述第一签名请求生成的第一签名,所述第一签名指示所述第二客户端已授权所述第一客户端重新配置所述密钥;
基于重新配置后的所述密钥、校验信息以及接收到的多个所述第一签名,向所述区块链节点发送第一资产恢复请求,所述校验信息用于校验所述第二客户端是否在所述第一客户端发布于所述区块链的客户端列表中,所述客户端列表指示对所述重新配置操作具有授权权限的多个客户端;
所述区块链节点,用于:
接收所述第一资产恢复请求,基于所述校验信息,校验所述第一签名对应的所述第二客户端是否在所述客户端列表中,若校验通过的所述第一签名的数量大于或等于目标阈值,基于重新配置后的所述密钥,恢复所述第一客户端对所述区块链资产的操作权限。
12.一种区块链资产恢复装置,其特征在于,所述装置配置于区块链资产恢复系统中的第一客户端,所述系统还包括多个第二客户端以及区块链节点,所述区块链节点上配置有区块链,所述装置包括:
发送模块,用于响应于对密钥的重新配置操作,向多个所述第二客户端发送第一签名请求,所述密钥用于对所述区块链上所述第一客户端的区块链资产进行操作,所述第一签名请求指示对所述重新配置操作进行签名;
接收模块,用于接收多个所述第二客户端基于所述第一签名请求生成的第一签名,所述第一签名指示所述第二客户端已授权所述第一客户端重新配置所述密钥;
所述发送模块,还用于基于重新配置后的所述密钥、校验信息以及接收到的多个所述第一签名,向所述区块链节点发送第一资产恢复请求,所述校验信息用于校验所述第二客户端是否在所述第一客户端发布于所述区块链的客户端列表中,所述客户端列表指示对所述重新配置操作具有授权权限的多个客户端,所述第一资产恢复请求用于所述区块链节点基于所述校验信息,校验所述第二客户端是否在所述客户端列表中,若确定校验通过的所述第一签名的数量大于或等于目标阈值,基于重新配置后的所述密钥,恢复所述第一客户端对所述区块链资产的操作权限。
13.一种区块链资产恢复装置,其特征在于,所述装置配置于区块链资产恢复系统中的区块链节点,所述系统还包括第一客户端和多个第二客户端,所述区块链节点上配置有区块链,所述装置包括:
接收模块,用于接收所述第一客户端基于重新配置后的密钥、校验信息以及多个第一签名发送的第一资产恢复请求,所述密钥用于对所述区块链上所述第一客户端的区块链资产进行操作,所述第一签名由所述第二客户端基于所述第一客户端发送的第一签名请求生成,所述第一签名请求指示对所述第一客户端对所述密钥的重新配置操作进行签名,所述校验信息用于校验所述第一签名对应的所述第二客户端是否在所述第一客户端发布于所述区块链的客户端列表中,所述客户端列表指示对所述重新配置操作具有授权权限的多个客户端,所述第一签名指示所述第二客户端已授权所述第一客户端重新配置所述密钥;
资产恢复模块,用于基于所述校验信息,校验所述第一签名对应的所述第二客户端是否在所述客户端列表中,若校验通过的所述第一签名的数量大于或等于目标阈值,基于重新配置后的所述密钥,恢复所述第一客户端对所述区块链资产的操作权限。
14.一种区块链资产恢复装置,其特征在于,所述装置配置于区块链资产恢复系统中的第二客户端,所述系统还包括第一客户端以及区块链节点,所述区块链节点上配置有区块链,所述装置包括:
接收模块,用于接收所述第一客户端发送的第二签名请求,所述第二签名请求是由所述第一客户端处于离线状态,响应于对密钥的重新配置操作发送的,所述第二签名请求指示对所述重新配置操作进行签名,以及向所述区块链节点发送第二资产恢复请求,所述第二签名请求携带校验信息,所述校验信息用于校验所述第二客户端是否在所述第一客户端发布于所述区块链的客户端列表中,所述客户端列表指示对所述重新配置操作具有授权权限的多个客户端;
发送模块,用于基于所述第二签名请求,生成第二签名,基于重新配置后的所述密钥、所述第二签名以及所述校验信息,向所述区块链节点发送所述第二资产恢复请求,所述第二签名指示所述第二客户端已授权所述第一客户端重新配置所述密钥;所述第二资产恢复请求指示所述区块链节点基于所述校验信息,校验所述第二签名对应的所述第二客户端是否在所述客户端列表中,若校验通过的所述第二签名的数量大于或等于目标阈值,基于重新配置后的所述密钥,恢复所述第一客户端对所述区块链资产的操作权限。
15.一种计算设备,其特征在于,所述计算设备包括处理器和存储器,所述存储器用于存储至少一段程序代码,所述至少一段程序代码由所述处理器加载并执行如权利要求1至权利要求10中任一项所述的区块链资产恢复方法中第一客户端执行的步骤;或者,如权利要求1至权利要求10中任一项所述的区块链资产恢复方法中第二客户端执行的步骤;或者,如权利要求1至权利要求10中任一项所述的区块链资产恢复方法中区块链节点执行的步骤。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储至少一段程序代码,所述至少一段程序代码用于执行如权利要求1至权利要求10中任一项所述的区块链资产恢复方法中第一客户端执行的步骤;或者,如权利要求1至权利要求10中任一项所述的区块链资产恢复方法中第二客户端执行的步骤;或者,如权利要求1至权利要求10中任一项所述的区块链资产恢复方法中区块链节点执行的步骤。
17.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算设备上运行时,使得所述计算设备执行如权利要求1至权利要求10中任一项所述的区块链资产恢复方法中第一客户端执行的步骤;或者,如权利要求1至权利要求10中任一项所述的区块链资产恢复方法中第二客户端执行的步骤;或者,如权利要求1至权利要求10中任一项所述的区块链资产恢复方法中区块链节点执行的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310140800.2A CN116318714A (zh) | 2023-02-15 | 2023-02-15 | 区块链资产恢复方法和区块链资产恢复系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310140800.2A CN116318714A (zh) | 2023-02-15 | 2023-02-15 | 区块链资产恢复方法和区块链资产恢复系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116318714A true CN116318714A (zh) | 2023-06-23 |
Family
ID=86837064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310140800.2A Pending CN116318714A (zh) | 2023-02-15 | 2023-02-15 | 区块链资产恢复方法和区块链资产恢复系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116318714A (zh) |
-
2023
- 2023-02-15 CN CN202310140800.2A patent/CN116318714A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11477032B2 (en) | System and method for decentralized-identifier creation | |
CN111095327B (zh) | 用于验证可验证声明的系统和方法 | |
US8245037B1 (en) | Encryption key management | |
CN111164948A (zh) | 使用区块链网络管理网络安全漏洞 | |
US11736456B2 (en) | Consensus service for blockchain networks | |
US11271746B2 (en) | Component commissioning to IoT hub using permissioned blockchain | |
US11822538B2 (en) | Systems and methods of transaction identification generation for transaction-based environment | |
US11496302B2 (en) | Securely processing secret values in application configurations | |
US11917088B2 (en) | Integrating device identity into a permissioning framework of a blockchain | |
CN113261253B (zh) | 用于控制资源的释放的方法和系统 | |
KR20220160021A (ko) | 낮은 신뢰 권한 액세스 관리 | |
CN116491098A (zh) | 使用后量子密码学的基于证书的安全性 | |
CN111176677B (zh) | 服务器系统加固更新方法及装置 | |
CN114978635A (zh) | 跨域认证方法及装置、用户注册方法及装置 | |
CN111769956B (zh) | 业务处理方法、装置、设备及介质 | |
US10715318B2 (en) | Lightweight cryptographic service for simplified key life-cycle management | |
US11611435B2 (en) | Automatic key exchange | |
CN116583833A (zh) | 自审计区块链 | |
CN115943606A (zh) | 可编辑区块链 | |
KR102148452B1 (ko) | 블록체인 기술을 이용한 국군 여가문화 컨텐츠 전용 보안 시스템 및 그 구동방법 | |
CN110851837A (zh) | 一种基于可信计算的自助设备、其安全管理系统及方法 | |
WO2022206203A1 (en) | Connection resilient multi-factor authentication | |
CN116318714A (zh) | 区块链资产恢复方法和区块链资产恢复系统 | |
US11463481B2 (en) | System and method for certificate-less security management of interconnected hybrid resources | |
US20230401328A1 (en) | Protecting sensitive data dump information |
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 |