SCENARIO:用户通过DHT连接的P2P分布式网络。它们用十六进制的76个字符串来标识自己。
问题:用户需要选择自己的ID,而不是分配给他们的很长且随机的ID。考虑到安全性,网络需要保持100%分布,因此无法使用pubkey:username的服务器。
可能的解决方案:分布式数据库。但是,我们如何保证用户名的唯一性?区块链比特币不是可能的,因为下载千兆字节的数据也不是用户友好的,也不适用于动态内容。
可能的解决方案:分布式文件系统,如Tahoe-LAFS。非常复杂和过度,不容易或干净地实施。
因此,问题在于同时具有用户友好性和安全性/分发性。
有什么想法吗?
答案 0 :(得分:0)
所以问题是 - 你认为用户是友善还是邪恶?这意味着 - 你认为,用户会试图窃取彼此的身份证,或者如果你告诉他们这样的身份证已经被拿走了,他们会接受它而只是选择另一个吗?
当您假设用户友好时,您可以简单地使用DHT并为每个用户名或用户ID生成虚拟条目。这样,您可以轻松检查是否已存在此类条目并创建它。这不应该允许任何重复的条目(当正确写入DHT时)。
当您假设用户会尝试冒充他人时,您需要更强大的安全机制,并且可能应该使用GnuPG或其他PGP或PPK(公共私钥)实施。就我所知 - 这是确保某人身份的最简单的分散方式。但是,在这种情况下,您需要存储用户的公钥。