lsd0001

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

commit fc396175cc934f9c8190e7760a7b71ffa32a6625
parent 74d3fa2b09a31129661b923cbf36f37c7bcbcb3d
Author: Martin Schanzenbach <schanzen@gnunet.org>
Date:   Sat, 19 Feb 2022 16:43:23 +0100

nuke zkl

Diffstat:
Mdraft-schanzen-gns.xml | 72++++++++++++++++++++++++++++++++++++------------------------------------
1 file changed, 36 insertions(+), 36 deletions(-)

diff --git a/draft-schanzen-gns.xml b/draft-schanzen-gns.xml @@ -472,7 +472,21 @@ </dl> <section anchor="zTLD" numbered="true" toc="default"> <name>Zone Top-Level Domain</name> - <figure anchor="figure_zid" title="The decoded binary representation of the zTLD"> + <t> + The zTLD is the Zone Top-Level Domain. + It is a string which encodes the zone type and zone key into a domain name. + The zTLD is used as a globally unique reference to a specific + namespace in the process of name resolution. + It is created by encoding a binary concatenation of the zone type and + zone key (see <xref target="figure_zid"/>). + The used encoding is a variation of the Crockford Base32 encoding + <xref target="CrockfordB32"/> called Base32GNS. + The encoding and decoding symbols for Base32GNS including this + modification are defined in the table found in <xref target="CrockfordB32Encode"/>. + The functions for encoding and decoding based on this table are called + Base32GNS-Encode and Base32GNS-Decode, respectively. + </t> +<figure anchor="figure_zid" title="The decoded binary representation of the zTLD"> <artwork name="" type="" align="left" alt=""><![CDATA[ 0 8 16 24 32 40 48 56 +-----+-----+-----+-----+-----+-----+-----+-----+ @@ -483,45 +497,31 @@ ]]></artwork> </figure> <t> - The zTLD is the Zone Top-Level Domain. - It is a string which encodes the zone type and zone key into a domain name. - The zTLD is used as a globally unique reference to a specific - namespace in the process of name resolution. - To encode the zone key, a zone key label zkl is derived from a - concatenation of the zone type and zone key (see <xref target="figure_zid"/>). - The result is encoded using a variation of the Crockford Base32 encoding <xref target="CrockfordB32"/> - called Base32GNS. - The encoding and decoding symbols for Base32GNS including this modification are defined in - <xref target="CrockfordB32Encode"/>. - The functions for encoding and decoding based on this table are called - Base32GNS-Encode and Base32GNS-Decode, respectively. - </t> - <t> - The string representation of a zTLD is: + Consequently, a zTLD is encoded and decoded as follows: </t> <artwork name="" type="" align="left" alt=""><![CDATA[ -zkl := Base32GNS-Encode(ztype||zkey) -ztype||zkey := Base32GNS-Decode(zkl) +zTLD := Base32GNS-Encode(ztype||zkey) +ztype||zkey := Base32GNS-Decode(zTLD) ]]></artwork> <t> - The zkl can be used as-is as zTLD. + The zTLD can be used as-is as a rightmost label in a GNS name. If an application wants to ensure DNS compatibility of the name, it MAY also represent the zTLD as follows: - If zkl is less than or equal to 63 characters, it can directly be - used as a zTLD. - If zkl is longer than 63 characters, the - zTLD is constructed by dividing zkl into smaller labels separated by the - label separator U+002E. - Here, the most significant bytes of the "ztype||zkey" concatenation must be contained - in the rightmost label of the resulting string and the least significant - bytes in the leftmost label of the resulting string. This allows the - resolver to determine the ztype and zkl length from the rightmost label and - to subsequently determine how many labels the zTLD should span. - For example, assuming a zkl of 130 characters, the encoding would be: + If the zTLD is less than or equal to 63 characters, it can + be used as a zTLD as-is. + If the zTLD is longer than 63 characters, the + zTLD is divided into smaller labels separated by the label separator. + Here, the most significant bytes of the "ztype||zkey" concatenation + must be contained in the rightmost label of the resulting string and + the least significant bytes in the leftmost label of the resulting string. This allows the + resolver to determine the ztype and zTLD length from the rightmost + label and to subsequently determine how many labels the zTLD should span. + For example, assuming a zTLD of 130 characters, a viable division + would be: </t> <!-- FIXME: Is this really really necessary? Really? --> <artwork name="" type="" align="left" alt=""><![CDATA[ -zTLD := zkl[126..129].zkl[63..125].zkl[0..62] +zTLD[126..129].zTLD[63..125].zTLD[0..62] ]]></artwork> </section> <section anchor="revocation" numbered="true" toc="default"> @@ -3053,7 +3053,7 @@ f96d84ff61f5982c 2c4fe02d5a11fedf b0c2901f -Encoded zone identifier (zkl = zTLD): +Encoded zone identifier (zTLD): 000G0037FH3QTBCK15Y8BCCNRVWPV17ZC7TSGB1C9ZG2TPGHZVFV1GMG3W Label: testdelegation @@ -3146,7 +3146,7 @@ f96d84ff61f5982c 2c4fe02d5a11fedf b0c2901f -Encoded zone identifier (zkl = zTLD): +Encoded zone identifier (zTLD): 000G0037FH3QTBCK15Y8BCCNRVWPV17ZC7TSGB1C9ZG2TPGHZVFV1GMG3W Label: namesystem @@ -3282,7 +3282,7 @@ Zone identifier (ztype|zkey): 446c5845cb48445d db96688f -Encoded zone identifier (zkl = zTLD): +Encoded zone identifier (zTLD): 000G051WYJWJ80S04BRDRM2R2H9VGQCKP13VCFA4DHC4BJT88HEXQ5K8HW Label: testdelegation @@ -3380,7 +3380,7 @@ Zone identifier (ztype|zkey): 446c5845cb48445d db96688f -Encoded zone identifier (zkl = zTLD): +Encoded zone identifier (zTLD): 000G051WYJWJ80S04BRDRM2R2H9VGQCKP13VCFA4DHC4BJT88HEXQ5K8HW Label: namesystem @@ -3527,7 +3527,7 @@ Zone identifier (ztype|zkey): 55f1c3775c804a98 d5f8ddaa -Encoded zone identifier (zkl = zTLD): +Encoded zone identifier (zTLD): 000G001CM8HYGYFCRJXXXDET2WRS50EP7CQ3PTANY71QEQ409ACDBY6XN8 Difficulty (5 base difficulty + 2 epochs): 7