Mỗi node Kademlia có một ID 160 bit. Các node ID được xây dựng bằng cách sử dụng một hàm băm về địa chỉ IP của node, port và các thông tin dữ liệu khác của node (cách xây dựng giống như trong Chord). Mọi bản tin mà node truyền đi bao gồm cả node ID của nó để cho phép người nhận ghi lại sự tồn tại của người gửi nếu cần.
Các khóa cũng là các ID 160 bit. Để thiết lập và tìm căp <khóa, giá trị>, Kademlia dựa vào khái niệm khoảng cách giữa 2 key ID. Giửa sử có 2 key ID x và y. Kademlia xác định khoảng cách giữa chúng bằng cách lấy XOR giữa chúng. Ký hiệu d(x,y) là khoảng cách giữa 2 điểm x, y thì ta có:
Ta có các tính chất của toán tử XOR:
d(x,x) = 0 d(x,y) > 0 nếu x ≠ y d(x,y) = d(y,x) với mọi x,y
d(x,y) + d(y,z) ≥ d(x,z)
Giống như ma trận vòng tròn của Chord, XOR là đơn thứ cấp. Với bất cứ điểm x và khoảng cách ∆ > 0 thí luôn tồn tại một điểm y sao cho d(x,y) = ∆. Khả năng vô hướng bảo đảm rằng tất cả tìm kiếm có cùng khóa sẽ hội tụ về cùng một đường dẫn. Vì vậy, lưu giữ cặp <khóa, giá trị> dọc theo đường dẫn tìm kiếm sẽ làm giảm bớt vết bước nhảy. Bên cạnh đó, cấu trúc XOR cũng giống như Pastry về tính đối xứng (d(x,y) = d(y,x) với mọi x, y).
Với tính chất của toán tử XOR, khác nhau ở những bit sắp xếp cao hơn sẽ ảnh hưởng lớn hơn so với những bit sắp xếp ở vị trí thấp hơn. Vì vậy, những node trong cùng cây con thì có node ID gần nhau hơn so với các node trong các cây con khác. Hình mô tả sau là một cây XOR hoàn chỉnh của các số 5 bit
Hình 2.2.1: Cây XOR của các số 5 bit.
Các điểm trong cùng cây con thì giống nhau hơn so với các điểm ở cây con khác