比特币支付网络的设计采用了点对点(P2P)的分布式网络结构,使比特币钱包客户可以在没有任何中间代理或服务器的情况下访问比特币网络。这一方法不仅保护了比特币钱包用户的匿名性(例如,服务器端用户无需注册,没有检查点可以监控任何比特币用户的活动),而且还能防止比特币钱包服务被某些节点破坏。比特币网络黑客需要控制大部分比特币矿工和整个节点;否则,黑客就不能篡改比特币支付交易。为使比特币不受中心化,比特币官方网站https://bitcoin.org/也发布了比特币节点的参考实现,BitcoinCore支持任何的比特币功能(如钱包、网络路由、矿工)。
但Bitcoin.org的开发目标是PC用户(Windows、MacOS和Linux),而不是手机用户,这代表着市场上任何的比特币钱包App都是由其他方开发的。更有甚者,比特币并没有提供任何检查机制来检查和加强其钱包APP的遵守情况。这就引出了两个问题:这些比特币钱包APP是否仍然在以比特币为中心?否则,用户是否知道违规行为?针对10个流行的比特币钱包APP及其用户分别进行了安全性研究和用户调查。研究发现,以上两个问题的答案均为否定。
研究发现,首先,一些钱包APP没有提供理想的比特币去中心化特性。这种钱包应用不允许用户直接进入比特币网络。必须根据安全通道(如TLS)将任何比特币交易传送到由应用开发者部署的中间服务器。把这类应用称作非P2P钱包应用,违反比特币去中心化。研究还发现,一些非P2P钱包用户并不能完全控制自己的比特币钱包私钥。这样,用户存储在自己的比特币地址中的比特币就可以不经用户事先同意,由其他方转移到另一个比特币地址。最终,大部分钱包APP用户并不知道有违反比特币去中心化的行为,这些用户可能会遭受各种比特币钱包欺诈攻击。
证实:进行了一次试验以证实这个漏洞,首先,已在SamsungYolmxyS6Edge上安装测试过的比特币钱包APP,根据家用Wi-Fi路由器连接到因特网,并在S6上禁用任何后台数据服务。第二,tcpdump是一个数据包捕获工具,用于捕获家庭Wi-Fi路由器发送给S6的任何数据包。再次,启动了一个测试过的比特币钱包APP。