Internet DRAFT - draft-zeng-dinrg-blockchain-based-rdap

draft-zeng-dinrg-blockchain-based-rdap







Network Working Group                                            Y. Zeng
Internet-Draft                                                  M. Zhang
Intended status: Standards Track                                   CNNIC
Expires: 28 December 2022                                        W. Wang
                                                                    CNIC
                                                            26 June 2022


      A registry/registrar blockchain architecture for domain name
                   registration data access protocol
               draft-zeng-dinrg-blockchain-based-rdap-01

Abstract

   This document defines a registry/registrar blockchain architecture
   for domain name registration data access protocol.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on 28 December 2022.

Copyright Notice

   Copyright (c) 2022 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents (https://trustee.ietf.org/
   license-info) in effect on the date of publication of this document.
   Please review these documents carefully, as they describe your rights
   and restrictions with respect to this document.  Code Components
   extracted from this document must include Revised BSD License text as
   described in Section 4.e of the Trust Legal Provisions and are
   provided without warranty as described in the Revised BSD License.




Zeng, et al.            Expires 28 December 2022                [Page 1]

Internet-Draft                   DNRD-AP                       June 2022


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Overall process . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  Blockchain layer  . . . . . . . . . . . . . . . . . . . . . .   4
     3.1.  Bootstrap Service data  . . . . . . . . . . . . . . . . .   5
     3.2.  The bootstrap service chain of registries . . . . . . . .   6
     3.3.  The bootstrap service chain of registrars . . . . . . . .   7
   4.  Data service access node  . . . . . . . . . . . . . . . . . .   8
     4.1.  The data source . . . . . . . . . . . . . . . . . . . . .   8
     4.2.  Data consolidation and update . . . . . . . . . . . . . .   9
     4.3.  The path segment of query and search  . . . . . . . . . .  10
     4.4.  Data access process . . . . . . . . . . . . . . . . . . .  10
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  11
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .  11
   7.  Acknowledgment  . . . . . . . . . . . . . . . . . . . . . . .  11
   8.  Normative References  . . . . . . . . . . . . . . . . . . . .  11
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  11

1.  Introduction

   WHOIS is a transmission protocol that is used to query the IP and
   owner of a domain name.  It can be used to query whether a domain
   name has been registered, and the detailed information of the
   registered domain name.  Early WHOIS queries existed in the form of
   command lines, and now there are also ways to query through web
   pages.  The query tools of the web interface still rely on the WHOIS
   protocol to send query requests to the server, and the tools of the
   command line interface are still widely used by system
   administrators.

   WHOIS service is a free and open directory system that includes the
   registration information, such as contact information and technical
   information of registered domain name holders.  Anyone who needs to
   query the relevant information of the website and domain name can
   obtain it by querying the WHOIS directory information.  Registrars
   and registries collect data and publish them publicly in accordance
   with the content of the agreement signed with ICANN.

   The shortcomings of the WHOIS protocol that have been discovered over
   time include:

      lack of standardized command structure;

      lack of standardized output and error structure;

      lack of support for internationalization and localization;




Zeng, et al.            Expires 28 December 2022                [Page 2]

Internet-Draft                   DNRD-AP                       June 2022


      lack of support for user identification, authentication, and
      access control.

   REST (Representation State Transfer) is a software architecture.
   REST observes the entire network from the perspective of resources.
   The distributed resources are determined by the URI (Uniform Resource
   Identifier).  The client application obtains the representation of
   the resource through the URI, and can perform CRUD (Create, Read,
   Update, Delete, and create) operations on these resources.  Restful
   Web Service is an http service based on the REST architecture.  RDAP
   uses the Restful architecture to improve the WHOIS protocol.  The
   main idea is to look up domain names, registrars, and host
   information as resources.  It uses an architecture based on the HTTP
   protocol, queries through URIs, and can use XML, JSON or HTML to
   return structured WHOIS information, thereby improving the defects of
   the WHOIS protocol([RFC7480]).

   Blockchain technology is a decentralized distributed database, which
   can ensure the security, integrity, distribution, and non-tampering
   characteristics of data through chain block structure, consensus
   mechanism, smart contracts, etc.

   This document designs a blockchain-based domain name registration
   data access protocol, which uses the blockchain architecture to
   maintain and manage domain name registration data.

