gnunet-svn
[Top][All Lists]
Advanced

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

[lsd0003] branch master updated: Fixed some more and added commets


From: gnunet
Subject: [lsd0003] branch master updated: Fixed some more and added commets
Date: Sun, 13 Jun 2021 18:05:28 +0200

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

elias-summermatter pushed a commit to branch master
in repository lsd0003.

The following commit(s) were added to refs/heads/master by this push:
     new fa2765c  Fixed some more and added commets
fa2765c is described below

commit fa2765cf3c007c38725a1093c4502e05b63002f9
Author: Elias Summermatter <elias.summermatter@seccom.ch>
AuthorDate: Sun Jun 13 18:02:37 2021 +0200

    Fixed some more and added commets
---
 draft-summermatter-set-union.xml | 44 ++++++++++++++++++++++------------------
 1 file changed, 24 insertions(+), 20 deletions(-)

diff --git a/draft-summermatter-set-union.xml b/draft-summermatter-set-union.xml
index 50dcad0..8d8a505 100644
--- a/draft-summermatter-set-union.xml
+++ b/draft-summermatter-set-union.xml
@@ -6,6 +6,7 @@
         <!ENTITY RFC2782 PUBLIC '' 
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.2782.xml";>
         <!ENTITY RFC3686 PUBLIC '' 
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.3686.xml";>
         <!ENTITY RFC5869 PUBLIC '' 
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.5869.xml";>
+        <!ENTITY RFC3385 PUBLIC '' 
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.3385.xml";>
         ]>
 <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
 <?rfc strict="yes" ?>
@@ -429,7 +430,7 @@ FUNCTION id_calculation (element,ibf_salt):
               <t>
                 The HASH of an element ID is computed by calculating the
                 CRC32 checksum of the 64-bit ID value,
-                which returns a 32-bit value. <!-- FIXME: CRC32 needs a 
reference! -->
+                which returns a 32-bit value.CRC32 is well-known and described 
in <relref  section="4.1" target="RFC3385" displayFormat="of">the RFC</relref>.
               </t>
             </section>
 
@@ -603,7 +604,7 @@ hashSum |    0x0000   |   0x4242    |    0x0000   |   
0x4242    |
                     <t>
                       Buckets in an IBF with a counter of 1 or -1 are crucial 
for decoding an IBF, as
                       they MIGHT represent only a single element, with the 
IDSUM being the ID of that element.
-                      Following Eppstein (FIXME-CITE), we will call buckets 
that only represent a single
+                      Following Eppstein <xref target="Eppstein" 
format="default" />, we will call buckets that only represent a single
                       element <em>pure buckets</em>.
                       Note that due to the possibility of multiple insertion 
and removal operations
                       affecting the same bucket, not all buckets with a 
counter of 1 or -1 are
@@ -1091,7 +1092,7 @@ hashSum |    0x0101   |    0x5151   |    0x5050   |    
0x0000   |
                       the offered element is missing in the active peers set,
                       the active peer sends a <em><xref 
target="messages_demand" format="title" /></em> message to the
                       passive peer. The demand needs to be added to a list of 
unsatisfied demands.
-                      In case the received offer is for an element that is 
already in the set of the peer, the offer MUST BE ignored. <!-- FIXME: what do 
we do if the offer does not match any demand we ever issued? Is that OK? Worth 
checking? -->
+                      In case the received offer is for an element that is 
already in the set of the peer, the offer MUST BE ignored. <!-- FIXME: what do 
we do if the offer does not match any demand we ever issued? Is that OK? Worth 
checking? @Christian: Demand? Demands come after offers.... You mean inquiry? 
In this case no because its possible that we get offers without an inquiry 
first... -->
                     </dd>
                     <dt><em><xref target="messages_demand" format="title" 
/></em> message:</dt>
                     <dd>
@@ -1165,7 +1166,7 @@ hashSum |    0x0101   |    0x5151   |    0x5050   |    
0x0000   |
                 The first case is when one of the peers announces having an 
empty set. This is announced by setting
                 the SETSIZE field in the <em><xref target="messages_se" 
format="title" /></em> to 0.
                 <!-- FIXME: why not also do this if sending the elements is 
about as
-                     expensive as sending the SE? Should be a simple 
calculation. -->
+                     expensive as sending the SE? Should be a simple 
calculation. @Christian this is a future improvement but work to be done 
(thesis: future work) should i add stuff that is not already implemented? -->
                 The second case is if the application requests full 
synchronisation explicitly.
                 This is useful for testing and MUST NOT be used in production.
               </t>
@@ -1297,7 +1298,7 @@ hashSum |    0x0101   |    0x5151   |    0x5050   |    
0x0000   |
                         <dd>
                             is a 32-bit unsigned integer which signals the 
offset of the following IBF slices in the original.
                         </dd>
-                        <dt>SALT</dt> <!-- FIXME: do we need a 32-bit field 
here? Maybe use only 16 bits, and then have some room for IMCS without 
destroying alignment? -->
+                        <dt>SALT</dt> <!-- FIXME: do we need a 32-bit field 
here? Maybe use only 16 bits, and then have some room for IMCS without 
destroying alignment? @Christian in my mind we need 32-bit(4,294,967,296) 
because with 16 we could only transmit an offset of 65,536 that's much less 
than max ibf size of 1,048,576-->
                         <dd>
                             is a 32-bit unsigned integer that contains the 
IBF-salt which was used to create the
                             IBF.
@@ -1310,7 +1311,7 @@ hashSum |    0x0101   |    0x5151   |    0x5050   |    
0x0000   |
                             by an array of HASHSUMS. Last comes an array of 
