gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lsd0004] branch master updated: paths examples


From: gnunet
Subject: [lsd0004] branch master updated: paths examples
Date: Mon, 01 Aug 2022 10:53:19 +0200

This is an automated email from the git hooks/post-receive script.

martin-schanzenbach pushed a commit to branch master
in repository lsd0004.

The following commit(s) were added to refs/heads/master by this push:
     new 0adb78a  paths examples
0adb78a is described below

commit 0adb78a0a54b57a342f9c5b045e36a569c309ad1
Author: Martin Schanzenbach <schanzen@gnunet.org>
AuthorDate: Mon Aug 1 10:53:16 2022 +0200

    paths examples
---
 draft-schanzen-r5n.xml | 146 ++++++++++++++++++++++++++++++++++++++++---------
 1 file changed, 121 insertions(+), 25 deletions(-)

diff --git a/draft-schanzen-r5n.xml b/draft-schanzen-r5n.xml
index 2b246dd..a5b5e26 100644
--- a/draft-schanzen-r5n.xml
+++ b/draft-schanzen-r5n.xml
@@ -1099,34 +1099,141 @@ BEGIN
         <t>
           A Path Element represents a hop in the path a message has taken
           through the network.
+          The wire format of a Path Element is illustrated in
+          <xref target="figure_pathelement"/>.
+        </t>
+        <figure anchor="figure_pathelement" title="The Wire Format of a Path 
Element.">
+         <artwork name="" type="" align="left" alt=""><![CDATA[
+0     8     16    24    32    40    48    56
++-----+-----+-----+-----+-----+-----+-----+-----+
+|                  SIGNATURE                    |
+|                  (64 byte)                    |
+|                                               |
+|                                               |
+|                                               |
+|                                               |
+|                                               |
+|                                               |
++-----+-----+-----+-----+-----+-----+-----+-----+
+|                  PEER ID                      |
+|                  (32 byte)                    |
+|                                               |
+|                                               |
++-----+-----+-----+-----+-----+-----+-----+-----+
+         ]]></artwork>
+        </figure>
+        <t>where:</t>
+        <dl>
+          <dt>SIGNATURE</dt>
+          <dd>
+            is a 64 byte EdDSA signature using the current hop's private
+            key affirming the previous and next hops.
+          </dd>
+          <dt>PEER ID</dt>
+          <dd>
+            is the EdDSA public key of the peer on the path.
+          </dd>
+        </dl>
+        <t>
           An ordered list of Path Elements may be appended to any routed
           <tt>PutMessage</tt>s or <tt>ResultMessage</tt>s.
           The signature of a Path Element is created by the current hop
           after it made its routing decision identifiying the successor peer.
+          The wire format of an example path from Peers A over B and C to D is
+          illustrated in <xref target="figure_path_ex"/>.
         </t>
+        <figure anchor="figure_path_ex" title="Example of a path with a path 
length of 3. As illustrated, the Peer ID of the last hop is omitted.">
+          <artwork name="" type="" align="left" alt=""><![CDATA[
+0     8     16    24    32    40    48    56
++-----+-----+-----+-----+-----+-----+-----+-----+
+|                  SIGNATURE A                  |
+|                  (64 byte)                    |
+|                                               |
+|                                               |
+|                                               |
+|                                               |
+|                                               |
+|                                               |
++-----+-----+-----+-----+-----+-----+-----+-----+
+|                  PEER A                       |
+|                  (32 byte)                    |
+|                                               |
+|                                               |
++-----+-----+-----+-----+-----+-----+-----+-----+
+|                  SIGNATURE B                  |
+|                  (64 byte)                    |
+|                                               |
+|                                               |
+|                                               |
+|                                               |
+|                                               |
+|                                               |
++-----+-----+-----+-----+-----+-----+-----+-----+
+|                  PEER B                       |
+|                  (32 byte)                    |
+|                                               |
+|                                               |
++-----+-----+-----+-----+-----+-----+-----+-----+
+|                  SIGNATURE C                  |
+|                  (64 byte)                    |
+|                                               |
+|                                               |
+|                                               |
+|                                               |
+|                                               |
+|                                               |
++-----+-----+-----+-----+-----+-----+-----+-----+
+|                  PEER C                       |
+|                  (32 byte)                    |
+|                                               |
+|                                               |
++-----+-----+-----+-----+-----+-----+-----+-----+
+|                  SIGNATURE D                  |
+|                  (64 byte)                    |
+|                                               |
+|                                               |
+|                                               |
+|                                               |
+|                                               |
+|                                               |
++-----+-----+-----+-----+-----+-----+-----+-----+
+         ]]></artwork>
+        </figure>
+
         <t>
           A path may be truncated in which case the signature of the truncated
           Path Element is omitted leaving only the Peer ID required for the
           verification of the subsequent Path Element signature.
