比特币之九匿名性

正在学习区块链,如果我哪里有错误希望大家指出,如果有任何想法也欢迎留言。这些笔记本身是在typora上写的,如果有显示不正确的敬请谅解。笔记本身也是给我自己写的,所以如果有侵权的请通知我,我立即删除。

9. 匿名性

9.1 匿名性的探讨

比特币的匿名性只能说比较好,但是不特别好,和其它交易相比有一些优缺点。先和匿名性最好的现金相比吧。

  • 现金匿名性几乎完美,到你手的钱你根本不知道已经过了几个人了,所以以前罪犯交易都是用的大额旧钞。几乎完美是指抢匪那种连号或者钱上有标记的。
  • 银行转账的匿名性是没有的,所以这里考虑的是银行不需要身份证。匿名性也是和很好的,毕竟除了银行柜员和警察以外基本没人能查到交易。
  • 这么一比,比特币的匿名性变的最差了,因为你的交易记录所有人都能查到。

9.2 输入输出地址

为了增强比特币的匿名性,有人建议每次输出都使用一个新地址,这样就没人能知道我到底是怎么交易的,因为输出是两个人,哪个是我,谁知道?不过地址之间是会有关联的,比如输入地址之间或者输入和输出地址之间会有联系。

输入与输入的关联

avatar

这种时候addr1和addr2很大程度是一个人的。因为比特币很难有正好的,总会有零钱出来,多个零钱凑起来一起花。

输入与输出的关联

还是上面的图片,addr4和addr1以及addr2应该也是一个人的,因为如果对面的人需要3个比特币根本不用这么费劲。那如果我就是想生成一堆没用的交易呢?前面讲过很多例子,不可能有人手动去执行输入输出脚本,这种事情都由比特币钱包完成,现在市面上的比特币钱包就那么几种,如果都搞一搞,你的比特币最后跑到了哪个账户中公安人员还是能查到的。

9.3 现实世界的联系

只要花了这个钱,别人肯定就知道了你的地址了,顺藤摸瓜就能查到这个人了。曾经就有个叫silk road的网站,用的洋葱路由加比特币,最后还是被抓了。所以比特币想要做坏事,是不行的,就像我之前看的新闻,它应该是一种更容易获取的黄金。在一个国家经济崩溃的时候,该国法币已经完蛋了,黄金或者美元你还买不到,也没法流通,这时候最方便的就是比特币了。

9.4 盲签算法

这个有点难,有数学原理在里面,有个直接用了费马小定理证明,抱歉我看不懂,但是我能知道这个算法是干嘛的。

如果a需要给b一个东西,但是需要中心化的c来签名,到时候b会来c这里验证a给他的东西是否经过了c的签名。但是a还不能让c知道a给b的内容是什么,也不能让b知道这个东西是a给的,这就是这个算法的目的。就是说c的签名是盲签。例如a要给b转账,这个钱是c(央行)发的,b当然要验证这个钱是否是真钱,是否被double spending了,重点是央行不能知道a给他的是什么,也不能让央行留下案底导致b再来验证签名的时候对上。方法好像有很多种,RSA好像可以的,留个网址吧。如果c能够验证b的钱来自a,这就是公平盲签,因为盲签太匿名了,可能会被犯罪分子利用。

基于RSA的消息盲签名(控制台Edition)

9.5 零知识证明

定义:一方(证明者)向另一方(验证者)证明一个陈述是正确的,而无需透露改陈述是正确的外的任何信息。零知识证明的数学基础是同态隐藏。

同态隐藏

avatar

看了上面应该就知道了吧SHA256那种哈希函数是不满足同态隐藏的,因为不满足最后的性质。

eg:a想要向b证明他知道一组数x和y使得x+y=7,但是还不能让b知道x也y的具体数值。

a可以给b E(x)和E(y)的值,b可以求出E(x)+E(y)的值,同时b还能求出E(7)的值。注意一下,不能让b用蛮力猜出a的x和y。

9.6 零币和零钞

avatar

比特币的匿名性缺陷刚刚已经说了,输入输出地址上是能查到的,而零币和零钞是完全没问题的,原理类似于一个池子,如果你用零知识证明证明了你有这个币,系统就会在币池中给你一个随机的币,花的时候就不会有人知道你的币是哪里来的。零币是中基础币可以是一切币,比如是比特币,零钞直接就可以用。不过还是有个缺点,在与现实社会发生联系的时候依然会被发现的可能。除此之外,零币和零钞保护了匿名性,牺牲了一些效率,而且大多数人也没有那么强的匿名性要求。

发布了32 篇原创文章 · 获赞 1 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qigezuishuaide/article/details/104244505