CN111091380B - 一种基于好友隐蔽验证的区块链资产管理方法 - Google Patents
一种基于好友隐蔽验证的区块链资产管理方法 Download PDFInfo
- Publication number
- CN111091380B CN111091380B CN201911020143.8A CN201911020143A CN111091380B CN 111091380 B CN111091380 B CN 111091380B CN 201911020143 A CN201911020143 A CN 201911020143A CN 111091380 B CN111091380 B CN 111091380B
- Authority
- CN
- China
- Prior art keywords
- friend
- blockchain network
- user
- address
- blockchain
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
- G06Q20/3678—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
- G06Q20/4014—Identity check for transactions
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02W—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO WASTEWATER TREATMENT OR WASTE MANAGEMENT
- Y02W90/00—Enabling technologies or technologies with a potential or indirect contribution to greenhouse gas [GHG] emissions mitigation
Abstract
本发明公开了一种基于好友隐蔽验证的区块链资产管理方法,包括:用户从其社交关系中选择至少一个好友的地址构成好友地址列表,对该好友地址列表和恢复阈值进行哈希计算,并将哈希计算生成的摘要提交至区块链网络,并判断是否从区块链网络接收到交易号,如果接收到则表示摘要提交成功,用户在丢失私钥之后通过零知识证明来证明其知道提交的摘要所对应的好友地址列表,得到零知识证明结果,生成彼此对应的一套新的公私钥对和用户地址。本发明能够解决现有基于第三方存储钱包的区块链资产管理方法中存在的一旦出现恶意管理员或者黑客攻击事件,则用户的私钥将难以恢复,区块链资产也将处于无法管理的状态的技术问题。
Description
技术领域
本发明属于区块链技术领域,更具体地,涉及一种基于好友隐蔽验证的区块链资产管理方法。
背景技术
区块链(Blockchain)是一种分布式账本技术,由多个节点根据共识机制共同管理维护。由于区块链具有公开透明、去中心化、不可篡改等特点,区块链资产应运而生。
对于区块链资产而言,用户是使用唯一的公私钥对、并通过交易(Transaction)的方式对其进行管理操作,因此,区块链资产的安全性与私钥的安全性息息相关,一旦私钥丢失,用户将失去对区块链资产的管理权。
目前,区块链资产的管理方法主要有三种,即第三方存储钱包、个人存储钱包、以及多方维护钱包。
然而,上述区块链资产管理方法都存在一些不可忽略的缺陷:第三方存储钱包的安全性完全取决于第三方的可信程度,一旦出现恶意管理员或者黑客攻击事件,则用户的私钥将难以恢复,区块链资产也将处于无法管理的状态;个人存储钱包虽然是由个人负责保管,但在其存储介质出现故障时,会造成私钥无法读取,从而导致无法管理区块链资产;多方维护钱包是由多个私钥所有者共同管理,一旦其中一定数量的私钥所有者存在恶意,会带来多方合谋盗取区块链资产的风险。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于好友隐蔽验证的区块链资产管理方法,其目的在于,解决现有基于第三方存储钱包的区块链资产管理方法中存在的一旦出现恶意管理员或者黑客攻击事件,则用户的私钥将难以恢复,区块链资产也将处于无法管理的状态的技术问题,以及基于个人存储钱包的区块链资产管理方法中存在的在其存储介质出现故障时,会造成私钥无法读取,从而导致无法管理区块链资产的技术问题,以及基于多方维护钱包的区块链资产管理方法中存在的一旦其中一定数量的私钥所有者存在恶意,会带来多方合谋盗取区块链资产的风险的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种基于好友隐蔽验证的区块链资产管理方法,包括以下步骤:
(1)用户从其社交关系中选择至少一个好友的地址构成好友地址列表,对该好友地址列表进行哈希计算,并将哈希计算生成的摘要和恢复阈值提交至区块链网络,并判断是否从区块链网络接收到交易号,如果接收到则进入步骤(2),否则重复提交操作,直到从区块链网络接收到交易号为止;
(2)用户在丢失私钥之后,生成彼此对应的一对新的公私钥对和用户地址,并向步骤(1)中选择的好友发送该公钥、用户地址、以及协助协助恢复资产请求;
(3)接收到协助恢复资产请求的好友向用户确认该协助协助恢复资产请求是否是该用户本人发出,如果是则该好友向区块链网络提交身份确认凭证,区块链网络将该身份确认凭证加入到区块链网络预先设置好的另一个列表中,然后转入步骤(4),否则过程结束;
(4)用户在从区块链网络获取身份确认凭证之后,使用零知识证明来证明在区块链网络中存在提交了身份确认凭证的好友,并且该好友的地址位于步骤(1)选择的好友地址列表中,并且好友提交的身份确认凭证是区块链网络预先设置好的另一个列表中的其中一个元素,得到零知识证明结果,并将该零知识证明结果通过交易的方式提交给区块链网络;
(5)区块链网络中的节点验证用户提交的零知识证明结果是否正确,如果验证通过,则生成该交易的交易号返回给用户,进入步骤(6),否则返回步骤(4);
(6)用户判断收到的身份确认凭证的数量是否大于等于恢复阈值,如果是,则进入步骤(7),否则返回步骤(4);
(7)用户将验证通过的交易的交易号构成的集合与步骤(1)所收到的交易号一起打包成交易提交给区块链网络;
(8)区块链网络中的节点验证从用户接收到的交易是否都是有效交易,且集合元素的数量是否大于等于步骤(1)交易所提出的恢复阈值,如果是,则对用户在区块链网络中的区块链资产进行转移操作,然后过程结束,否则流程结束。
优选地,步骤(1)中好友地址列表、以及步骤(3)中列表的组织方式是数组、栈、队列、链表、散列表、或堆。
优选地,身份确认凭证中包括对步骤(2)中接收到的交易号/用户地址/公钥和该好友生成的随机数进行哈希计算后得到的哈希值,以及利用步骤(2)生成的新的公钥对该好友生成的随机数进行加密后得到的加密结果。
优选地,所述方法进一步包括在步骤(8)中对用户在区块链网络中的区块链资产进行转移操作之前,区块链网络中的节点选择等待一段时延,判断是否有其他用户执行资产管理撤销操作,如果有则中断该资产管理撤销操作,过程结束,否则对用户在区块链网络中的区块链资产进行转移操作。
优选地,对于用户地址、公钥、区块链网络预先建立的另一个列表、步骤(1)中生成的摘要、以及恢复阈值所组成的公共输入而言,以及对于步骤(1)中的好友地址列表、好友地址、该好友地址在步骤(1)中的好友地址列表中的序号i、步骤(3)中提交的身份确认凭证、好友在步骤(3)中使用的交易号/用户地址/公钥、好友在步骤(3)中提交的身份确认凭证在区块链网络预先建立的另一个列表中的序号k、构成身份确认凭证的随机数组成的秘密输入而言,这些输入能够使如下NP问题成立:
一、步骤(1)中生成的摘要是由步骤(1)中选择的好友地址列表、恢复阈值哈希计算得到,且好友地址在步骤(1)中的好友地址列表中的序号i能够证明该好友地址列表中的第i个元素是协助协助恢复资产请求对应的好友地址,即好友地址列表包含该好友地址;
二、该好友在步骤(3)中提交的身份确认凭证是由好友在步骤(3)对交易号/用户地址/公钥、以及步骤(3)中好友生成的随机数进行哈希计算得到;
三、好友在步骤(3)中提交的身份确认凭证在区块链网络预先建立的另一个列表中的序号k可以证明区块链网络预先建立的另一个列表的第k个元素是该好友在步骤(3)中提交的身份确认凭证。
按照本发明的另一方面,提供了一种基于好友隐蔽验证的区块链资产管理方法,包括以下步骤:
(1)用户从其社交关系中选择至少一个好友的地址构成好友地址列表,将该好友地址列表构造成树,对该树的根节点进行哈希计算,并将哈希计算生成的摘要和恢复阈值提交至区块链网络,并判断是否从区块链网络接收到交易号(Transaction ID),如果接收到则表示摘要提交成功,并进入步骤(2),否则重复提交操作,直到从区块链网络接收到交易号为止;
(2)用户在丢失私钥之后,生成彼此对应的一对新的公私钥对和用户地址,并向步骤(1)中选择的好友发送该公钥、用户地址、以及协助协助恢复资产请求;
(3)接收到协助协助恢复资产请求的好友判断该用户丢失私钥是否属实,如果属实则向区块链网络提交身份确认凭证,然后转入步骤(4),否则过程结束;
(4)区块链中的节点在收到身份确认凭证后,将其作为叶子节点添加至区块链网络预先建立的另一个树中,并向用户发送身份确认凭证;
(5)用户在获取到身份确认凭证之后,使用零知识证明来证明在区块链网络预先建立的另一个树中存在身份确认凭证,并且提交该身份确认凭证的好友的地址位于步骤(1)选择的好友地址列表中,得到零知识证明结果,并将该零知识证明结果提交给区块链网络;
(6)区块链网络中的节点验证用户提交的零知识证明结果是否正确,如果验证通过,返回交易号,并进入步骤(7),否则返回步骤(5);
(7)用户判断收到的身份确认凭证的数量是否大于等于恢复阈值,如果是,则进入步骤(8),否则返回步骤(5);
(8)用户将验证通过的交易的交易号构成的集合与步骤(1)所收到的交易号一起打包成交易提交给区块链网络;
(9)区块链网络中的节点验证用户提交的交易是否都是有效交易,且集合元素的数量是否大于等于步骤(1)交易所提出的恢复阈值,如果是,则对用户在区块链网络中的区块链资产进行转移操作,然后过程结束,否则流程结束。
优选地,步骤(1)还包括在将该好友地址列表构造成树之前,通过扩充全零地址的方式将好友地址列表中好友地址的数量增加M个,对扩充后的好友地址列表进行混淆操作,其中M的取值范围是1到29。
优选地,身份确认凭证中包括对步骤(2)中接收到的用户地址/公钥和该好友生成的随机数进行哈希计算后得到的哈希值,以及利用该公钥对该好友生成的随机数进行加密后得到的加密结果。
优选地,对于用户地址、公钥、区块链网络预先建立的另一个树的根节点、步骤(1)中生成的摘要、以及恢复阈值组成的公共输入而言,以及对于步骤(1)中的好友地址列表、好友地址、该好友地址在步骤(1)中生成的树中的路径证明、步骤(3)中提交的身份确认凭证、好友在步骤(3)中使用的交易号/用户地址/公钥、好友在步骤(3)中提交的身份确认凭证在区块链网络预先建立的另一个树中的路径证明、构成身份确认凭证的随机数组成的秘密输入而言,这些输入能够使如下NP问题成立:
一、步骤(1)中生成的摘要是由步骤(1)中选择的好友地址列表、恢复阈值哈希计算得到,且好友地址在步骤(1)生成的树中的路径证明能够证明该好友地址列表中包含协助协助恢复资产请求对应的好友地址;
二、该好友在步骤(3)中提交的身份确认凭证是由好友在步骤(3)对交易号/用户地址/公钥、以及步骤(3)中好友生成的随机数进行哈希计算得到;
三、好友在步骤(3)中提交的身份确认凭证在区块链网络预先建立的另一个树中的路径证明可以证明该好友在步骤(3)中提交的身份确认凭证是区块链网络预先建立的另一个树的一个叶子节点;
优选地,所述方法进一步包括在步骤(9)中对用户在区块链网络中的区块链资产进行转移操作之前,区块链网络中的节点选择等待一段时延,判断是否有其他用户执行资产管理撤销操作,如果有则中断该资产管理撤销操作,过程结束,否则对用户在区块链网络中的区块链资产进行转移操作。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
1、由于本发明可以在无私钥的情况下对区块链资产进行管理操作,且不依赖于任何中心服务器或者管理员,因此能够解决现有基于第三方存储钱包的资产管理方法中一旦出现恶意管理员或者黑客攻击事件,则用户的私钥将难以恢复,导致区块链资产处于无法管理状态的技术问题。
2、由于本发明的实现不需要存储介质,因此能够解决现有基于个人存储钱包的资产管理方法中一旦存储介质出现故障,则私钥无法读取,从而导致无法管理区块链资产的技术问题。
3、由于本发明依赖于用户的社交关系对区块链资产进行管理操作,且不会在资产管理操作中暴露任何关于用户社交关系的有效信息,从而避免了用户的好友合谋盗取区块链资产的风险,并保障了用户资产的安全性。
4、由于本发明设置了恢复阈值,只要可协助用户进行区块链资产管理的好友数量大于或等于该恢复阈值,则该区块链资产就是可以被管理的,从而提高了区块链资产的健壮性。
5、由于本发明在用户用来绑定区块链资产的社交关系在极端情况下暴露、或被攻击者获取之后,当用户私钥存在时,可以随时中断资产管理撤销操作,而当用户私钥丢失时,只要愿意协助攻击者盗取区块链资产的好友数量少于恢复阈值,则区块链资产就不能被管理,从而进一步加强了区块链资产管理的安全性。
附图说明
图1是根据本发明第一种实现方式的针对基于好友隐蔽验证的区块链资产管理方法的流程图;
图2是根据本发明第二种实现方式的针对基于好友隐蔽验证的区块链资产管理方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明整体思路在于,利用零知识证明在不泄露具体信息的情况下能够验证只是的特性,保护协助用户管理资产的社交关系的机密性,保护无私钥情况下资产管理、转移过程的资产安全性,保护资产在私钥在意外丢失情况下的可用性,防止攻击者在资产管理过程中获取关于资产的任何信息。
以下首先就本发明的技术术语进行解释和说明:
社交关系:是指在现实中与用户有社交渠道、互信且能协助互动的好友的集合。
隐藏社交关系:是指在区块链网络中即使通过主动观测也难以得到的某个社交关系。
零知识证明(Zero-Knowledge Proof),是由S.Goldwasser、S.Micali及C.Rackoff在20世纪80年代初提出的。它指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。零知识证明实质上是一种涉及两方或更多方的协议,即两方或更多方完成一项任务所需采取的一系列步骤。证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。
恢复阈值:协助用户完成区块链资产管理操作的好友数量下限。
如图1所示,根据本发明的第一种实施方式,提供了一种基于好友隐蔽验证的区块链资产管理方法,包括以下步骤:
(1)用户从其社交关系中选择至少一个好友的地址构成好友地址列表,对该好友地址列表进行哈希计算,并将哈希计算生成的摘要和恢复阈值提交至区块链网络,并判断是否从区块链网络接收到交易号(Transaction ID),如果接收到则表示摘要提交成功,并进入步骤(2),否则重复提交操作,直到从区块链网络接收到交易号为止;
在本实施方式中,好友地址列表的组织方式是数组;应该理解的是,在其他实施方式中,好友地址列表的组织方式还可以是诸如栈、队列、链表、散列表、堆等数据结构。
(2)用户在丢失私钥之后,生成彼此对应的一对新的公私钥对和用户地址,并向步骤(1)中选择的好友发送该公钥、用户地址、以及协助协助恢复资产请求;
(3)接收到协助恢复资产请求的好友向用户确认该协助协助恢复资产请求是否是该用户本人发出,如果是则该好友向区块链网络提交身份确认凭证,区块链网络将该身份确认凭证加入到区块链网络预先设置好的另一个列表中,然后转入步骤(4),否则过程结束;
具体而言,身份确认凭证中包括两部分,一部分是对步骤(2)中接收到的交易号/用户地址/公钥和该好友生成的随机数进行哈希计算后得到的哈希值,另一部分是利用步骤(2)生成的新的公钥对该好友生成的随机数进行加密后得到的加密结果。
具体而言,区块链网络预先设置好的另一个列表收集所有用户提交的身份确认凭证;
在本实施方式中,该列表的组织方式是数组;应该理解的是,在其他实施方式中,该列表的组织方式还可以是诸如栈、队列、链表、散列表、堆等数据结构。
(4)用户在从区块链网络获取身份确认凭证之后,使用零知识证明来证明在区块链网络中存在提交了身份确认凭证的好友,并且该好友的地址位于步骤(1)选择的好友地址列表中,并且好友提交的身份确认凭证是区块链网络预先设置好的另一个列表中的其中一个元素,得到零知识证明结果,并将该零知识证明结果通过交易的方式提交给区块链网络;
具体而言,对于公共输入(包括用户地址、公钥、区块链网络预先建立的另一个列表、以及步骤(1)中生成的摘要、恢复阈值)以及秘密输入(包括步骤(1)中的好友地址列表、好友地址、该好友地址在步骤(1)中的好友地址列表中的序号i、步骤(3)中提交的身份确认凭证、好友在步骤(3)中使用的交易号/用户地址/公钥、好友在步骤(3)中提交的身份确认凭证在区块链网络预先建立的另一个列表中的序号k、构成身份确认凭证的随机数)而言,这些输入能够使如下多项式复杂程度的非确定性(Non-deterministic Polynomial,简称NP)问题成立:
一、步骤(1)中生成的摘要是由步骤(1)中选择的好友地址列表、恢复阈值哈希计算得到,且好友地址在步骤(1)中的好友地址列表中的序号i能够证明该好友地址列表中的第i个元素是协助协助恢复资产请求对应的好友地址,即好友地址列表包含该好友地址。
二、该好友在步骤(3)中提交的身份确认凭证是由好友在步骤(3)对交易号/用户地址/公钥、以及步骤(3)中好友生成的随机数进行哈希计算得到。
三、好友在步骤(3)中提交的身份确认凭证在区块链网络预先建立的另一个列表中的序号k可以证明区块链网络预先建立的另一个列表的第k个元素是该好友在步骤(3)中提交的身份确认凭证。
(5)区块链网络中的节点验证用户提交的零知识证明结果是否正确,如果验证通过,则生成该交易的交易号返回给用户,进入步骤(6),否则返回步骤(4);
(6)用户判断收到的身份确认凭证的数量是否大于等于恢复阈值,如果是,则进入步骤(7),否则返回步骤(4);
(7)用户将验证通过的交易的交易号构成的集合与步骤(1)所收到的交易号一起打包成交易提交给区块链网络。
(8)区块链网络中的节点验证从用户接收到的交易是否都是有效交易,且集合元素的数量是否大于等于步骤(1)交易所提出的恢复阈值,如果是,则对用户在区块链网络中的区块链资产进行转移操作,然后过程结束,否则流程结束;
可选的,本发明的方法还可以包括在步骤(8)中对用户在区块链网络中的区块链资产进行转移操作之前,区块链网络中的节点选择等待一段时延,判断是否有其他用户执行资产管理撤销操作,如果有则中断该资产管理撤销操作,过程结束,否则对用户在区块链网络中的区块链资产进行转移操作。
具体而言,本步骤中的时延可以由用户自由设定,优选是1天。
如图2所示,根据本发明的第二种实施方式,提供了一种基于好友隐蔽验证的区块链资产管理方法,包括以下步骤:
(1)用户从其社交关系中选择至少一个好友的地址构成好友地址列表,将该好友地址列表构造成树,对该树的根节点进行哈希计算,并将哈希计算生成的摘要和恢复阈值提交至区块链网络,并判断是否从区块链网络接收到交易号(Transaction ID),如果接收到则表示摘要提交成功,并进入步骤(2),否则重复提交操作,直到从区块链网络接收到交易号为止;
具体而言,本步骤中的树可以是默克尔树(Merkle Tree)、二叉树等。
可选地,本步骤(1)还包括在将该好友地址列表构造成树之前,通过扩充全零地址的方式将好友地址列表中好友地址的数量增加M个(其中M的取值范围是1到29),对扩充后的好友地址列表进行混淆操作。
对扩充后的好友地址列表进行混淆操作的目的,是为了增加攻击者破解好友地址列表的难度。
(2)用户在丢失私钥之后,生成彼此对应的一对新的公私钥对和用户地址,并向步骤(1)中选择的好友发送该公钥、用户地址、以及协助协助恢复资产请求;
(3)接收到协助协助恢复资产请求的好友判断该用户丢失私钥是否属实,如果属实则向区块链网络提交身份确认凭证,然后转入步骤(4),否则过程结束;
具体而言,身份确认凭证中包括两部分,一部分是对步骤(2)中接收到的用户地址/公钥和该好友生成的随机数进行哈希计算后得到的哈希值,另一部分是利用该公钥对该好友生成的随机数进行加密后得到的加密结果。
(4)区块链中的节点在收到身份确认凭证后,将其作为叶子节点添加至区块链网络预先建立的另一个树中,并向用户发送身份确认凭证;
(5)用户在获取到身份确认凭证之后,使用零知识证明来证明在区块链网络预先建立的另一个树中存在身份确认凭证,并且提交该身份确认凭证的好友的地址位于步骤(1)选择的好友地址列表中,得到零知识证明结果,并将该零知识证明结果提交给区块链网络;
具体而言,对于公共输入(包括用户地址、公钥、区块链网络预先建立的另一个树的根节点、以及步骤(1)中生成的摘要、恢复阈值)以及秘密输入(包括步骤(1)中的好友地址列表、好友地址、该好友地址在步骤(1)中生成的树中的路径证明、步骤(3)中提交的身份确认凭证、好友在步骤(3)中使用的交易号/用户地址/公钥、好友在步骤(3)中提交的身份确认凭证在区块链网络预先建立的另一个树中的路径证明、构成身份确认凭证的随机数)而言,这些输入能够使如下多项式复杂程度的非确定性(Non-deterministic Polynomial,简称NP)问题成立:
一、步骤(1)中生成的摘要是由步骤(1)中选择的好友地址列表、恢复阈值哈希计算得到,且好友地址在步骤(1)生成的树中的路径证明能够证明该好友地址列表中包含协助协助恢复资产请求对应的好友地址。
二、该好友在步骤(3)中提交的身份确认凭证是由好友在步骤(3)对交易号/用户地址/公钥、以及步骤(3)中好友生成的随机数进行哈希计算得到。
三、好友在步骤(3)中提交的身份确认凭证在区块链网络预先建立的另一个树中的路径证明可以证明该好友在步骤(3)中提交的身份确认凭证是区块链网络预先建立的另一个树的一个叶子节点。
(6)区块链网络中的节点验证用户提交的零知识证明结果是否正确,如果验证通过,则返回交易号,并进入步骤(7),否则返回步骤(5);
(7)用户判断收到的身份确认凭证的数量是否大于等于恢复阈值,如果是,则进入步骤(8),否则返回步骤(5);
(8)用户将验证通过的交易的交易号构成的集合与步骤(1)所收到的交易号一起打包成交易提交给区块链网络;
(9)区块链网络中的节点验证用户提交的交易是否都是有效交易,且集合元素的数量是否大于等于步骤(1)交易所提出的恢复阈值,如果是,则对用户在区块链网络中的区块链资产进行转移操作,然后过程结束,否则流程结束;
可选的,本发明的方法还可以包括在步骤(9)中对用户在区块链网络中的区块链资产进行转移操作之前,区块链网络中的节点选择等待一段时延,判断是否有其他用户执行资产管理撤销操作,如果有则中断该资产管理撤销操作,过程结束,否则对用户在区块链网络中的区块链资产进行转移操作。
具体而言,本步骤中的时延可以由用户自由设定,优选是1天。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于好友隐蔽验证的区块链资产管理方法,其特征在于,包括以下步骤:
(1)用户从其社交关系中选择至少一个好友的地址构成好友地址列表,对该好友地址列表进行哈希计算,并将哈希计算生成的摘要和恢复阈值提交至区块链网络,并判断是否从区块链网络接收到交易号,如果接收到则进入步骤(2),否则重复提交操作,直到从区块链网络接收到交易号为止;其中恢复阈值是协助用户完成区块链资产管理操作的好友数量下限;
(2)用户在丢失私钥之后,生成彼此对应的一对新的公私钥对和用户地址,并向步骤(1)中选择的好友发送公钥、用户地址、以及协助恢复资产请求;
(3)接收到协助恢复资产请求的好友向用户确认该协助恢复资产请求是否是该用户本人发出,如果是则该好友向区块链网络提交身份确认凭证,区块链网络将该身份确认凭证加入到区块链网络预先设置好的另一个列表中,然后转入步骤(4),否则过程结束;其中身份确认凭证中包括对步骤(2)中接收到的交易号/用户地址/公钥和该好友生成的随机数进行哈希计算后得到的哈希值,以及利用步骤(2)生成的新的公钥对该好友生成的随机数进行加密后得到的加密结果;
(4)用户在从区块链网络获取身份确认凭证之后,使用零知识证明来证明在区块链网络中存在提交了身份确认凭证的好友,并且该好友的地址位于步骤(1)选择的好友地址列表中,并且好友提交的身份确认凭证是区块链网络预先设置好的另一个列表中的其中一个元素,得到零知识证明结果,并将该零知识证明结果通过交易的方式提交给区块链网络;
(5)区块链网络中的节点验证用户提交的零知识证明结果是否正确,如果验证通过,则生成该交易的交易号返回给用户,进入步骤(6),否则返回步骤(4);
(6)用户判断收到的身份确认凭证的数量是否大于等于恢复阈值,如果是,则进入步骤(7),否则返回步骤(4);
(7)用户将验证通过的交易的交易号构成的集合与步骤(1)所收到的交易号一起打包成交易提交给区块链网络;
(8)区块链网络中的节点验证从用户接收到的交易是否都是有效交易,且集合元素的数量是否大于等于步骤(1)交易所提出的恢复阈值,如果是,则对用户在区块链网络中的区块链资产进行转移操作,然后过程结束,否则流程结束。
2.根据权利要求1所述的区块链资产管理方法,其特征在于,步骤(1)中好友地址列表、以及步骤(3)中列表的组织方式是数组、栈、队列、链表、散列表、或堆。
3.根据权利要求1所述的区块链资产管理方法,其特征在于,所述方法进一步包括在步骤(8)中对用户在区块链网络中的区块链资产进行转移操作之前,区块链网络中的节点选择等待一段时延,判断是否有其他用户执行资产管理撤销操作,如果有则中断该资产管理撤销操作,过程结束,否则对用户在区块链网络中的区块链资产进行转移操作。
4.根据权利要求1所述的区块链资产管理方法,其特征在于,对于用户地址、公钥、区块链网络预先建立的另一个列表、步骤(1)中生成的摘要、以及恢复阈值所组成的公共输入而言,以及对于步骤(1)中的好友地址列表、好友地址、该好友地址在步骤(1)中的好友地址列表中的序号i、步骤(3)中提交的身份确认凭证、好友在步骤(3)中使用的交易号/用户地址/公钥、好友在步骤(3)中提交的身份确认凭证在区块链网络预先建立的另一个列表中的序号k、构成身份确认凭证的随机数组成的秘密输入而言,这些输入能够使如下多项式复杂程度的非确定性NP问题成立:
一、步骤(1)中生成的摘要是由步骤(1)中选择的好友地址列表、恢复阈值哈希计算得到,且好友地址在步骤(1)中的好友地址列表中的序号i能够证明该好友地址列表中的第i个元素是协助恢复资产请求对应的好友地址,即好友地址列表包含该好友地址;
二、该好友在步骤(3)中提交的身份确认凭证是由好友在步骤(3)对交易号/用户地址/公钥、以及步骤(3)中好友生成的随机数进行哈希计算得到;
三、好友在步骤(3)中提交的身份确认凭证在区块链网络预先建立的另一个列表中的序号k可以证明区块链网络预先建立的另一个列表的第k个元素是该好友在步骤(3)中提交的身份确认凭证。
5.一种基于好友隐蔽验证的区块链资产管理方法,其特征在于,包括以下步骤:
(1)用户从其社交关系中选择至少一个好友的地址构成好友地址列表,将该好友地址列表构造成树,对该树的根节点进行哈希计算,并将哈希计算生成的摘要和恢复阈值提交至区块链网络,并判断是否从区块链网络接收到交易号,如果接收到则表示摘要提交成功,并进入步骤(2),否则重复提交操作,直到从区块链网络接收到交易号为止;其中恢复阈值是协助用户完成区块链资产管理操作的好友数量下限;
(2)用户在丢失私钥之后,生成彼此对应的一对新的公私钥对和用户地址,并向步骤(1)中选择的好友发送公钥、用户地址、以及协助恢复资产请求;
(3)接收到协助恢复资产请求的好友判断该用户丢失私钥是否属实,如果属实则向区块链网络提交身份确认凭证,然后转入步骤(4),否则过程结束;其中身份确认凭证中包括对步骤(2)中接收到的交易号/用户地址/公钥和该好友生成的随机数进行哈希计算后得到的哈希值,以及利用步骤(2)生成的新的公钥对该好友生成的随机数进行加密后得到的加密结果;
(4)区块链中的节点在收到身份确认凭证后,将其作为叶子节点添加至区块链网络预先建立的另一个树中,并向用户发送身份确认凭证;
(5)用户在获取到身份确认凭证之后,使用零知识证明来证明在区块链网络预先建立的另一个树中存在身份确认凭证,并且提交该身份确认凭证的好友的地址位于步骤(1)选择的好友地址列表中,得到零知识证明结果,并将该零知识证明结果提交给区块链网络;
(6)区块链网络中的节点验证用户提交的零知识证明结果是否正确,如果验证通过,返回交易号,并进入步骤(7),否则返回步骤(5);
(7)用户判断收到的身份确认凭证的数量是否大于等于恢复阈值,如果是,则进入步骤(8),否则返回步骤(5);
(8)用户将验证通过的交易的交易号构成的集合与步骤(1)所收到的交易号一起打包成交易提交给区块链网络;
(9)区块链网络中的节点验证用户提交的交易是否都是有效交易,且集合元素的数量是否大于等于步骤(1)交易所提出的恢复阈值,如果是,则对用户在区块链网络中的区块链资产进行转移操作,然后过程结束,否则流程结束。
6.根据权利要求5所述的区块链资产管理方法,其特征在于,步骤(1)还包括在将该好友地址列表构造成树之前,通过扩充全零地址的方式将好友地址列表中好友地址的数量增加M个,对扩充后的好友地址列表进行混淆操作,其中M的取值范围是1到29。
7.根据权利要求5所述的区块链资产管理方法,其特征在于,对于用户地址、公钥、区块链网络预先建立的另一个树的根节点、步骤(1)中生成的摘要、以及恢复阈值组成的公共输入而言,以及对于步骤(1)中的好友地址列表、好友地址、该好友地址在步骤(1)中生成的树中的路径证明、步骤(3)中提交的身份确认凭证、好友在步骤(3)中使用的交易号/用户地址/公钥、好友在步骤(3)中提交的身份确认凭证在区块链网络预先建立的另一个树中的路径证明、构成身份确认凭证的随机数组成的秘密输入而言,这些输入能够使如下多项式复杂程度的非确定性NP问题成立:
一、步骤(1)中生成的摘要是由步骤(1)中选择的好友地址列表、恢复阈值哈希计算得到,且好友地址在步骤(1)生成的树中的路径证明能够证明该好友地址列表中包含协助恢复资产请求对应的好友地址;
二、该好友在步骤(3)中提交的身份确认凭证是由好友在步骤(3)对交易号/用户地址/公钥、以及步骤(3)中好友生成的随机数进行哈希计算得到;
三、好友在步骤(3)中提交的身份确认凭证在区块链网络预先建立的另一个树中的路径证明可以证明该好友在步骤(3)中提交的身份确认凭证是区块链网络预先建立的另一个树的一个叶子节点。
8.根据权利要求5所述的区块链资产管理方法,其特征在于,所述方法进一步包括在步骤(9)中对用户在区块链网络中的区块链资产进行转移操作之前,区块链网络中的节点选择等待一段时延,判断是否有其他用户执行资产管理撤销操作,如果有则中断该资产管理撤销操作,过程结束,否则对用户在区块链网络中的区块链资产进行转移操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911020143.8A CN111091380B (zh) | 2019-10-25 | 2019-10-25 | 一种基于好友隐蔽验证的区块链资产管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911020143.8A CN111091380B (zh) | 2019-10-25 | 2019-10-25 | 一种基于好友隐蔽验证的区块链资产管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111091380A CN111091380A (zh) | 2020-05-01 |
CN111091380B true CN111091380B (zh) | 2023-05-09 |
Family
ID=70393049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911020143.8A Active CN111091380B (zh) | 2019-10-25 | 2019-10-25 | 一种基于好友隐蔽验证的区块链资产管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111091380B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111526211B (zh) * | 2020-05-06 | 2023-04-14 | 杭州复杂美科技有限公司 | 资产转移方法、设备和存储介质 |
CN112347516A (zh) * | 2020-11-27 | 2021-02-09 | 网易(杭州)网络有限公司 | 基于区块链的资产证明方法及装置 |
CN113536384B (zh) * | 2021-09-14 | 2021-12-21 | 支付宝(杭州)信息技术有限公司 | 基于区块链的隐私数据映射方法、装置、介质和电子设备 |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106790253A (zh) * | 2017-01-25 | 2017-05-31 | 中钞信用卡产业发展有限公司北京智能卡技术研究院 | 基于区块链的认证方法和装置 |
CN107077675A (zh) * | 2016-12-30 | 2017-08-18 | 深圳前海达闼云端智能科技有限公司 | 基于区块链的货币管理方法和系统 |
CN107533501A (zh) * | 2015-03-20 | 2018-01-02 | 里维茨公司 | 使用区块链自动认证设备完整性 |
CN107609876A (zh) * | 2017-08-18 | 2018-01-19 | 北京云知科技有限公司 | 一种恢复区块链资产的方法和系统 |
CN108282339A (zh) * | 2018-01-25 | 2018-07-13 | 中国科学院合肥物质科学研究院 | 一种基于智能合约和自社交媒体的数字身份找回方法 |
CN108615154A (zh) * | 2018-05-01 | 2018-10-02 | 王锐 | 一种基于硬件加密保护的区块链数字签名系统及使用流程 |
CN108764874A (zh) * | 2018-05-17 | 2018-11-06 | 深圳前海微众银行股份有限公司 | 基于区块链的匿名转账方法、系统及存储介质 |
CN108764872A (zh) * | 2018-06-01 | 2018-11-06 | 杭州复杂美科技有限公司 | 一种授权支付方法及系统、设备和存储介质 |
WO2019023289A1 (en) * | 2017-07-27 | 2019-01-31 | Eland Blockchain Fintech Inc. | ELECTRONIC TRANSACTION SYSTEM AND METHOD USING A BLOCK CHAIN TO STORE TRANSACTION RECORDINGS |
CN109325746A (zh) * | 2018-08-29 | 2019-02-12 | 华中科技大学 | 一种基于存储的区块链激励方法、区块链网络及存储网络 |
CN109547219A (zh) * | 2019-01-18 | 2019-03-29 | 杭州秘猿科技有限公司 | 信息采集并提交到区块链网络的方法与装置 |
US10269009B1 (en) * | 2013-06-28 | 2019-04-23 | Winklevoss Ip, Llc | Systems, methods, and program products for a digital math-based asset exchange |
CN109863719A (zh) * | 2016-10-25 | 2019-06-07 | 区块链控股有限公司 | 用于在区块链上指导与匿名持有代币相关联的交易的方法和系统 |
CN110163604A (zh) * | 2019-04-29 | 2019-08-23 | 华中科技大学 | 一种基于多方验证的区块链资产转移方法 |
CN110191153A (zh) * | 2019-04-24 | 2019-08-30 | 成都派沃特科技股份有限公司 | 基于区块链的社交通信方法 |
CN110245472A (zh) * | 2019-01-16 | 2019-09-17 | 腾讯科技(深圳)有限公司 | 身份认证方法、个人安全内核节点、和介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11392927B2 (en) * | 2014-01-13 | 2022-07-19 | uQontrol, Inc. | Multi-function data key |
US10778439B2 (en) * | 2015-07-14 | 2020-09-15 | Fmr Llc | Seed splitting and firmware extension for secure cryptocurrency key backup, restore, and transaction signing platform apparatuses, methods and systems |
US20170178127A1 (en) * | 2015-12-18 | 2017-06-22 | International Business Machines Corporation | Proxy system mediated legacy transactions using multi-tenant transaction database |
US11233644B2 (en) * | 2017-08-09 | 2022-01-25 | Gridplus Inc. | System for secure storage of cryptographic keys |
KR102020000B1 (ko) * | 2018-10-31 | 2019-09-09 | 주식회사 스위클 | 사용증명방식 블록체인 기반의 일회용 개인키를 이용한 개인정보 제공 시스템 및 방법 |
-
2019
- 2019-10-25 CN CN201911020143.8A patent/CN111091380B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10269009B1 (en) * | 2013-06-28 | 2019-04-23 | Winklevoss Ip, Llc | Systems, methods, and program products for a digital math-based asset exchange |
CN107533501A (zh) * | 2015-03-20 | 2018-01-02 | 里维茨公司 | 使用区块链自动认证设备完整性 |
CN109863719A (zh) * | 2016-10-25 | 2019-06-07 | 区块链控股有限公司 | 用于在区块链上指导与匿名持有代币相关联的交易的方法和系统 |
CN107077675A (zh) * | 2016-12-30 | 2017-08-18 | 深圳前海达闼云端智能科技有限公司 | 基于区块链的货币管理方法和系统 |
CN106790253A (zh) * | 2017-01-25 | 2017-05-31 | 中钞信用卡产业发展有限公司北京智能卡技术研究院 | 基于区块链的认证方法和装置 |
WO2019023289A1 (en) * | 2017-07-27 | 2019-01-31 | Eland Blockchain Fintech Inc. | ELECTRONIC TRANSACTION SYSTEM AND METHOD USING A BLOCK CHAIN TO STORE TRANSACTION RECORDINGS |
CN107609876A (zh) * | 2017-08-18 | 2018-01-19 | 北京云知科技有限公司 | 一种恢复区块链资产的方法和系统 |
CN108282339A (zh) * | 2018-01-25 | 2018-07-13 | 中国科学院合肥物质科学研究院 | 一种基于智能合约和自社交媒体的数字身份找回方法 |
CN108615154A (zh) * | 2018-05-01 | 2018-10-02 | 王锐 | 一种基于硬件加密保护的区块链数字签名系统及使用流程 |
CN108764874A (zh) * | 2018-05-17 | 2018-11-06 | 深圳前海微众银行股份有限公司 | 基于区块链的匿名转账方法、系统及存储介质 |
CN108764872A (zh) * | 2018-06-01 | 2018-11-06 | 杭州复杂美科技有限公司 | 一种授权支付方法及系统、设备和存储介质 |
CN109325746A (zh) * | 2018-08-29 | 2019-02-12 | 华中科技大学 | 一种基于存储的区块链激励方法、区块链网络及存储网络 |
CN110245472A (zh) * | 2019-01-16 | 2019-09-17 | 腾讯科技(深圳)有限公司 | 身份认证方法、个人安全内核节点、和介质 |
CN109547219A (zh) * | 2019-01-18 | 2019-03-29 | 杭州秘猿科技有限公司 | 信息采集并提交到区块链网络的方法与装置 |
CN110191153A (zh) * | 2019-04-24 | 2019-08-30 | 成都派沃特科技股份有限公司 | 基于区块链的社交通信方法 |
CN110163604A (zh) * | 2019-04-29 | 2019-08-23 | 华中科技大学 | 一种基于多方验证的区块链资产转移方法 |
Non-Patent Citations (2)
Title |
---|
Y. Zhu等.A Proposal for Account Recovery in Decentralized Applications.《2019 IEEE International Conference on Blockchain (Blockchain)》.2019,全文. * |
孟嘉霖 ; 马兆丰 ; 王自亮 ; 王真 ; 高宏民 ; .基于区块链的数字资产安全发行及管理技术实现.网络空间安全.2019,(第09期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111091380A (zh) | 2020-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11818269B2 (en) | Computer-implemented system and method providing a decentralised protocol for the recovery of cryptographic assets | |
Wei et al. | SecCloud: Bridging secure storage and computation in cloud | |
CN111046352B (zh) | 一种基于区块链的身份信息安全授权系统与方法 | |
CN111091380B (zh) | 一种基于好友隐蔽验证的区块链资产管理方法 | |
CN110958110A (zh) | 一种基于零知识证明的区块链隐私数据管理方法和系统 | |
US11838405B1 (en) | Blockchain delegation | |
KR102372718B1 (ko) | 발행인 익명성 인증서 시스템을 위한 분산화된 그룹 서명 방법 | |
CN110930153B (zh) | 基于隐藏第三方账号的区块链隐私数据管理方法和系统 | |
US20230308287A1 (en) | Threshold signatures | |
CN109104410B (zh) | 一种信息的匹配方法及装置 | |
TW202231018A (zh) | 識別阻斷服務攻擊之技術 | |
He et al. | A novel cryptocurrency wallet management scheme based on decentralized multi-constrained derangement | |
CN114866259A (zh) | 一种基于秘密分享的区块链受控可追溯身份隐私方法 | |
CN110912702B (zh) | 一种基于隐藏社交关系的区块链资产管理方法 | |
CN107104804A (zh) | 一种平台完整性验证方法和装置 | |
Cao et al. | Blockchain-based privacy-preserving vaccine passport system | |
CN112529573A (zh) | 一种组合式区块链门限签名方法及系统 | |
Eslami et al. | Provably Secure Group Key Exchange Protocol in the Presence of Dishonest Insiders. | |
CN111353780A (zh) | 授权验证方法、装置及存储介质 | |
CN106973067A (zh) | 一种平台环境完整性检测方法和装置 | |
Dai et al. | CRSA: a cryptocurrency recovery scheme based on hidden assistance relationships | |
Kim et al. | Provably-secure public auditing with deduplication | |
Zhang et al. | Attribute Based Conjunctive Keywords Search with Verifiability and Fair Payment Using Blockchain | |
US11856095B2 (en) | Apparatus and methods for validating user data by using cryptography | |
Bamboriya et al. | A Survey of Different Contract Signing Protocols |
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 |