2.  Overall process

   The blockchain-based RDAP mainly includes modules such as the
   blockchain layer, storage layer, and data service access node layer.
   The blockchain layer includes two chains which are registry bootstrap
   service chain and the registrar bootstrap service chain.  The storage
   layer includes databases where registries and registrars store
   registration data.  The data service access node is responsible for
   receiving user query requests, obtaining service data through the
   registry bootstrap service chain and registrar bootstrap service
   chain, integrating modules of query and response technical
   requirements, HTTP technical requirements, security technical
   requirements, and returning the final response data to the user.

   Figure 1 shows the registry/registrar blockchain architecture for
   domain name registration data access protocol .









Zeng, et al.            Expires 28 December 2022                [Page 3]

Internet-Draft                   DNRD-AP                       June 2022


                         data consolidation
              +-----------------+----------------+
              |                 |                |
      +-------v-------+   +-----+-----+   +------v------+
      |   registry    |   |   IANA    |   |  registrar  |
   +--+               |   |           |   |             +--+
   |  |               |   |           |   |             |  |
   |  |    chain      |   |   ICANN   |   |    chain    |  |
   |  +-------^-------+   +-----------+   +------^------+  |
   |          |          blockchain nodes        |         |
   |  +-------+-------------------+  +-----------+------+  |
   |  |                           |  |                  |  |
   |  |      registries           |  |    registrars    |  |
   |  |                           |  |                  |  |
   |  +-------+-------------------+  +-----------+------+  |
   |          |    write the registration data   |         |
   |  +-------v-------------------+  +-----------v------+  |
   |  |                           |  |  databases of    |  |
   |  |  databases of registries  |  |                  |  |
   |  |                           |  |  registrars      |  |
   |  +---------------------------+  +------------------+  |
   |                                                       |
   |  +-------------------------------------------------+  |
   |  |                                                 |  |
   |  |                                                 |  |
   +-->         The data service access node            <--+
      |                                                 |
      |                                                 |
      +-------^----------------------------------^------+
              |                                  |
      +-------v----------------------------------v------+
      |                users and clients                |
      +-------------------------------------------------+

                     Figure 1: The Overall Architecture

3.  Blockchain layer

   The blockchain layer includes the registry bootstrap service chain
   and the registrar bootstrap service chain.  Both chains are
   consortium chains with access mechanisms.  They manage members based
   on the PKI certificate system, and issue signature certificates to
   participating registries, registrars and other nodes through CA
   services.  Only when nodes hold certificates can they join the
   blockchain network and manage the addition, modification and deletion
   of their own resources.





Zeng, et al.            Expires 28 December 2022                [Page 4]

Internet-Draft                   DNRD-AP                       June 2022


3.1.  Bootstrap Service data

   Top-level domains (TLDs), autonomous system (AS) numbers and network
   blocks are entrusted by IANA to Internet registries, such as TLD
   registries and regional Internet registries (RIRs), which are
   subsequently released further commission and maintain information
   about registered resources.  Domain name registration data is not a
   single centralized management database.  On the contrary, multiple
   registries and registrars in different regions are responsible for
   the management of their respective registration data.  They formulate
   their own policies for WHOIS services in accordance with the minimum
   requirements stipulated in the contract they signed with ICANN.

   The registrant submits a domain name registration application to the
   domain name registrar.  After the registration is successful, the
   registrar will store the registration data in its own WHOIS database,
   and send the corresponding registration data to the TLD registry at
   the same time according to the requirements of the TLD registry.
   When the client initiates a WHOIS query, the WHOIS backend service
   needs to initiate a query request to the corresponding TLD registry
   to obtain registration data information.  The query service itself
   does not store the registration data of the domain name.  The query
   tool on the web page encapsulates this process.

   Regarding the gTLD registries, ICANN clearly stipulates the service
   requirements of WHOIS in the "Registry Agreements", including two
   common modes "thick" and "thin".  Although all current new gTLD
   registries adopt an "thick" operating model, there are still some
   existing registries (such as ".COM" and ".NET") that operate under a
   "thin" registration model.  The thin registry only saves enough data
   in its WHOIS data repository to confirm the relevant registrar,
   registration status, the generation and expiration date of each
   registration, domain name server information and the last update time
   of the data in the WHOIS database.  In addition to providing the
   above information, the "thick" registry is also responsible for
   maintaining the registrant's contact information and designated
   management and technical contact information.

   IANA created a new registry based on the specified JSON format, named
   the Bootstrap Service Registry.  The bootstrap service data specifies
   a method to find which server is authoritative to answer the query of
   the request range, which can be specified through an HTTP request.

   For the detailed definition of the data structure of the bootstrap
   service data, please refer to RFC 7484.






