一种私钥遗忘时的区块链通证找回方法及系统转让专利
申请号 : CN202010865071.3
文献号 : CN112054907B
文献日 : 2021-10-22
发明人 : 杨敏 , 孟庆树
申请人 : 武汉大学
摘要 :
权利要求 :
1.一种私钥遗忘时的区块链通证找回方法,其特征在于:建立通证找回框架,由两个部分组成,
一个部分负责构造声明数据,该数据声明了通证所有者在私钥遗忘时如何找回该通证的处理规则;
另外一个部分负责执行声明数据所表示的具体找回方法,由智能合约实现,智能合约首先用签名验签的方法判断输入数据是否由通证所有者签名,当用户输入的数据和签名数据是吻合的,则按照约定的处理规则处理输入的数据,找回丢失的通证;
所述构造声明数据采用声明方式1时,包括声明在遗忘私钥的情况下,将被遗忘的通证转移到事先指定的某个地址;
采用声明方式1时,执行以下过程,当用户拥有一个UTXO时,用户也拥有该UTXO的私钥;用户用UTXO的私钥进行以下签名:sig=sigPrk(Hash(类型1||地址1||地址2||...||地址n||找回时间||Hash(用户实体身份))),
并将签名结果sig及(类型1||地址1||地址2||...||地址n||找回时间)保存,其中,
sigPrk( )表示用私钥prk进行签名;
Hash( )表示哈希函数;
n表示输入找回地址的个数,地址1、地址2...地址n为找回地址;
声明方式1的相应处理:当是类型1时,输入数据是(类型1||地址1||地址2||...||地址n||找回时间||Hash(用户实体身份))、签名数据sig以及n个地址中的某一个地址,该地址对应的私钥没有丢失;
合约处理过程:根据输入的数据以及签名数据恢复出公钥,根据公钥判断公钥对应的地址的关联UTXO是否还存在,当前找回时间是否满足声明规定的找回时间;如果仍然是一个合法的UTXO,找回时间合法,则合约计算输入数据的hash值,并用签名数据sig进行验签;
如果都通过,则合约把签名私钥对应地址的UTXO转给输入的地址;至此合约的处理完毕;
所述构造声明数据采用声明方式2时,包括声明满足一定条件下把被遗忘的通证转移到一个新的地址去,这个条件让智能合约能够确认指定新地址的用户是被遗忘通证的所有者;采用声明方式2时,执行以下过程,当用户拥有一个UTXO时,用户也拥有该UTXO的私钥;用户用UTXO的私钥对如下内容进行签名:
sig=sigPrk(Hash(类型2||用户选择的一段文字||常规口令)),并将签名结果保存;
声明方式2的相应处理:当是类型2,输入数据是声明方式2中hash函数的参数(类型2||用户选择的一段文字||常规口令)、签名数据sig以及用户新产生的一个地址;
合约处理过程:根据合约的签名sig,以及输入数据,恢复出公钥,根据公钥判断公钥对应的地址的关联UTXO是否还存在;如果仍然是一个合法的UTXO,则合约计算输入数据的hash值,并用签名数据sig进行验签;如果都通过,则合约把签名私钥对应地址的UTXO转给输入的地址。
2.根据权利要求1所述私钥遗忘时的区块链通证找回方法,其特征在于:采用声明方式
1时,输入的各个找回地址的选择遵循如下原则,用户掌握对应的私钥,或者掌握私钥的其他用户将把转入的UTXO还给用户。
3.根据权利要求1所述私钥遗忘时的区块链通证找回方法,其特征在于:采用声明方式
1时,相应的处理规则为,利用输入地址数据和签名数据通过验证输入地址的合法性,以及签名的合法性,从而保证把被遗忘通证转给事先指定的正确地址。
4.根据权利要求1所述私钥遗忘时的区块链通证找回方法,其特征在于:采用声明方式
2时,相应的处理规则为,用输入数据和签名数据通过验证输入数据的正确性来检查用户是否知道或者拥有之前声明所需要的条件,如果是则说明通证找回人确实就是被遗忘通证的真实所有者,支持将被遗忘的通证转移给用户指定的地址。
5.根据权利要求1或2或3或4所述私钥遗忘时的区块链通证找回方法,其特征在于:用于区块链采用UTXO模式或账户模式的场景,当为账户模式时视为一个UTXO的情况,与UTXO模式处理过程一致。
6.一种私钥遗忘时的区块链通证找回系统,其特征在于:用于实现如权利要求1至5中任一项所述私钥遗忘时的区块链通证找回方法。
说明书 :
一种私钥遗忘时的区块链通证找回方法及系统
技术领域
背景技术
码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。随着比特
币概念的普及,出现了大量的区块链项目。区块链由于其去中心化、集体维护、公开透明、不
可篡改、准匿名性等突出特点受到广泛关注。当前区块链按访问范围可分为公链,联盟链和
私链。而通证(token)则是公链的基本且必须功能。通证有基于UTXO
(unspenttransactionoutput)模型的,如比特币平台,也有基于账户模型的,比如以太坊平
台。然而无论是基于UTXO模型的通证还是基于账户模型的通证,都是基于密码学的公私钥
机制实现的,必须拥有私钥才算是拥有对应的通证。然而私钥的管理比较麻烦,还经常发生
因为私钥遗忘导致对应通证的遗失。例如,《财富》杂志曾经做过统计,大约有300万个比特
币因为种种原因,让持有者对自己的地址失去了控制权,即这些地址对应的私钥丢失了,从
而地址中的比特币永久丢失了。这种丢失已经到了严重的地步,要知道Bitcoin总共也就
2100万个比特币。必须要有一种方法来减轻这种现状。我国的数字货币也在推进中,相关技
术支持急需跟进。
1)用助记符产生私钥,该方案的依据是记忆助记符比记忆私钥要容易些,但助记符本身也
需要安全保管,同时存在遗忘风险。2)利用用户身份信息产生私钥,但安全性不高。3)将基
于用户身份信息的账户和区块链账户绑定,从而通过验证身份找回在服务器保存的私钥。
同样存在安全性缺陷。4)利用门限签名的方案,当用户丢失了其子私钥后,可以从预存的备
份子私钥里取出一个子私钥给用户。这个方案存在问题是无法和现有的区块链签名方案进
行融合。5)对用户的私钥进行加密保存,比如用多个其他可信的用户的公钥依次加密待保
护私钥,在用户私钥丢失时,请求可信方逐次解密最后获得私钥。这个方案的问题是需要信
任最后的解密者,因为他可以直接获得私钥。如果提交的是加密的私钥,则同样存在加密密
钥遗失的可能。
发明内容
围更广,更易于实施。
名数据是吻合的,则按照约定的处理规则处理输入的数据,找回丢失的通证。
的所有者。
找回人确实就是被遗忘通证的真实所有者,支持将被遗忘的通证转移给用户指定的地址。
的通证找回框架,使得用户在丢失私钥的情况下,可以找回自己的通证,解决该方面的技术
空白。本发明技术方案实施简单,成本低,具有重要的推广价值。
附图说明
具体实施方式
如何找回该通证的方法。另外一个部分负责执行声明数据所表示的具体找回方法,由智能
合约实现,智能合约首先用签名验签的方法判断输入数据是否由通证所有者签名,当用户
输入的数据和签名数据是吻合的,确实体现了用户当初声明的处理方法,则智能合约按照
约定的处理规则处理输入的数据,把丢失的通证找回来。在该框架下,可以设计各种具体找
回方法,作为例子本发明给出了2个具体的找回方法。该发明可以减轻密钥丢失造成的通证
丢失问题,也可能产生通证找回服务的新商业模式。
存,比如放到其他区块链上保存。
多个地址都有UTXO,这些地址可以相互作为找回地址。
回地址的私钥有很强的保护能力。
不能执行后续的找回操作。
有用户实体身份,只有身份的hash值,以保护用户隐私。
将签名结果妥善保存,比如可以放到另外一个区块链上链保存,而且不能暴露Hash的输入
信息。该方案把用户对私钥的保存转换为用户容易记住但攻击者难以穷举攻击的数据。所
以输入数据的熵要足够大,因此长度建议至少要有100个字符,同时要容易记住。添加用户
自主选择的一段文字,这段文字具有足够的随机熵,而且容易记忆,比如从一本书里摘录一
段特定的文字。同时需要常规的口令,以增加攻击者的攻击难度。该方案适用于金额不大的
应用场景。
个人作弊,此处不再赘述。具体实施时,声明部分可在用户客户端上执行。
证转给了事先指定的正确地址。对于第二种声明,主要是用输入数据和签名数据通过验证
输入数据的正确性来检查用户是否知道或者拥有当初声明所需要的条件,如果知道说明通
证找回人确实就是被遗忘通证的真实所有者,可以将被遗忘的通证转移给他指定的地址。
地址对应的私钥没有丢失)。
是一个合法的UTXO,找回时间合法,则合约计算输入数据的hash值(哈希值),并用签名数据
sig进行验签。如果都通过,则合约把签名私钥对应地址的UTXO转给输入的地址。至此合约
的处理完毕。后续还需要进行下列处理:
比较,如果吻合,则执行通证转移交易,从可信机构的地址转给用户出示的新地址。需要说
明的是通证找回交易本身不需要可信机构的参与。
的hash值,并用签名数据sig进行验签。如果都通过,则合约把签名私钥对应地址的UTXO转
给输入的地址。
储介质以及包括运行相应计算机程序的计算机设备,也应当在本发明的保护范围内。
述的私钥遗忘时的区块链通证找回方法。
的私钥遗忘时的区块链通证找回方法。
1||b地址||找回时间||hash(用户实体身份))),b用户用自己地址的私钥签名:sigPrk(Hash
(类型1||c地址||找回时间||hash(用户实体身份))),c用户用自己地址的私钥签名:SigPrk
(Hash(类型1||a地址||找回时间||hash(用户实体身份)))。假设一段时间后,a和b都把自
己的私钥遗忘或遗失了,只有c仍然记得自己的私钥。则a可以通过b的地址找回,而b可以通
过c的地址找回,最后c把通证先转给b的新地址,b再转给a的新地址。很自然的,只需互相找
回的人能够串起来(即找回地址形成一个闭环),只要其中一个人记得自己的私钥,则可以
找回丢失的通证。进一步的,理论上如果每个用户从已有地址随机挑选多个地址作为找回
地址,则通证丢失的问题基本解决。
并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。