可能会有很多人误解,以为比特币可以用来进行一些不可追踪的交易。但比特币(区块链)设计的初衷就是为了让所有交易都是可以被追踪和记录的。当然,比特币钱包对应的背后的用户是谁,这点是完全匿名的,但也不是不可以得知。由于比特币要和法定货币(比如说人民币)进行交换,所以交易所就是必经的节点。那么比特币匿名是什么意思?哪些情况会破坏它的匿名性?
一、比特币匿名是什么意思?
一般来说,匿名是跟隐私保护联系在一起的。比特币中不要求用真名,可以用公钥产生的地址,所以比特币具有一定的匿名性。也就是你可以产生任意多的地址,然后用不同的地址干不同的事情。它用的是化名,但它不是完全没有名字,所以有人把它称为 preudonymity。
二、有可能破坏比特币匿名性的两个方面
钱包关联性:一个人可以生成很多个地址账户但这些地址账户是有可能被关联起来的。
现实关联性:是这个地址账户跟现实世界中的身份也可能产生关联。什么时候会有关联?什么情况下别人有可能知道比特币账户对应的现实生活中的哪个人呢?
1.钱包关联性
有没有可能把输入地址和输出地址也关联起来呢?比特币生成交易的时候并没有规定找零钱的地址在 outputs 中出现的位置,所以想知道哪个是找零的地址也并不容易,但有些情况下可以分析出来。
比如第一个地址账户上有 4 个比特币,第二个有 5 个。产生的两个输出第一个输出转入 6 个比特币,第二个输出转入 3 个比特币。那很明显转入 3 个比特币的输出是找零的,因为如果它是商家的地址,就用不着两个 inputs,任意一个输入都比 3 大。通过这种方法我们可以把输入地址和输出地址也关联起来。
如果想要更好的隐私保护,可以产生一些没必要的输出,为了迷惑别人。但是这些交易几乎都是用钱包软件生成的,现在很少有人手工生成这些比特币的转账交易,常用的比特币钱包就那么几种。所以把常用的比特币钱包生成交易的方式搞清楚,那么区块链上很大一部分转账交易都可以分析出来。常用的钱包到目前为止一般没有故意生成一些不必要的输出地址。
2.现实关联性
比特币系统一旦跟现实世界联系起来,就可能泄露你的真实身份,最明显的例子就是资金的转入和转出。怎么避免用比特币洗钱呢?盯住比特币的转入转出链是一个常用的手段。大笔的比特币和货币的交易想不引起司法部门的注意是很难的,转入转出也是比特币隐私容易被破坏的一个很重要的时机。
还有什么时候会泄露真实身份?用比特币做支付的时候。在实体世界中用比特币做支付,比如国外有的商家是接受比特币支付。但有一些麻烦之处:①延迟很长,等到交易确认要等六个区块生成,即一个小时。②交易费很贵。如果买咖啡,交易费可能都跟咖啡差不多贵了。这样的话,你支付的账户就跟你的真实身份建立联系了。这个账户可能跟个人的其他账户也是有联系的,所以这样很容易泄露个人隐私和身份。而且该交易不仅是该商家会知道,其他人也会知道。
比如:A想知道B的地址。A可以在B去买商品时,留意B支付的时间,然后去查找在这个时间点的交易。在B下一次购买商品时也留意支付时间,这样下去用不了几次就能知道哪个哈希值是B的。
这个例子告诉我们什么?信用卡记录不能公开,即使匿名,也不应将公钥取哈希后公开。但比特币系统是无法保密的,所以比特币的匿名性并不是绝对的,没有想象中那么好。
三、总结
比特币的匿名性已经为大家解释清楚了,尤其对于新手投资者而言,一定要注意文中提出的破坏匿名性那两点,在以后的交易中一定要注意,保护好自己的虚拟资产安全才是重中之重。