[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lsd0004] branch master updated: add ComputeOutDegee() function to spec
From: |
gnunet |
Subject: |
[lsd0004] branch master updated: add ComputeOutDegee() function to spec |
Date: |
Mon, 14 Mar 2022 01:52:04 +0100 |
This is an automated email from the git hooks/post-receive script.
grothoff pushed a commit to branch master
in repository lsd0004.
The following commit(s) were added to refs/heads/master by this push:
new 28cea67 add ComputeOutDegee() function to spec
28cea67 is described below
commit 28cea67fa6089ec0b9ba33d7aeef57664516eba9
Author: Christian Grothoff <grothoff@gnunet.org>
AuthorDate: Mon Mar 14 01:51:57 2022 +0100
add ComputeOutDegee() function to spec
---
draft-schanzen-r5n.xml | 38 +++++++++++++++++++++++++++++++++++---
1 file changed, 35 insertions(+), 3 deletions(-)
diff --git a/draft-schanzen-r5n.xml b/draft-schanzen-r5n.xml
index cc59f22..d273b49 100644
--- a/draft-schanzen-r5n.xml
+++ b/draft-schanzen-r5n.xml
@@ -948,6 +948,7 @@ bchar = *(ALPHA / DIGIT)
<tt>ComputeOutDegree(REPL_LVL, HOPCOUNT, L2NSE) -> Number</tt>
</dt>
<dd>
+ <t>
This function computes the number of neighbors
that a message should be forwarded to. The arguments
are the desired replication level (<tt>REPL_LVL</tt>), the
<tt>HOPCOUNT</tt> of the message so far, and
@@ -955,9 +956,34 @@ bchar = *(ALPHA / DIGIT)
size estimate (<tt>L2NSE</tt>) as provided
by the underlay. The result
is the non-negative number of next hops to
- select.
- <!-- FIXME: specify full function! -->
- </dd>
+ select. The following figure gives the
+ pseudocode for computing the number of neighbors
+ the peer should attempt to forward the message to.
+ </t>
+ <figure anchor="compute_out_degree" title="Computing the number of
next hops.">
+ <artwork name="" type="" align="left" alt=""><![CDATA[
+function ComputeOutDegree(REPL_LVL, HOPCOUNT, L2NSE)
+BEGIN
+ if (HOPCOUNT > L2NSE * 4)
+ return 0;
+ if (HOPCOUNT > L2NSE * 2)
+ return 1;
+ if (0 = REPL_LEVL)
+ REPL_LEVL = 1
+ if (REPL_LEVEL > 16)
+ REPL_LEVEL = 16
+ RM1 = REPL_LEVEL - 1
+ return 1 + (RM1 / (L2NSE + RM1 * HOPCOUNT))
+]]></artwork>
+ </figure>
+ <t>
+ The above calculation may yield values that are
+ not discrete. Hence, the result <bcp14>MUST</bcp14> be
+ rounded probabilistically to the nearest
+ discrete value, using the fraction
+ as the probability for rounding up.
+ </t>
+ </dd>
</dl>
</section>
<section anchor="pending_table">
@@ -2298,6 +2324,12 @@ gnunet+tcp://12.3.4.5/ \
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
+ <tt>REPL_LVL</tt> to a maximum of 16. This imposes
+ an upper limit on bandwidth amplification an attacker
+ may achieve for a given network size and topology.
+ </t>
</section>
<section anchor="iana" numbered="true" toc="default">
<name>IANA Considerations</name>
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [lsd0004] branch master updated: add ComputeOutDegee() function to spec,
gnunet <=