Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add minimal Kademlia DHT spec #108

Merged
merged 40 commits into from Jun 29, 2021
Merged
Show file tree
Hide file tree
Changes from 25 commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
5378e61
WIP Initial Kademlia DHT spec.
raulk Nov 7, 2018
ee9734b
format kad-dht spec.
raulk Nov 8, 2018
8b89dc2
Update Kademlia DHT spec
jhiesey Dec 21, 2018
cb971aa
dht: fix distance function
Stebalien Aug 8, 2019
aee103e
Merge branch 'libp2p/master' into kad-dht-spec
mxinden May 7, 2021
4d43958
kad-dht: Add document header
mxinden May 7, 2021
55d32ff
kad-dht: Wrap lines at 80 and fix typos
mxinden May 7, 2021
3de65ae
kad-dht: Document to use one stream per request
mxinden May 7, 2021
6909f8a
kad-dht: Reword validation description
mxinden May 10, 2021
b3693d0
kad-dht: Document FIND_NODE
mxinden May 12, 2021
f05ee26
kad-dht: Restructure by DHT operations
mxinden May 12, 2021
6ae2551
kad-dht: Allow stream reuse and document length prefix
mxinden May 14, 2021
0126af1
kad-dht: Require closer peers even with value
mxinden May 14, 2021
008f1a8
kad-dht: Reword algorithm sections
mxinden May 14, 2021
c21ca3a
kad-dht: Rework references
mxinden May 14, 2021
f240a22
kad-dht: Remove appendix detailing difference of implementations
mxinden May 14, 2021
6c1c224
kad-dht: Document early GET_VALUE termination
mxinden May 14, 2021
defe08d
kad-dht: Do not specify k-bucket split strategy (for now)
mxinden May 14, 2021
e1442fa
kad-dht: Deprecate PING message type
mxinden May 14, 2021
26dd2f3
kad-dht: Document timeReceived formatted with RFC3339
mxinden May 14, 2021
a9ec523
kad-dht: Use peer ID instead of node ID in bootstrap
mxinden May 14, 2021
77168f9
kad-dht: Fix peer routing link
mxinden May 14, 2021
dbe1ff7
README: Add kademlia to protocols index
mxinden May 14, 2021
aa7e8fc
kad-dht: Fix protobuf indentation
mxinden May 14, 2021
d742e2e
kad-dht/README.md: Fix typo
mxinden May 27, 2021
9355a8f
kad-dht/README: Remove requirement on kbucket data structure
mxinden Jun 3, 2021
072360f
kad-dht/README: Restructure and reword DHT operations section
mxinden Jun 3, 2021
c4d4b53
kad-dht/README: Seed with k instead of alpha peers
mxinden Jun 3, 2021
b074091
kad-dht/README: Require algorithms to make progress towards target key
mxinden Jun 9, 2021
a065aac
kad-dht/README: Remove `/pk` special namespace
mxinden Jun 25, 2021
20b3b73
kad-dht/README: Replicate record to closest peers without it
mxinden Jun 25, 2021
3e13846
kad-dht/README: Demote validate purity to `should`
mxinden Jun 25, 2021
6ec65b5
kad-dht/README: Do not require storing provider addresses
mxinden Jun 25, 2021
1dcb218
kad-dht/README: Remove periodic record pruning section
mxinden Jun 25, 2021
c755a41
kad-dht/README: Include bootstrap lookup for oneself
mxinden Jun 25, 2021
e9c18bd
kad-dht/README: Make k value recommended instead of default
mxinden Jun 25, 2021
dab4549
kad-dht/README: Always return k closest peers with FIND_NODE
mxinden Jun 25, 2021
324f915
kad-dht/README: Extend on reasoning for quorums
mxinden Jun 25, 2021
dbd17a2
kad-dht/README: Stress republishing to close nodes once more
mxinden Jun 25, 2021
3e6f8f5
kad-dht/README: Add disclaimer for bootstrap process
mxinden Jun 28, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 2 additions & 0 deletions README.md
Expand Up @@ -71,6 +71,7 @@ security, multiplexing, and other purposes.
The protocols described below all use [protocol buffers](https://developers.google.com/protocol-buffers/docs/proto?hl=en) (aka protobuf) to define message schemas. Version `proto2` is used unless stated otherwise.

- [identify][spec_identify] - Exchange keys and addresses with other peers
- [kademlia][spec_kademlia] - The Kademlia Distributed Hash Table (DHT) subsystem
- [mplex][spec_mplex] - The friendly stream multiplexer
- [plaintext][spec_plaintext] - An insecure transport for non-production usage
- [pnet][spec_pnet] - Private networking in libp2p using pre-shared keys
Expand Down Expand Up @@ -102,6 +103,7 @@ you feel an issue isn't the appropriate place for your topic, please join our
[spec_lifecycle]: 00-framework-01-spec-lifecycle.md
[spec_header]: 00-framework-02-document-header.md
[spec_identify]: ./identify/README.md
[spec_kademlia]: ./kad-dht/README.md
[spec_mplex]: ./mplex/README.md
[spec_pnet]: ./pnet/Private-Networks-PSK-V1.md
[spec_pubsub]: ./pubsub/README.md
Expand Down