IPC分类号 : G06F21/64,G06Q20/06,G06Q20/38,H04L29/06,H04L9/06,H04L9/08
专利摘要
专利摘要
本发明提供了一种基于区块链的密码货币交易隐私保护方法及系统,所述方法包含如下步骤:形成混币组、创建混币器钱包、货币汇总、发送混币需求、接收混币需求、创建混币交易、混币交易签名、交易信息发送及混币信息验证。本方法可以用于保护区块链交易隐私信息,设计出的基于随机节点的混币方法,可以割裂交易双方之间的直接联系,消除交易信息之间的发送方和接收方的关联性,从而达到保护密码货币交易隐私的目的。
权利要求
1.一种基于区块链的密码货币交易隐私保护方法,其特征在于,包含如下步骤:
S1、形成混币组:区块链的混币节点P向全网节点广播混币请求MSG_REQUEST,同一时间段内广播混币请求MSG_REQUEST的m个混币节点P组成混币组PGROUP,全部混币节点P随机按顺序产生不重复的编号P
S2、创建混币器钱包:混币组PGROUP随机选取一个公开的大素数p和公开的本原元g∈Zp*,其中Zp*为p-1阶循环乘法群,每个混币节点P
S3、货币汇总:混币组PGROUP内各个节点P
S4、发送混币需求:混币节点P
S5、接收混币需求:混币节点P
S6、创建混币交易:当混币节点P
S7、混币交易签名:每个混币节点P
获得混币交易签名SIGN_FINAL=(r
S8、交易信息发送:混币组PGROUP中任一混币节点P
S9、混币信息验证:上链节点BP得到所述公钥pubkey、公开的大素数p、公开的本原元g、交易信息FINAL和签名SIGN_FINAL,计算出
S6中混币交易信息FINAL包括:混币交易信息输入地址FINAL_IP
2.根据权利要求1所述一种基于区块链的密码货币交易隐私保护方法,其特征在于,步骤S3中所述同一笔交易Co_Mes包括:该笔交易的混币输入地址Co_IP
3.根据权利要求1所述一种基于区块链的密码货币交易隐私保护方法,其特征在于,S4中所述混币需求M
4.根据权利要求1所述一种基于区块链的密码货币交易隐私保护方法,其特征在于,
S5中参与混币的剩余金额LAST_S
5.根据权利要求1所述一种基于区块链的密码货币交易隐私保护方法,其特征在于,
S5中接收信息R
6.根据权利要求1所述一种基于区块链的密码货币交易隐私保护方法,其特征在于,S5中未被满足的混币需求信息M
7.一种基于区块链的密码货币交易隐私保护系统,其特征在于,采用如权利要求1-6任意一项所述的基于区块链的密码货币交易隐私保护方法来进行密码货币交易隐私保护。
说明书
技术领域
本发明涉及的是一种区块链技术领域,特别涉及一种基于区块链的密码货币交易隐私保护方法及系统。
背景技术
对于基于账本的区块链密码货币(例如比特币),所有交易信息以公开账本的形式记录在每个参与节点。在公开账本中,每笔交易信息包含:上一笔交易哈希值、付款方签名、收款方钱包地址、该笔交易的哈希值等信息。恶意用户可以通过背景知识攻击、交易图谱分析攻击等手段将识别交易的接收方和发送方形成关联,一旦真实的账户信息被泄露,交易将失去匿名效果,数据隐私安全被破坏。如何有效保护区块链上交易隐私信息的安全性,是一个急需解决的技术问题。
发明内容
针对有效保护区块链上交易隐私信息的安全性的技术问题,本发明提供了一种基于区块链的密码货币交易隐私保护方法及系统,所述方法包含如下步骤:
S1、形成混币组:区块链的混币节点P向全网节点广播混币请求MSG_REQUEST,同一时间段内广播混币请求MSG_REQUEST的m个混币节点P组成混币组PGROUP,全部混币节点P随机按顺序产生不重复的编号Pi,其中1≤i≤m;
S2、创建混币器钱包:混币组PGROUP随机选取一个公开的大素数p和公开的本原元g∈Zp*,其中Zp*为p-1阶循环乘法群,每个混币节点Pi均随机选取一个整数xi作为混币器私钥碎片,混币节点P1计算出 并将y1发送给P2,P2计算出
并将y2发送给P3,以此类推,最终混币节点Pm计算出
混币组PGROUP将ym记为混币器完整公钥pubkey,混币组PGROUP根据混币器完整公钥pubkey通过哈希运算得 记为混币器钱包地址Address,其中,1≤i≤m,1≤xi≤p-2;
S3、货币汇总:混币组PGROUP内各个节点Pi将参与混币的货币生成同一笔交易Co_Mes并分别形成签名SIGNPi_Co_MES后,所述交易的输出地址为混币器公钥地址Address,其中1≤i≤m;
S4、发送混币需求:混币节点Pi任意选择所述混币组PGROUP中的任一混币节点Pj发送混币需求信息Mi,其中1≤i,j≤m且i≠j;
S5、接收混币需求:混币节点Pj接收混币节点Pi发送的混币需求信息Mi,若混币节点Pj参与混币的剩余金额LAST_Sj大于或等于混币需求信息Mi中的混币需求金额Mi_Si,则Pj接收该笔混币需求信息Mi并在PGROUP中广播接收信息Rj;若混币节点Pj参与混币的剩余金额LAST_Sj小于混币需求信息Mi中的混币需求金额Mi_Si,则Pj部分接收该笔混币需求信息Mi并在PGROUP中广播部分接收信息Rj,同时Pj将未被满足的混币需求信息Mi’按照步骤S4继续发送混币需求,此后Pj不再继续接取混币需求,其中,1≤i,j≤m且i≠j;
S6、创建混币交易:当混币节点Pi收到全部接收信息Rj后,验证是否存在接收信息,使得混币节点Pi发出的全部混币需求均被满足,且验证是否全部接收信息上的目标金额等于混币器钱包上全部金额,若均通过验证,则随机选择其中一个混币节点Pi根据全部接收信息R生成混币交易信息FINAL,并将FINAL在PGROUP中广播;若不能通过验证,返回步骤S4重新发送全部混币需求,其中,1≤i≤m;
S7、混币交易签名:每个混币节点Pi均随机选取一个秘密整数ki,ki均与p-1互质,混币节点P1计算出 和 并将r1、v1发送给P2,P2计算出 和 并将r2、v2发送给P3,以此类推,最终混币节点Pm计算出 和
混币组PGROUP将rm记为混币器签名1,混币节点P1计算出s1=(FINAL-vm)*k1
s2=s1*k2
获得混币交易签名SIGN_FINAL=(rm,d1,sm),其中,1≤i≤m,1≤ki≤p-2;
S8、交易信息发送:混币组PGROUP中任一混币节点Pi均可以将交易信息FINAL和混币交易签名SIGN_FINAL=(rm,d1,sm)发送给上链节点BP,其中,1≤i≤m;
S9、混币信息验证:上链节点BP得到所述公钥pubkey、公开的大素数p、公开的本原元g、交易信息FINAL和签名SIGN_FINAL,计算出 并判断ANS是否等于g
在本发明的一种基于区块链的密码货币交易隐私保护方法中,步骤S3中所述同一笔交易Co_Mes包括:该笔交易的混币输入地址Co_IPi,该笔交易的混币金额Co_Si,该笔交易的混币输出地址Co_OP,该笔交易的混币哈希值Hash_Co。
在本发明的一种基于区块链的密码货币交易隐私保护方法中,S4中所述混币需求Mi包括:混币需求目标输出地址Mi_OPi、混币需求目标需求金额Mi_Si,混币需求信息哈希值HASH_Mi;所述混币需求Mi中混币需求目标输出地址Mi_Opi满足:混币节点Pi拥有至少2个互异的输出地址。
在本发明的一种基于区块链的密码货币交易隐私保护方法中,S5中参与混币的剩余金额LAST_Sj包括:混币节点Pj参与混币的全部金额PRE_Si减去Pj广播的全部接收信息Rj中的准交易金额Rj_Sj。
在本发明的一种基于区块链的密码货币交易隐私保护方法中,S5中接收信息Rj包括:准输入地址Rj_IPj、准输出地址Rj_OPj、准交易金额Rj_Sj、接收信息哈希值HASH_Rj。
在本发明的一种基于区块链的密码货币交易隐私保护方法中,S5中未被满足的混币需求信息Mi’包括:未被满足的输出地址Mi’_OPi’,未被满足的混币金额Mi’_Si’,未被满足的混币需求信息哈希值HASH_Mi’。
在本发明的一种基于区块链的密码货币交易隐私保护方法中,S6中混币交易信息FINAL包括:混币交易信息输入地址FINAL_IPi,混币交易信息输出地址FINAL_OPi,混币交易信息交易金额FINAL_Si,混币交易信息哈希值HASH_FINAL。
优选的,本发明还提供了一种基于区块链的密码货币交易隐私保护系统,采用任意一项所述的基于区块链的密码货币交易隐私保护方法来进行密码货币交易隐私保护。
本方法提出了一种基于区块链的密码货币交易隐私保护方法及系统,用于保护区块链交易隐私信息,设计出基于随机节点的混币方法,可以割裂交易双方之间的直接联系,消除交易信息之间的发送方和接收方的关联性,从而达到保护密码货币交易隐私的目的。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明实施例的执行流程图。
具体实施方式
为了对发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。图1为本发明实施例的执行流程图,包含以下步骤:
(1)形成混币组:
在某一固定的时间段内,任意选取3个节点分别向全网节点广播混币请求(如:IWANT TO MIX SOME COIN),且该3个节点可以组成混币组PGROUP,3个节点随机生成按顺序生成编号P1、P2及P3。
(2)创建混币器钱包:
该混币组PGROUP随机挑选1个混币节点,混币组PGROUP选取一个素数p和公开的本原元g∈Zp*(例如:随机挑选混币节点P1,选取p=19,g=3)。
每个混币节点Pi(i=1,2,3)随机选取一个整数xi作为混币器私钥碎片(例如:x1=5,x2=7,x3=11)。
混币节点P1计算出 并将y1发送给P2,P2计算出
并将y2发送给P3,以此类推,最终混币节点Pm计算出
混币组PGROUP将ym记为混币器完整公钥pubkey,混币组PGROUP根据混币器完整公钥pubkey通过哈希运算得 记为混币器钱包地址Address,在本发明实施例中,混币节点P1首先计算出y1=3
(3)货币汇总:
混币组PGROUP内各个节点Pi(i=1,2,3)均将自己参与混币的全部货币PRE_Si生成同一笔交易Co_Mes并签名(例如:输入地址Co_Mes_IP1为P1上一笔交易哈希值,输入金额Co_Mes_S1为P1上一笔交易得到的全部货币,输入地址Co_Mes_IP2为P2上一笔交易哈希值,输入金额Co_Mes_S2为P2上一笔交易得到的全部货币,输入地址Co_Mes_IP3为P3上一笔交易哈希值,输入金额Co_Mes_S3为P3上一笔交易得到的全部货币,输出地址Co_Mes_OP为混币器钱包地址Address,哈希值为hash(Co_Mes)),并分别生成对该笔交易的签名HASH_Co为
HashCo_Mes_IP1||Co_Mes_S1||Co_Mes_IP2||Co_Mes_S2||Co_Mes_IP3||Co_Mes_S3||Co_Mes_OP),该笔交易的输出地址为混币器公钥地址Address。
(4)发送混币需求:
混币节点Pi(i=1,2,3)各自生成混币需求Mi,并单独随机选择混币组PFROUP内的另一个混币节点Pj(i≠j)发送混币需求Mi。
下面以混币节点P1发送混币需求为例:
假设混币节点P1原计划使用5个币进行混币。
因此,混币节点P1创建混币需求M1(其中:混币需求目标输出地址M1_OP1为W1,混币需求目标需求金额M1_S1是5个币,信息哈希值M1_HASH1是hash(W1||5))。
混币节点P1随机选择PGROUP中的另一个混币节点P2发送混币需求M1。
(5)接收混币需求:
混币节点Pi(i=1,2,3)各自单独收到不同的混币需求Mj(i≠j),并在进行金额判断后发送不同的接收信息Rj和未被满足的混币需求信息Mi’。
下面以P2先后接收到P3发送的混币需求M3以及P1发送的混币需求M1为例:
假设混币节点P2原计划使用6个币进行混币。
假设混币节点P3原计划使用2个币进行混币。其中,混币请求M3为:混币需求目标输出地址M3_OP3为W3,混币需求目标需求金额M3_S3是2个币,信息哈希值HASH3是hash(W3||2)。
当P2收到M3后,因为P2参与混币的6个币大于M3中混币需求2个,所以P2选择接收该笔混币需求信息M3并且在PGROUP中广播接收信息R21(其中:准输入地址R21_IP21为Co_Mes_IP2,准输出地址R21_OP21为w3,准交易金额R21_S21为2个币,接收信息哈希值HASH_R21为hash(Co_Mes_IP2||w3||2))。
当P3收到M1后,因为P2已经广播过接收信息R21给出4个币,所以P2参与混币的剩余金额为LAST_S2=6-2=4个币。但是4个币小于M1中能够的混币需求信息M1中的混币需求5个,所以P2部分接收该笔混币需求信息M1并在PGROUP中广播部分接收信息R22(其中:准输入地址R21_IP22为Co_Mes_IP2,准输出地址R21_OP22为w1,准交易金额R21_S22为4个币,接收信息哈希值HASH_R22为hash(Co_Mes_IP2||w1||4))。
因为M1上还有1个币并没有被接收,所以P2为此创建未被满足的混币需求信息M2’(其中,未被满足的输出地址M2’_OP2’为w1,未被满足的混币金额M2’_S2’为1个币,未被满足的混币需求信息哈希值HASH_M2’为hash(w1||1))并随机选择另外一个节点发送该消息M2’。
(6)创建混币交易:
全部混币节点Pi(i=1,2,3)均可收到经广播后的全部信息。每个混币节点Pi均验证其自身发出的全部混币需求是否均已被满足,均验证是否全部的接收信息上的目标金额是否和混币器上的全部金额相等。
当每个混币节点Pi(i=1,2,3)均验证成功后,随机选择其中一个混币节点(例如:P3)根据全部的接收信息R生成混币交易信息FINAL(其中,混币交易信息输入地址FINAL_IP为Address,混币交易的输出地址FINAL_OPi为全部接收信息Ri中的全部准输出地址(例如:w1,w2,w3,w4,w5,w6,w7),混币交易信息哈希值HASH_FINAL为hash(Address||w1||w2||w3||w4||w5||w6||w7))。
(7)混币交易签名:
每个混币节点Pi均随机选取一个秘密整数ki,ki均与p-1互质,在本发明实施例中每个混币节点Pi(i=1,2,3)均随机选取一个秘密的整数ki,其中,ki与p-1=18互质(例如:k1=5,k2=7,k3=13)。则k1
混币节点P1计算出 和 并将r1、v1发送给P2,P2计算出 和 并将r2、v2发送给P3,以此类推,最终混币节点Pm计算出 和
混币组PGROUP将rm记为混币器签名1,混币节点P1计算出s1=(FINAL-vm)*k1
s2=s1*k2
获得混币交易签名SIGN_FINAL=(rm,d1,sm),其中,1≤i≤m,1≤ki≤p-2;
在本发明实施例中,混币节点P1计算出r1=3
混币节点P1计算出s1=(FINAL-10)*6mod18并发送给P2,P2计算出s2=(FINAL-10)*18mod18并发送给P3,P3计算出s3=(FINAL-10)*54mod18,则s3为混币器签名3。
混币节点P3计算出d3=3
最终,混币交易签名为(15,15,(FINAL-10)*54mod18)。
(8)交易信息发送:
混币组PGROUP中的任意一个混币节点Pi(i=1,2,3)均可以将交易信息FINAL和混币交易签名(15,15,(FINAL-10)*54mod18)发送给上链节点BP。
(9)混币信息验证:
上链节点BP收到交易信息FINAL和混币交易签名(15,15,(FINAL-10)*54mod18)后,根据公钥pubkey=2,p=19,g=3,计算出ANS=2
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
一种基于区块链的密码货币交易隐私保护方法及系统专利购买费用说明
Q:办理专利转让的流程及所需资料
A:专利权人变更需要办理著录项目变更手续,有代理机构的,变更手续应当由代理机构办理。
1:专利变更应当使用专利局统一制作的“著录项目变更申报书”提出。
2:按规定缴纳著录项目变更手续费。
3:同时提交相关证明文件原件。
4:专利权转移的,变更后的专利权人委托新专利代理机构的,应当提交变更后的全体专利申请人签字或者盖章的委托书。
Q:专利著录项目变更费用如何缴交
A:(1)直接到国家知识产权局受理大厅收费窗口缴纳,(2)通过代办处缴纳,(3)通过邮局或者银行汇款,更多缴纳方式
Q:专利转让变更,多久能出结果
A:著录项目变更请求书递交后,一般1-2个月左右就会收到通知,国家知识产权局会下达《转让手续合格通知书》。
动态评分
0.0