CN112632602A - 区块链混币方法、装置、终端及存储介质 - Google Patents
区块链混币方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN112632602A CN112632602A CN202011503073.4A CN202011503073A CN112632602A CN 112632602 A CN112632602 A CN 112632602A CN 202011503073 A CN202011503073 A CN 202011503073A CN 112632602 A CN112632602 A CN 112632602A
- Authority
- CN
- China
- Prior art keywords
- users
- user
- response
- new
- matching
- 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.)
- Pending
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/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- 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/3825—Use of electronic signatures
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种区块链混币方法、装置、终端及存储介质,其方法包括:获取混币用户中的多个响应用户;创建属于每个响应用户的新比特币地址;将响应用户的新比特币地址逐个***至预先建立好的向量中,在每***一个新比特币地址时,随机打乱向量中所有元素的排列顺序,直至最后一个响应用户***完成后,得到响应用户的新比特币地址集合;获取所有响应用户的原始比特币地址集合,根据原始比特币地址集合与新比特币地址集合的映射关系,由响应用户发起比特币交易,在生成交易签名后,提交交易签名至广告用户,并在所有响应用户确认无误后,由广告用户提交交易签名至矿工。通过上述方式,本申请能够有效保护区块链交易的隐私信息。
Description
技术领域
本申请涉及区块链技术领域,特别是涉及一种区块链混币方法、装置、终端及存储介质。
背景技术
随着比特币等密码货币的出现和发展,区块链技术慢慢地被人们所熟知,越来越多的专家学者开始研究探索区块链相关技术及应用。区块链技术是由数据库技术和多种密码学技术结合而产生的,包括椭圆曲线加密、非对称密钥加密机制、哈希散列算法、共识算法等。区块链可以看作是是一种分布式的共享账本(Distributed Shared Ledger),交易信息的记录和存储由区块链网络中的所有节点共同完成。也就是说,区块链网络中的任何节点都可以将交易信息记录在交易块并在通过验证后写入区块链,而不是由一个完全中心化的第三方机构来完成交易信息的确认和记录;区块链网络中的任何节点都可以存储自创世区块后的所有交易信息,而不是由一个完全中心化的第三方集中存储。区块链的交易数据按照时间顺序保存,邻近的交易块通过密码学技术相互联系在一起,保证了形成的区块链是可信的和不可篡改的。
区块链从根本上解决了转账支付交易中依赖第三方的问题,使用了经理论和实践证明安全的现代密码术。具有较高的安全性,还能在一定程度上对用户交易的身份进行保护隐私。分布式的账本降低了传统数据库存储资产交易信息的压力,多节点联合维护保证了区块链***的稳定性。
但是,对于基于账本的区块链密码货币(例如比特币),所有交易信息以公开账本的形式记录在每个参与节点。在公开账本中,每笔交易信息包含:上一笔交易哈希值、付款方签名、收款方钱包地址、该笔交易的哈希值等信息。恶意用户可以通过背景知识攻击、交易图谱分析攻击等手段将识别交易的接收方和发送方形成关联,一旦真实的账户信息被泄露,交易将失去匿名效果,数据隐私安全被破坏。如何有效保护区块链上交易隐私信息的安全性,是一个急需解决的技术问题。
发明内容
本申请提供一种区块链混币方法、装置、终端及存储介质,以解决如何保护区块链上交易隐私信息的安全性。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种区块链混币方法,包括:获取混币用户中的多个响应用户,混币用户包括响应用户和广告用户;创建属于每个响应用户的新比特币地址;将响应用户的新比特币地址逐个***至预先建立好的向量中,并在每***一个新比特币地址时,随机打乱向量中所有元素的排列顺序,直至最后一个响应用户***完成之后,得到响应用户的新比特币地址集合;获取所有响应用户的原始比特币地址集合,根据原始比特币地址集合与新比特币地址集合的映射关系,由响应用户发起比特币交易,在生成交易签名后,提交交易签名至广告用户,并在所有响应用户确认无误后,由广告用户提交交易签名至矿工。
作为本申请的进一步改进,获取混币用户中的多个响应用户之前,还包括:获取发起混币请求的用户,得到多个混币用户;从混币用户中随机选取用户作为响应用户或广告用户;实现响应用户和广告用户之间的匹配,并在匹配成功之后,向全网公开匹配成功的消息。
作为本申请的进一步改进,实现响应用户和广告用户之间的匹配,并在匹配成功之后,向全网公开匹配成功的消息,包括:由广告用户向矿工支付一半费用后,向全网广播混币信息;由响应用户从所有发布混币信息的广告用户中选取目标广告用户,并发起匹配请求;目标广告用户查询发起匹配的所有响应用户,并选择一个目标响应用户进行匹配;目标响应用户向矿工支付费用后,向全网公开匹配信息;目标广告用户向矿工支付另一半费用后,向全网公开匹配成功的信息;重复执行广告用户与响应用户匹配的步骤直至广告用户与发起匹配的所有响应用户匹配完成为止。
作为本申请的进一步改进,目标响应用户想矿工支付费用后,向全网公开匹配信息之后,还包括:判断目标响应用户是否出现过违规行为;若是,则停止匹配目标广告用户与目标响应用户,且目标广告用户重新选取新的响应用户进行匹配;目标广告用户向矿工支付另一半费用后,向全网公开匹配成功的信息之前,还包括:判断目标广告用户是否出现过违规行为;若是,则停止匹配目标广告用户与目标响应用户,且目标响应用户重新选取新的广告用户进行匹配。
作为本申请的进一步改进,获取混币用户中的多个响应用户之后,还包括:响应用户互相查看其他响应用户的原始比特币地址的金额;取消响应用户中金额小于预设阈值的响应用户的混币资格。
作为本申请的进一步改进,将响应用户的新比特币地址逐个***至预先建立好的向量中,并在每***一个新比特币地址时,随机打乱向量中所有元素的排列顺序,直至最后一个响应用户***完成之后,得到响应用户的新比特币地址集合,包括:随机对响应用户进行编号,并预先创建初始值为零的n维向量C;按照响应用户的编号,依次对响应用户自身的新比特币地址进行加密,并将加密信息随机***至向量C中,再对向量C进行签名后,将签名信息发送给下一个响应用户,依此循环直至最后一个响应用户;最后一个响应用户利用自身私钥解密向量C,得到所有响应用户的新比特币地址集合,并向所有响应用户广播新比特币地址集合。
作为本申请的进一步改进,向所有响应用户广播新比特币地址集合之后,还包括:当存在当前响应用户自身的新比特币地址不处于新比特币地址集合时,控制当前响应用户退出混币过程。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种区块链混币装置,包括:获取模块,用于获取混币用户中的多个响应用户,混币用户包括响应用户和广告用户;创建模块,用于创建属于每个响应用户的新比特币地址;地址混合模块,用于将响应用户的新比特币地址逐个***至预先建立好的向量中,并在每***一个新比特币地址时,随机打乱向量中所有元素的排列顺序,直至最后一个响应用户***完成之后,得到响应用户的新比特币地址集合;混币模块,用于获取所有响应用户的原始比特币地址集合,根据原始比特币地址集合与新比特币地址集合的映射关系,由响应用户发起比特币交易,在生成交易签名后,提交交易签名至广告用户,并在所有响应用户确认无误后,由广告用户提交交易签名至矿工。
为解决上述技术问题,本申请采用的再一个技术方案是:提供一种终端,终端包括处理器、与处理器耦接的存储器,存储器中存储有程序指令,程序指令被处理器执行时,使得处理器执行上述中任一项的区块链混币方法的步骤。
为解决上述技术问题,本申请采用的再一个技术方案是:提供一种存储介质,存储有能够实现上述中任一项的区块链混币方法的程序文件。
本申请的有益效果是:本申请的区块链混币方法通过对与请求进行混币的多个混币用户,将混币用户分为响应用户和广告用户,创建属于响应用户的新比特币地址,再对所有响应用户的新比特币地址进行混合,得到新比特币地址集合,再建立新比特币地址集合和响应用户的原始比特币地址集合的映射关系,根据该映射关系完成响应用户之间的交易,从而完成对所有响应用户的混币,在混币过程中,混币参与方不能明确知道其他混币用户的隐私信息,只知道其他用户的地址在某一集合内,从而实现了对混币用户的隐私保护。并且,相比于传统的混币方法,本申请只需要一次混币即可达到混币效果,减少了混币所需次数和混币时间,提高了效率。
附图说明
图1是本申请第一实施例的区块链混币方法的流程示意图;
图2是本申请第二实施例的区块链混币方法的流程示意图;
图3是本申请第三实施例的区块链混币方法的流程示意图;
图4是本申请实施例的区块链混币装置的功能模块示意图;
图5是本申请实施例的终端的结构示意图;
图6是本申请实施例的存储介质的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请中的术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括至少一个该特征。本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。本申请实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
图1是本申请第一实施例的区块链混币方法的流程示意图。需注意的是,若有实质上相同的结果,本申请的方法并不以图1所示的流程顺序为限。如图1所示,该方法包括步骤:
步骤S101:获取混币用户中的多个响应用户,混币用户包括响应用户和广告用户。
步骤S102:创建属于每个响应用户的新比特币地址。
在步骤S102中,为每个响应用户选取一对新的签名验证钥匙对(vk′i,sk′i),其中,验证密钥vk′i为第i个响应用户的新比特币地址,签名密钥sk′i用于第i个响应用户对交易进行签名,并且响应用户需要保证签名密钥sk′i不被泄露,其中,i是指响应用户,1≤i≤n。
步骤S103:将响应用户的新比特币地址逐个***至预先建立好的向量中,并在每***一个新比特币地址时,随机打乱向量中所有元素的排列顺序,直至最后一个响应用户***完成之后,得到响应用户的新比特币地址集合。
在步骤S103中,该预先建立好的向量为一个初始值为零的n维向量,即该n维向量初始时每个元素均为零,然后逐个将响应用户的新比特币地址***至预先建立好的向量中,即使用响应用户的新比特币地址替换n维向量中值为零的元素,并且,每替换向量中的一个元素,将向量中所有元素的排列顺序随机打乱一次,直至最后一个响应用户***完成,即n维向量中每个元素均被替换为止,得到响应用户的新比特币地址集合。
具体的,该步骤S103包括:
1、随机对响应用户进行编号,并预先创建初始值为零的n维向量C。
具体地,在获取到响应用户之后,为响应用户编号为1,2,3,···,n,并且创建初始值为零的n维向量C,向量C包含n个元素,每个元素对应一个响应用户。
2、按照响应用户的编号,依次对响应用户自身的新比特币地址进行加密,并将加密信息随机***至向量C中,再对向量C进行签名后,将签名信息发送给下一个响应用户,依此循环直至最后一个响应用户。
3、最后一个响应用户利用自身私钥解密向量C,得到所有响应用户的新比特币地址集合,并向所有响应用户广播新比特币地址集合。
本实施例中,首先,为每一个响应用户选择一对新的加解密密钥对(eki,dki),其中,eki是第i个响应用户的公钥,dki是第i个响应用户的私钥,并且每个响应用户均向其他响应用户发送自身的签名σi=Sig(ski,eki),ski是第i个响应用户的签名密钥。
然后,对第一个响应用户的新比特币地址创建一个加密c1=enc((ek2,…,ekn),vk′1),并对其进行签名σ′1=Sig(sk1,C1),再将该签名σ′1发送个第二个响应用户,其中,eki从每个响应用户发送的签名σi解密获取,vk′1是第一个响应用户的新比特币地址,C1是将c1随机***至向量C中形成,在将c1***至向量C时,利用c1随机替换向量C中的一个值为零的元素。
第二个响应用户接收到第一个响应用户发送的签名σ′1之后,利用自身的私钥dk2对向量C1中所有的非零元素进行解密,即对向量C1中的c1进行解密,再对向量C1中的所有元素的排列顺序进行随机打乱,然后,对第二响应用户的新比特币地址创建加密c2=enc((ek3,…,ekn),vk′2),再将c2***至打乱排列顺序的向量C1中,即利用c2替换掉向量C1中的一个值为零的元素,生成该第二个响应用户的签名σ′2=Sig(sk2,C2),再将签名σ′2发送至第三个响应用户。
循环执行上述过程,即第i个响应用户收到第i-1个用户发送的签名σ′i-1=Sig(ski-1,Ci-1)后,用自己的私钥dki对向量Ci-1中所有的非零元素进行解密,并将向量中的元素进行随机打乱,对自身新比特币地址创建加密ci=enc((eki+1,…,ekn),vk′i),再将ci***至向量Ci-1中,代替向量Ci-1中的零元素生成新的Ci,并对其签名σ′i=Sig(ski,Ci)并发送给第i+1个响应用户。
当最后一个响应用户接收到前一个响应用户发送的签名σ′n-1之后,利用自身的私钥dkn解密向量Cn-1中所有的新比特币地址,再将自身的新比特币地址***至向量C′n-1中,生成最后一个响应用户的签名σ′n=Sig(skn,Cn),然后,将签名σ′n向所有响应用户广播,其他响应用户接收到签名σ′n之后进行解密,从而得到新比特币地址集合。
进一步的,向所有响应用户广播新比特币地址集合之后,还包括:
当存在当前响应用户自身的新比特币地址不处于新比特币地址集合时,控制当前响应用户退出混币过程。
具体地,当所有响应用户获取到新比特币地址集合之后,响应用户查询该新比特币地址集合,并确认新比特币地址集合中是否存在自身对应的新比特币地址,若不存在,则说明该响应用户可能存在违规操作,则将该响应用户去除,并从而有效地解决了拒绝服务供给的问题。
步骤S104:获取所有响应用户的原始比特币地址集合,根据原始比特币地址集合与新比特币地址集合的映射关系,由响应用户发起比特币交易,在生成交易签名后,提交交易签名至广告用户,并在所有响应用户确认无误后,由广告用户提交交易签名至矿工。
在步骤S104中,获取响应用户的原始比特币地址集合(vk1,…,vkn),vki是第i个响应用户的原始比特币地址,根据原始比特币地址集合(vk1,…,vkn)与新比特币地址集合(vk′1,…,vk′n)的映射关系,响应用户发起比特币交易,生成交易签名后发送至广告用户,在所有响应用户均检查无误的情况下,广告用户将该比特币交易提交给矿工,完成整个混币过程,并且,交易需要在所有的响应用户确认无误之后,由广告用户提交给矿工,矿工才认为该笔交易是有效的,才会将其打包进区块链,整个交易过程不存在交易时间不同步的问题,有效的避免了时间攻击。
此外,通过上述方式,响应用户的新比特币地址与原始比特币地址之间的映射关系未暴露给其他用户,从而降低了受推理共计的风险。
本申请第一实施例的区块链混币方法通过对与请求进行混币的多个混币用户,将混币用户分为响应用户和广告用户,创建属于响应用户的新比特币地址,再对所有响应用户的新比特币地址进行混合,得到新比特币地址集合,再建立新比特币地址集合和响应用户的原始比特币地址集合的映射关系,根据该映射关系完成响应用户之间的交易,从而完成对所有响应用户的混币,在混币过程中,混币参与方不能明确知道其他混币用户的隐私信息,只知道其他用户的地址在某一集合内,从而实现了对混币用户的隐私保护。并且,相比于传统的混币方法,本申请只需要一次混币即可达到混币效果,减少了混币所需次数和混币时间,提高了效率,并且涉及到多方混币而不是两方混币,进一步增加了混币过程的复杂程度,使得隐私泄露的风险更低。
图2是本申请第二实施例的区块链混币方法的流程示意图。需注意的是,若有实质上相同的结果,本申请的方法并不以图2所示的流程顺序为限。如图2所示,该方法包括步骤:
步骤S201:获取发起混币请求的用户,得到多个混币用户。
步骤S202:从混币用户中随机选取用户作为响应用户或广告用户。
在步骤S202中,从所有混币用户中随机选取用户作为响应用户或广告用户,并且,广告用户和响应用户可以随机交替,以阻止推理攻击。
步骤S203:实现响应用户和广告用户之间的匹配,并在匹配成功之后,向全网公开匹配成功的消息。
具体地,该步骤S203具体包括:
1、由广告用户向矿工支付一半费用后,向全网广播混币信息。
具体地,在确认广告用户和响应用户之后,广告用户向矿工支付一半费用后,向所有响应用户广播混币信息,从而告知所有的响应用户可以进行混币操作。
2、由响应用户从所有发布混币信息的广告用户中选取目标广告用户,并发起匹配请求。
具体地,响应用户可能会同时接收多个广告用户发布的混币信息,响应用户可以从中选取一个广告用户作为目标广告用户,并向目标广告用户发起匹配请求。
3、目标广告用户查询发起匹配的所有响应用户,并选择一个目标响应用户进行匹配。
具体地,目标广告用户通过实时查询向自身发起匹配的所有响应用户,并从中选择一个目标响应用户响应其发起的匹配请求。
4、目标响应用户向矿工支付费用后,向全网公开匹配信息。
具体地,目标响应用户在目标广告用户响应匹配请求之后,向矿工支付费用,并在支付费用之后向全网公开匹配信息。
进一步的,目标响应用户想矿工支付费用后,向全网公开匹配信息之后,还包括:判断目标响应用户是否出现过违规行为;若是,则停止匹配目标广告用户与目标响应用户,且目标广告用户重新选取新的响应用户进行匹配。
5、目标广告用户向矿工支付另一半费用后,向全网公开匹配成功的信息。
具体地,目标广告用户向矿工支付另一半费用后,同样也向全网公开匹配成功的信息,通过上述步骤,从而实现目标广告用户和目标响应用户之间的匹配。
进一步的,目标广告用户向矿工支付另一半费用后,向全网公开匹配成功的信息之前,还包括:判断目标广告用户是否出现过违规行为;若是,则停止匹配目标广告用户与目标响应用户,且目标响应用户重新选取新的广告用户进行匹配。并且,目标广告用户无需再次支付交易费用。
重复执行广告用户与响应用户匹配的步骤直至广告用户与发起匹配的所有响应用户匹配完成为止。
步骤S204:获取混币用户中的多个响应用户,混币用户包括响应用户和广告用户。
在本实施例中,图2中的步骤S204和图1中的步骤S101类似,为简约起见,在此不再赘述。
步骤S205:创建属于每个响应用户的新比特币地址。
在本实施例中,图2中的步骤S205和图1中的步骤S102类似,为简约起见,在此不再赘述。
步骤S206:将响应用户的新比特币地址逐个***至预先建立好的向量中,并在每***一个新比特币地址时,随机打乱向量中所有元素的排列顺序,直至最后一个响应用户***完成之后,得到响应用户的新比特币地址集合。
在本实施例中,图2中的步骤S206和图1中的步骤S103类似,为简约起见,在此不再赘述。
步骤S207:获取所有响应用户的原始比特币地址集合,根据原始比特币地址集合与新比特币地址集合的映射关系,由响应用户发起比特币交易,在生成交易签名后,提交交易签名至广告用户,并在所有响应用户确认无误后,由广告用户提交交易签名至矿工。
在本实施例中,图2中的步骤S207和图1中的步骤S104类似,为简约起见,在此不再赘述。
本申请第二实施例的区块链混币方法在第一实施例的基础上,通过在发起混币请求的多个混币用户中,对响应用户和广告用户进行匹配,并对匹配成功的响应用户和广告用户进行混币操作,并且,在当响应用户或广告用户出现违规操作时,将广告用户或响应用户剔除,从而降低后续交易的风险。
图3是本申请第三实施例的区块链混币方法的流程示意图。需注意的是,若有实质上相同的结果,本申请的方法并不以图3所示的流程顺序为限。如图3所示,该方法包括步骤:
步骤S301:获取混币用户中的多个响应用户,混币用户包括响应用户和广告用户。
在本实施例中,图3中的步骤S301和图1中的步骤S101类似,为简约起见,在此不再赘述。
步骤S302:响应用户互相查看其他响应用户的原始比特币地址的金额。
步骤S303:取消响应用户中金额小于预设阈值的响应用户的混币资格。
在步骤S302~步骤是303中,在确认响应用户和广告用户之后,每个响应用户查询其他响应用户的原始比特币地址的金额,当存在响应用户的金额达不到预设阈值时,说明该响应用户不具有足够的比特币进行交易,取消该响应用户的混币资格。
步骤S304:创建属于每个响应用户的新比特币地址。
在本实施例中,图3中的步骤S304和图1中的步骤S102类似,为简约起见,在此不再赘述。
步骤S305:将响应用户的新比特币地址逐个***至预先建立好的向量中,并在每***一个新比特币地址时,随机打乱向量中所有元素的排列顺序,直至最后一个响应用户***完成之后,得到响应用户的新比特币地址集合。
在本实施例中,图3中的步骤S305和图1中的步骤S103类似,为简约起见,在此不再赘述。
步骤S306:获取所有响应用户的原始比特币地址集合,根据原始比特币地址集合与新比特币地址集合的映射关系,由响应用户发起比特币交易,在生成交易签名后,提交交易签名至广告用户,并在所有响应用户确认无误后,由广告用户提交交易签名至矿工。
在本实施例中,图3中的步骤S306和图1中的步骤S104类似,为简约起见,在此不再赘述。
本申请第三实施例的区块链混币方法在第一实施例的基础上,通过在确认响应用户和广告用户之后,由响应用户之间查询对方的原始比特币地址是否具有足够的金额,将金额未达到预设阈值的响应用户的混币资格取消,避免影响到整个混币过程的进行。
图4是本申请实施例的区块链混币装置的功能模块示意图。如图4所示,该装置40包括获取模块41、创建模块42、地址混合模块43和混币模块44。
获取模块41,用于获取混币用户中的多个响应用户,混币用户包括响应用户和广告用户。
创建模块42,用于创建属于每个响应用户的新比特币地址。
地址混合模块43,用于将响应用户的新比特币地址逐个***至预先建立好的向量中,并在每***一个新比特币地址时,随机打乱向量中所有元素的排列顺序,直至最后一个响应用户***完成之后,得到响应用户的新比特币地址集合。
混币模块44,用于获取所有响应用户的原始比特币地址集合,根据原始比特币地址集合与新比特币地址集合的映射关系,由响应用户发起比特币交易,在生成交易签名后,提交交易签名至广告用户,并在所有响应用户确认无误后,由广告用户提交交易签名至矿工。
可选地,获取模块41执行获取混币用户中的多个响应用户的操作之前,还用于:获取发起混币请求的用户,得到多个混币用户;从混币用户中随机选取用户作为响应用户或广告用户;实现响应用户和广告用户之间的匹配,并在匹配成功之后,向全网公开匹配成功的消息。
可选地,获取模块41实现响应用户和广告用户之间的匹配,并在匹配成功之后,向全网公开匹配成功的消息的操作还可以为:由广告用户向矿工支付一半费用后,向全网广播混币信息;由响应用户从所有发布混币信息的广告用户中选取目标广告用户,并发起匹配请求;目标广告用户查询发起匹配的所有响应用户,并选择一个目标响应用户进行匹配;目标响应用户向矿工支付费用后,向全网公开匹配信息;目标广告用户向矿工支付另一半费用后,向全网公开匹配成功的信息;重复执行广告用户与响应用户匹配的步骤直至广告用户与发起匹配的所有响应用户匹配完成为止。
可选地,获取模块41执行目标响应用户想矿工支付费用后,向全网公开匹配信息的操作之后,还用于:判断目标响应用户是否出现过违规行为;若是,则停止匹配目标广告用户与目标响应用户,且目标广告用户重新选取新的响应用户进行匹配;目标广告用户向矿工支付另一半费用后,向全网公开匹配成功的信息之前,还包括:判断目标广告用户是否出现过违规行为;若是,则停止匹配目标广告用户与目标响应用户,且目标响应用户重新选取新的广告用户进行匹配。
可选地,获取模块41执行获取混币用户中的多个响应用户的操作之后,还用于:响应用户互相查看其他响应用户的原始比特币地址的金额;取消响应用户中金额小于预设阈值的响应用户的混币资格。
可选地,地址混合模块43将响应用户的新比特币地址逐个***至预先建立好的向量中,并在每***一个新比特币地址时,随机打乱向量中所有元素的排列顺序,直至最后一个响应用户***完成之后,得到响应用户的新比特币地址集合的操作还可以为:随机对响应用户进行编号,并预先创建初始值为零的n维向量C;按照响应用户的编号,依次对响应用户自身的新比特币地址进行加密,并将加密信息随机***至向量C中,再对向量C进行签名后,将签名信息发送给下一个响应用户,依此循环直至最后一个响应用户;最后一个响应用户利用自身私钥解密向量C,得到所有响应用户的新比特币地址集合,并向所有响应用户广播新比特币地址集合。
可选地,地址混合模块43执行向所有响应用户广播新比特币地址集合的操作之后,还用于:当存在当前响应用户自身的新比特币地址不处于新比特币地址集合时,控制当前响应用户退出混币过程。
关于上述实施例区块链混币装置中各模块实现技术方案的其他细节,可参见上述实施例中的区块链混币方法中的描述,此处不再赘述。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可
请参阅图5,图5为本申请实施例的终端的结构示意图。如图5所示,该终端50包括处理器51及和处理器51耦接的存储器52。
存储器52存储有程序指令,程序指令被处理器51执行时,使得处理器51执行上述实施例中的区块链混币方法的步骤。
其中,处理器51还可以称为CPU(Central Processing Unit,中央处理单元)。处理器51可能是一种集成电路芯片,具有信号的处理能力。处理器51还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
参阅图6,图6为本申请实施例的存储介质的结构示意图。本申请实施例的存储介质存储有能够实现上述所有方法的程序文件61,其中,该程序文件61可以以软件产品的形式存储在上述存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
在本申请所提供的几个实施例中,应该理解到,所揭露的终端,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。以上仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种区块链混币方法,其特征在于,包括:
获取混币用户中的多个响应用户,所述混币用户包括响应用户和广告用户;
创建属于每个所述响应用户的新比特币地址;
将所述响应用户的新比特币地址逐个***至预先建立好的向量中,并在每***一个所述新比特币地址时,随机打乱所述向量中所有元素的排列顺序,直至最后一个所述响应用户***完成之后,得到所述响应用户的新比特币地址集合;
获取所有所述响应用户的原始比特币地址集合,根据所述原始比特币地址集合与所述新比特币地址集合的映射关系,由所述响应用户发起比特币交易,在生成交易签名后,提交所述交易签名至所述广告用户,并在所有所述响应用户确认无误后,由所述广告用户提交所述交易签名至矿工。
2.根据权利要求1所述的区块链混币方法,其特征在于,所述获取混币用户中的多个响应用户之前,还包括:
获取发起混币请求的用户,得到多个所述混币用户;
从所述混币用户中随机选取用户作为响应用户或广告用户;
实现所述响应用户和所述广告用户之间的匹配,并在匹配成功之后,向全网公开匹配成功的消息。
3.根据权利要求2所述的区块链混币方法,其特征在于,所述实现所述响应用户和所述广告用户之间的匹配,并在匹配成功之后,向全网公开匹配成功的消息,包括:
由所述广告用户向矿工支付一半费用后,向全网广播混币信息;
由所述响应用户从所有发布混币信息的广告用户中选取目标广告用户,并发起匹配请求;
所述目标广告用户查询发起匹配的所有响应用户,并选择一个目标响应用户进行匹配;
所述目标响应用户向所述矿工支付费用后,向全网公开匹配信息;
所述目标广告用户向所述矿工支付另一半费用后,向全网公开匹配成功的信息;
重复执行所述广告用户与响应用户匹配的步骤直至所述广告用户与发起匹配的所有响应用户匹配完成为止。
4.根据权利要求3所述的区块链混币方法,其特征在于,所述目标响应用户想所述矿工支付费用后,向全网公开匹配信息之后,还包括:
判断所述目标响应用户是否出现过违规行为;
若是,则停止匹配所述目标广告用户与所述目标响应用户,且所述目标广告用户重新选取新的响应用户进行匹配;
所述目标广告用户向所述矿工支付另一半费用后,向全网公开匹配成功的信息之前,还包括:
判断所述目标广告用户是否出现过违规行为;
若是,则停止匹配所述目标广告用户与所述目标响应用户,且所述目标响应用户重新选取新的广告用户进行匹配。
5.根据权利要求1所述的区块链混币方法,其特征在于,所述获取混币用户中的多个响应用户之后,还包括:
所述响应用户互相查看其他响应用户的所述原始比特币地址的金额;
取消所述响应用户中所述金额小于预设阈值的响应用户的混币资格。
6.根据权利要求1所述的区块链混币方法,其特征在于,所述将所述响应用户的新比特币地址逐个***至预先建立好的向量中,并在每***一个所述新比特币地址时,随机打乱所述向量中所有元素的排列顺序,直至最后一个所述响应用户***完成之后,得到所述响应用户的新比特币地址集合,包括:
随机对所述响应用户进行编号,并预先创建初始值为零的n维向量C;
按照所述响应用户的编号,依次对所述响应用户自身的新比特币地址进行加密,并将加密信息随机***至所述向量C中,再对所述向量C进行签名后,将签名信息发送给下一个响应用户,依此循环直至最后一个响应用户;
所述最后一个响应用户利用自身私钥解密所述向量C,得到所有响应用户的新比特币地址集合,并向所述所有响应用户广播所述新比特币地址集合。
7.根据权利要求6所述的区块链混币方法,其特征在于,所述向所有响应用户广播所述新比特币地址集合之后,还包括:
当存在当前响应用户自身的新比特币地址不处于所述新比特币地址集合时,控制所述当前响应用户退出混币过程。
8.一种区块链混币装置,其特征在于,包括:
获取模块,用于获取混币用户中的多个响应用户,所述混币用户包括响应用户和广告用户;
创建模块,用于创建属于每个所述响应用户的新比特币地址;
地址混合模块,用于将所述响应用户的新比特币地址逐个***至预先建立好的向量中,并在每***一个所述新比特币地址时,随机打乱所述向量中所有元素的排列顺序,直至最后一个所述响应用户***完成之后,得到所述响应用户的新比特币地址集合;
混币模块,用于获取所有所述响应用户的原始比特币地址集合,根据所述原始比特币地址集合与所述新比特币地址集合的映射关系,由所述响应用户发起比特币交易,在生成交易签名后,提交所述交易签名至所述广告用户,并在所有所述响应用户确认无误后,由所述广告用户提交所述交易签名至矿工。
9.一种终端,其特征在于,所述终端包括处理器、与所述处理器耦接的存储器,所述存储器中存储有程序指令,所述程序指令被所述处理器执行时,使得所述处理器执行如权利要求1-7中任一项权利要求所述的区块链混币方法的步骤。
10.一种存储介质,其特征在于,存储有能够实现如权利要求1-7中任一项所述的区块链混币方法的程序文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011503073.4A CN112632602A (zh) | 2020-12-18 | 2020-12-18 | 区块链混币方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011503073.4A CN112632602A (zh) | 2020-12-18 | 2020-12-18 | 区块链混币方法、装置、终端及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112632602A true CN112632602A (zh) | 2021-04-09 |
Family
ID=75317573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011503073.4A Pending CN112632602A (zh) | 2020-12-18 | 2020-12-18 | 区块链混币方法、装置、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112632602A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116910818A (zh) * | 2023-09-13 | 2023-10-20 | 北京数牍科技有限公司 | 基于隐私保护的数据处理方法、装置、设备及存储介质 |
-
2020
- 2020-12-18 CN CN202011503073.4A patent/CN112632602A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116910818A (zh) * | 2023-09-13 | 2023-10-20 | 北京数牍科技有限公司 | 基于隐私保护的数据处理方法、装置、设备及存储介质 |
CN116910818B (zh) * | 2023-09-13 | 2023-11-21 | 北京数牍科技有限公司 | 基于隐私保护的数据处理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11818269B2 (en) | Computer-implemented system and method providing a decentralised protocol for the recovery of cryptographic assets | |
CN108876332B (zh) | 一种基于生物特征标记认证的区块链安全交易方法及装置 | |
US11483161B2 (en) | Method for information processing and non-transitory computer readable storage medium | |
CN107392603B (zh) | 使用数字货币的交易方法和装置 | |
EP0995177B1 (en) | Symmetrically-secured electronic communication system | |
US20060153380A1 (en) | Personal cryptoprotective complex | |
KR102322118B1 (ko) | 월렛 앱이 설치된 소유 디바이스 및/또는 블록체인 노드에 키를 분산 저장하는 비밀 키 보안 방법 | |
CN111523891B (zh) | 基于区块链的信息加密方法、装置、设备及存储介质 | |
WO2020060094A1 (ko) | 블록체인 네트워크를 구성하는 노드 장치 및 그 노드 장치의 동작 방법 | |
CN106452775A (zh) | 实现电子签章的方法、装置及签章服务器 | |
CN107908932B (zh) | 一种基于l算法的数字货币防伪及验证方法、***和设备 | |
JP2002520905A (ja) | 漏洩抵抗力を有する暗号索引付き鍵の更新方法及びデバイス | |
PL176458B1 (pl) | Sposób szyfrowania systemu komunikacyjnego | |
CN110336779B (zh) | 一种区块链的构建方法、装置和电子设备 | |
CN109711841B (zh) | 数据交易方法及***、平台、存储介质 | |
US20190005495A1 (en) | Method for verifying transactions in chip cards | |
CN104376465A (zh) | 一种安全的移动支付方法 | |
WO2020076234A1 (en) | Apparatus and method for controlling data access | |
CN112632602A (zh) | 区块链混币方法、装置、终端及存储介质 | |
CN110839067B (zh) | 信息提供方法及装置 | |
CN112712354A (zh) | 一种数字货币钱包与数字货币服务器的交互方法 | |
CN113949988B (zh) | 一种位置保护方法和***,及存储介质 | |
EP0886248B1 (en) | Method and apparatus for registration of information with plural institutions and recording medium with registration program stored thereon | |
KR102475434B1 (ko) | 암호화폐 보안 방법 및 시스템 | |
CN113159940A (zh) | 用于增强型比特币钱包的交易方法、***及计算机设备 |
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 |