Zeng, et al.            Expires 28 December 2022                [Page 5]

Internet-Draft                   DNRD-AP                       June 2022


   The blockchain-based domain name RDAP uses the registry service chain
   and the registrar service chain to store the data access service
   information of the registrar and the registrar respectively, and
   integrate with the IANA data source to obtain the final bootstrap
   data.

3.2.  The bootstrap service chain of registries

   The registry service chain is divided into the data layer, consensus
   layer and application layer.  The application layer is responsible
   for the processing of business logic, including binding of top-level
   domains, and addition, modification and deletion of the registry
   service data.  The consensus layer includes smart contracts and
   consensus algorithms to ensure the orderliness and effectiveness of
   blocks and the consistency of data.  It is recommended to adopt a
   hybrid consensus mechanism of DPOA and PBFT.  For each top-level
   domain, the registration data query service information provided by
   the registry responsible for the top-level domain is stored on the
   chain.

   The participating nodes of the registry service chain are divided
   into common registry nodes and consensus nodes elected by each node.
   The registry node can publish the guidance information of the TLD
   that it is responsible for management, and it will sign the message,
   then other nodes can verify its identity and information format.  The
   management node is mainly responsible for node admission management
   and publishes the changed information on the blockchain.

   The management node manages the registration of the registry through
   smart contracts.  When a registry node joins, it verifies the binding
   relationship between the registry and the top-level domain, and
   writes the relationship between the registry and the TLD into the
   blockchain.  The registry node also uses smart contract for data
   release and update.

   The functions of the registry node include adding, modifying, and
   deleting entries of the bootstrap service of the TLD under its own
   management.  When the registry initiates an application for data
   release and update, it verifies the encrypted information and
   identity certification through smart contracts, and writes the data
   to the blockchain after being reviewed by the management node.  Only
   the registry that manages a TLD has the authority to publish and
   change the corresponding top-level domain data records.








Zeng, et al.            Expires 28 December 2022                [Page 6]

Internet-Draft                   DNRD-AP                       June 2022


3.3.  The bootstrap service chain of registrars

   The participating nodes of the registrar service chain are each
   registrar.  It uses a hybrid consensus mechanism of DPOA and PBFT.
   The nodes added to the blockchain are divided into consensus nodes
   and ordinary nodes.  Ordinary nodes do not participate in the
   consensus, but can participate in the election to become a consensus
   node.  The K nodes with the highest votes are elected by ordinary
   nodes to form a consensus node set.  Consensus nodes participate in
   the consensus process and are divided into main verification nodes
   and other consensus nodes.  The main verification node is the current
   management node, responsible for generating blocks, and then
   broadcasting to other consensus nodes for block confirmation.  At the
   same time, in order to prevent external attacks, there can also be
   multiple master verification nodes to form an endorsement committee,
   and everyone sign transactions through a multi-signature mechanism.
   After receiving the data change request, the management node will
   pass it to other consensus nodes for voting after verification.  Only
   if the number of votes exceeds the set threshold, the update will be
   approved.  After a certain round, the consensus nodes will be re-
   elected.  At the same time, the consensus nodes implement a regular
   rotation mechanism of management nodes.

   The participating nodes of the registrar service chain are divided
   into registrar nodes and consensus nodes elected by each node.  The
   registrar service chain is a consortium chain, and participating
   nodes need to pass identity verification in the admission mechanism
   stage before they can join.  The management node is mainly
   responsible for reviewing the application of the registrar to join
   the blockchain, key management and publishing the changed information
   on the blockchain.  The registrar node can publish the bootstrap
   information of the domain name registration information query service
   provided by itself, and it will sign the message, then other nodes
   will verify its identity and information format.

   Only registrars approved by ICANN can join the registrar service
   chain, and the management node will synchronize ICANN-approved
   registrar list information as the judging criteria for node joining.
   After the registrar submits the application for joining the chain,
   the management node will review, verify its identity information.
   The registrar can join the blockchain after passing the access
   mechanism.

   The data stored on the chain includes the base address of the
   registration data access service provided by each registrar.  For a
   specific registrar, the data format is shown in Table 1.





