首页 / 专利库 / 银行与财务事项 / 比特币地址 / 一种基于区块链的用户隐私匿名保护方法

一种基于链的用户隐私匿名保护方法

阅读:603发布:2020-05-23

专利汇可以提供一种基于链的用户隐私匿名保护方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于 区 块 链 的用户隐私匿名保护方法,包括用户、混淆服务提供商和公共日志三种 角 色,并将盲签名、多重 门 限签名、混网运用于 比特币 等类似的 电子 货币 之中,提高了对用户的隐私匿名保护能 力 ,进而提出了一种基于区块链的用户隐私匿名保护方法。本方法具有匿名性、可追责性、可扩展性、比特币兼容性、 防盗 窃性、抗DoS攻击性。,下面是一种基于链的用户隐私匿名保护方法专利的具体信息内容。

1.一种基于链的用户隐私匿名保护方法,其特征在于,包括用户、混淆服务提供商和公共日志三种色,其中本方法相关参数如下:
kin,用户的支付地址;
kout,用户所期望的交付地址,也就是混淆金额所转移的地址;
kesc,一个代管地址,对于每一个用户都是唯一的,由混淆服务提供商所提供;
kesc',混淆服务提供商支付给kout时的地址;
kAM,用户和混淆服务提供商使用私钥生成的2 of 2限签名地址;
kA,用户用来生成kAM的地址;
kM,混淆服务提供商用来生成kAM的地址;
kin',用户用来支付保证金和混淆费用的地址;
kM',混淆服务提供商用来接收混淆费用的地址;
A’,用户在公共日志中所使用的身份,其目的是为了隐藏真实身份;
Mpub,混淆服务提供商的公钥;
Mpriv,混淆服务提供商的私钥;
AC,用户的盲化函数;
AC',用户的去盲函数;
ω,混淆服务提供商用于确认用户的支付所需要的区块的数量;
z,保证金比率;
ν,需要实现混淆的金额;
ρ,混淆的费用比率;
[kout]AC,使用AC将kout进行盲化;
{[kout]AC}Mpriv,使用混淆服务提供商的私钥对盲化后的内容进行签名;
t1,用户通过kin'将保证金zν转到kAM的时限;
t2,混淆服务提供商用Mpriv将[kout]AC签名后发送到公共日志的时限;
t3,用户通过去盲化并发布到公共日志的时限;
t4,混淆服务提供商将ν从kesc'转到kout的时限;
t5,用户将ν从kin转到kesc的时限;
t6,用户构建交易交付混淆费用并取回kAM中余额的时限;
t7,混淆服务提供商对kAM签名退还用户的保证金余额的时限;
D,混淆参数元组(ν,t1,t2,t3,t4,t5,t6,t7,ω,z,ρ,kA);
具体保护方法的执行步骤如下:
S1,混淆服务提供商公开自己z,ν,ρ,ω的范围;
S2,用户根据z,ν,ρ,ω选中理想的混淆服务提供商后,将协议参数<D,[kout]AC>发送给混淆服务提供商;
S3,用户没有选中理想的混淆服务提供商,则终止,选中则转步骤S4;
S4,混淆服务提供商使用用户的kA和自己的kM去生成2of 2多重签名kAM,然后混淆服务提供商用自己的私钥来对(D,[kout]AC,kesc,kAM)签名,并发送给用户;
如果混淆服务提供商拒绝执行,用户删除kout,则终止;
如果混淆服务提供商执行,则转步骤S6;
S5,用户在t1时间内将保证金νz从kin'打到kAM;
S6,ω个区块之后,混淆服务提供商检查保证金是否转到kAM中,然后在t2时间之前,用自己的私钥给[kout]AC签名然后发布到公共日志上去;
如果混淆服务提供商拒绝执行协议,即不执行步骤S7,那么用户就可以公开证据,包括[kout]AC,kesc,kAM,Mpriv,t1时间的交易(νz,kin',kAM),第三方可以通过查看t2时间混淆服务提供商是否将[kout]AC发布到公共日志上来判断混淆服务提供商是否违约,终止;
如果用户在公共日志上查看到混淆服务提供商执行了步骤S6之后,在t3时间内用户使用AC'来对{[kout]AC}Mpriv进行去盲化,产生{kout}Mpriv信息,然后以A’的身份通过匿名网络发布到公共日志,混淆服务提供商查看公共日志得到kout信息,转步骤S7;
S7,混淆服务提供商获得A’发布在公共日志上的kout地址之后,在t4时间内,将ν从kesc转移到kout;
如果混淆服务提供商拒绝执行协议,即不执行步骤S7,那么用户就可以公开证据,包括[kout]AC,kesc,kAM,Mpriv,t1时间的交易(νz,kin',kAM),第三方可以通过查看t4时间混淆服务提供商是否将ν从kesc转移到kout来判断混淆服务提供商是否违约,终止;
如果混淆服务提供商执行协议,则转步骤S8;
S8,b个区块之后,用户检查ν是否转到kout中,然后在t5时间内,把ν从kin转移到kesc;
如果用户拒绝执行协议,即不执行步骤S8,用户损失(z-1)ν,混淆服务提供商损失ν,终止;
如果用户执行协议,则转步骤S9;
S9,用户构建交易将νρ从kAM转移到kM',将ν(z-ρ)转移到kin,并在t6时间之内将交易发给混淆服务提供商;
S10,混淆服务提供商在t7时间之内接受交易,将νρ从kAM转移到kM',将ν(z-ρ)转移到kin;
如果混淆服务提供商拒绝执行协议,即不执行步骤S10,那么用户就可以公开证据,即t6时间所创建的交易内容,第三方可以通过查看t7时间混淆服务提供商是否接受交易并对kAM进行签名来判断混淆服务提供商是否违约;
如果混淆服务提供商执行协议,用户和混淆服务提供商删除本地保存的记录,正常结束。
2.根据权利要求1所述的基于区块链的用户隐私匿名保护方法,其特征在于:所述步骤S5中用户采用比特币支付保证金。

说明书全文

一种基于链的用户隐私匿名保护方法

技术领域

[0001] 本发明涉及一种基于区块链的用户隐私匿名保护方法。

背景技术

[0002] 目前的用户隐私匿名保护方法对用户的私匿名保护能较差,而且一般不具备可追责性、可扩展性等。
[0003] 当前用户隐私以如下三点支持匿名性:1)地址的生成不经过实名认证;2)通过地址无法追溯到真实身份;3)一个用户可以创建多个账户且这些账户之间没有直接联系。
[0004] 当前的匿名性存在的问题有:1)交易所的实名认证,使得地址与用户相关联;2)交易公开,可以通过一个地址搜寻到关联者的一系列地址;3)通过对区块链的分析,交易的输入会暴露用户的其他地址;4)当前区块链协议未对通信数据进行加密,通过对网络报文的分析可以从交易信息中分析出IP地址与用户地址的关系。

