112得票4回答
种子中的DHT是什么意思?

我正在编写一个P2P实现,希望使其去中心化。但是,我在理解像BitTorrent这样的协议中DHT如何工作方面遇到了一些困难。 如果没有tracker,客户端如何知道对等方在哪里? 对等方是否存储在实际的种子文件中?

33得票1回答
如何在像BitTorrent这样的点对点协议中进行NAT穿透。

我了解NAT穿透以及STUN、TURN和ICE的使用。我想知道这些是否在像BitTorrent这样的点对点文件共享应用程序中实现。无论是通过STUN创建直接连接还是通过TURN中继,跟踪器是否有助于在NAT后面通信的同行之间进行通信。在分布式哈希表(DHT)的情况下,一个同行如何与其他NAT后...

10得票2回答
如何理解Kademlia(KAD)协议?

最近,我阅读了一份Kademlia协议的文档,我试图理解这个协议,但仍有一些问题: 为什么一个节点必须在知道其ID但不知道IP或端口时找到另一个节点? 他如何拥有ID而不知道IP或端口,他从哪里获得ID? 我认为两个不同节点之间的“距离”不是路由距离或真实距离,它只是一种虚拟距离,可以用算法快...

9得票1回答
高度不平衡的Kademlia路由表

在Kademlia论文的第2.4节的最后一段中,指出为了正确处理高度不平衡的树,Kademlia节点将所有有效联系人保留在至少包含k个节点的子树中,即使这需要分裂桶(bucket),其中节点自身ID不存在。 然而,论文的前一节似乎表明,如果k-bucket已经有k个元素,则对该k-bucke...

11得票5回答
一致性哈希是如何工作的?

我正在尝试理解一致性哈希的工作原理。这是我想要跟进的文章,但我无法理解,首先我的问题是: 我理解,服务器被映射到哈希码的范围内,数据分配更加固定且查找变得容易。但是当一个新节点添加到集群中时,这如何处理? 示例Java代码不起作用,有没有简单的建议基于Java实现一致性哈希。 更新 ...

18得票4回答
实现最简单的DHT

哪种分布式哈希表(DHT)最容易在Python中实现?有没有不臃肿的好例子? 我并不是在寻找DHT的定义,因为我更注重于这样的设计和实现。

27得票2回答
分布式哈希表技术和比特币区块链有什么区别?

这个问题可能适合在比特币论坛中讨论,但我想从编程的角度理解。 有用于分布式存储的技术,例如分布式哈希表(比如kademlia或类似的)。比特币区块链与分布式哈希表有何不同?或者说,分布式哈希表技术是比特币区块链的基础吗?为什么比特币区块链相对于DHT被誉为突破性的技术?

22得票1回答
PEX协议(磁力链接)如何找到第一个IP?

我正在尝试理解磁性链接是如何工作的。我读到它们使用DHT和PEX来获取同行,但如果我是网络中的新节点,仅有文件哈希值如何找到同行呢?难道不总是需要链接到已知主机吗? 谢谢

30得票1回答
如何从种子磁力链接中获取第一个节点?

我一直在尝试理解种子磁力链接技术,但似乎无法弄清楚在打开磁力链接时如何连接到第一个对等节点。 当您获得如下的磁力链接时,它不包含初始对等节点,只有BitTorrent信息哈希(btih)和文件名。 magnet:?xt=urn:btih:bbb6db69965af769f664b6636e...

91得票8回答
一个Bittorent客户端中的DHT是如何“引导”启动的?

如果我有一个没有任何跟踪器的torrent,并且我刚刚启动了bittorent客户端,所以我还没有任何peer,那么我如何知道在DHT中首先连接谁?看起来我至少需要知道DHT中的一个节点才能开始...