Zeng, et al.            Expires 28 December 2022                [Page 7]

Internet-Draft                   DNRD-AP                       June 2022


          +============+========================================+
          | Field Name | Description                            |
          +============+========================================+
          | ID         | Registrar ID                           |
          +------------+----------------------------------------+
          | Name       | Registrar Name                         |
          +------------+----------------------------------------+
          | Country    | Country/Territory                      |
          +------------+----------------------------------------+
          | Contact    | Public contact                         |
          +------------+----------------------------------------+
          | status     | Status(Accredited/Reserved/Terminated) |
          +------------+----------------------------------------+
          | Link       | Registrar website link                 |
          +------------+----------------------------------------+
          | serviceURL | Service URL                            |
          +------------+----------------------------------------+

                     Table 1: Block Fields Description


   The functions of the registrar node include the ability to add,
   modify, and delete the service information provided by itself.

   After the registrar submits the data change application, the
   management node verifies the legality of the application, and writes
   it into the blockchain after the verification is passed and reaching
   a consensus.

4.  Data service access node

   The data access node includes a presentation module, a business
   module, and a data access module.  Representation module is
   responsible for processing request distribution from different
   clients; business module includes user authentication, information
   query, data model definition and some other auxiliary support
   functions, such as rate limit, connection time limit, online user
   number limit and error code definition; data access module is
   responsible for processing the interaction with the database by the
   data access object, and returns the data content to the upper layer.

4.1.  The data source

   The data source of the data service access nodes is divided into two
   parts: one is the registrar and registrar service chain data, and the
   second is the data provided by IANA and ICANN.





Zeng, et al.            Expires 28 December 2022                [Page 8]

Internet-Draft                   DNRD-AP                       June 2022


   IANA's bootstrap service registry for domain name space provides the
   service information of each top-level domain registry, and the data
   access node can obtain the file content from the IANA official
   website.

   IANA's registrar ID list and ICANN's list of accredited registrars
   provide registrar-related information, which can be accessed and
   downloaded through the official website.  The data service access
   node obtains the name, number, country, contact number, email
   address, and registration data access service interface information
   of ICANN-accredited registrars from the above list.

4.2.  Data consolidation and update

   a) The registry bootstrap data

   The system regularly obtains the data in the registry service chain
   and the IANA bootstrap service registry.  If the blockchain data
   update timestamp or the timestamp published by the IANA data is
   inconsistent with the current node data timestamp, it means that the
   two data sources have been updated.

   Data update in the registry service chain is directly loaded to the
   data access node; for records that do not exist in the registry
   chain, the data content in the IANA bootstrap files is used.

   The data access nodes extract, merge and clean data from different
   data sources to complete the data integration operation.

   b) The registrar bootstrap data

   The system regularly obtains the data of the registrar guide service
   chain, registrar IDs list in IANA and the ICANN accredited registrars
   list.  Through processing operations such as format conversion and
   splicing of the original data of the two data sources, the
   registrar's name, number, country, contact number, e-mail address,
   and registration data access service interface provided by the
   registrar are obtained.

   The data update in the registrar-guided service chain is directly
   loaded to the data access node.  For records that do not exist in the
   registrar chain, the content integrated in the IANA and ICANN data
   sources will be used.








Zeng, et al.            Expires 28 December 2022                [Page 9]

Internet-Draft                   DNRD-AP                       June 2022


