在Kademlia中,为什么建议使用160位节点ID和密钥而不是128位?

时间:2019-06-03 16:50:05

标签: p2p dht kademlia

Kademlia论文指出,节点被分配了随机的160位ID以及密钥。这是严格的限制吗?如果这对我来说足够好,我还可以继续使用128位密钥空间吗?

1 个答案:

答案 0 :(得分:2)

之所以选择该长度,是因为SHA1用作哈希表键的哈希函数,可以输出160位,这是当时使用最广泛的哈希函数。

路由算法本身不需要特定的长度即可工作,它所需要的只是密钥空间足以避免collisions in randomly chosen IDs。 128位ID将提供64位冲突空间,unless you intend to address grey goo应该足够。

但是,除了路由算法本身之外,加密问题也可能是相关的。使用加密的网络受​​益于节点ID加倍,因为节点的公钥和通常部署的ECC算法需要至少256位的公钥。此外,针对(当前假设的)量子攻击的抵抗力使建议的哈希函数大小大大超出了128位,因为它们将传统的 N / 3 的碰撞抵抗力从 N / 2 降低了攻击。