首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何用清代山西票号来理解运用盲签技术的比特币交易匿名性解决方案

阅读报告四

计科50 谢倩 2015011511

论文标题:Blindly Signed Contracts:Anonymous On-Blockchain and Off-Blockchain Bitcoin Transactions

论文作者:Ethan Heilman, FoteiniBaldimtsi, and Sharon Goldberg

本文为我这学期选的徐恪老师的《赛博智能经济与区块链》布置的五篇阅读报告的第四篇。

上一周我们叉院四人组做了区块链+隐私保护的pre,选择这一主题是因为我们四个人或多或少都对这一主题感兴趣且有一定的了解。我们每人负责介绍一篇paper,分别有关比特币用户隐私的建模和评价(4.6)、比特币链上和链下交易隐私保护方案(4.2)、隐私保护的数字货币Zerocash(4.3)和隐私保护的智能合约Hawk(5.2)。所以在读完了运用零知识证明解决匿名性问题的Zerocash和Hawk之后,我还想读一读4.2看看怎样用盲签技术和比特币交易合约实现匿名交易,其隐私保护的程度又如何。

事实上,这篇论文发表于2016年,在Zerocash之后。作者也在文中指出Zerocash和Zerocoin是独立的密码学货币,无法结合进比特币,体现了他们方案的优势。他们的灵感来源于eCash,引入了中间人匿名凭证,打个比方,清朝有一种专门经营汇兑业务的金融机构“票号”,这里的中间人就相当于票号,匿名凭证就相当于汇票,比特币就相当于银两。

所以匿名支付比特币的过程可以这样形象地描述:付款人(受票人)带着他的银两到票号,换取一张汇票,然后将汇票转让给收款人,收款人最后再到票号兑换银两。

那么如何保证“票号”不会得知付款人A的支付目标B呢?盲签技术就派上用场了,为了不让中间人(出票人)I看到汇票上的消息,A将汇票塞进一个信封交给I。I在信封上签名,由于这个信封有“复写功能”,签名透过信封签到了汇票上(但签名做了变换),这个过程称为“盲签”。

A打开信封拿出汇票,看到了汇票上的消息和签名,这个过程称为“去除盲因子”。而B用A支付给他的汇票去向I兑现的时候,I无法通过汇票上的消息和签名推出付款人是谁,这样即便I是恶意的,他也不能将汇票的签发和兑现联系起来。盲签具有不可伪造性、不可抵赖性、盲性和不可追踪性四个特点,其中不可伪造性保证了一个恶意的用户不能通过伪造中间人的签名给自己签发汇票。

但万一I在收到A的银两后就翻脸不认帐,拒绝签发汇票呢?比特币交易合约就派上用场了,它可以保证比特币和凭证之间的公平交换。整个过程需要三个区块确认,其中I作为甲方B作为乙方的两个交易合约在一三区块确认,A作为甲方I作为乙方的两个交易合约在二三区块确认。

这个方案也可以达到混合服务的效果,用户把比特币从自己的地址转移到一个新的过渡地址的时候,只需要让两个地址扮演前述协议中A、B的角色。对于链下交易,则将前述的区块确认改为微支付通道网络确认(这一技术是在论文发表前不久提出的)。微支付通道有点类似于亲情号码,适用于频繁交易的双方,不仅可以记录所有的交易,还可以降低交易成本,节约交易时间。

正如大多数密码学相关论文一样,这篇论文也给出了一些(支付场景的)假设、匿名性特点(在协议运行的每一个周期里,尽管区块链公开了付款人集合和收款人集合,没有人可以将发生了支付的双方连线起来)和安全性特点(公平交换、不可伪造、防止双花、抗DoS攻击、抗Sybil攻击)。尽管链上方案对恶意用户和恶意的中间人都匿名,但链下方案不能做到对恶意的中间人匿名,只能做到对“诚实但好奇”的中间人匿名。性能方面,链上方案需要30分钟,链下方案则是秒级别。此外,这篇论文还缺乏实验结果作为支撑。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171222G01C5Q00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券