之前没时间看,今天看了才发现那么简单,真是聪明的想法。不过有个疑问:kad发布的策略是怎样的呢?毕竟每个人的联系人列表容量有限,不可能包括所有的距离,那发布文件的时候采用什么样的策略呢?
自然的想法是将文件发到距离发布文件HASH最近的节点上,再由该节点发出去,直到达到该hash比较近的节点群(命中可能性太小了),但是……由于不知道目标hash附近节点的密集程度,就难以控制传出的层数。层数太少的话,很容易造成发布失败(对方找不到或者目标节点都失效了);但层数太多的话,对网络的负担就太大了(这个是以几何级数增长的吧……)。kad是怎么找到这个平衡的呢?如果hash算法均匀度不高(造成某些hash过于集中),这种平衡会不会被打破呢?