cHao가 말했듯이 네트워크의 분산 특성은 노드가 자신의 ID와 연락처 정보를 상대방 노드에 게시해야한다는 것을 의미합니다. ID가 연락처 정보에 매핑되는 중앙 위치가 없으므로 각 노드는 자체 라우팅 테이블에서 네트워크의 노드 하위 집합에 대해이 매핑을 유지해야합니다.
Kademlia 라우팅 테이블은 노드가 네트워크에 대한 상세한 지식을 가지며 기하 급수적으로 지식을 멀리 떨어지게 구성됩니다.
ID 간의 개념적 거리의 척도로서 비트 XOR을 사용하면 주어진 대상 ID에 대해 두 ID가 대상까지 동일한 거리를 가질 수 없다는 이점이 있습니다.
ID가 00에서 63 사이의 간단한 예제를 상상해보십시오. 순수한 수학적 차이는 거리의 척도로서 15와 35가 25에서 동일한 거리가 될 것입니다. 둘 다 거리가 10입니다. XOR을 사용하면 15와 25 사이의 거리는 22이고, 25와 35 사이의 거리는 58입니다.
이렇게하면 대상 ID에 대한 k 개의 가장 가까운 ID 그룹을 명확하게 계산할 수 있습니다.
상수 k에는 Kademlia에서 몇 가지 용도가 있지만 주로 복제 요소입니다. 즉, 데이터 조각은 k 개의 가장 가까운 노드에 데이터 ID에 저장됩니다.
룩업 프로세스는 k 노드 그룹을 반환하거나 (각 노드에 데이터를 저장하기 전에) 조회 젃차에서 첫 번째 노드에서 단일 데이터를 반환하도록 설계되었습니다.
이 때문에 순수한 Kademlia는 단일 노드를 찾는 데 적합하지 않으므로 귀하의 질문 중 일부가 너무 적합하지 않은 것으로 확신하지 못합니다. 단일 노드를 찾기 위해 Kademlia를 사용하려는 경우, 노드가 대상 노드의 연락처 세부 정보를 반환하면 조기에 조회 프로세스를 수정할 가치가 있습니다 (대상 값 프로세스 중에 발견됨).
Checkout http : // gleamly. –