-          Such a truncated path is indicated with the respective flag.
+          Such a truncated path is indicated with the respective flag (<xref 
target="route_flags"/>).
           The Peer ID of the last Path Element is omitted as it must be that of
           the sender of the PutMesssage or ResultMessage.
-          The wire format of a Path Element is illustrated in
-          <xref target="figure_pathelement"/>.
+          The wire format of a truncated example path from Peers B over C to D
+          is illustrated in <xref target="figure_path_ex_trunc"/>.
         </t>
-        <!-- TODO-GROTHOFF: We could swap the fields in order to facilitate 
easier processging 
-             => Yes, swap.
-        -->
-        <figure anchor="figure_pathelement" title="The Wire Format of a Path 
Element.">
-         <artwork name="" type="" align="left" alt=""><![CDATA[
+        <figure anchor="figure_path_ex_trunc" title="Example of a truncated 
path with a path length of 1. As illustrated, the Peer ID of the last hop is 
omitted.">
+          <artwork name="" type="" align="left" alt=""><![CDATA[
 0     8     16    24    32    40    48    56
 +-----+-----+-----+-----+-----+-----+-----+-----+
-|                  PEER ID                      |
+|                  PEER B                       |
 |                  (32 byte)                    |
 |                                               |
 |                                               |
 +-----+-----+-----+-----+-----+-----+-----+-----+
-|                  SIGNATURE                    |
+|                  SIGNATURE C                  |
+|                  (64 byte)                    |
+|                                               |
+|                                               |
+|                                               |
+|                                               |
+|                                               |
+|                                               |
++-----+-----+-----+-----+-----+-----+-----+-----+
+|                  PEER C                       |
+|                  (32 byte)                    |
+|                                               |
+|                                               |
++-----+-----+-----+-----+-----+-----+-----+-----+
+|                  SIGNATURE D                  |
 |                  (64 byte)                    |
 |                                               |
 |                                               |
@@ -1137,20 +1244,8 @@ BEGIN
 +-----+-----+-----+-----+-----+-----+-----+-----+
          ]]></artwork>
         </figure>
-        <t>where:</t>
-        <dl>
-          <dt>PEER ID</dt>
-          <dd>
-            is the EdDSA public key of the peer on the path.
-          </dd>
-          <dt>SIGNATURE</dt>
-          <dd>
-            is a 64 byte EdDSA signature using the current hop's private
-            key affirming the previous and next hops.
-          </dd>
-        </dl>
         <t>
-          The SIGNATURE covers a 64-bit contextualization header, the
+          The SIGNATURE field in a Path Element covers a 64-bit 
contextualization header, the
           the block expiration, a hash of the block
           payload, as well as the predecessor peer ID and the peer ID of the
           successor that the peer making the signature is routing the
@@ -1212,11 +1307,12 @@ BEGIN
           </dd>
           <dt>PEER PREDECESSOR</dt>
           <dd>
-            the Peer ID of the previous hop.
+            the Peer ID of the previous hop. If the signing peer initiated
+            the PUT, this field is set to all zeroes.
           </dd>
           <dt>PEER SUCCESSOR</dt>
           <dd>
-            the Peer ID of the next hop (not of the signer!).
+            the Peer ID of the next hop (not of the signer).
           </dd>
         </dl>
       </section>

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]