lsd0001

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

commit 06c26eb5f46a20f23a10aa6042f4a5c68f3563f6
parent 3a7e4b4df39119f53b2d95f408846400c3788937
Author: Christian Grothoff <christian@grothoff.org>
Date:   Fri, 30 Jun 2023 23:00:08 +0200

clarify how and when to use PUT

Diffstat:
Mdraft-schanzen-gns.xml | 21+++++++++++++--------
1 file changed, 13 insertions(+), 8 deletions(-)

diff --git a/draft-schanzen-gns.xml b/draft-schanzen-gns.xml @@ -1774,7 +1774,13 @@ S-Decrypt(zk,label,expiration,ciphertext): <artwork name="" type="" align="left" alt=""><![CDATA[ PUT(key,block) GET(key) -> block - ]]></artwork> +]]></artwork> + <t> + A GNS implementation publishes blocks + in accordance to the properties and recommendations of the underlying + remote storage. This can include a periodic refresh operation to preserve the + availability of published blocks. + </t> <t> There is no mechanism to explicitly delete individual blocks from remote storage. However, blocks include an EXPIRATION field which guides remote @@ -1782,13 +1788,16 @@ GET(key) -> block </t> <t> All resource records from the same zone sharing the same label are - encrypted and published together in a single records block + encrypted and published together in a single resource records block (RRBLOCK) in the remote storage under a key q as illustrated in <xref target="figure_storage_publish"/>. A GNS implementation <bcp14>MUST NOT</bcp14> include expired resource records in blocks. - The implementation <bcp14>MUST</bcp14> use the PUT storage procedure - to update the zone contents accordingly. + An implementation <bcp14>MUST</bcp14> use the PUT storage procedure + when record sets change to update the zone contents. Implementations + <bcp14>SHOULD</bcp14> ensure that the EXPIRATION fields of RRBLOCKs + increases strictly monotonically for every change, even if the smallest + expiration time of records in the block does not. </t> <figure anchor="figure_storage_publish" title="Management and publication of local zones in the distributed storage."> <artwork name="" type="" align="left" alt=""><![CDATA[ @@ -1889,10 +1898,6 @@ q := SHA-512 (ZKDF(zk, label)) supplemental flag set (see <xref target="rrecords"/>). The contained resource records are encrypted using the S-Encrypt() function defined by the zone type of the zone to which the resource records belong. - A GNS implementation publishes RRBLOCKs - in accordance to the properties and recommendations of the underlying - storage. This can include a periodic refresh operation to ensure the - availability of the published RRBLOCKs. The GNS RRBLOCK wire format is illustrated in <xref target="figure_record_block"/>. </t>