[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.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [lsd0004] branch master updated: paths examples,
gnunet <=