好的,假设我有一个运行有 10 个客户端的 DHT,其中包含一堆数据。
恶意客户端运行我的程序的替代版本不是相对容易吗,这可能会对我的数据进行潜在的破坏性操作(例如替换密钥、删除密钥、更改数据、删除我的整个 DHT 等)。 ..)
我该如何防止这种情况发生?
我只能想到:
校验和验证程序并只允许那些连接。但这会被黑客入侵吗?
使用某种密钥验证每个 DHT 客户端。
有谁知道如何防止这种情况?提前致谢。
好的,假设我有一个运行有 10 个客户端的 DHT,其中包含一堆数据。
恶意客户端运行我的程序的替代版本不是相对容易吗,这可能会对我的数据进行潜在的破坏性操作(例如替换密钥、删除密钥、更改数据、删除我的整个 DHT 等)。 ..)
我该如何防止这种情况发生?
我只能想到:
校验和验证程序并只允许那些连接。但这会被黑客入侵吗?
使用某种密钥验证每个 DHT 客户端。
有谁知道如何防止这种情况?提前致谢。
不要尝试验证运行 DHT 节点本身的软件,只需根据需要验证它们提供的行为和数据。
有几种方法可以做到这一点,具体取决于数据的预期用途。在不知道 DHT 的确切用例的情况下,我只能提供一些一般性指导:
node ID == node's pubkey
<key,List<value>>
表中每个键的每个 IP 仅 1 个条目一般来说:将所有节点视为不可靠、有缺陷,并且其中一些(但不是全部)是恶意的。
信任但要验证。