0

场景:用户通过 DHT 连接的 P2P 分布式网络。它们通过 76 位十六进制字符串标识自己。

问题:用户需要选择自己的 ID,而不是分配给他们一个非常长且随机的 ID。考虑到安全性,网络需要保持 100% 分布式,因此无法使用具有 pubkey:username 的服务器。

可能的解决方案:分布式数据库。但是,我们如何保证用户名的唯一性呢?像比特币一样的区块链是不可能的,因为下载千兆字节的数据也不是用户友好的,而且对于动态内容也没有用处。

可能的解决方案:分布式文件系统,例如 Tahoe-LAFS。极其复杂和矫枉过正,不容易或干净地实现。

因此,问题在于同时具有用户友好性和安全性/分布。

有任何想法吗?

4

1 回答 1

0

所以问题是——你认为用户是友好的还是邪恶的?这意味着 - 您是否假设用户会尝试窃取彼此的 ID,或者如果您告诉他们这样的 ID 已经被占用,他们会接受它并简单地选择另一个?

当您假设用户友好时,您可以简单地使用 DHT 并为每个用户名或用户 ID 生成一个虚拟条目。通过这种方式,您可以轻松检查此类条目是否已存在并创建它。这不应该允许任何重复的条目(当正确写入 DHT 时)。

当您假设用户会尝试冒充他人时,您需要更强大的安全机制,并且可能应该使用 GnuPG 或其他 PGP 或 PPK(公共私钥)实现。那是 - 据我所知 - 确保某人身份的最简单的去中心化方式。但是,在这种情况下,您需要存储用户的公钥。

于 2014-04-03T21:34:04.790 回答