【本课堂内容全部选编自PlatON首席密码学家、武汉大学国家网络安全学院教授、博士生导师何德彪教授的《区块链与密码学》授课讲义、教材及互联网,版权归属其原作者所有,如有侵权请立即与我们联系,我们将及时处理。】
7.5盲签名算法在区块链中的应用
区块链可以看作是一个分布式账本。对于账本而言,隐私极其重要,因此用密码学技术来保护其安全性是可实现的途径,签名技术便是之一,而不同的签名方式带来的安全性也不同,如数字签名、群签名、盲签名等。今天我们学习盲签名算法在区块链中的应用。
在比特币中,交易是在用户之间直接进行的,没有中间人。用户通过向通信节点的对等网络广播数字签名的消息来发送支付。
区块链技术的快速发展,越来越多的在线商家提供比特币支付功能。比特币的匿名性:交易被记录并公开,但它们只与地址而不是真实身份联系在一起。
区块链中的「地址」类似于银行卡账号,是用户参与区块链业务时使用的假名。因此,无论你用你的比特币购买什么,都无法具体追踪到你的真实地址。
一般来说,匿名化的目的是防止攻击者通过比特币网络和区块链发现比特币钱包地址与真实用户身份信息之间的关系。但是,比特币交易的匿名性特征绝非完美:如果客户在线向提供商支付比特币,例如通过银行转账、信用卡,甚至阿里支付,提供商可以将客户的支付信息链接到交易比特币的电子地址。
| 身份隐私:用户身份信息与区块链地址之间的关联关系
区块链系统中地址是由用户自行生成,与用户的身份信息无关,用户创建和使用地址不需要第三方参与。因此,相对于传统的账号(例如银行卡号),区块链地址具有较好的匿名性。
但是区块链交易之间的关联性可以被用于推测敏感信息。区块链所有数据都存储在公开的全局账本中,用户在使用区块链地址参与区块链业务时,有可能泄露一些敏感信息,例如区块链交易在网络层传播轨迹。
通过分析这些交易之间的关联关系(比如:同一交易的所有输入地址属于同一用户集合、找零地址和输入地址属于同一用户等等),再结合一些背景知识,能够逐步降低区块链地址的匿名性,甚至发现匿名地址对应用户的真实身份。
区块链网络中,一笔交易的输入肯定是某一笔交易的输出,找到交易间的关联关系。为了断开和之间的连接,保护区块链隐私:混币技术
Mixcoin协议方案
混币服务器掌握A的和之间的连接,存在泄漏用户隐私的问题。
Blindcoin协议方案
M公布盲签名,作为追责凭证
A公布去盲签名,作为M向指定输出地址发送交易的凭证
用户对输出地址采用盲签名,M不知道A的和之间的连接,不会将用户的输入地址与输出地址相连接,从而保护用户交易信息
Blindcoin保证了没有被动对手可以在特定的混合中链接输入/输出地址对。因此,Blindcoin在同时参与混合的所有非恶意用户集合内实现匿名性。除了混币服务器的资源外,对可以同时参与混币的用户数没有任何限制,因此参与者越多,匿名集就越大。
通过使用盲签名方案隐藏参与者的输入/输出地址映射,实现了对混合服务的匿名性。
今天的课程就到这里啦,第七单元的学习已经告一段落,下节课我们将开启第八单元的学习,敬请期待!
同学们可以关注点宽学园,每周持续更新区块链系列课程,小宽带你进入区块链世界。我们下节课见啦。
【区块链与密码学】课堂回顾: