*一般来说,匿名性多与隐私保护相关。但实际上,比特币中匿名并非真正的匿名,而是假的匿名。实际上与纸币相比,纸币的匿名性更好,因为其并没有对个人信息的标记。也正是因为其匿名性,很多非法交易采用现金交易。但现金存在保管,运输等各个方面的不便。
实际上,比特币中的数据是完全公开的,而网上的交易是要与实体世界进行交易的,所以大大破坏了其匿名性。*

BTC系统中什么情况会破坏其匿名性?
1.用户可以生成多个地址账户,但这些地址账户可以被关联起来
表面上看,每次交易可以更换公私钥对,从而每次都是新的账户,具有很强的匿名性。但实际上,这些账户在一定情况下,是可以被关联起来的。

例如下图,针对这样一个交易:

在图中可以看到该交易有2个输入和2个输出,所以addr1和addr2很可能是同一个人所持有的账户,因为该人同时拥有这两个私钥的地址。(一个账户中的钱可能不够)
而在输出中,很有可能有一个地址是属于找零钱的地址,即花掉之后剩余的钱。在某些情况下,也是可以分析出来的。
再如:

在图中,针对该交易,账户上面数字表示BTC,可以知道addr4很明显是找零钱的地址,而非addr3(支付6个BTC,单个账户不够用,所以用两个账户)。

2.地址账户与个人在真实社会中的身份也可能会产生关联。
任何使得BTC和实体世界中关联的操作都有可能泄露用户真实身份,其中最明显的就是资金的转入转出。要得到BTC,如果用钱买,就会与实体世界进行交互。想要将BTC转为现实中的货币,也同样需要与实体世界交互。

3.BTC支付时候
例如某些商家接受用BTC进行支付,例如可以用BTC购买特斯拉,在进行支付时候,便和个人账户建立联系,从而会泄露掉个人信息。

也就是说,BTC并不是具有很好的匿名性。实际中,很多人保持较好的匿名性,保持最好的便是其开发者中本聪,其参与BTC时间最长,全世界都想知道他是谁。但实际上,中本聪的比特币并没有使用过,这也使我们难以发现他具体是谁。

BTC匿名性有多好?如何提高匿名性?

匿名的本质是不想要暴露身份。而对于普通人来说,BTC的现有机制已经足够保持个人隐私了。但如果涉及违法,行政机关想要获得真实身份,其实很容易。
那么可以采用哪些方法尽可能提供匿名性?
从应用层看,可以将各个不同用户的BTC混和在一起,使得追查变得混乱(Coin mixing);从网络层看,可以采用多路径转发的方法,数据不直接发送出去,而是经过很多跳。
实际上,暴露用户隐私正是因为区块链的公开性和不可篡改性。不可篡改性对于隐私保护,实际上是灾难性的。


零知识证明

一方(证明者)向另一方(验证者)证明某一个陈述是正确的,但不需要透露除该陈述是正确的之外的任何信息。
例如:A想要向B证明某一账户属于A,这说明A知道该账户的私钥。但不可能通过A公布私钥的方法来证明,该账户确实属于A。因此,A可以产生一个账户签名,B通过公钥对签名进行验证。(实际上该证明是否属于零知识证明存在争议,因为泄露了用私钥产生的签名)。

同态隐藏


零知识证明的数学基础便是同态隐藏。上图为同态隐藏的三个性质。
第一个性质,说明如果有E(x) = E(y),则必然x=y。(无碰撞)
第二个性质,说明加密函数不可逆,知道加密值,无法反推出密码值。
第三个性质,最为重要,称为同态运算。说明对加密后的函数值进行某些代数运算,等价于对输入直接进行代数运算再加密。

例子

其中证明者为Alice,验证者为Bob。最简单的证明版本如下:
1.Alice将E(x)、E(y)发给Bob。(性质2,不可逆)
2.Bob通过收到的E(x)、E(y)计算得到E(X+Y)。(性质3,同态加法)
3.Bob进行验证E(x+y)和E(7)是否相等。若相等则验证通过,否则验证失败。(性质1,无碰撞)
缺陷:Bob可以暴力获取x与y的值。

盲签

盲签名是一种特殊的数字签名技术。盲签名因签名的人看不到所签署文件的具体内容而闻名,它有两个显著的特点:一是签名者对消息的内容是不可见的;二是签名被公开后,签名者不能追踪签名。

Q:为什么要这么做呢?
例如电子交易中,我们交易信息依赖于银行等第三方机构。第三方机构需要防范双花攻击等,就需要对电子货币进行签名。而签名的过程中,必然会导致其了解到交易内容。如果想要银行等第三方机构负责相应工作,但不知道交易具体内容,就可以采用盲签的方法。

例如A向B转账。

既然了解到BTC提供了较好匿名性,但其无法完全消除关联性,那么如果想要这样一种货币怎么办?这就涉及到了零币和零钞。

零币和零钞———专门为匿名性设计的货币

零币在花费的时候,只需要用零知识证明来证明所花掉的币是系统中存在的某一个合法的币,但不用透露具体花掉的是系统中哪一个币。这样就破坏了关联性。
当然,这类货币并非主流加密货币,因为其为了设计匿名性,付出了一定代价,而且需要强匿名性的用户并不多。
从数学上看,零币和零钞是安全的。但其并不是百分之百的匿名,其并未解决与系统外部实体发生交互时对匿名性的破坏。


MockingJay
7 声望3 粉丝