CN110912702B - 一种基于隐藏社交关系的区块链资产管理方法 - Google Patents
一种基于隐藏社交关系的区块链资产管理方法 Download PDFInfo
- Publication number
- CN110912702B CN110912702B CN201911020103.3A CN201911020103A CN110912702B CN 110912702 B CN110912702 B CN 110912702B CN 201911020103 A CN201911020103 A CN 201911020103A CN 110912702 B CN110912702 B CN 110912702B
- Authority
- CN
- China
- Prior art keywords
- friend
- user
- address
- blockchain network
- identity confirmation
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 44
- 238000011084 recovery Methods 0.000 claims abstract description 75
- 238000004364 calculation method Methods 0.000 claims abstract description 38
- 238000000034 method Methods 0.000 claims abstract description 38
- 238000012790 confirmation Methods 0.000 claims description 80
- 230000008569 process Effects 0.000 claims description 25
- 238000012546 transfer Methods 0.000 claims description 9
- 238000012795 verification Methods 0.000 claims description 6
- 238000012423 maintenance Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
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/3236—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 using cryptographic hash functions
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/52—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services
-
- 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/3218—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 using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
-
- 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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Business, Economics & Management (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Marketing (AREA)
- Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Primary Health Care (AREA)
- Tourism & Hospitality (AREA)
- Development Economics (AREA)
- General Health & Medical Sciences (AREA)
- Technology Law (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种基于隐藏社交关系的区块链资产管理方法,包括:用户从其社交关系中选择至少一个好友的地址构成好友地址列表,对该好友地址列表和恢复阈值进行哈希计算,并将哈希计算生成的摘要提交至区块链网络,并判断是否从区块链网络接收到交易号,如果接收到则用户生成彼此对应的一对新的公私钥对和用户地址,并向选择的好友发送该公钥、用户地址、以及协助恢复资产请求,接收到恢复资产请求的好友与用户确认该协助恢复资产请求是否是该用户本人发出。本发明能够解决现有基于第三方存储钱包的区块链资产管理方法中存在的一旦出现恶意管理员或者黑客攻击事件,则用户的私钥将难以恢复,区块链资产也将处于无法管理的状态的技术问题。
Description
技术领域
本发明属于区块链技术领域,更具体地,涉及一种基于隐藏社交关系的区块链资产管理方法。
背景技术
区块链(Blockchain)是一种分布式账本技术,由多个节点根据共识机制共同管理维护。由于区块链具有公开透明、去中心化、不可篡改等特点,区块链资产应运而生。
对于区块链资产而言,用户是使用唯一的公私钥对、并通过交易(Transaction)的方式对其进行管理操作,因此,区块链资产的安全性与私钥的安全性息息相关,一旦私钥丢失,用户将失去对区块链资产的管理权。
目前,区块链资产的管理方法主要有三种,即第三方存储钱包、个人存储钱包、以及多方维护钱包。
然而,上述区块链资产管理方法都存在一些不可忽略的缺陷:第三方存储钱包的安全性完全取决于第三方的可信程度,一旦出现恶意管理员或者黑客攻击事件,则用户的私钥将难以恢复,区块链资产也将处于无法管理的状态;个人存储钱包虽然是由个人负责保管,但在其存储介质出现故障时,会造成私钥无法读取,从而导致无法管理区块链资产;多方维护钱包是由多个私钥所有者共同管理,一旦其中一定数量的私钥所有者存在恶意,会带来多方合谋盗取区块链资产的风险。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于隐藏社交关系的区块链资产管理方法,其目的在于,解决现有基于第三方存储钱包的区块链资产管理方法中存在的一旦出现恶意管理员或者黑客攻击事件,则用户的私钥将难以恢复,区块链资产也将处于无法管理的状态的技术问题,以及基于个人存储钱包的区块链资产管理方法中存在的在其存储介质出现故障时,会造成私钥无法读取,从而导致无法管理区块链资产的技术问题,以及基于多方维护钱包的区块链资产管理方法中存在的一旦其中一定数量的私钥所有者存在恶意,会带来多方合谋盗取区块链资产的风险的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种基于隐藏社交关系的区块链资产管理方法,包括以下步骤:
(1)用户从其社交关系中选择至少一个好友的地址构成好友地址列表,对该好友地址列表和恢复阈值进行哈希计算,并将哈希计算生成的摘要提交至区块链网络,并判断是否从区块链网络接收到交易号(Transaction ID),如果接收到则表示摘要提交成功,并进入步骤(2),否则重复提交操作,直到从区块链网络接收到交易号为止;
(2)用户在丢失私钥之后,生成彼此对应的一对新的公私钥对和用户地址,并向步骤(1)中选择的好友发送该公钥、用户地址、以及协助恢复资产请求;
(3)接收到恢复资产请求的好友与用户确认该协助恢复资产请求是否是该用户本人发出,如果是则该好友向区块链网络提交身份确认凭证,区块链网络将该身份确认凭证加入到区块链网络预先设置好的另一个列表中,然后转入步骤(4),否则过程结束;
(4)用户在从区块链网络获取身份确认凭证之后,使用零知识证明来证明在区块链网络中存在提交了身份确认凭证的好友,并且该好友的地址位于步骤(1)选择的好友地址列表中,并且好友提交的身份确认凭证是区块链网络预先设置好的另一个列表中的其中一个元素,得到零知识证明结果,并将该零知识证明结果通过交易的方式提交给区块链网络;
(5)区块链网络中的节点验证用户提交的零知识证明结果是否正确,如果验证通过,则生成该交易的交易号,将该交易号返回给用户,并进入步骤(6),否则返回步骤(4);
(6)用户判断收到的身份确认凭证的数量是否大于等于恢复阈值,如果是,则进入步骤(7),否则返回步骤(4);
(7)用户使用零知识证明来证明其收到的身份确认凭证的数量大于等于恢复阈值,如果是,则将零知识证明结果提交给区块链网络,然后进入步骤(9),否则返回步骤(5);
(8)区块链网络中的节点验证步骤(7)中提交的零知识证明结果是否正确,如果正确,则对用户在区块链网络中的区块链资产进行转移操作,然后过程结束,否则流程结束。
优选地,步骤(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)中生成的摘要、步骤(5)中通过验证的交易号的集合所构成的公共输入而言,以及对于步骤(1)中的好友地址列表、以及恢复阈值所构成的秘密输入而言,这些输入能够使如下NP问题成立:
一、通过对步骤(1)中的好友地址列表所构成的树的根节点和恢复阈值进行哈希计算,能够得到步骤(1)中生成的摘要;
二、步骤(5)中通过验证的交易号的集合中元素的数量大于恢复阈值。
按照本发明的另一方面,提供了基于隐藏社交关系的区块链资产管理方法,包括以下步骤:
(1)用户从其社交关系中选择至少一个好友的地址构成好友地址列表,将该好友地址列表构造成树,对该树的根节点和恢复阈值进行哈希计算,并将哈希计算生成的摘要提交至区块链网络,并判断是否从区块链网络接收到交易号(Transaction ID),如果接收到则表示摘要提交成功,并进入步骤(2),否则重复提交操作,直到从区块链网络接收到交易号为止;
(2)用户在丢失私钥之后,生成彼此对应的一对新的公私钥对和用户地址,并向步骤(1)中选择的好友发送该公钥、用户地址、以及协助恢复资产请求;
(3)接收到协助恢复资产请求的好友判断该用户丢失私钥是否属实,如果属实则向区块链网络提交身份确认凭证,然后转入步骤(4),否则过程结束;
(4)区块链中的节点在收到身份确认凭证后,将其作为叶子节点添加至区块链网络预先建立的另一个树中,并向用户发送身份确认凭证;
(5)用户在获取到身份确认凭证之后,使用零知识证明来证明在区块链网络预先建立的另一个树中存在身份确认凭证,并且提交该身份确认凭证的好友的地址位于步骤(1)选择的好友地址列表中,得到零知识证明结果,并将该零知识证明结果提交给区块链网络;
(6)区块链网络中的节点验证用户提交的零知识证明结果是否正确,如果验证通过,返回交易号,并进入步骤(7),否则返回步骤(5);
(7)用户判断收到的身份确认凭证的数量是否大于等于恢复阈值,如果是,则进入步骤(8),否则返回步骤(5);
(8)用户使用零知识证明来证明其收到的身份确认凭证的数量大于等于恢复阈值,如果是,则将零知识证明结果提交给区块链网络,然后进入步骤(9),否则返回步骤(5);
(9)区块链网络中的节点验证步骤(8)中提交的零知识证明结果是否正确,如果正确,则对用户在区块链网络中的区块链资产进行转移操作,然后过程结束,否则流程结束;
优选地,步骤(1)还包括在将该好友地址列表构造成树之前,通过扩充全零地址的方式将好友地址列表中好友地址的数量增加M个,对扩充后的好友地址列表进行混淆操作,其中M的取值范围是1到29。
优选地,身份确认凭证中包括对步骤(2)中接收到的用户地址/公钥和该好友生成的随机数进行哈希计算后得到的哈希值,以及利用该公钥对该好友生成的随机数进行加密后得到的加密结果。
优选地,对于用户地址、公钥、区块链网络预先建立的另一个树的根节点、以及步骤(1)中生成的摘要所构成的公共输入而言,以及对于步骤(1)中的好友地址列表、恢复阈值、好友地址、该好友地址在步骤(1)中生成的树中的路径证明、步骤(3)中提交的身份确认凭证、好友在步骤(3)中使用的交易号/用户地址/公钥、好友在步骤(3)中提交的身份确认凭证在区块链网络预先建立的另一个树中的路径证明、构成身份确认凭证的随机数所组成的秘密输入而言,这些输入能够使如下NP问题成立:
一、步骤(1)中生成的摘要是由步骤(1)中选择的好友地址列表、恢复阈值哈希计算得到,且好友地址在步骤(1)生成的树中的路径证明能够证明该好友地址列表中包含协助恢复资产请求对应的好友地址;
二、该好友在步骤(3)中提交的身份确认凭证是由好友在步骤(3)对交易号/用户地址/公钥、以及步骤(3)中好友生成的随机数进行哈希计算得到;
三、好友在步骤(3)中提交的身份确认凭证在区块链网络预先建立的另一个树中的路径证明可以证明该好友在步骤(3)中提交的身份确认凭证是区块链网络预先建立的另一个树的一个叶子节点。
优选地,对于步骤(1)中生成的摘要、以及步骤(6)中通过验证的交易号的集合所组成的公共输入而言,以及对于步骤(1)中的好友地址列表、以及恢复阈值所组成的秘密输入而言,这些输入能够使如下NP问题成立:
一、通过对步骤(1)中的好友地址列表所构成的树的根节点和恢复阈值进行哈希计算,能够得到步骤(1)中生成的摘要;
二、步骤(6)中通过验证的交易号的集合中元素的数量大于恢复阈值。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
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)用户使用零知识证明来证明其收到的身份确认凭证的数量大于等于恢复阈值,如果是,则将零知识证明结果提交给区块链网络,然后进入步骤(9),否则返回步骤(5);
具体而言,对于公共输入(其包括步骤(1)中生成的摘要、步骤(5)中通过验证的交易号的集合)和秘密输入(包括步骤(1)中的好友地址列表、以及恢复阈值)而言,这些输入能够使如下NP问题成立:
一、通过对步骤(1)中的好友地址列表所构成的树的根节点和恢复阈值进行哈希计算,能够得到步骤(1)中生成的摘要。
二、步骤(5)中通过验证的交易号的集合中元素的数量大于恢复阈值。
(8)区块链网络中的节点验证步骤(7)中提交的零知识证明结果是否正确,如果正确,则对用户在区块链网络中的区块链资产进行转移操作,然后过程结束,否则流程结束;
可选的,本发明的方法还可以包括在步骤(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)用户使用零知识证明来证明其收到的身份确认凭证的数量大于等于恢复阈值,如果是,则将零知识证明结果提交给区块链网络,然后进入步骤(9),否则返回步骤(5);
具体而言,对于公共输入(其包括步骤(1)中生成的摘要、步骤(6)中通过验证的交易号的集合)和秘密输入(包括步骤(1)中的好友地址列表、以及恢复阈值)而言,这些输入能够使如下NP问题成立:
一、通过对步骤(1)中的好友地址列表所构成的树的根节点和恢复阈值进行哈希计算,能够得到步骤(1)中生成的摘要。
二、步骤(6)中通过验证的交易号的集合中元素的数量大于恢复阈值
(9)区块链网络中的节点验证步骤(8)中提交的零知识证明结果是否正确,如果正确,则对用户在区块链网络中的区块链资产进行转移操作,然后过程结束,否则流程结束;
可选的,本发明的方法还可以包括在步骤(9)中对用户在区块链网络中的区块链资产进行转移操作之前,区块链网络中的节点选择等待一段时延,判断是否有其他用户执行资产管理撤销操作,如果有则中断该资产管理撤销操作,过程结束,否则对用户在区块链网络中的区块链资产进行转移操作。
具体而言,本步骤中的时延可以由用户自由设定,优选是1天。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于隐藏社交关系的区块链资产管理方法,其特征在于,包括以下步骤:
(1)用户从其社交关系中选择至少一个好友的地址构成好友地址列表,对该好友地址列表和恢复阈值进行哈希计算,并将哈希计算生成的摘要提交至区块链网络,并判断是否从区块链网络接收到交易号,如果接收到则表示摘要提交成功,并进入步骤(2),否则重复提交操作,直到从区块链网络接收到交易号为止;其中恢复阈值是协助用户完成区块链资产管理操作的好友数量下限;
(2)用户在丢失私钥之后,生成彼此对应的一对新的公私钥对和用户地址,并向步骤(1)中选择的好友发送该公钥、用户地址、以及协助恢复资产请求;
(3)接收到恢复资产请求的好友与用户确认该协助恢复资产请求是否是该用户本人发出,如果是则该好友向区块链网络提交身份确认凭证,区块链网络将该身份确认凭证加入到区块链网络预先设置好的另一个列表中,然后转入步骤(4),否则过程结束;其中身份确认凭证中包括对步骤(2)中接收到的用户地址/公钥和该好友生成的随机数进行哈希计算后得到的哈希值,以及利用步骤(2)生成的新的公钥对该好友生成的随机数进行加密后得到的加密结果;
(4)用户在从区块链网络获取身份确认凭证之后,使用零知识证明来证明在区块链网络中存在提交了身份确认凭证的好友,并且该好友的地址位于步骤(1)选择的好友地址列表中,并且好友提交的身份确认凭证是区块链网络预先设置好的另一个列表中的其中一个元素,得到零知识证明结果,并将该零知识证明结果通过交易的方式提交给区块链网络;
(5)区块链网络中的节点验证用户提交的零知识证明结果是否正确,如果验证通过,则生成该交易的交易号,将该交易号返回给用户,并进入步骤(6),否则返回步骤(4);
(6)用户判断收到的身份确认凭证的数量是否大于等于恢复阈值,如果是,则进入步骤(7),否则返回步骤(4);
(7)用户使用零知识证明来证明其收到的身份确认凭证的数量大于等于恢复阈值,如果是,则将零知识证明结果提交给区块链网络,然后进入步骤(8),否则返回步骤(5);
(8)区块链网络中的节点验证步骤(7)中提交的零知识证明结果是否正确,如果正确,则对用户在区块链网络中的区块链资产进行转移操作,然后过程结束,否则流程结束。
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所述的区块链资产管理方法,其特征在于,对于步骤(1)中生成的摘要、步骤(5)中通过验证的交易号的集合所构成的公共输入而言,以及对于步骤(1)中的好友地址列表、以及恢复阈值所构成的秘密输入而言,这些输入能够使如下多项式复杂程度的非确定性NP问题成立:
一、通过对步骤(1)中的好友地址列表所构成的树的根节点和恢复阈值进行哈希计算,能够得到步骤(1)中生成的摘要;
二、步骤(5)中通过验证的交易号的集合中元素的数量大于恢复阈值。
6.一种基于隐藏社交关系的区块链资产管理方法,其特征在于,包括以下步骤:
(1)用户从其社交关系中选择至少一个好友的地址构成好友地址列表,将该好友地址列表构造成树,对该树的根节点和恢复阈值进行哈希计算,并将哈希计算生成的摘要提交至区块链网络,并判断是否从区块链网络接收到交易号,如果接收到则表示摘要提交成功,并进入步骤(2),否则重复提交操作,直到从区块链网络接收到交易号为止;其中恢复阈值是协助用户完成区块链资产管理操作的好友数量下限;
(2)用户在丢失私钥之后,生成彼此对应的一对新的公私钥对和用户地址,并向步骤(1)中选择的好友发送该公钥、用户地址、以及协助恢复资产请求;
(3)接收到协助恢复资产请求的好友判断该用户丢失私钥是否属实,如果属实则向区块链网络提交身份确认凭证,然后转入步骤(4),否则过程结束;其中身份确认凭证中包括对步骤(2)中接收到的用户地址/公钥和该好友生成的随机数进行哈希计算后得到的哈希值,以及利用步骤(2)生成的新的公钥对该好友生成的随机数进行加密后得到的加密结果;
(4)区块链中的节点在收到身份确认凭证后,将其作为叶子节点添加至区块链网络预先建立的另一个树中,并向用户发送身份确认凭证;
(5)用户在获取到身份确认凭证之后,使用零知识证明来证明在区块链网络预先建立的另一个树中存在身份确认凭证,并且提交该身份确认凭证的好友的地址位于步骤(1)选择的好友地址列表中,得到零知识证明结果,并将该零知识证明结果提交给区块链网络;
(6)区块链网络中的节点验证用户提交的零知识证明结果是否正确,如果验证通过,返回交易号,并进入步骤(7),否则返回步骤(5);
(7)用户判断收到的身份确认凭证的数量是否大于等于恢复阈值,如果是,则进入步骤(8),否则返回步骤(5);
(8)用户使用零知识证明来证明其收到的身份确认凭证的数量大于等于恢复阈值,如果是,则将零知识证明结果提交给区块链网络,然后进入步骤(9),否则返回步骤(5);
(9)区块链网络中的节点验证步骤(8)中提交的零知识证明结果是否正确,如果正确,则对用户在区块链网络中的区块链资产进行转移操作,然后过程结束,否则流程结束。
7.根据权利要求6所述的区块链资产管理方法,其特征在于,步骤(1)还包括在将该好友地址列表构造成树之前,通过扩充全零地址的方式将好友地址列表中好友地址的数量增加M个,对扩充后的好友地址列表进行混淆操作,其中M的取值范围是1到29。
8.根据权利要求6所述的区块链资产管理方法,其特征在于,对于用户地址、公钥、区块链网络预先建立的另一个树的根节点、以及步骤(1)中生成的摘要所构成的公共输入而言,以及对于步骤(1)中的好友地址列表、恢复阈值、好友地址、该好友地址在步骤(1)中生成的树中的路径证明、步骤(3)中提交的身份确认凭证、好友在步骤(3)中使用的交易号/用户地址/公钥、好友在步骤(3)中提交的身份确认凭证在区块链网络预先建立的另一个树中的路径证明、构成身份确认凭证的随机数所组成的秘密输入而言,这些输入能够使如下多项式复杂程度的非确定性NP问题成立:
一、步骤(1)中生成的摘要是由步骤(1)中选择的好友地址列表、恢复阈值哈希计算得到,且好友地址在步骤(1)生成的树中的路径证明能够证明该好友地址列表中包含协助恢复资产请求对应的好友地址;
二、该好友在步骤(3)中提交的身份确认凭证是由好友在步骤(3)对交易号/用户地址/公钥、以及步骤(3)中好友生成的随机数进行哈希计算得到;
三、好友在步骤(3)中提交的身份确认凭证在区块链网络预先建立的另一个树中的路径证明可以证明该好友在步骤(3)中提交的身份确认凭证是区块链网络预先建立的另一个树的一个叶子节点。
9.根据权利要求6所述的区块链资产管理方法,其特征在于,对于步骤(1)中生成的摘要、以及步骤(6)中通过验证的交易号的集合所组成的公共输入而言,以及对于步骤(1)中的好友地址列表、以及恢复阈值所组成的秘密输入而言,这些输入能够使如下多项式复杂程度的非确定性NP问题成立:
一、通过对步骤(1)中的好友地址列表所构成的树的根节点和恢复阈值进行哈希计算,能够得到步骤(1)中生成的摘要;
二、步骤(6)中通过验证的交易号的集合中元素的数量大于恢复阈值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911020103.3A CN110912702B (zh) | 2019-10-25 | 2019-10-25 | 一种基于隐藏社交关系的区块链资产管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911020103.3A CN110912702B (zh) | 2019-10-25 | 2019-10-25 | 一种基于隐藏社交关系的区块链资产管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110912702A CN110912702A (zh) | 2020-03-24 |
CN110912702B true CN110912702B (zh) | 2022-05-10 |
Family
ID=69815734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911020103.3A Active CN110912702B (zh) | 2019-10-25 | 2019-10-25 | 一种基于隐藏社交关系的区块链资产管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110912702B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112054907B (zh) * | 2020-08-25 | 2021-10-22 | 武汉大学 | 一种私钥遗忘时的区块链通证找回方法及系统 |
CN112463454B (zh) * | 2020-12-04 | 2021-11-05 | 北京深思数盾科技股份有限公司 | 数据恢复方法、服务器、终端设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106790253A (zh) * | 2017-01-25 | 2017-05-31 | 中钞信用卡产业发展有限公司北京智能卡技术研究院 | 基于区块链的认证方法和装置 |
CN107609876A (zh) * | 2017-08-18 | 2018-01-19 | 北京云知科技有限公司 | 一种恢复区块链资产的方法和系统 |
CN108418680A (zh) * | 2017-09-05 | 2018-08-17 | 矩阵元技术(深圳)有限公司 | 一种基于多方安全计算技术的区块链密钥恢复方法、介质 |
CN108764907A (zh) * | 2018-05-30 | 2018-11-06 | 招商银行股份有限公司 | 资产找回方法、系统及计算机可读存储介质 |
CN109246208A (zh) * | 2018-08-29 | 2019-01-18 | 杭州秘猿科技有限公司 | 一种去中心化应用账户恢复方法、装置及系统 |
CN109670801A (zh) * | 2018-12-10 | 2019-04-23 | 华中科技大学 | 一种针对区块链的数字加密货币转移方法 |
CN110070363A (zh) * | 2019-03-13 | 2019-07-30 | 咪咕文化科技有限公司 | 区块链网络中的账户管理方法、验证方法及终端设备 |
CN110163604A (zh) * | 2019-04-29 | 2019-08-23 | 华中科技大学 | 一种基于多方验证的区块链资产转移方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12045811B2 (en) * | 2017-07-31 | 2024-07-23 | Chronicled Inc. | Secure and confidential custodial transaction system, method and device using zero-knowledge protocol |
US10949511B2 (en) * | 2017-11-30 | 2021-03-16 | Bank Of America Corporation | Multicomputer processing for data authentication using a blockchain approach |
US10439812B2 (en) * | 2018-02-02 | 2019-10-08 | SquareLink, Inc. | Technologies for private key recovery in distributed ledger systems |
-
2019
- 2019-10-25 CN CN201911020103.3A patent/CN110912702B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106790253A (zh) * | 2017-01-25 | 2017-05-31 | 中钞信用卡产业发展有限公司北京智能卡技术研究院 | 基于区块链的认证方法和装置 |
CN107609876A (zh) * | 2017-08-18 | 2018-01-19 | 北京云知科技有限公司 | 一种恢复区块链资产的方法和系统 |
CN108418680A (zh) * | 2017-09-05 | 2018-08-17 | 矩阵元技术(深圳)有限公司 | 一种基于多方安全计算技术的区块链密钥恢复方法、介质 |
CN108764907A (zh) * | 2018-05-30 | 2018-11-06 | 招商银行股份有限公司 | 资产找回方法、系统及计算机可读存储介质 |
CN109246208A (zh) * | 2018-08-29 | 2019-01-18 | 杭州秘猿科技有限公司 | 一种去中心化应用账户恢复方法、装置及系统 |
CN109670801A (zh) * | 2018-12-10 | 2019-04-23 | 华中科技大学 | 一种针对区块链的数字加密货币转移方法 |
CN110070363A (zh) * | 2019-03-13 | 2019-07-30 | 咪咕文化科技有限公司 | 区块链网络中的账户管理方法、验证方法及终端设备 |
CN110163604A (zh) * | 2019-04-29 | 2019-08-23 | 华中科技大学 | 一种基于多方验证的区块链资产转移方法 |
Non-Patent Citations (2)
Title |
---|
"A Key Protection Scheme Based on Secret Sharing for Blockchain-Based Construction Supply Chain System";Feng Xiong;《IEEE Access ( Volume: 7)》;20190827;全文 * |
基于区块链的数字资产安全发行及管理技术实现;孟嘉霖等;《网络空间安全》;20190925(第09期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110912702A (zh) | 2020-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Khan et al. | LAKAF: Lightweight authentication and key agreement framework for smart grid network | |
CN108418680B (zh) | 一种基于安全多方计算技术的区块链密钥恢复方法、介质 | |
US20200219097A1 (en) | Random number generation in a blockchain | |
Wei et al. | SecCloud: Bridging secure storage and computation in cloud | |
Frikken et al. | Robust authentication using physically unclonable functions | |
CN103095453B (zh) | 应用私有集合交集的公钥加密的布隆过滤器 | |
AU2017260013A1 (en) | Distributed transaction propagation and verification system | |
CN111091380B (zh) | 一种基于好友隐蔽验证的区块链资产管理方法 | |
US11838405B1 (en) | Blockchain delegation | |
CN109104410B (zh) | 一种信息的匹配方法及装置 | |
Zhou et al. | A lightweight cryptographic protocol with certificateless signature for the Internet of Things | |
CN114866259B (zh) | 一种基于秘密分享的区块链受控可追溯身份隐私方法 | |
CN115270145A (zh) | 一种基于联盟链和联邦学习的用户窃电行为检测方法及系统 | |
CN110912702B (zh) | 一种基于隐藏社交关系的区块链资产管理方法 | |
US11856095B2 (en) | Apparatus and methods for validating user data by using cryptography | |
CN112529573A (zh) | 一种组合式区块链门限签名方法及系统 | |
Wang et al. | Information privacy protection based on verifiable (t, n)-Threshold multi-secret sharing scheme | |
Cao et al. | Blockchain‐Based Privacy‐Preserving Vaccine Passport System | |
CN113362065A (zh) | 一种基于分散式私钥的在线签名交易实现方法 | |
Li et al. | A new revocable reputation evaluation system based on blockchain | |
Boontaetae et al. | RDI: Real digital identity based on decentralized PKI | |
Hu et al. | Strong designated verifier signature schemes with undeniable property and their applications | |
Wang et al. | A novel blockchain identity authentication scheme implemented in fog computing | |
Zhu et al. | A proposal for account recovery in decentralized applications | |
Dai et al. | CRSA: a cryptocurrency recovery scheme based on hidden assistance relationships |
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 |