unsigned COUNTERS (details of the COUNTERS encoding are described in section
                             <xref target="performance_counter_variable_size" 
format="default"/>). The length of the array is
                             defined by MIN( SIZE - OFFSET, 
MAX_BUCKETS_PER_MESSAGE). MAX_BUCKETS_PER_MESSAGE is defined as
-                            32768 divided by the BUCKET_SIZE which is 13 bytes 
(104 bits). <!-- FIXME: 13 byte is no longer correct, given variable-size 
counters! Should probably be computed by properly considering the IMCS value! 
-->
+                            32768 divided by the BUCKET_SIZE which ranges 
between 97-bits when counter uses bit 1 (IMCS=1) and 160-bit when counter size 
uses 64 bit (IMCS=64).
                           </t>
                           <t>
                             To get the IDSUM field, all IDs (computed with the 
IBF-salt) hitting a bucket under the map M are added up with a binary XOR 
operation.
@@ -1409,8 +1410,8 @@ hashSum |    0x0101   |    0x5151   |    0x5050   |    
0x0000   |
         +-----+-----+-----+-----+-----+-----+-----+-----+
         |  MSG SIZE |  MSG TYPE |   E TYPE  |  PADDING  |
         +-----+-----+-----+-----+-----+-----+-----+-----+
-        |   E SIZE  |   AE TYPE |           DATA
-        +-----+-----+-----+-----+                       /
+        |   E SIZE  |              DATA
+        +-----+-----+                                   /
         /                                               /
         /                                               /
                  ]]></artwork>
@@ -1438,11 +1439,6 @@ hashSum |    0x0101   |    0x5151   |    0x5050   |    
0x0000   |
                         <dd>
                             is a 16-bit unsigned integer that signals the size 
of the elements data part.
                         </dd>
-                        <dt>AE TYPE</dt><!-- FIXME: E TYPE vs. AE TYPE remains 
quite unclear to me. Why do we have both? If we get rid of one, we could also 
drop PADDING! -->
-                        <dd>
-                            is a 16-bit unsigned integer that is needed to 
identify
-                            the type of element that is in the data field.
-                        </dd>
                         <dt>DATA</dt>
                         <dd>
                             is a field with variable length that contains the 
data of the element.
@@ -1476,7 +1472,7 @@ hashSum |    0x0101   |    0x5151   |    0x5050   |    
0x0000   |
                         <artwork name="" type="" align="left" alt=""><![CDATA[
         0     8     16    24    32    40    48    56
         +-----+-----+-----+-----+-----+-----+-----+-----+
-        |  MSG SIZE |  MSG TYPE |         HASH
+        |  MSG SIZE |  MSG TYPE |         HASHES
         +-----+-----+-----+-----+
         /                                               /
         /                                               /
@@ -1492,10 +1488,10 @@ hashSum |    0x0101   |    0x5151   |    0x5050   |    
0x0000   |
                         <dd>
                             is SETU_P2P_OFFER as registered in <xref 
target="gana" format="title" /> in network byte order.
                         </dd>
-                        <dt>HASH</dt>
+                        <dt>HASHES</dt>
                         <dd>
-                            is a SHA 512-bit hash of the element that is 
requested with a <em><xref target="messages_inquiry" format="title" /></em> 
message.
-                        </dd><!-- FIXME: OFFER was defined as a variable-size 
message that CAN include multiple HASH values in one message. Current code does 
not use this, but we should continue to define it as such in the protocol! -->
+                            contains one or more successive SHA 512-bit hashes 
of the elements that are requested with <em><xref target="messages_inquiry" 
format="title" /></em> messages.
+                        </dd>
                     </dl>
                 </section>
             </section>
@@ -1523,8 +1519,16 @@ hashSum |    0x0101   |    0x5151   |    0x5050   |    
0x0000   |
         +-----+-----+-----+-----+-----+-----+-----+-----+
         |  MSG SIZE |  MSG TYPE |          SALT         |
         +-----+-----+-----+-----+-----+-----+-----+-----+
-        |                    IBF KEY                    |
+        |                    IBF KEY 1                  |
         +-----+-----+-----+-----+-----+-----+-----+-----+
+        |                    IBF KEY 2                  |
+        +-----+-----+-----+-----+-----+-----+-----+-----+
+        ...                                            ...
+        +-----+-----+-----+-----+-----+-----+-----+-----+
+        |                    IBF KEY  n                 |
+        +-----+-----+-----+-----+-----+-----+-----+-----+
+        /                                               /
+        /                                               /
                  ]]></artwork>
                     </figure>
                     <t>where:</t>
@@ -1539,10 +1543,9 @@ hashSum |    0x0101   |    0x5151   |    0x5050   |    
0x0000   |
                         </dd>
                         <dt>IBF KEY</dt>
                         <dd>
-                            is a 64-bit unsigned integer that contains the key 
for which the inquiry is sent.
+                            contains one or more successive ibf key (64-bit 
unsigned integer) for which the inquiry is sent.
                         </dd>
                     </dl>
-                        <!-- FIXME: INQUIRY was defined as a variable-size 
message that CAN include multiple IBF KEY values in one message. I did not 
check if the current code uses this, but we should continue to define it as 
such in the protocol - especially as for INQUIRIES this is particularly easy to 
implement and an important optimization given that the overhead is otherwise 
rather large per IBF KEY! -->
                 </section>
             </section>
 
@@ -3107,6 +3110,7 @@ Type    | Name                       | References | 
Description
             <name>Normative References</name>
             &RFC5869;
             &RFC2119;
+            &RFC3385;
 
             <reference anchor="byzantine_fault_tolerant_set_reconciliation" 
target="https://summermatter.net/byzantine-fault-tolerant-set-reconciliation-summermatter.pdf";>
                 <front>

-- 
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]