commit ccf73e2988c0ded31845c199794fad7f4d1979ac
parent 251dd11147ee857b54fcb3c062046b1a856da316
Author: Martin Schanzenbach <schanzen@gnunet.org>
Date: Mon, 20 Dec 2021 11:50:12 +0100
storage instead of publish
Diffstat:
1 file changed, 19 insertions(+), 9 deletions(-)
diff --git a/draft-schanzen-gns.xml b/draft-schanzen-gns.xml
@@ -137,13 +137,6 @@
<t>
This document defines the normative wire format of resource records, resolution processes,
cryptographic routines and security considerations for use by implementors.
- In general any API which allows storing a value under a key and retrieving
- a value from the key can be used by an implementation for record storage.
- It is expected that a GNS implementation is using a distributed hash
- table (DHT).
- Specification of such a DHT is out of scope of this document but
- possible existing implementations include <xref target="RFC7363" />,
- <xref target="Kademlia" />, <xref target="R5N" /> or <xref target="Ipfs" />.
</t>
<t>
This specification was developed outside the IETF and does not have
@@ -1119,9 +1112,26 @@ NONCE := HKDF-Expand (PRK_n, label, 32 / 8)
</section>
</section>
<section anchor="publish" numbered="true" toc="default">
- <name>Publishing Records</name>
+ <name>Record Storage</name>
+ <t>
+ In general any API which allows storing a value under a key and retrieving
+ a value from the key can be used by an implementation for record storage.
+ It is expected that a GNS implementation is using a distributed
+ hash table (DHT) in order to facilitate availability within a network
+ without the need of servers.
+ Specification of such a DHT is out of scope of this document but
+ possible existing implementations include <xref target="RFC7363" />,
+ <xref target="Kademlia" />, <xref target="R5N" /> or <xref target="Ipfs" />.
+ </t>
+ <t>
+ We assume that an implementation realizes two procedures on top of a
+ storage:
+ </t>
+ <artwork name="" type="" align="left" alt=""><![CDATA[
+PUT(key,value)
+value := GET(key)
+ ]]></artwork>
<t>
- We assume that a storage API provides two functions: GET(key) and PUT(key,value).
In GNS, resource records are grouped by their respective labels,
encrypted and published together in a single resource records block
(RRBLOCK) in the storage under a key "q": PUT(q, RRBLOCK).