8.12加密和认证连接
比特币的大多数新用户假设比特币节点的网络通信是加密的。其实,比特币的原始实现就很明显地完成了。虽然这不是完整节点的主要隐私问题,但SPV节点是一个很大的问题。
作为增加比特币P2P网络隐私和安全性的一种方法,有两种解决方案可以通过BIP-150/151提供通信加密:Tor传输和P2P认证和加密。
8.12.1Tor网络传输
Tor代表洋葱路由网络,是一个软件项目和网络,通过提供匿名,不可追踪和隐私的随机网络路径提供数据的加密和封装。
Bitcoin Core提供了多种配置选项,允许您运行通过Tor网络传输的流量的比特币节点。此外,Bitcoin Core还可以提供Tor隐藏服务,允许其他Tor节点通过Tor直接连接到您的节点。
从Bitcoin Core版本0.12开始,如果能够连接到本地Tor服务,节点将自动提供隐藏的Tor服务。如果您安装Tor并且Bitcoin Core进程作为具有足够权限的用户访问Tor认证cookie的用户运行,则应自动运行。使用debug标志打开Bitcoin Core对于Tor服务的调试,如下所示:
$ bitcoind —daemon —debug=tor
你应该在日志中看到“tor:ADD_ONION success”,表示Bitcoin Core已经向Tor网络添加了隐藏的服务。
您可以在Bitcoin Core文档(docs / tor.md)和各种在线教程中找到有关运行Bitcoin Core作为Tor隐藏服务的更多说明。
8.12.2对等认证和加密
BIP-150和BIP-151两种比特币改进方案在比特币P2P网络中增加了对P2P认证和加密的支持。这两个BIP定义了可由兼容的比特币节点提供的可选服务。 BIP-151启用了支持BIP-151的两个节点之间的所有通信的协商加密。 BIP-150提供可选的对等认证,允许节点使用ECDSA和私钥对对方的身份进行身份验证。 BIP-150要求在认证之前,两个节点按照BIP-151建立了加密通信。
截至2017年1月,BIP-150和BIP-151未在Bitcoin Core中实施。但是,这两个提案已由至少一个名为bcoin的替代比特币客户端实施。
BIP-150和BIP-151允许用户运行连接到受信任的完整节点的SPV客户端,使用加密和身份验证来保护SPV客户端的隐私。
此外,可以使用身份验证来创建可信比特币节点的网络,并防止中间人攻击。最后,P2P加密(如果广泛部署)将加强比特币对流量分析和隐私侵权监控的阻力,特别是在互联网使用受到严格控制和监控的极权主义国家。
标准定义在BIP-150 (Peer Authentication) and BIP-151 (Peer-to-Peer Communication Encryption).