Skip to content

Commit de8a611

Browse files
references
1 parent 9215300 commit de8a611

File tree

1 file changed

+12
-16
lines changed

1 file changed

+12
-16
lines changed

src/routing/kad-dht.md

+12-16
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: Kademlia DHT
33
description: >
44
The IPFS Distributed Hash Table (DHT) specification defines a structured
5-
overlay network used for peer routing and content routing in the
5+
overlay network used for peer and content routing in the
66
InterPlanetary File System (IPFS). It extends the libp2p Kademlia DHT
77
specification, adapting and adding features to support IPFS-specific
88
requirements.
@@ -15,12 +15,14 @@ editors:
1515
affiliation:
1616
name: Shipyard
1717
url: https://ipshipyard.com
18+
xref:
19+
- kademlia-paper
1820
tags: ['routing']
1921
order: 1
2022
---
2123

2224
The IPFS Distributed Hash Table (DHT) specification defines a structured
23-
overlay network used for peer routing and content routing in the
25+
overlay network used for peer and content routing in the
2426
InterPlanetary File System (IPFS). It extends the libp2p Kademlia DHT
2527
specification, adapting and adding features to support IPFS-specific
2628
requirements.
@@ -58,7 +60,10 @@ used in other DHT swarms as well.
5860

5961
## DHT Swarms
6062

61-
A DHT swarm is a group of interconnected nodes running the IPFS Kademlia DHT protocol, collectively identified by a unique protocol identifier. IPFS nodes MAY participate in multiple DHT swarms simultaneously. DHT swarms can be either public or private.
63+
A DHT swarm is a group of interconnected nodes running the IPFS Kademlia DHT
64+
protocol, collectively identified by a unique protocol identifier. IPFS nodes
65+
MAY participate in multiple DHT swarms simultaneously. DHT swarms can be either
66+
public or private.
6267

6368
### Protocol Identifier
6469

@@ -156,9 +161,10 @@ prefix with the local node. For more information see [bucket population
156161
measurements](https://github.com/probe-lab/network-measurements/blob/master/results/rfm19-dht-routing-table-health.md#peers-distribution-in-the-k-buckets).
157162

158163
The IPFS Kademlia DHT uses a bucket size of `k = 20`. This corresponds to the
159-
`k` value as defined in the original Kademlia paper [0]. The `k` value is also
160-
used as a replication factor and defines how many peers are returned to a
161-
lookup request.
164+
`k` value as defined in the original [Kademlia
165+
paper](https://www.scs.stanford.edu/~dm/home/papers/kpos.pdf)(:cite[kademlia-paper]).
166+
The `k` value is also used as a replication factor and defines how many peers
167+
are returned to a lookup request.
162168

163169
Note that DHT Clients are never included in a Routing Table.
164170

@@ -654,13 +660,3 @@ Followed https://blog.ipfs.tech/2023-ipfs-unresponsive-nodes/
654660
[libp2p/kad-dht](https://github.com/libp2p/js-libp2p/tree/main/packages/kad-dht)
655661
* Rust:
656662
[libp2p-kad](https://github.com/libp2p/rust-libp2p/tree/master/protocols/kad)
657-
658-
---
659-
660-
## References
661-
662-
[0]: Maymounkov, P., & Mazières, D. (2002). Kademlia: A Peer-to-Peer
663-
Information System Based on the XOR Metric. In P. Druschel, F. Kaashoek, & A.
664-
Rowstron (Eds.), Peer-to-Peer Systems (pp. 53–65). Berlin, Heidelberg: Springer
665-
Berlin Heidelberg. [DOI](https://doi.org/10.1007/3-540-45748-8_5)
666-
[pdf](https://www.scs.stanford.edu/~dm/home/papers/kpos.pdf)

0 commit comments

Comments
 (0)