В Kademlia paper Петра Маймункова и Дэвида Мазьера говорится, что расстояние XOR является действительной неевклидовой метрикой с ограниченными объяснениями почему каждое из свойств действительной метрики является необходимым или интересным, а именно:
- d (x, x) = 0
- d (x, y) > 0, если x!= y
- forall x, y: d (x, y) = d (y, x) - симметрия
- d (x, z) <= d (x, y) + d (y, z) - неравенство треугольника
Почему важно, чтобы метрика имела эти свойства в целом? Почему каждое из этих свойств необходимо в контексте запросов маршрутизации в реализации Kademlia Distributed Hash Table?
Кроме того, в документе упоминается, что однонаправленность (при заданном x и расстоянии l существует только один y, для которого d (x, y) = l) гарантирует, что все запросы будут сходиться по одному и тому же пути. Почему это так?