4.3.  The path segment of query and search

   Typically, a registry or other service provider will provide a basic
   URL that identifies the protocol, host, and port.  The basic URL used
   to construct the registration data access protocol query is
   maintained in the blockchain layer.  The query is formed by
   retrieving the appropriate base URL from the registry and appending
   the specified path segment according to the query or search pattern
   category.

   For detailed definitions of specific categories and specifications of
   path segments, please refer to [RFC9082].

4.4.  Data access process

   The data service access node is responsible for receiving the user's
   request, obtaining the requested data content, fulfilling the
   security and authority requirements, the application technical
   requirements of HTTP query and response, and returning the response
   to the user.  Specific steps are as follows:

   (1) The user sends a request to the data service access node.  In
   addition to the query path segment and other parameters, there is an
   optional parameter, which means that registry only, registrar only,
   or registry and registrar data are both queried at the same time.
   The default option can be set to query the registry and registrar at
   the same time.

   (2) After receiving the user query request, the data service access
   node first makes a verification according to the content of the user
   request.  If it is to query the registry and the registrar at the
   same time, it will obtain the corresponding interface information
   from the registry service blockchain.  The data service access node
   adds the corresponding request path segment, and then realizes the
   query, response and HTTP technical requirements, and sends the query
   request to the back-end service.  It completes the user identity
   authorization verification at the same time, and obtains the response
   data returned by the registry.

   (3) The data service access node obtains the registrar information of
   the domain name from the response data in step 2, and at the same
   time obtains the query interface information provided by the
   registrar from the registrar service chain or the link field in the
   response in step 2.  Then, the data service access node adds the
   corresponding path segment to form a complete query request, and
   finally obtains the registrar response data.





Zeng, et al.            Expires 28 December 2022               [Page 10]

Internet-Draft                   DNRD-AP                       June 2022


   (4) Return the data obtained in step 2 and step 3 to the user; in
   addition, the user can also choose to only query the data content of
   the registry or registrar according to the type of registry.

5.  IANA Considerations

   There are no actions needed.

6.  Security Considerations

   The blockchain system needs to maintain the overall security of the
   system at the levels of data content, consensus algorithms, smart
   contracts, and peer-to-peer networks through technologies such as
   cryptography and network security.  Possible security problems in
   cryptography include improper key management, vulnerabilities in
   cryptographic algorithms or components.  At the network level,
   attackers can use peer-to-peer network security vulnerabilities and
   node network topology to launch attacks.  In addition, security
   considerations also include the consistency problem of the consensus
   algorithm, code vulnerability, privacy protection and so on.  In
   terms of storage, computing, and data interfaces, the blockchain
   architecture faces security threats similar to other information
   systems.  In the deployment process, each module should meet the
   corresponding security requirements.

7.  Acknowledgment

   The authors would like to thank CNNIC RDAP team for their careful
   review and valuable comments.

8.  Normative References

   [RFC7480]  Newton, A., Ellacott, B., and N. Kong, "HTTP Usage in the
              Registration Data Access Protocol (RDAP)", STD 95,
              RFC 7480, DOI 10.17487/RFC7480, March 2015,
              <https://www.rfc-editor.org/info/rfc7480>.

   [RFC9082]  Hollenbeck, S. and A. Newton, "Registration Data Access
              Protocol (RDAP) Query Format", STD 95, RFC 9082,
              DOI 10.17487/RFC9082, June 2021,
              <https://www.rfc-editor.org/info/rfc9082>.

Authors' Addresses








Zeng, et al.            Expires 28 December 2022               [Page 11]

Internet-Draft                   DNRD-AP                       June 2022


   Yu Zeng
   CNNIC
   4 South 4th Street, Zhongguancun, Haidian District
   Beijing
   Beijing, 100190
   China
   Email: zengyu@cnnic.cn


   Man Zhang
   CNNIC
   4 South 4th Street, Zhongguancun, Haidian District
   Beijing
   Beijing, 100190
   China
   Email: zhangman@cnnic.cn


   Wei Wang
   CNIC
   4 South 4th Street, Zhongguancun, Haidian District
   Beijing
   Beijing, 100190
   China
   Email: wangwei@cnic.cn


























Zeng, et al.            Expires 28 December 2022               [Page 12]