问题标签 [dht]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
757 浏览

protocols - 最高效的 DHT

什么是最有效的DHT?我正在寻找名称和/或某种实现或相关工作,但我不是在寻找最常用的那个。

在 CPU 执行周期、负载平衡和内存消耗方面高效。

0 投票
2 回答
899 浏览

authentication - 用户身份验证和 dht

假设我只实现了 DHT(分布式哈希表)(在 Python 中),并且我想通过 P2P 网络构建身份验证服务,但没有引入具有此类服务的集中式身份验证服务器。可以做到吗,如果可以,我该如何实现?

我熟悉 Skype 和 Wuala 是如何做到这一点的,但我正在寻找没有单点故障的分散式解决方案。

0 投票
1 回答
725 浏览

streaming - 使用 dht 的实时 p2p 流

是否可以在像 kademlia 这样的 dht 网络中进行实时流式传输?

0 投票
1 回答
931 浏览

p2p - 使用哪种 DHT 算法(如果我想加入两个单独的 DHT)?

我一直在研究一些 DHT 系统,特别是 Pastry 和 Chord。我已经阅读了一些关于 Chord 对流失反应的担忧,尽管我相信这对于我手头的任务来说不会是一个问题。我正在实施某种社交网络服务,它不依赖于课程项目的任何中央服务器。我需要 DHT 进行查找。

现在我一开始并不知道网络中的所有服务器。正如我所说,没有主要的跟踪服务器。它是这样工作的:每个客户端都有三个专用服务器。三台服务器都有客户端的配置文件,它是墙,它是个人信息,被复制。当用户添加朋友(输入客户地址)时,我才了解其他服务器组。所以我会在两组三台服务器上创建两个单独的 DHT,当他们彼此成为朋友时,我想加入 DHT。我想始终如一。我没有太多时间来熟悉这些协议,所以如果我想加入两个独立的 DHT,我想知道哪个更好?

0 投票
1 回答
262 浏览

language-agnostic - 如何在社交交易环境中使用 DHT

我试图了解是否可以使用DHT来解决我正在处理的问题:

我有一个交易环境,专业期权交易者可以通过要求其他交易者借给他们一些风险限额来提高他们的风险限额。借贷交易者可以搜索具有某些风险参数的交易者,这些参数是每个交易者个人资料的一部分,即希腊人,或者借贷交易者可以订阅来自某些正在寻找风险的交易者的请求。

我希望这个环境具有可扩展性和分散性,但我不知道当数据包含在 DHT 中时交易者如何搜索特定的配置文件参数。有人可以解释如何做到这一点吗?

更新:
一个可能更容易理解的示例可能是 SO,但 Risk Exchange 不是作为 Web 应用程序运行,而是在每个交易者的工作站上作为桌面应用程序运行。风险请求就像问题(可能由合约、交易所等标记),每个用户都有一个档案,显示他们的请求历史、借入风险的回报等。

显然,“交易所”可以在服务器上运行,但我希望将其分散并使其具有可扩展性,以便系统可以支持任意数量的交易者。如果这些信息存储在分布式哈希表中,我如何搜索与交易者资料有关的关键字、标签和其他数据?

0 投票
2 回答
475 浏览

language-agnostic - 找到正确 kademlia 存储桶的最简单方法

Kademlia 协议中,节点 ID 是 160 位数字。节点存储在桶中,桶 0 存储除最后一位之外与该节点具有相同 ID 的所有节点,桶 1 存储除最后 2 位之外与该节点具有相同 ID 的所有节点,以此类推为所有 160 个存储桶打开。

找到我应该将新节点放入哪个存储桶的最快方法是什么?

我将存储桶简单地存储在一个数组中,并且需要这样的方法:

显而易见的方法是从最重要的位开始,逐位比较,直到找到不同之处,我希望有一个基于聪明位旋转的更好方法。

实用说明:我的 Int160 存储在一个包含 20 个项目的字节数组中,优先考虑适用于这种结构的解决方案。

0 投票
1 回答
8954 浏览

python - 对 Python 哈希的操作

我有一个相当奇怪的问题。对于分布式哈希表,我需要能够对 MD5 哈希进行一些简单的数学运算。这些包括总和(由哈希表示的数字总和)和模运算。现在我想知道实现这些操作的最佳方法是什么。我正在使用 hashlib 来计算哈希值,但是由于我得到的哈希值是字符串,我如何用它们计算?

0 投票
1 回答
813 浏览

architecture - 分布式哈希表 (DHT) 可以用于动态 Web 应用程序吗?另一个P2P设计?

分布式哈希表能否用于具有发布/订阅类型应用程序的双向 Web 应用程序?

我正在研究构建一个论坛类型的应用程序,但具有 DHT 架构和 P2P(尽管中央查找服务器可以提高性能)。想想客户端的 Gnutella/Kazaa 类型的应用程序,但不是访问中央服务器,而是将消息发布到分布在 Internet 上的其他客户端上的主题。是的,我知道这看起来有点奇怪,但我有我的理由...... :) 最终的一致性(比如在 5 分钟内)是可以的。

我一直在网上梳理 DHT 的东西,大多数似乎都是理论上的,我不确定 DHT 是否真的实用。它还需要更新一个主题或至少标记一个“脏位”。

网站上的大师有什么想法吗?另外,关于最成熟的 DHT 框架有什么建议可以尝试吗?

干杯,亚历克斯

0 投票
5 回答
842 浏览

protocols - 有关无跟踪器的 bittorrent 的一般信息,例如 BitTorrent 的 Mainline DHT

我很好奇无追踪器种子是如何工作的。我试图搜索有关 DHT 种子协议的信息(演示文稿或其他内容),但找不到任何有价值的资源。

有人可以提供描述或链接吗?

0 投票
4 回答
3739 浏览

java - 一致性哈希是如何工作的?

我试图了解一致的哈希是如何工作的。这是我试图关注但无法关注的文章,首先我的问题是:

  1. 我理解,服务器被映射到哈希码的范围内,数据分布更加固定,看起来也很容易。但这如何处理集群中添加新节点的问题呢?

  2. 示例 java 代码不起作用,任何基于简单java的一致哈希的建议。

更新

  1. 一致散列的任何替代方案?