lsd0001

LSD0001: GNU Name System
Log | Files | Refs | README

commit ccf73e2988c0ded31845c199794fad7f4d1979ac
parent 251dd11147ee857b54fcb3c062046b1a856da316
Author: Martin Schanzenbach <schanzen@gnunet.org>
Date:   Mon, 20 Dec 2021 11:50:12 +0100

storage instead of publish

Diffstat:
Mdraft-schanzen-gns.xml | 28+++++++++++++++++++---------
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).