Bittorrent KRPC - 为什么节点 ID 的大小是 info_hash 的一半并使用每个字符 a-z?

Bittorrent KRPC - Why are node ID's half the size of an info_hash and use every character a-z?

这让我很困惑。

最初的 Kademlia 提供像 sha1 这样的 160 位十六进制应该被使用,原因很明显: 当搜索与 infohash 相关的节点时,您只需搜索 nodeID,因为它们应该与 sha1 infohash 相同的系统。

但是读到这里: http://www.bittorrent.org/beps/bep_0005.html

ID 是 abcdefghi0123456789 即: 1) 一半大小 2) 使用比标准十六进制编码更多的字符。

那我错过了什么?

为什么节点id是这样的?

要使示例中的原始二进制文件 node_id 可打印,
它被巧妙地选择为仅包含字母数字字符。
例子中的node_id其实是:abcdefghij0123456789
如您所见,如预期的那样有 20 个字符 = 20 个字节 = 160 位。

abcdefghij0123456789 hex-encoded 是:0x6162636465666768696A30313233343536373839