我对 P2P 的工作方式存有疑问 -
所有 p2p 节点都需要一个服务器来连接彼此吗?(例如,pptp 是一个 p2p 连接,但它使用 vpn 服务器,而 bittorrent 也是一个 p2p 系统,但它使用 tracker)
Bittorrent 客户端是否使用跟踪器来查找 ips 或者客户端之间的流量是否通过跟踪器?
最后 - 比特币客户端如何找到彼此?他们使用类似跟踪器的东西吗?(我在比特币网站上读到,如果我们想帮助比特币网络,我们可以在我们的服务器上安装比特币核心,但问题是他们如何通过互联网相互通信。当然需要主服务器来连接它们吗?我听说有一个 IRC 服务器可以向客户端发送 IP 地址)
答案1
P2P 有两种不同的含义,您似乎感到困惑。
P2P 可以表示点对点 - 就像 OpenVPN 或 PPTP 等 VPN 客户端的情况一样。这些连接直接发生 - 并且仅在 2 个设备之间发生。
它还可以表示点对点,例如 Bit Torrent 等,其中存在连接网络。本文的其余部分将讨论这些情况,因为它们似乎是您感兴趣的。
对于如何构建 P2P 网络,没有固定的规则 - 这取决于协议。也就是说,通常会有多个服务器和多个客户端。
服务器的作用通常是帮助客户端找到彼此。一旦客户端找到彼此,它们通常会直接通信 - 客户端之间的通信不会通过服务器(事实上,如果通过服务器,它就不是 P2P 网络了)。
但是,根据流量的类型,不需要有服务器或服务器列表 - 在有限的情况下,所有客户端都可以宣传他们的存在 - 尽管这在更广泛的互联网上并不常见,因为它的扩展性不佳。
IRC 服务器是一种简单的老式聊天服务器 - P2P 网络可以使用它来协调客户端之间的通信,但这是不必要的,而且并不常见。(IRC 服务器通常用于控制僵尸网络,同时隐藏控制器详细信息)。跟踪器是处理此功能的更常见机制。
我不是比特币专家,但我知道比特币不需要追踪器/中心点——事实上它的优点之一是完全去中心化(即不需要中心点或追踪器)——并且每个比特币都有一个链(即可以追溯到它最初的创建)。
比特币实际上并不需要比特币追踪器,据我所知,它是一种根据正在进行的交易来了解比特币价值的方法。