summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Schanzenbach <mschanzenbach@posteo.de>2021-05-22 22:59:56 +0200
committerMartin Schanzenbach <mschanzenbach@posteo.de>2021-05-22 22:59:56 +0200
commit938a15594f9cf9405346528f7d091dcab0c0ea20 (patch)
tree687d208cf2d487dec314eb96bb6412a056c7a990
downloadlsd0004-938a15594f9cf9405346528f7d091dcab0c0ea20.tar.gz
lsd0004-938a15594f9cf9405346528f7d091dcab0c0ea20.zip
initial commit
-rw-r--r--Makefile8
-rw-r--r--draft-schanzen-r5n.xml209
2 files changed, 217 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..cfb4f83
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,8 @@
1all: txt html
2
3html:
4 xml2rfc --html draft-schanzen-r5n.xml
5
6txt:
7 xml2rfc draft-schanzen-r5n.xml
8
diff --git a/draft-schanzen-r5n.xml b/draft-schanzen-r5n.xml
new file mode 100644
index 0000000..d8ee82d
--- /dev/null
+++ b/draft-schanzen-r5n.xml
@@ -0,0 +1,209 @@
1<?xml version='1.0' encoding='utf-8'?>
2<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent" [
3<!ENTITY RFC1034 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.1034.xml">
4<!ENTITY RFC1035 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.1035.xml">
5<!ENTITY RFC2119 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
6<!ENTITY RFC2782 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2782.xml">
7<!ENTITY RFC3629 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3629.xml">
8<!ENTITY RFC3686 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3686.xml">
9<!ENTITY RFC3826 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3826.xml">
10<!ENTITY RFC3912 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3912.xml">
11<!ENTITY RFC4648 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4648.xml">
12<!ENTITY RFC5869 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5869.xml">
13<!ENTITY RFC5890 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5890.xml">
14<!ENTITY RFC5891 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5891.xml">
15<!ENTITY RFC6781 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6781.xml">
16<!ENTITY RFC6895 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6895.xml">
17<!ENTITY RFC6979 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6979.xml">
18<!ENTITY RFC7748 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7748.xml">
19<!ENTITY RFC8032 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8032.xml">
20<!ENTITY RFC8126 PUBLIC '' "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8126.xml">
21]>
22<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
23<?rfc strict="yes" ?>
24<?rfc toc="yes" ?>
25<?rfc symrefs="yes"?>
26<?rfc sortrefs="yes" ?>
27<?rfc compact="yes" ?>
28<?rfc subcompact="no" ?>
29<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="info" docName="draft-schanzen-r5n-00" ipr="trust200902" obsoletes="" updates="" submissionType="IETF" xml:lang="en" version="3">
30 <!-- xml2rfc v2v3 conversion 2.26.0 -->
31 <front>
32 <title abbrev="The R5N Distributed Hash Table">
33 The R5N Distributed Hash Table
34 </title>
35 <seriesInfo name="Internet-Draft" value="draft-schanzen-gns-04"/>
36 <author fullname="Martin Schanzenbach" initials="M." surname="Schanzenbach">
37 <organization>GNUnet e.V.</organization>
38 <address>
39 <postal>
40 <street>Boltzmannstrasse 3</street>
41 <city>Garching</city>
42 <code>85748</code>
43 <country>DE</country>
44 </postal>
45 <email>schanzen@gnunet.org</email>
46 </address>
47 </author>
48 <author fullname="Christian Grothoff" initials="C." surname="Grothoff">
49 <organization>Berner Fachhochschule</organization>
50 <address>
51 <postal>
52 <street>Hoeheweg 80</street>
53 <city>Biel/Bienne</city>
54 <code>2501</code>
55 <country>CH</country>
56 </postal>
57 <email>grothoff@gnunet.org</email>
58 </address>
59 </author>
60 <author fullname="Bernd Fix" initials="B." surname="Fix">
61 <organization>GNUnet e.V.</organization>
62 <address>
63 <postal>
64 <street>Boltzmannstrasse 3</street>
65 <city>Garching</city>
66 <code>85748</code>
67 <country>DE</country>
68 </postal>
69 <email>fix@gnunet.org</email>
70 </address>
71 </author>
72
73 <!-- Meta-data Declarations -->
74 <area>General</area>
75 <workgroup>Independent Stream</workgroup>
76 <keyword>distributed hash tables</keyword>
77 <abstract>
78 <t>This document contains the R5N DHT technical specification.</t>
79 </abstract>
80 </front>
81 <middle>
82 <section anchor="introduction" numbered="true" toc="default">
83 <name>Introduction</name>
84 <t>
85 Distributed Hash Tables (DHTs) are a key data structure for the
86 construction of completely decentralized applications.
87 DHTs are important because they generally provide a robust and
88 efficient means to distribute the storage and retrieval of
89 key-value pairs.
90 </t>
91 <t>
92 This document contains the technical specification
93 of the R5N DHT <xref target="R5N" />, a secure DHT routing algorithm
94 and data structure for decentralized applications.
95 </t>
96 <t>
97 This document defines the normative wire format of peer-to-peer
98 messages, routing algorithms, cryptographic routines and security
99 considerations for use by implementors.
100 </t>
101 <t>
102 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
103 NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and
104 "OPTIONAL" in this document are to be interpreted as described
105 in <xref target="RFC2119"/>.
106 </t>
107 <t>
108
109 </t>
110 </section>
111 <section anchor="p2p_messages" numbered="true" toc="default">
112 <name>Peer-to-peer messages</name>
113 <section anchor="p2p_put" numbered="true" toc="default">
114 <name>PUT message</name>
115 </section>
116 <section anchor="p2p_get" numbered="true" toc="default">
117 <name>GET message</name>
118 </section>
119 <section anchor="p2p_result" numbered="true" toc="default">
120 <name>RESULT message</name>
121 </section>
122 </section>
123 <section anchor="security" numbered="true" toc="default">
124 <name>Security Considerations</name>
125 </section>
126 <section anchor="gana" numbered="true" toc="default">
127 <name>GANA Considerations</name>
128 <t>
129 GANA <xref target="GANA" />
130 is requested to create a "DHT Block Types" registry.
131 The registry shall record for each entry:
132 </t>
133 <ul>
134 <li>Name: The name of the record type (case-insensitive ASCII
135 string, restricted to alphanumeric characters</li>
136 <li>Number: 32-bit, above 65535</li>
137 <li>Comment: Optionally, a brief English text describing the purpose of
138 the record type (in UTF-8)</li>
139 <li>Contact: Optionally, the contact information of a person to contact for
140 further information</li>
141 <li>References: Optionally, references describing the record type
142 (such as an RFC)</li>
143 </ul>
144 <t>
145 The registration policy for this sub-registry is "First Come First
146 Served", as described in <xref target="RFC8126"/>.
147 GANA is requested to populate this registry as follows:
148 </t>
149 <figure anchor="figure_btypenums">
150 <artwork name="" type="" align="left" alt=""><![CDATA[
151Number | Name | Contact | References | Description
152-------+---------+---------+------------+-------------------------
153
154 ]]></artwork>
155 </figure>
156 <t>
157 GANA is requested to amend the "GNUnet Signature Purpose" registry
158 as follows:
159 </t>
160 <figure anchor="figure_purposenums">
161 <artwork name="" type="" align="left" alt=""><![CDATA[
162Purpose | Name | References | Description
163--------+-----------------+------------+--------------------------
164 ]]></artwork>
165 </figure>
166 </section>
167 <!-- gana -->
168 <section>
169 <name>Test Vectors</name>
170 </section>
171 </middle>
172 <back>
173 <references>
174 <name>Normative References</name>
175
176 &RFC2119;
177 &RFC8126;
178
179 <reference anchor="GANA" target="https://gana.gnunet.org/">
180 <front>
181 <title>GNUnet Assigned Numbers Authority (GANA)</title>
182 <author><organization>GNUnet e.V.</organization>
183 </author>
184 <date month="April" year="2020" />
185 </front>
186 </reference>
187 <reference anchor="R5N" target="https://doi.org/10.1109/ICNSS.2011.6060022">
188 <front>
189 <title>R5N: Randomized recursive routing for restricted-route networks</title>
190 <author initials="N. S." surname="Evans" fullname="Nathan S. Evans">
191 <organization>Technische Universität München</organization>
192 </author>
193
194 <author initials="C." surname="Grothoff"
195 fullname="Christian Grothoff">
196 <organization>Technische Universität München</organization>
197 </author>
198 <date year="2011"/>
199 </front>
200 </reference>
201
202
203
204 </references>
205 <!-- Change Log
206 v00 2017-07-23 MS Initial version
207 -->
208 </back>
209 </rfc>