aboutsummaryrefslogtreecommitdiff
path: root/draft-schanzen-gns.xml
diff options
context:
space:
mode:
authorMartin Schanzenbach <schanzen@gnunet.org>2022-02-19 23:35:58 +0100
committerMartin Schanzenbach <schanzen@gnunet.org>2022-02-19 23:35:58 +0100
commite6ac2a76e9377686995b6cb6c2c6211e96f6aab8 (patch)
tree33098cf0cfe04fdb292cbe294ad16a71f640b3e4 /draft-schanzen-gns.xml
parentfd967d3b65d9761c237475ae534f0f6625d03707 (diff)
downloadlsd0001-e6ac2a76e9377686995b6cb6c2c6211e96f6aab8.tar.gz
lsd0001-e6ac2a76e9377686995b6cb6c2c6211e96f6aab8.zip
update start zones
Diffstat (limited to 'draft-schanzen-gns.xml')
-rw-r--r--draft-schanzen-gns.xml64
1 files changed, 37 insertions, 27 deletions
diff --git a/draft-schanzen-gns.xml b/draft-schanzen-gns.xml
index 7f426ea..b8cab31 100644
--- a/draft-schanzen-gns.xml
+++ b/draft-schanzen-gns.xml
@@ -382,6 +382,11 @@
382 If this functionality is not implemented, names can still be resolved 382 If this functionality is not implemented, names can still be resolved
383 if zone keys for the initial step in the name resolution are available 383 if zone keys for the initial step in the name resolution are available
384 (see <xref target="resolution"/>). 384 (see <xref target="resolution"/>).
385 As users can own and manage their own zones, each local zone SHOULD be
386 associated with a single GNS label, but users MAY choose to use longer
387 names consisting of multiple labels.
388 The associated labels or names are used in order to discover starting
389 zones in the resolution process (see <xref target="governance"/>).
385 </t> 390 </t>
386 <t> 391 <t>
387 Each zone type (ztype) is a unique 32-bit number. 392 Each zone type (ztype) is a unique 32-bit number.
@@ -801,9 +806,10 @@ zTLD[126..129].zTLD[63..125].zTLD[0..62]
801 records. 806 records.
802 A new local zone is established by selecting a zone type and creating a 807 A new local zone is established by selecting a zone type and creating a
803 zone key pair. 808 zone key pair.
804 If this mechanism is not implemented, name resolution is 809 If this mechanism is not implemented,
805 limited to non-local start zones (<xref target="governance"/>) 810 and no zones can be published in the storage (<xref target="publish"/>)
806 and no zones can be published in the storage (<xref target="publish"/>). 811 and name resolution is limited to non-local start zones
812 (<xref target="governance"/>).
807 </t> 813 </t>
808 <t> 814 <t>
809 A GNS resource record holds the data of a specific record in a zone. 815 A GNS resource record holds the data of a specific record in a zone.
@@ -1898,9 +1904,6 @@ q := SHA-512 (ZKDF-Public(zk, label))
1898 <section anchor="governance" numbered="true" toc="default"> 1904 <section anchor="governance" numbered="true" toc="default">
1899 <name>Start Zones</name> 1905 <name>Start Zones</name>
1900 <t> 1906 <t>
1901 <!-- FIXME: This is a mess. Does the resolver know the configuration
1902 or only the client? Because the resolver needs to know the zones for
1903 redirects, for example -->
1904 The resolution of a GNS name starts in an initial start zone. 1907 The resolution of a GNS name starts in an initial start zone.
1905 The resolver may have one or more local start zones configured 1908 The resolver may have one or more local start zones configured
1906 which point to local or remote zone keys. 1909 which point to local or remote zone keys.
@@ -1911,23 +1914,29 @@ q := SHA-512 (ZKDF-Public(zk, label))
1911 <t> 1914 <t>
1912 The governance model of any zone is at the sole discretion 1915 The governance model of any zone is at the sole discretion
1913 of the zone owner. 1916 of the zone owner.
1914 However, the choice of start zone(s) is at the sole 1917 However, the choice of available start zone(s) is at the sole
1915 discretion of the local system administrator or user. 1918 discretion of the local system administrator or user.
1916 This property addresses the issue of a single hierarchy with a 1919 This property addresses the issue of a single hierarchy with a
1917 centrally controlled root and the related issue of distribution and 1920 centrally controlled root and the related issue of distribution and
1918 management of root servers in DNS (see <xref target="RFC8324"/>, Section 3.10 and 3.12). 1921 management of root servers in DNS (see <xref target="RFC8324"/>, Section 3.10 and 3.12).
1922 The only exception to this rule are names ending with a zTLD.
1923 In this case the start zone is explicitly given in the rightmost
1924 label of the name to resolve.
1925 In order to ensure uniqueness of names with zTLDs any
1926 implementation MUST use the given zone as start zone.
1919 </t> 1927 </t>
1920 <t> 1928 <t>
1921 Below examples can be found how a resolver SHOULD 1929 A GNS resolver MUST follow the steps below in order to discover
1922 discover the start zone. The process given is not exhaustive and 1930 the start zone.
1923 resolvers MAY supplement it with other mechanisms or ignore it if the 1931 The process given is not exhaustive and resolvers MAY supplement it
1924 particular application requires a different process. 1932 with other mechanisms if the particular application
1933 requires a different process:
1925 </t> 1934 </t>
1926 <t> 1935 <t>
1927 GNS implementations MUST first try to interpret the top-level domain of 1936 First, any implementation MUST try to interpret the top-level domain of
1928 a GNS name as a zone key representation (i.e. a zTLD). 1937 the given name zTLD.
1929 If the top-level domain can be converted to a valid ztype and zone 1938 If the rightmost label can be converted to a valid ztype and zone
1930 key value, the resulting zone key is used as the start zone: 1939 key, it MUST be used as the start zone:
1931 </t> 1940 </t>
1932 <artwork name="" type="" align="left" alt=""><![CDATA[ 1941 <artwork name="" type="" align="left" alt=""><![CDATA[
1933Example name: www.example.<zTLD> 1942Example name: www.example.<zTLD>
@@ -1935,10 +1944,7 @@ Example name: www.example.<zTLD>
1935=> Name to resolve from start zone: www.example 1944=> Name to resolve from start zone: www.example
1936 ]]></artwork> 1945 ]]></artwork>
1937 <t> 1946 <t>
1938 In GNS, users MAY own and manage their own zones. 1947 An implementation MAY allow the user to manage local zones.
1939 Each local zone SHOULD be associated with a single GNS label,
1940 but users MAY choose to use longer names consisting of
1941 multiple labels.
1942 If the name of a locally managed zone matches the suffix 1948 If the name of a locally managed zone matches the suffix
1943 of the name to be resolved, resolution MUST start from the 1949 of the name to be resolved, resolution MUST start from the
1944 respective local zone with the longest matching suffix: 1950 respective local zone with the longest matching suffix:
@@ -1954,10 +1960,11 @@ com = (d2,zk2)
1954=> Name to resolve from start zone: www.example 1960=> Name to resolve from start zone: www.example
1955 ]]></artwork> 1961 ]]></artwork>
1956 <t> 1962 <t>
1957 Finally, additional "suffix-to-zone" mappings MAY be configured. 1963 Finally, an implementation MAY support the configuration of additional
1958 Suffix to zone key mappings MUST be configurable through a local 1964 "suffix-to-zTLD" mappings.
1965 Suffix-to-zTLD mappings MUST be configurable through a local
1959 configuration file or database by the user or system administrator. 1966 configuration file or database by the user or system administrator.
1960 The suffix MAY consist of multiple GNS labels concatenated with a 1967 A suffix MAY consist of multiple GNS labels concatenated with a
1961 label separator. 1968 label separator.
1962 If multiple suffixes match the name to resolve, the longest 1969 If multiple suffixes match the name to resolve, the longest
1963 matching suffix MUST be used. The suffix length of two results 1970 matching suffix MUST be used. The suffix length of two results
@@ -1969,15 +1976,18 @@ com = (d2,zk2)
1969 <artwork name="" type="" align="left" alt=""><![CDATA[ 1976 <artwork name="" type="" align="left" alt=""><![CDATA[
1970Example name: www.example.org 1977Example name: www.example.org
1971Local suffix mappings: 1978Local suffix mappings:
1972org = zk0 1979org = zTLD0 (ztype0||zk0)
1973example.org = zk1 1980example.org = zTLD1 (ztype1||zk1)
1974example.com = zk2 1981example.com = zTLD2 (ztype2||zk2)
1975... 1982...
1976=> Start zone: zk1 1983=> Start zone: zk1
1977=> Name to resolve from start zone: www 1984=> Name to resolve from start zone: www
1978 ]]></artwork> 1985 ]]></artwork>
1986 <t>
1987 If no start zone can be discovered, resolution MUST fail and an
1988 error MUST be returned to the application.
1989 </t>
1979 </section> 1990 </section>
1980
1981 <section anchor="recursion" numbered="true" toc="default"> 1991 <section anchor="recursion" numbered="true" toc="default">
1982 <name>Recursion</name> 1992 <name>Recursion</name>
1983 <t> 1993 <t>