lsd0004

LSD0004: R5N Distributed Hash Table
Log | Files | Refs

commit 696c84f74ae45b3ca89e3249c70fbeca9bd220b9
parent 0d4577cd9759c791185fff8ef2ba10c11ac9c7f6
Author: Christian Grothoff <christian@grothoff.org>
Date:   Fri, 12 Jul 2024 09:14:46 +0200

add more references, justify path length

Diffstat:
Mdraft-schanzen-r5n.xml | 73++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------
1 file changed, 50 insertions(+), 23 deletions(-)

diff --git a/draft-schanzen-r5n.xml b/draft-schanzen-r5n.xml @@ -178,7 +178,7 @@ We assume that the network is open and thus a fraction of the participating peers is malicious. Malicious peers may create, alter, delay or drop messages. We also assume that - an adversary can control (or fake) many peers, thus any kind + an adversary can control (or fake) many peers <xref target="Sybil"/>, thus any kind of voting or punishment of malicious peers would be rather pointless. </t> @@ -381,20 +381,30 @@ <t> R<sup>5</sup>N addresses this problem by prepending a random walk before a classical, deterministic XOR-based routing - algorithm is employed. If the network exhibits the - properties of a small world topology, such a random walk - will cause the algorithm to land on a random node in the - network. Consequently, the deterministic part of the - algorithm will encounter a random local minimum. It is then - possible to repeat this process in order to store or - retrieve data in the context of all or at least multiple - local minima. The required length of the random walk and - the number of repetitions expected to cover all local minima - depends on the network topology. Our design assumes - that the benign subset of the network forms a small-world - topology <xref target="Smallworld"/> in which case it is - sufficient to use an estimate of the current network - size for the length of the random walk. + algorithm is employed. The optimal number of random hops + taken is equal to the mixing time of the graph. The mixing + time for various graphs is well known; for small-world + networks <xref target="Smallworld"/>, the mixing time has + been shown to be around <tt>O(log n)</tt> where <tt>n</tt> + is the number of nodes in the network + <xref target="Smallworldmix"/>. + </t> + <t> + Thus, if the network exhibits the properties of a small + world topology <xref target="Smallworld"/>, a random walk of + length <tt>O(log n)</tt> will cause the algorithm to land on + a random node in the network. Consequently, the + deterministic part of the algorithm will encounter a random + local minimum. It is then possible to repeat this process + in order to store or retrieve data in the context of all or + at least multiple local minima. The ideal length of the + random walk and the number of repetitions expected to cover + all local minima depends on the network topology. Our + design assumes that the benign subset of the network forms a + small-world topology <xref target="Smallworld"/> and then + obtains an estimate of the current number of nodes + <tt>n</tt> in the network and then uses <tt>log n</tt> for + the actual length of the random walk. </t> </section> <section numbered="true" toc="default"> @@ -794,11 +804,12 @@ Connectivity | |Underlay| |Underlay| | Underlay | ... </t> <t> In order to select peers which are suitable destinations for - routing messages, R<sup>5</sup>N uses a hybrid approach: - Given an estimated network size <tt>L2NSE</tt> retrieved using <tt>ESTIMATE_NETWORK_SIZE ()</tt>, - the peer selection for the first <tt>L2NSE</tt> hops is random. After the initial - <tt>L2NSE</tt> hops, peer selection - follows an XOR-based peer distance calculation. + routing messages, R<sup>5</sup>N uses a hybrid approach: Given + an estimated network size <tt>L2NSE</tt> retrieved using + <tt>ESTIMATE_NETWORK_SIZE ()</tt>, the peer selection for the + first <tt>L2NSE</tt> hops is random. After the initial + <tt>L2NSE</tt> hops, peer selection follows an XOR-based peer + distance calculation. <xref target="routing_functions"/> describes the corresponding routing functions. </t> @@ -2764,9 +2775,9 @@ BEGIN If an upper bound to the maximum number of neighbors in a k-bucket is reached, the implementation <bcp14>MUST</bcp14> prefer to preserve the oldest working connections instead of - new connections. This makes Sybil attacks less effective - as an adversary would have to invest more resources over time - to mount an effective attack. + new connections. This makes Sybil attacks <xref + target="Sybil"/> less effective as an adversary would have to + invest more resources over time to mount an effective attack. </t> <t> The <tt>ComputeOutDegree</tt> function limits the @@ -3004,6 +3015,22 @@ Type | Name | References | Description <date year="2002"/> </front> </reference> + <reference anchor="Sybil" target="https://link.springer.com/chapter/10.1007/3-540-45748-8_24"> + <front> + <title>The Sybil Attack</title> + <author initials="J." surname="Douceur" fullname="John R. Douceur"> + </author> + <date year="2002"/> + </front> + </reference> + <reference anchor="Smallworldmix" target="https://api.semanticscholar.org/CorpusID:44240877"> + <front> + <title>A Measurement of Mixing Time in Social Networks</title> + <author initials="M." surname="Dell'Amico" fullname="Matteo Dell'Amico"> + </author> + <date year="2009"/> + </front> + </reference> <reference anchor="Smallworld" target="https://www.nature.com/articles/35022643"> <front> <title>Navigation in a small world</title>