文| 沈艺琳
比特币被发明于2008年,作为数字货币的佼佼者,属于分布式加密货币,因此在世界范围内得到了广泛认可。比特币能够根据密码学对自身进行验证,比特币使用者公钥表示不同用户地址,如果用户公钥被其他人知晓,就相当于拥有了比特币使用权,而且如果A用户将自己的比特币转移给B用户,就会出现附有签名的交易记录,这条信息就表示A用户(A的公钥表示)将比特币转移给B用户(A的公钥表示)。混币服务能够让用户对交易记录进行混淆,避免受到攻击与跟踪,防止交易记录被盗取。通过混币服务,恶意实体就不能关联用户真实地址与混淆地址。但是混币服务器会将交易信息进行收集混淆。若混币服务器需要将交易轨迹进行恢复,就可以通过随意跟踪交易记录来实现这一目标。
Rivest在2001年提出了通过匿名的方法透露秘密的算法,也就是我们熟知的环签名算法。环签名为特殊群签名,无需群建立以及可信中心节点过程,而站在验证者的立场来看,签名者属于匿名者。环签名能够提供十分巧妙、便捷的透露秘密方式,而且无条件匿名属性能够在一些特殊环境中发挥重要作用,例如在一些特定环境中签名信息无法将签名者身份泄露。
环签名方案过程:(1)生成密钥:能够同时输入不同参数的时间算法,其中两个输出为sk私钥和pk公钥。如果它能够为使用者生成sk与pk当作密钥对,由于用户不同sk和pk会来自于不同公钥算法,像是ECSDA、DLP以及RSA。(2)环签名:为多项式时间算法,消息上的签名是由消息、环成员公钥pk1至pkn,消息发出者sk输入而生成的。在签名中有的参数会根据某种特殊规则而形成环。(3)签名验证:属于确定性算法,在对方案进行验证时消息、签名和环成员公钥pk1至pkn当作输出,若环签名合法,那么输出则为真,若环签名不合法,那么输出则为假。
环签名方案最重要一点就是要确保安全,而且环签名具有多项特色。第一,正确性。若完全根据签名算法形成签名,在对其进行传播时如果签名正常且没被篡改,那么环签名就能够通过验算;第二,无条件匿名性。如果攻击者将全部签名者私钥获取,那么从全部成员中选择出签名者概率也小之又小;第三,不可伪造性。如果攻击者并没有事先了解环成员私钥,即便可以在生产签名语言中得到消息全部签名,那么伪造有效签名的几率可以不用考虑。除此之外,环签名还有其他特点,例如签名者能够随便指定匿名范围,还可以在没有群管理员以及第三方的情况下形成群签名一般功能。
混币服务能够让用户对交易记录进行混淆,避免受到攻击与跟踪,防止交易记录被盗取。通过混币服务,恶意实体就不能关联用户真实地址与混淆地址。这些都是基于混淆协议来实现,在请求过程中用户可以发送消息给混币服务器,信息内容包括客户公钥以及希望混淆的信息。在接收到信息后,混淆服务器会从客户收集到公钥,并根据性能对公钥数量进行调整;在确认过程中,需要用户对混淆交易中的地址进行检测,若信息已被验证,那么客户就能进行授权签名。
环签名示意图
1.匿名性。如果混币服务器遭受攻击,那么就需要混淆方案能够确保用户匿名性,根据环签名算法属性,混币服务器不能从比特币地址中有效识别特定用户地址。而且地址一般是通过有效环签名向各个混币服务器进行逐个发送,但是混币服务器仅仅能够对其中某个地址的一个合法成员进行验证,却不能将该成员的具体地址进行有效识别。外部攻击者仅仅能够阻拦某一个比特币地址,但却不能将交易与地址相关联。
2.DoS抵抗性。恶意用户能够利用初始化混淆服务而不响应请求地址,在不同的分布式混淆协议中,通过DoS进行恶意攻击,让全部协议处于瘫痪。但是在本文所研究的混淆方案中,不同用户能够与混淆服务器进行单独沟通,任何与协议规定行为不符的用户都会被系统自动加入到黑户行列中。除此之外,攻击者能够利用尝试阻断混淆交易记入区块链进而出现DoS攻击的情况。但是攻击者难以真正做到这一点,这是由于攻击者需要掌握至少51%以上比特币网络中的计算资源才有可能实现。
3.扩展性。对于混淆交易来说,增加用户是一件简单的事,因为不会对比特币输入、输出交易地址进行限制。混币服务器能够对不同用户分配到混淆交易中,进而适应增加用户数量的需求,通过完善服务器配置,包括对宽带等进行有效处理,能够有效解决混币服务器存在的一些不足。
在此次文章中,提出的加密基于环签名以Boneth和Paterson线性加密方式为模块,p为公共参数,sk为秘密签名密匙,pk为公共加密密匙,EIBS功能由下列两个函数构成:
1.运行σ=(V,Rm,Rn)←Sign(p,sk,m)。
2.运行C1←Enc(p,pk,V)。
3.运行C2←Enc(p,pk,Rm)。
4.运行C3←Enc(p,pk,Rn)。
5.输出(C1,C2,C3)。
输出(p,pk,pkc),其中pk为私钥sk的对应公钥。EIBS的具体功能为签名者A能够通过签名密匙(sk)对消息进行签名,之后在接收B的公共加密密钥,在pkc基础下进行加密与签名,最后将结果送至B。实现EIBS功能包括sk与pkc,A的签名密钥能够生成PKG主密钥,在安全性上可能存在隐患,因此要对EIBS进行混淆,确保签名密钥的安全。为了让EIBS功能具有一定概率,需要进行随机处理,并且给定公共加密密钥和密文,随机算法表示式为ReRand(p,pk,(C1,C2,C3))=C1(ga)r’,C2(gb)r’,C3(gc)r’。
若恶意用户拒绝签名交易时,就会立即执行恢复机制,全部用户协商统一锁定时间段,若存在恶意用户拒绝签名交易,在超出锁定时间段后,在比特币网络中就不会出现交易,而在这时也会暂时停止混币交易,强制执行锁定交易。如果在网络后出现交易,在群里的用户就会组建交易,若恶意用户依然选择拒绝签名交易,那么在托管地址中的罚金就会出现损失,全部用户的比特币交易额则不会受到侵害。
模型系统
数字货币能够实现网上支付,受到越来越多人的认可,但是在匿名性上还存在一些不足。一些学者已经对怎样通过区块链数据破坏匿名性进行了深入研究,为了使比特币更具匿名性,现如今提出了很多混币服务方法,却无法满足安全属性。本文提出的混淆方案能够与比特币协议实现兼容,并为客户提供更多拓展服务。此方案能够避免比特币被混币服务器盗取,还能避免混币服务器对输入、输出相关联。而且在部署上更加便利,能够有效降低开销成本。