据我了解,我将使用我的 id 作为目标到已知节点进行“find_node”查询。 这将为我提供一个桶,其中我的 id 落在这个范围内(范围是桶的 [left] xor [right]),然后我将开始查询“find_nodes”到我的路由表中的不同节点,我的 id 作为目标,直到我找不到任何更近的节 ...
据我了解,我将使用我的 id 作为目标到已知节点进行“find_node”查询。 这将为我提供一个桶,其中我的 id 落在这个范围内(范围是桶的 [left] xor [right]),然后我将开始查询“find_nodes”到我的路由表中的不同节点,我的 id 作为目标,直到我找不到任何更近的节 ...
我假设在使用该 Infohash 找到对等点后,您会发送握手消息,直到一个对等点建立连接。 但我似乎无法在 Wireshark 中找到任何包含元数据的数据包。 如果可能的话,你能告诉我元数据查询是什么样子的吗? 我发现的关于元数据的唯一东西是 bep 9,但我有点难以理解,而且我在 Wiresha ...
我想继续我的最后一个相关主题,试图理解和构建一个 BitTorrent 搜索引擎。 在收听网络中的“get_peers”消息时,我设法获取了 infohashes。 我继续向相应的 DHT 节点询问它的对等节点。 根据我的理解,为了查明 infohash 是否有效,(对于初学者)我必须向同行发送 ...
是否有任何工具可以检测 local.network 上的 DHT? 也许 Kademlia、Hyperswarm 或其他图书馆? 目标不是阻止 DHT(几乎不可能),而是编写一个脚本或服务来通知是否在 local.network 上检测到 DHT 客户端。 也可以确定DHT客户端的本地ip。 UP ...
原始问题: IPFS.add() 方法会自动更新我的本地 DHT 并将其传播到其他对等点吗? 为了单独测试 IPFS.add() 方法是否允许其他节点从我的电脑上下载内容,我在我的 windows 电脑上运行了这个脚本: 并在我的 macbook 上运行这段代码来获取文件: 我通过这个测试发现,只 ...
storj kademlia 节点中的 NodeId 生成是如何发生的? 为什么生成 nodeid 需要很长时间,这对节点的安全性有何贡献? ...
在DHT BEP和磁力链接 BEP中都没有这方面的内容 ...
当我遇到这个查询响应(KRPC 类型 r)时,我正在调试这个 dht 实现。 BEP5 中没有关于“ip”字段的文档,那么为什么会这样呢? 为什么有时响应有“ip”字段而其他时候没有“ip”字段但有“v”字段(已记录)。 以我的理解,不应该有这样的“ip”字段。 我在哪里可以找到有关它的文档? ...
在原论文的“Routing”一节中,正常分桶规则的问题描述如下: 每个前缀为 001 的节点都有一个空的 k-bucket,你应该插入其中,但是你的 bucket 刷新只会通知节点的 [$k]。 我不明白为什么这是个问题。 为什么前缀为 001 的每个节点都需要接收你的桶刷新? 我已经阅读了原始论文 ...
我是以太坊的新手,通常是区块链。 我了解到以太坊区块链适用于Kademlia 。 Eleuth P2P很好地解释了分布式哈希表及其工作原理。 现在我使用geth连接到以太坊主网,它在 5 到 6 分钟内发现了 2 到 3 个最大对等点。 现在我知道算法了,但我关心的是如何发现第一个对等点? 因 ...
我通过bittorrent protocol获得了元数据,我想知道有多少人下载了 torrent。 有没有办法实现这一目标? ...
在了解 p2p.networks 时,我发现 P2P.networks 需要信令服务器,但是现代 DHT 可以取代对信令服务器的需求吗? (主要是打孔) ...
我试图理解为什么从历史上看,DHT(分布式哈希表)是一个用于去中心化 p2p 网络的好系统。 从效率的角度来看:这是让一堆节点知道每个节点如何到达而无需在它们之间进行复杂通信(在主线 DHT 的情况下使用 XOR 距离)的绝妙方法。 从匿名的角度来看,我认为情况并非如此:我想知道是否可以枚举 D ...
我正在 C++ 中实现 P2P DHT 弦算法。我想实现一个功能,用户可以在其中查看 ring.network 拓扑以及其中的参与节点。 类似于下面的内容。 图片中的计算机图标不是必需的。 但是,我设想拓扑结构还提供有关各个节点的详细信息 - 各自的 IP 地址、ID 等。 我只想为用户提供一个 ...
我尝试将 M-DART TCL 文件从单通道修改为多通道,同时确保 DHT 仍在运行并且不应用多路径协议。 我得到的错误如下: 但是我已经专门为每个节点编写了变量。 我的问题是我哪里做错了? 我在下面剪辑了我修改过的 tcl 脚本。 希望有人可以回答我的问题。 谢谢。 ...
查找协议背后的想法是找到与该键最近的 k 个邻居,并检查其中是否有任何一个具有与查询的键对应的值。 论文: http://css.csail.mit.edu/6.824/2014/papers/kademlia.pdf 我的问题是,在这种情况下会出现价值观冲突吗? 例如,一个邻居说值是x而另一个邻 ...
论文说: 要加入网络,节点 u 必须与已经参与的节点 w 有联系。 u 将 w 插入到适当的 k-bucket 中。 然后 u 对其自己的节点 ID 执行节点查找。 最后,u 刷新比其最近邻居更远的所有 kbuckets。 在刷新期间,u 都填充自己的 k-buckets 并根据需要将自己插入其 ...
查找节点操作的第一步如下(如论文所述): 查找发起者首先从其最近的非空 k-bucket 中挑选 α 个节点(或者,如果该存储桶的条目少于 α 个,它只获取它所知道的 α 个最近的节点)。 为什么它直接从桶中挑选元素,而不是在所有桶中的所有元素中寻找k最接近的元素? 我相信后者是算法第 2 步中发 ...
假设您有节点u ,它在其路由表中包含节点w 。 节点u是否必须出现在节点 w 的路由表中? ...
我写了一个基于Bittorrent Protocol的 java 的 dht 种子爬虫。 它在我从中获得一些种子的 1c2g1m 云服务器A上运行良好。 然后我又买了一个云服务器B ,叫做Lighthouse 。 B为 1c2g5m,限制为 1000g。 但是我的爬虫在B上不起作用,我无法从中得 ...