发明内容

[0005] 为了解决上述问题,本发明的目的是提供一种基于区块链的用户隐私匿名保护方法。
[0006] 为解决上述技术问题,本发明采用如下技术方案:
[0007] 一种基于区块链的用户隐私匿名保护方法,包括用户、混淆服务提供商和公共日志三种色,其中本方法相关参数如下:
[0008] kin,用户的支付地址,可能会链接到真实身份;
[0009] kout,用户所期望的交付地址,也就是混淆金额所转移的地址;
[0010] kesc,一个代管地址,对于每一个用户都是唯一的,由混淆服务提供商所提供;
[0011] kesc',混淆服务提供商支付给kout时的地址;
[0012] kAM,用户和混淆服务提供商使用私钥生成的2 of 2限签名地址;
[0013] kA,用户用来生成kAM的地址;
[0014] kM,混淆服务提供商用来生成kAM的地址;
[0015] kin',用户用来支付保证金和混淆费用的地址;
[0016] kM',混淆服务提供商用来接收混淆费用的地址;
[0017] A’,用户在公共日志中所使用的身份,其目的是为了隐藏真实身份;
[0018] Mpub,混淆服务提供商的公钥;
[0019] Mpriv,混淆服务提供商的私钥;
[0020] AC,用户的盲化函数;
[0021] AC',用户的去盲函数;
[0022] ω,混淆服务提供商用于确认用户的支付所需要的区块的数量;
[0023] z,保证金比率;
[0024] ν,需要实现混淆的金额;
[0025] ρ,混淆的费用比率;
[0026] [kout]AC,使用AC将kout进行盲化;
[0027] {[kout]AC}Mpriv,使用混淆服务提供商的私钥对盲化后的内容进行签名;
[0028] t1,用户通过kin'将保证金zν转到kAM的时限;
[0029] t2,混淆服务提供商用Mpriv将[kout]AC签名后发送到公共日志的时限;
[0030] t3,用户通过去盲化并发布到公共日志的时限;
[0031] t4,混淆服务提供商将ν从kesc'转到kout的时限;
[0032] t5,用户将ν从kin转到kesc的时限;
[0033] t6,用户构建交易交付混淆费用并取回kAM中余额的时限;
[0034] t7,混淆服务提供商对kAM签名退还用户的保证金余额的时限;
[0035] D,混淆参数元组(ν,t1,t2,t3,t4,t5,t6,t7,ω,z,ρ,kA);
[0036] 具体保护方法的执行步骤如下:
[0037] S1,混淆服务提供商公开自己z,ν,ρ,ω的范围;
[0038] S2,用户根据z,ν,ρ,ω选中理想的混淆服务提供商后,将协议参数<D,[kout]AC>发送给混淆服务提供商;
[0039] S3,用户没有选中理想的混淆服务提供商,则终止,选中则转步骤S4;
[0040] S4,混淆服务提供商使用用户的kA和自己的kM去生成2of 2多重签名kAM,然后混淆服务提供商用自己的私钥来对(D,[kout]AC,kesc,kAM)签名,并发送给用户;
[0041] 如果混淆服务提供商拒绝执行,用户删除kout,则终止;
[0042] 如果混淆服务提供商执行,则转步骤S6;
[0043] S5,用户在t1时间内将保证金νz从kin'打到kAM;
[0044] S6,ω个区块之后,混淆服务提供商检查保证金是否转到kAM中,然后在t2时间之前,用自己的私钥给[kout]AC签名然后发布到公共日志上去;
[0045] 如果混淆服务提供商拒绝执行协议,即不执行步骤S7,那么用户就可以公开证据,包括[kout]AC,kesc,kAM,Mpriv,t1时间的交易(νz,kin',kAM),第三方可以通过查看t2时间混淆服务提供商是否将[kout]AC发布到公共日志上来判断混淆服务提供商是否违约,终止;
[0046] 如果用户在公共日志上查看到混淆服务提供商执行了步骤S6之后,在t3时间内用户使用AC'来对{[kout]AC}Mpriv进行去盲化,产生{kout}Mpriv信息,然后以A’的身份通过匿名网络发布到公共日志,混淆服务提供商查看公共日志得到kout信息,转步骤S7;
[0047] S7,混淆服务提供商获得A’发布在公共日志上的kout地址之后,在t4时间内,将ν从kesc转移到kout;
[0048] 如果混淆服务提供商拒绝执行协议,即不执行步骤S7,那么用户就可以公开证据,包括[kout]AC,kesc,kAM,Mpriv,t1时间的交易(νz,kin',kAM),第三方可以通过查看t4时间混淆服务提供商是否将ν从kesc转移到kout来判断混淆服务提供商是否违约,终止;
[0049] 如果混淆服务提供商执行协议,则转步骤S8;
[0050] S8,b个区块之后,用户检查ν是否转到kout中,然后在t5时间内,把ν从kin转移到kesc;
[0051] 如果用户拒绝执行协议,即不执行步骤S8,用户损失(z-1)ν,混淆服务提供商损失ν,终止;
[0052] 如果用户执行协议,则转步骤S9;
[0053] S9,用户构建交易将νρ从kAM转移到kM',将ν(z-ρ)转移到kin,并在t6时间之内将交易发给混淆服务提供商;
[0054] S10,混淆服务提供商在t7时间之内接受交易,将νρ从kAM转移到kM',将ν(z-ρ)转移到kin;
[0055] 如果混淆服务提供商拒绝执行协议,即不执行步骤S10,那么用户就可以公开证据,即t6时间所创建的交易内容,第三方可以通过查看t7时间混淆服务提供商是否接受交易并对kAM进行签名来判断混淆服务提供商是否违约;
[0056] 如果混淆服务提供商执行协议,用户和混淆服务提供商删除本地保存的记录,正常结束。
[0057] 进一步的,所述步骤S5中用户采用比特币支付保证金。
[0058] 与现有技术相比,本发明的有益技术效果:
[0059] 本方法具有匿名性,只有用户本身知道自己的输入地址和输出地址对,别人和混淆服务提供商只知道该用户使用了混淆,但不知道用户的新地址;
[0060] 本方法具有可追责性,在一方违反协议的情况下,正常执行方都可以拿出证据证明毁约方确实毁约了。
[0061] 本方法具有可扩展性,由于金额统一使得,混淆服务提供商可以处理大量用户的同时确保用户不会由于金额的差异而被追溯;
[0062] 本方法具有比特币兼容性,整个协议作为一种服务作用于比特币之上,所以是比特币兼容的,用户不需要做出任何的改变,只需交纳混淆费用即可享受相应的服务;
[0063] 本方法具有防盗窃性,能够阻止中介者偷钱;
[0064] 本方法具有抗DoS攻击性,保证金的存在,使得攻击者的攻击开销剧增,难以进行攻击,进而能够使本方法具有抗DoS攻击性。附图说明
[0065] 下面结合附图说明对本发明作进一步说明。
[0066] 图1为混淆服务提供商模型图;
[0067] 图2为本发明基于区块链的用户隐私匿名保护方法的流程图

具体实施方式

[0068] 如图1和2所示,一种基于区块链的用户隐私匿名保护方法,具体执行步骤如下:
[0069] 步骤1,假设用户Alice(以下简称A)想要使用混淆服务提供商(以下简称M)的混淆服务Mix Service;
[0070] 步骤2,M公布自己的要求,即保证金比率z的范围,混淆金额ν的范围,确认时间(生成区块个数)ω的范围,混淆费用的比率ρ的范围;
[0071] 步骤3,A向M提出服务申请,内容包括<D=(ν=10比特币,ω=6,z=1,ρ=0.01,t1=1小时,t2=2小时,t3=3小时,t4=4小时,t5=5小时,t6=6小时,t7=7小时,kA),[kout]AC>;
[0072] 如果M接受该申请,则生成地址kM,使用kA和kM生成2 of 2多重签名地址kAM,然后用自己的私钥Mpriv来对([kout]AC,kesc,kAM,D)进行签名并发布到公共日志;
[0073] 如果M不接受该申请,A删除kout地址,协议终止;
[0074] 如果M接受该申请,则转步骤3;
[0075] 步骤4,A应当在t1时间即1小时内将νz=10比特币保证金从kin'转到kAM;
[0076] 步骤5,在经过ω=6个区块时间之后,M检查交易序列,查看A是否将10比特币的保证金打到kAM。若已经到账,M在t2时间即2小时内用私钥Mpriv将[kout]AC签名,并将之发布到公共日志之中;
[0077] 如果M拒绝执行协议,A公开证据,即将M签名过的([kout]AC,kesc,kAM,D),发布到公共日志之中,协议终止;
[0078] 如果M执行协议转步骤6
[0079] 步骤6,A通过查看公共日志获知M已发布,A使用AC'来对([kout]AC,Mpriv)实施去盲化,为M提供kout信息,通过匿名网络以A’的身份将之发布到公共日志之中;
[0080] 步骤7,M通过查看公共日志获得kout地址,在t4时间即4小时内将10比特币从kesc转移到kout;
[0081] 如果M拒绝执行协议,A公开证据,即将M签名过的([kout]AC,kesc,kAM,D),发布到公共日志之中,协议终止;
[0082] 如果M执行协议,转步骤8
[0083] 步骤8,在b个区块时间之后,A确认M已经将10比特币转到kout之后,在t5时间即5小时内将10比特币从kin转移到kesc;
[0084] 如果A拒绝执行协议,M损失10比特币,A损失zν=10比特币,协议终止;
[0085] 如果A执行协议,转步骤9;
[0086] 步骤9,在t6时间即6小时内,A构建交易T,交纳混淆费用,将νρ=0.1比特币从kin'转移到kM',将保证金余额zν-ρν=9.9比特币从kAM转移到kin';
[0087] 如果M拒绝执行协议,A将公布证据,即将M签名过的([kout]AC,kesc,kAM,D),以及在步骤14构建的交易T发布到公共日志之中,A损失9.9比特币,协议终止;
[0088] 如果M执行协议,则转步骤10;
[0089] 步骤10,M接受A在步骤9构建的交易T,对kAM进行签名,获取混淆费用0.1比特币,将保证金余额9.9比特币退还给A;
[0090] 步骤11,双方交易结束,删除本地记录,协议正常结束,。
[0091] 以上所述的实施例仅是对本发明的优选方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案做出的各种变形和改进,均应落入本发明权利要求书确定的保护范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