本周美国FBI追回被黑客勒索的比特币成为了市场上关注的重点话题,起因是之前黑客通过勒索病毒向美国的石油天然气公司勒索比特币,一时间造成美国局部地区能源紧缺,因此也引起了FBI的“特殊关注”,而更多的是人们对FBI如何追回比特币很感兴趣。目前普遍的说法是FBI通过追查黑客使用的洗币服务的服务器IP地址,成功拿到权限然后获取到那笔比特币的,消息传来,很多人对比特币的隐私和匿名性产生了怀疑,那么比特币的隐私和匿名到底是否还存在,这也是值得关注的话题。
钱包客户端是如何工作的
一般钱包我们可以分为轻节点钱包和全节点钱包,全节点钱包需要将整个从第一个区块开始到最新的区块都下载到本地的钱包,一般这种钱包由于占用特别大的存储空间,因此大部分都是在电脑上运行,大部分人基本上都不会去使用全节点钱包,因为要不停地同步区块,否则钱包就无法进行交易。
轻节点钱包一般只下载与钱包地址相关的区块记录,随着手机的兴起,现在的手机钱包在轻节点钱包上做了改进,通过专门的节点服务器(也可以认为是全节点钱包的ip地址和相应的端口)提供钱包余额和交易信息查询遍历服务,而本地几乎就不下载区块记录了,特别是比特币这类的手机钱包。
这样一来,提供专门信息服务的节点就是非常关键的,比如以太坊上的infura,就是非常广泛的节点提供者,我们平时使用的手机钱包通过这样的节点服务,钱包就可以知道地址余额等信息,也可以通过这种服务对外广播交易信息。
这种方式之下,其实手机钱包和部分电脑上的轻钱包基本上对节点服务器的依赖特别强烈,如果节点服务器断了,那么基本上就无法获取最新的余额信息,也很难对外广播信息,除非有专门从事广播的设备,否则无法进行交易。
钱包其实主要的任务就是构造交易和广播交易这样的任务,对于全节点钱包来说,由于区块 链节点 是点对点连接的,因此一般全节点钱包除了将自己的交易广播到全网之外,还要同步下载别的节点传过来的区块记录,这样就通过专门的矿工将这些记录打包,最后完成交易的确认。
而对于硬件钱包也是类似的方式,硬件钱包通过专门的硬件芯片来签名交易,然后通过数据传输将交易通过普通客户端广播出去,这样自然就能够实现交易的确认。
这里我们其实发现,钱包主要功能分三步,第一是构造交易并签名,第二是将交易广播出去,第三是从别的节点/服务器那里获取最新的交易信息和余额。而这一切都需要本地设备和网络上其他设备进行信息的传递和交互,在信息传递的时候,不可避免的就需要IP地址来传输信息,自然而然就有暴露IP地址的可能。
一般对于手机钱包而言,你的钱包信息包括余额、交易记录都可以被钱包供应商所知道的,因为你的钱包需要和钱包供应商的节点进行信息交互,所以对方必然知道你的请求和ip地址。我们举个例子,去年 EOS 链上的几个土狗DEFI跑路的时候,TP钱包就做过这个事情,得知犯罪分子曾经使用过TP钱包,然后通过查找ip地址记录,当时顺藤摸瓜找到犯罪分子个人信息,因此对方才乖乖将币退掉,也正是这个道理,避免了投资者损失。
Tp钱包中的节点设置
但是我们需要知道的是,即使知道钱包地址和余额这些信息,钱包供应商也不太可能知道你的助记词和私钥,这里解释下:不太可能的意思是如果钱包品牌效应好或者开源的话,是不会将用户助记词或私钥监控的,如果钱包方作恶,也是有可能将用户的助记词或私钥上传到自己的服务器的,因此我们平时也要谨慎选择钱包,不要使用不知名的钱包或非官网下载的钱包。
当然也有人说那我将节点地址换掉,那是否能够保障自己的ip的隐匿性呢?理论上来说,确实可以,但是我们需要做的是这个节点是安全的,而且节点最好能将自己真实ip隐藏掉,打造自己的私有安全节点,这样就没问题,但是如果自己的节点被攻破的话,那么可能自己的钱包信息和ip就被知道了,当然也有人连接tor来保持自己节点的ip匿名,这个也是可以打得。另外除了节点之外,对钱包的工作原理也需要清楚,最好的方式是自己做一个适合自己的钱包,而使用别人提供的钱包一般也有可能没法实现隐私信息的保护。一般来说,官方钱包是比较安全透明的,通过在上面进行二次开发是一个不错的选择。
比特币的安全性和匿名性到底是否受到威胁
首先我们说安全性,比特币本质上是一个分布式账本,而我们的钱包其实就是一个私钥,通过私钥可以得知钱包地址,而比特币账本就是记录钱包地址的收发币信息。安全性上来说,除非私钥被泄露或有私钥信息的设备被控制,否则谁也拿不走我们的比特币。也就是说,如果你丢失了一个装有比特币钱包的手机,那么理论上你就应该小心了,这个不是因为比特币导致的,而是因为你丢手机导致的,就好比你把你家门的钥匙丢了,那么你就应该及时换锁才行,这是一样的道理。
很多人说比特币是有匿名性的,这句话本身是对的,但是因为目前生活环境导致,匿名性被削弱了。我们的比特币本质上来说,其实是私钥的和地址的对应关系,如果你没有暴露出你的地址,那么你的比特币可以说是匿名的,如果你暴露了,显然就不是匿名的。而随着各国监管和大数据的发展,专业机构对比特币链上转账的行为进行分析,这使得很多地址其实已经能够和具体某个人对应上了。
比如你使用法币在交易所买币,然后提币的时候,填了一个自己的钱包地址,这样交易所就知道某某某的钱包地址是xxx,或者即使这个地址不是你的地址,可能是你临时转给别的交易所地址,但是交易所也会将这条记录与你进行关联,如果你频繁使用这个地址,而别人没有用过这个地址,那么就可以大概率确定这个地址就是你的了。当然实际情况是不仅仅交易所,在很多场合其实都会存在类似的记录,然后链上信息分析公司通过大量的记录来进行推算和对比,最后得出大量此类地址的主人,因此区块链的匿名就被打破了,而这种打破不是因为区块链导致的,而是因为我们有意或者无意通过专业服务使用自己的钱包地址导致的。
那么如何保持比特币的匿名性呢?其实最好的方法就是钱包使用一次就更换一次,简而言之,别人给我们转一次账,我们就换一次钱包地址,这样做的好处就是别人只知道我们目前的地址,但是这个地址发送的币到哪里,可能大家都不清楚,因此这样自然就保持了匿名性。
如果想要调查清楚后面的未知地址是谁的,那么就得对已知地址的的所有者进行询问,而中间如果有一个线索断掉,也就是其中一个未知地址的所有者没有找到,那么从这个未知地址开始往后,所有的交易都是匿名的,除非之后有一个地址将币冲到了另一家交易所,然后交易所获得了相应的使用者的信息。
简而言之,如果你细心使用,那么比特币就是匿名的好工具,如果你不小心或者刻意将自己的钱包地址泄露出来,那么这个时候自然就不是匿名的,而这与比特币本身没有任何关系。
总结
其实从本质上来看,比特币和其他加密货币其实仅仅是一个工具,而保持匿名与否,或者自己的隐私信息是否泄漏,其实大部分还是与我们自己的使用条件有关,一方面比特币网络是搭建在目前现有的互联网之上的分布式应用,因此很多技术还是无法摆脱现有的互联网体系,比如IP地址等等,这些都有可能成为泄露自己身份的东西,另一方面比特币使用的匿名性也仅仅局限于我们刻意想要让自己的地址信息不为人所知的前提下,而这两种因素都得到很好的解决之后,才能保障个人资产信息的安全。
从目前来看,区块链数据分析公司的发展和各类钱包服务,以及交易所的比特币和法币的资产兑换交互都会使得地址和人会对应起来,那么这种事情对区块 链世界 来说是好还是不好呢?笔者个人认为,目前的数字货币容易被传统媒体冠以洗钱、犯罪等帮凶的主要原因其实还是加密货币的这种匿名性质,而摆脱这种现状,让更多人认识到加密货币是安全透明的是目前监管层面的事情,但是另一方面,我们也不能失去利用加密货币保障自己隐私的权利,防止过度监管或权力机构的恶意打击,这也是核心开发者们需要考虑的。