WO2021042788A1 - Blockchain-based domain name query system and method - Google Patents

Blockchain-based domain name query system and method Download PDF

Info

Publication number
WO2021042788A1
WO2021042788A1 PCT/CN2020/094212 CN2020094212W WO2021042788A1 WO 2021042788 A1 WO2021042788 A1 WO 2021042788A1 CN 2020094212 W CN2020094212 W CN 2020094212W WO 2021042788 A1 WO2021042788 A1 WO 2021042788A1
Authority
WO
WIPO (PCT)
Prior art keywords
domain name
smart contract
node
sub
chain
Prior art date
Application number
PCT/CN2020/094212
Other languages
French (fr)
Chinese (zh)
Inventor
白杰
Original Assignee
南京瑞祥信息技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 南京瑞祥信息技术有限公司 filed Critical 南京瑞祥信息技术有限公司
Publication of WO2021042788A1 publication Critical patent/WO2021042788A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Definitions

  • This application relates to the field of blockchain technology, in particular to a domain name query system and method based on blockchain.
  • a domain name is the name of a computer or group of computers on the Internet consisting of a string of names separated by dots, used to identify the geographic location of the computer during data transmission.
  • Domain names can be divided into different levels, including root domain names, top-level domain names, and application domain names.
  • the root domain name is the highest-level domain name node.
  • the domain name ".” is the root domain name
  • the top-level domain name includes the national top-level domain name and the international top-level domain name.
  • the domain name ".com.” is the top-level domain name
  • the application domain name refers to the top-level domain name.
  • the domain name under the domain name, for example, ".abc.com.” or "www.abc.com.” in the domain name is the application domain name.
  • Domain name query is a necessary step in the process of domain name resolution.
  • DNS domain name system
  • the DNS system is usually used for domain name resolution, but the DNS system is a multi-level and highly dependent between different levels. The system, once a certain level fails or receives an attack, it will lead to the risk of the entire system crashing.
  • This application provides a blockchain-based domain name query system and method, which can be used to solve the technical problem of the existing DNS system that once a certain level fails or is attacked, it is easy to cause the entire system to collapse.
  • an embodiment of the present application provides a domain name query system based on a blockchain.
  • the system includes a public chain composed of multiple nodes and a sub-chain composed of some nodes in the public chain;
  • the nodes in the chain are configured with a root domain name smart contract;
  • the nodes in the sub-chain are configured to: generate a sub-domain smart contract by executing the root domain name smart contract, and obtain the ownership of the sub-domain smart contract in a competitive manner;
  • the node in the sub-chain is further configured to: obtain the domain name to be queried, determine the first domain name smart contract corresponding to the domain name to be queried; if it is configured with the first domain name smart contract, call the first domain name smart contract.
  • the contract queries the address information of the domain name to be queried.
  • the node in the sub-chain is further configured to: if it is not configured with the first domain name smart contract, determine the second domain name smart contract that manages the domain name to be queried; if it is configured with the first domain name smart contract; 2. Domain name smart contract, calling the second domain name smart contract to query the first node that owns the ownership of the first domain name smart contract; sending a domain name query request to the first node, the domain name query request including the domain name to be queried ;
  • the first node is configured to call the first domain name smart contract to query the address information of the domain name to be queried, and to return the address information of the domain name to be queried to the nodes in the sub-chain.
  • the node in the sub-chain is further configured to: if the second domain name smart contract is not a root domain name smart contract, and the second domain name smart contract is not configured in itself, call the root domain name smart contract to query ownership The second node of the ownership of the second domain name smart contract; sending a contract invocation request to the second node, where the contract invocation request includes the second domain name smart contract;
  • the second node is configured to: invoke the second domain name smart contract to query the first node that owns the ownership of the first domain name smart contract, and return the first node to the node in the sub-chain;
  • the node in the sub-chain is further configured to send a domain name query request to the first node, where the domain name query request includes the domain name to be queried;
  • the first node is configured to call the first domain name smart contract to query the address information of the domain name to be queried, and to return the address information of the domain name to be queried to the nodes in the sub-chain.
  • the subdomain name smart contract includes a top-level domain name smart contract and an application domain name smart contract.
  • the root domain name smart contract is used to manage top-level domain names
  • the top-level domain name smart contract is used to manage second-level domain names
  • the application domain name smart contract is used to manage third-level domain names and above.
  • the nodes in the sub-chain are further configured to generate a top-level domain name smart contract by executing the root domain name smart contract, and/or to generate an application domain name smart contract by executing the top-level domain name smart contract.
  • the node in the sub-chain is further configured to: if the address information of the domain name to be queried is not queried by invoking the first domain name smart contract, the domain name query fails.
  • the node in the sub-chain is further configured to obtain the domain name to be queried sent by the initiating node or the neighboring node corresponding to the node in the sub-chain.
  • the embodiments of the present application provide a domain name query method based on blockchain.
  • the method is applied to the above-mentioned system.
  • the system includes a public chain composed of multiple nodes, and A sub-chain composed of some nodes in the chain; among them, the nodes in the public chain are configured with root domain name smart contracts; the nodes in the sub-chain are configured to: generate sub-domain smart contracts by executing the root domain name smart contracts, and use competitive Way to obtain the ownership of the subdomain name smart contract; the method includes:
  • the node in the sub-chain obtains the domain name to be queried
  • the node in the sub-chain determines the first domain name smart contract corresponding to the domain name to be queried
  • the node in the sub-chain invokes the first domain name smart contract to query the address information of the domain name to be queried.
  • the method further includes:
  • the domain name query fails.
  • the method further includes:
  • the node in the sub-chain determines the second domain name smart contract that manages the domain name to be queried;
  • the node in the sub-chain invokes the second domain name smart contract to query the first node that owns the first domain name smart contract;
  • the node in the sub-chain sends a domain name query request to the first node, where the domain name query request includes the domain name to be queried;
  • the first node invokes the first domain name smart contract to query the address information of the domain name to be queried, and returns the address information of the domain name to be queried to the nodes in the sub-chain.
  • the method further includes:
  • the nodes in the sub-chain call the root domain name smart contract to query the ownership of the second domain name smart contract Second node
  • the node in the sub-chain sends a contract invocation request to the second node, and the contract invocation request includes the second domain name smart contract;
  • the second node uses the second domain name smart contract to query the first node that owns the ownership of the first domain name smart contract, and returns the first node to the node in the sub-chain;
  • the node in the sub-chain sends a domain name query request to the first node, where the domain name query request includes the domain name to be queried;
  • the first node invokes the first domain name smart contract to query the address information of the domain name to be queried, and returns the address information of the domain name to be queried to the nodes in the sub-chain.
  • the subdomain name smart contract includes a top-level domain name smart contract and an application domain name smart contract.
  • the root domain name smart contract is used to manage top-level domain names
  • the top-level domain name smart contract is used to manage second-level domain names
  • the application domain name smart contract is used to manage third-level domain names and above.
  • obtaining the domain name to be queried by a node in the sub-chain includes:
  • the node in the sub-chain obtains the domain name to be queried sent by the initiating node or the neighboring node corresponding to the node in the sub-chain.
  • the embodiment of the present application also provides a device, which has the function of realizing the blockchain-based domain name query method described above.
  • This function can be implemented by hardware executing corresponding software.
  • the device includes: a processor, a transceiver, and a memory; the memory is used to store computer-executed instructions, and the transceiver is used to implement communication between the device and other devices.
  • the entity communicates, the processor and the memory are connected through the bus, and when the device is running, the processor executes the computer execution instructions stored in the memory, so that the device executes the blockchain-based domain name described above Query method.
  • the embodiment of the present invention also provides a computer storage medium, and the storage medium stores a software program.
  • the software program When the software program is read and executed by one or more processors, it realizes the above-mentioned various possible implementations based on the Domain name query method of blockchain.
  • the embodiment of the present invention also provides a computer program product containing instructions, which when running on a computer, causes the computer to execute the blockchain-based domain name query method described in the various possible implementation manners.
  • this application provides a blockchain-based domain name query system, including: a public chain composed of multiple nodes, and a sub-chain composed of some nodes in the public chain.
  • all nodes in the public chain are configured with root domain name smart contracts; nodes in the sub-chain are configured to: generate sub-domain name smart contracts by executing the root domain name smart contract, and obtain the sub-domain name by means of competition Ownership of the smart contract; and, obtain the domain name to be queried, and determine the first domain name smart contract corresponding to the domain name to be queried; if it is equipped with the first domain name smart contract, call the first domain name smart contract to query the address information of the domain name to be queried.
  • This application deploys the DNS system in the blockchain network in the form of a sub-chain, which can realize a complete decentralized deployment.
  • the domain name query system provided by this application, different levels of domain names are managed by different smart contracts, and the ownership of smart contracts is obtained by nodes in the sub-chain through competition.
  • this method is more flexible, less vulnerable to attacks, and improves the stability of the entire system, thereby increasing the parties involved in and providing network services. Network security.
  • Figure 1 is a schematic structural diagram of a blockchain-based domain name query system to which an embodiment of the application is applicable;
  • FIG. 2 is a schematic diagram of a domain name query process of a domain name query system provided by an embodiment of the application;
  • FIG. 3 is a schematic diagram of a domain name query process of another domain name query system provided by an embodiment of the application
  • FIG. 4 is a schematic diagram of the process of performing domain name query by another domain name query system provided by an embodiment of this application;
  • FIG. 5 is a schematic diagram of a domain name query process of a top-level domain name provided by an embodiment of the application
  • FIG. 6 is a schematic diagram of a domain name query process of a second-level domain name provided by an embodiment of the application
  • FIG. 7 is a schematic flowchart of a method for querying domain names based on blockchain provided by an embodiment of the application.
  • the blockchain network refers to a point-to-point network with a decentralized application architecture, and the blockchain network can perform distributed storage, public consensus, digital encryption, transaction accounting, and verification. That is, the blockchain network is a trading platform that covers distributed technology, cryptography, P2P network architecture, and various consensus algorithms that may be applied.
  • blockchain or blockchain data refers to the accounting information generated according to the transaction information when a transaction occurs in the blockchain network, that is, multiple transactions form one block of data, and multiple block data form one Blockchain with timestamp.
  • the blockchain network includes nodes that establish a peer-to-peer network connection with each other. Each node is equipped with a corresponding consensus mechanism, such as a smart contract, and has sufficient computing power to perform transaction verification and accounting procedures.
  • the node also has an interface specification that conforms to a certain unified standard to realize access to more nodes or other types of blockchain networks through the interface specification.
  • the public chain is a point-to-point network structure composed of multiple nodes in the blockchain network, and each node has a distributed storage function and transaction and accounting functions; the nodes on the public chain provide a unified interface specification to the outside.
  • FIG. 1 exemplarily shows a structural diagram of a blockchain-based domain name query system to which an embodiment of the present application is applicable.
  • the system may include: a public chain composed of multiple nodes, and a sub-chain composed of some nodes in the public chain.
  • nodes in the public chain can also serve as sub-chain nodes at the same time. Since the nodes in the sub-chain are composed of some nodes in the public chain, they are both nodes in the sub-chain and nodes in the public chain. That is, the nodes constituting the sub-chain have the same smart contracts and functions as the nodes of the public chain.
  • public chains can provide basic blockchain services in the network, such as transactions, verification, and storage.
  • the public chain itself may not have specific functions corresponding to any field, but as a bridge, bringing all the sub-chains (or third-party blockchain networks) connected to the public chain into the same blockchain network, so that Different access chains can exchange transactions or transfer information with each other.
  • Smart contract is a consensus mechanism program agreed on based on blockchain transactions, and various functions of transaction operations can be realized through smart contracts.
  • the node can complete the domain name query and registration service by executing the root domain name smart contract.
  • the nodes in the sub-chain can be configured to generate sub-domain smart contracts by executing the root domain smart contract, and obtain the ownership of the sub-domain smart contracts in a competitive manner.
  • the sub-chain node can be the owner of the sub-domain smart contract, that is, the sub-chain node is configured with the sub-domain smart contract.
  • the nodes that make up the sub-chain have the same smart contract as the nodes of the public chain, the nodes in the sub-chain can directly execute the root domain name smart contract, thereby generating the sub-domain name smart contract.
  • the subdomain smart contract includes top-level domain smart contract, application domain smart contract and domain name system (Blockchain Name System, BNS) data.
  • domain names can be divided into root domain names, top-level domain names, and application domain names. Further, application domain names can be divided into second-level domain names, third-level domain names, and fourth-level domain names.
  • a complete domain name consists of two or more parts, each part is separated by an English period ".”, the last ".” is called the root domain name; the right part of the last ".” is called It is a top-level domain name (Top Level Domain, TLD), also known as a first-level domain name. It contains a legal string and a domain name suffix; the left part of the top-level domain name from the left part of the string to the next ".” is called the second-level domain name (Second). Level Domain, SLD); the left part of the second-level domain name is called the third-level domain name, and so on, each level of domain name controls the distribution of its next-level domain name.
  • the root domain name can correspond to the root domain name smart contract.
  • the root domain name smart contract can be used to manage and maintain top-level domain names and generate top-level domain smart contracts; the top-level domain names can correspond to the top-level domain smart contracts, and the top-level domain smart contracts can be used to manage and maintain application domain names.
  • application domain names can correspond to application domain name smart contracts, and application domain name smart contracts can be used to manage and maintain BNS data; BNS data can include information about third-level domain names and the fourth level Information about the domain name, etc.
  • the nodes in the sub-chain can be specifically configured to generate a top-level domain name smart contract by executing a root domain name smart contract.
  • the nodes in the sub-chain can also be specifically configured to generate application domain name smart contracts by executing top-level domain smart contracts.
  • FIG. 2 exemplarily shows a schematic diagram of a domain name query process performed by a domain name query system provided in an embodiment of the present application.
  • the node in the sub-chain can be further configured to: obtain the domain name to be queried, determine the first domain name smart contract corresponding to the domain name to be queried; if it is configured with the first domain name
  • the domain name smart contract calls the first domain name smart contract to query the address information of the domain name to be queried.
  • the domain name query fails.
  • this application provides a blockchain-based domain name query system, including: a public chain composed of multiple nodes, and a sub-chain composed of some nodes in the public chain.
  • all nodes in the public chain are configured with root domain name smart contracts; nodes in the sub-chain are configured to: generate sub-domain name smart contracts by executing the root domain name smart contract, and obtain the sub-domain name by means of competition Ownership of the smart contract; and, obtain the domain name to be queried, and determine the first domain name smart contract corresponding to the domain name to be queried; if it is configured with the first domain name smart contract, call the first domain name smart contract to query the address information of the domain name to be queried.
  • This application deploys the DNS system in the blockchain network in the form of a sub-chain, which can realize a complete decentralized deployment.
  • the domain name query system provided by this application, different levels of domain names are managed by different smart contracts, and the ownership of smart contracts is obtained by nodes in the sub-chain through competition.
  • this method is more flexible, less vulnerable to attacks, and improves the stability of the entire system, thereby increasing the parties involved in and providing network services. Network security.
  • the transaction request received by the node in the sub-chain originates from node 0.
  • Node 0 can be the initiating node of this domain name rubbing transaction, or it can be the neighboring node of the node in the sub-chain (ie, node 1). That is, a node in the sub-chain (node 1 as shown in FIG. 2) may be further configured to obtain the domain name to be queried sent by the initiating node or the neighboring node corresponding to the node in the sub-chain.
  • the transaction form between the initiating node and the node in the sub-chain is also different. There may be two situations in which nodes in the sub-chain obtain the domain name to be queried sent by the initiating node.
  • the initiating node can directly conduct transactions or information interaction with nodes in the sub-chain, it can directly send the domain name to be queried to the nodes in the sub-chain through the initiating node.
  • This method is most suitable for transactions in which the initiating node and the nodes in the sub-chain are in the same blockchain network, that is, the initiating node is also a node in the domain name query system.
  • the initiating node can broadcast the domain name to be queried. Specifically, it may first broadcast the domain name to be queried to neighboring nodes, and then the neighboring node determines whether to receive the domain name to be queried or continue broadcasting in combination with its own role, until the node in the sub-chain receives the domain name to be queried.
  • the situation where the node in the sub-chain receives the domain name to be queried sent by the neighboring nodes of the node in the sub-chain may be that the initiating node does not know the location information of the core node and sends the domain name to be queried in the blockchain in the form of broadcast. In this way, With the spread of information, nodes in the sub-chain can receive the domain name to be queried through its neighboring nodes.
  • the above two situations are only exemplary descriptions.
  • the initiating node is a neighboring node of a node in the sub-chain
  • the node in the sub-chain can also be regarded as directly receiving The domain name to be queried sent by the initiating node.
  • FIG. 3 exemplarily shows a flowchart of another domain name query system provided by an embodiment of the present application for domain name query.
  • the node in the sub-chain can be further configured to: obtain the domain name to be queried sent by the initiating node (node 0 as shown in Fig. 3), and determine the domain name to be queried The corresponding first domain name smart contract; if the first domain name smart contract is not configured, the second domain name smart contract that manages the domain name to be queried is determined; if the second domain name smart contract is configured, the second domain name smart contract is called to query the ownership of the first domain name smart contract.
  • the first node of the ownership of a domain name smart contract (node 2 shown in Figure 3); sends a domain name query request to the first node. Among them, the domain name query request includes the domain name to be queried.
  • the first node (node 2 shown in FIG. 3) can be configured to call the first domain name smart contract to query the address information of the domain name to be queried, and to return the address information of the domain name to be queried to the nodes in the sub-chain.
  • FIG. 4 exemplarily shows a flowchart of another domain name query system for domain name query provided by an embodiment of the present application.
  • the node in the sub-chain can be further configured to: obtain the domain name to be queried sent by the initiating node (node 0 as shown in Fig. 4), and determine the domain name to be queried Corresponding to the first domain name smart contract; if the first domain name smart contract is not configured, determine the second domain name smart contract that manages the domain name to be queried; if the second domain name smart contract is not a root domain name smart contract, and it is not configured with a second domain name smart contract
  • the domain name smart contract calls the root domain name smart contract to query the second node (node 3 shown in Figure 4) that has the ownership of the second domain name smart contract; and sends a contract call request to the second node.
  • the contract call request includes the second domain name smart contract.
  • the nodes in the public chain are all configured with root domain name smart contracts, and the nodes in the sub-chain are composed of some nodes in the public chain, that is, the nodes in the sub-chain are also All are configured with a root domain name smart contract; therefore, when a node in the child chain determines that it is not configured with a second domain name smart contract, it can directly call the root domain name smart contract.
  • the second node (node 3 shown in FIG. 4) can be configured to call the second domain name smart contract to query the first node (node 2 shown in FIG. 4) that owns the ownership of the first domain name smart contract, And return the first node to the node in the child chain.
  • the node in the sub-chain may be further configured to send a domain name query request to the first node.
  • the domain name query request includes the domain name to be queried.
  • the first node (node 2 shown in FIG. 4) can be configured to call the first domain name smart contract to query the address information of the domain name to be queried, and to return the address information of the domain name to be queried to the nodes in the sub-chain.
  • the domain name to be queried in this application can be a domain name of different levels, correspondingly, the domain name smart contract called is also different.
  • the following examples describe in detail the domain name query process of the domain names to be queried at different levels.
  • FIG. 5 it is a schematic diagram of a domain name query process of a top-level domain name provided by an embodiment of this application.
  • the node in the sub-chain can be further configured to obtain the top-level domain name to be queried sent by the initiating node (node 0 as shown in FIG. 5), and determine the corresponding top-level domain name to be queried Top-level domain smart contract; if you are equipped with the top-level domain smart contract, call the top-level domain smart contract to query the address information of the top-level domain to be queried; if you do not configure the top-level domain smart contract, call the root domain smart contract to query the ownership
  • the node that owns the top-level domain name smart contract (node 2 as shown in FIG. 5) sends a contract invocation request to the node, and the contract invocation request includes the top-level domain name smart contract.
  • the node (node 2 shown in Figure 5) that owns the ownership of the top-level domain name smart contract can be configured to: call the top-level domain name smart contract to query the address information of the top-level domain name to be queried, and return the top-level domain name to the node in the sub-chain. The address information of the top-level domain name to be queried.
  • FIG. 6 a schematic diagram of a domain name query process of a second-level domain name provided in an embodiment of this application.
  • the node in the sub-chain may be further configured to obtain the second-level domain name to be queried sent by the initiating node (node 0 as shown in FIG. 6), and determine the second-level domain name to be queried The corresponding application domain name smart contract; if the application domain name smart contract is configured, the application domain name smart contract is called to query the address information of the second-level domain name to be queried; if the application domain name smart contract is not configured, the management is determined The smart contract of the top-level domain name of the second-level domain name to be queried.
  • top-level domain name smart contract If you are equipped with the top-level domain name smart contract, call the top-level domain name smart contract to query the first node (node 2 shown in Figure 6) that owns the application domain name smart contract, and send a domain name query request to the first node; if you The top-level domain name smart contract is not configured, the root domain name smart contract is called to query the second node (node 3 shown in FIG. 6) that owns the top-level domain name smart contract, and a contract call request is sent to the second node.
  • the first node (node 2 shown in FIG. 6) can be configured to call the application domain name smart contract to query the address information of the second-level domain name to be queried, and to return the second-level domain name to be queried to the node in the sub-chain The address information of the domain name.
  • the second node (node 3 shown in FIG. 6) can be configured to: call the top-level domain name smart contract to query the first node that owns the application domain name smart contract, and return the first node to the nodes in the sub-chain .
  • the domain name to be queried is a third-level or higher-level domain name
  • the method shown in FIG. 6 can also be used to implement the domain name query, which will not be described in detail here.
  • FIG. 7 it is a schematic diagram of a process corresponding to a blockchain-based domain name query method provided in an embodiment of this application.
  • This method can be applied to the domain name query system described above.
  • the system can include a public chain composed of multiple nodes and a sub-chain composed of some nodes in the public chain; wherein the nodes in the public chain are configured with a root domain name Smart contract; the nodes in the sub-chain are configured to: generate a sub-domain smart contract by executing the root domain smart contract, and obtain the ownership of the sub-domain smart contract in a competitive manner; the method may specifically include the following steps:
  • Step 101 A node in the sub-chain obtains the domain name to be queried.
  • Step 102 The node in the sub-chain determines the first domain name smart contract corresponding to the domain name to be queried.
  • Step 103 If it is configured with the first domain name smart contract, the node in the sub-chain invokes the first domain name smart contract to query the address information of the domain name to be queried.
  • step 104 may be included, that is, the node in the sub-chain may also return the address information of the domain name to be queried to the initiating node.
  • deploying the DNS system in the blockchain network in the form of a sub-chain can realize a complete decentralized deployment.
  • different levels of domain names are managed by different smart contracts, and the ownership of smart contracts is obtained by nodes in the sub-chain through competition.
  • this method is more flexible, less vulnerable to attacks, and improves the stability of the entire system, thereby increasing the parties involved in and providing network services. Network security.
  • the method further includes:
  • the method further includes:
  • the node in the sub-chain determines the second domain name smart contract that manages the domain name to be queried;
  • the node in the sub-chain invokes the second domain name smart contract to query the first node that owns the first domain name smart contract;
  • the node in the sub-chain sends a domain name query request to the first node, where the domain name query request includes the domain name to be queried;
  • the first node invokes the first domain name smart contract to query the address information of the domain name to be queried, and returns the address information of the domain name to be queried to the nodes in the sub-chain.
  • the method further includes:
  • the nodes in the sub-chain call the root domain name smart contract to query the ownership of the second domain name smart contract Second node
  • the node in the sub-chain sends a contract invocation request to the second node, and the contract invocation request includes the second domain name smart contract;
  • the second node uses the second domain name smart contract to query the first node that owns the ownership of the first domain name smart contract, and returns the first node to the node in the sub-chain;
  • the node in the sub-chain sends a domain name query request to the first node, where the domain name query request includes the domain name to be queried;
  • the first node invokes the first domain name smart contract to query the address information of the domain name to be queried, and returns the address information of the domain name to be queried to the nodes in the sub-chain.
  • the subdomain name smart contract includes a top-level domain name smart contract and an application domain name smart contract.
  • the root domain name smart contract is used to manage top-level domain names
  • the top-level domain name smart contract is used to manage second-level domain names
  • the application domain name smart contract is used to manage third-level domain names and above.
  • obtaining the domain name to be queried by the node in the sub-chain includes:
  • the node in the sub-chain obtains the domain name to be queried sent by the initiating node or the neighboring node corresponding to the node in the sub-chain.
  • a computer-readable storage medium is also provided, and a computer program or smart contract is stored in the storage medium, and the computer program or smart contract is loaded and executed by a node to implement the above-mentioned embodiments.
  • Transaction processing method may be Read-Only Memory (ROM), Random Access Memory (RAM), CD-ROM, magnetic tape, floppy disk, optical data storage device, etc. .
  • the technology in the embodiments of the present application can be implemented by means of software plus a necessary general hardware platform.
  • the technical solutions in the embodiments of the present application can be embodied in the form of software products, which can be stored in a storage medium, such as ROM/RAM. , Magnetic disks, optical disks, etc., including a number of instructions to enable a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments of the present application.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Engineering & Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Computing Systems (AREA)
  • Primary Health Care (AREA)
  • Software Systems (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Bioethics (AREA)
  • Game Theory and Decision Science (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

The present application provides a blockchain-based domain name query system and method. The system comprises a public chain and a sub-chain consisting of some nodes in the public chain. Nodes in the public chain are configured with a root domain name smart contract. Nodes in the sub-chain are configured to: generate a sub-domain name smart contract by executing the root domain name smart contract, and obtain the ownership of the sub-domain name smart contract by means of competition; obtain a domain name to be queried, and determine a first domain name smart contract corresponding to said domain name; and if the nodes are configured with the first domain name smart contract, invoke the first domain name smart contract to query address information of said domain name. Compared with the prior art in which different levels of domain names are managed by a fixed server, the domain name query system provided by the present application has higher flexibility, is less vulnerable to attacks, improves the stability of the whole system, and can thus improve the network security of all parties participating in and providing network services.

Description

一种基于区块链的域名查询系统及方法Domain name query system and method based on blockchain
本申请要求在2019年9月6日提交中国专利局、申请号为201910842305.X、发明名称为“一种基于区块链的域名查询系统及方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of a Chinese patent application filed with the Chinese Patent Office, the application number is 201910842305.X, and the invention title is "a blockchain-based domain name query system and method" on September 6, 2019, and its entire contents Incorporated in this application by reference.
技术领域Technical field
本申请涉及区块链技术领域,特别涉及一种基于区块链的域名查询系统及方法。This application relates to the field of blockchain technology, in particular to a domain name query system and method based on blockchain.
背景技术Background technique
域名是由一串用点分隔的名字组成的互联网上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的地理位置。域名可分为不同级别,包括根域名、顶级域名和应用域名。其中,根域名是最高一级的域名节点,比如,域名“.”就是根域名;顶级域名包括国家顶级域名和国际顶级域名,比如,域名“.com.”就是顶级域名;应用域名是指顶级域名之下的域名,比如,域名中的“.abc.com.”或“www.abc.com.”就是应用域名。A domain name is the name of a computer or group of computers on the Internet consisting of a string of names separated by dots, used to identify the geographic location of the computer during data transmission. Domain names can be divided into different levels, including root domain names, top-level domain names, and application domain names. Among them, the root domain name is the highest-level domain name node. For example, the domain name "." is the root domain name; the top-level domain name includes the national top-level domain name and the international top-level domain name. For example, the domain name ".com." is the top-level domain name; the application domain name refers to the top-level domain name. The domain name under the domain name, for example, ".abc.com." or "www.abc.com." in the domain name is the application domain name.
域名查询是域名解析过程中一个必要的步骤,目前,通常采用网域名称系统(Domain Name System,DNS)系统进行域名解析,但是DNS系统作为一个多层级且不同层级之间存在较高依赖性的系统,一旦某个层级出现故障或收到攻击,就会导致整个系统存在崩溃的风险。Domain name query is a necessary step in the process of domain name resolution. At present, domain name system (DNS) system is usually used for domain name resolution, but the DNS system is a multi-level and highly dependent between different levels. The system, once a certain level fails or receives an attack, it will lead to the risk of the entire system crashing.
基于此,目前亟需一种基于区块链的域名查询系统,用于解决现有的DNS系统中一旦某个层级出现故障或收到攻击,容易导致整个系统崩溃的问题。Based on this, there is an urgent need for a blockchain-based domain name query system to solve the problem that once a certain level fails or is attacked in the existing DNS system, it is easy to cause the entire system to collapse.
发明内容Summary of the invention
本申请提供了一种基于区块链的域名查询系统及方法,可用于解决现有的DNS系统中一旦某个层级出现故障或收到攻击,容易导致整个系统崩溃的技术问题。This application provides a blockchain-based domain name query system and method, which can be used to solve the technical problem of the existing DNS system that once a certain level fails or is attacked, it is easy to cause the entire system to collapse.
第一方面,本申请实施例提供一种基于区块链的域名查询系统,所述系统包括由多个节点组成的公链,以及由所述公链中部分节点组成的子链;其中,公链中的节点配置有根域名智能合约;子链中的节点被配置为:通过执行所述根域名智能合约生成子域名智能合约,以及采用竞争的方式获取所述子域名智能合约的所有权;In the first aspect, an embodiment of the present application provides a domain name query system based on a blockchain. The system includes a public chain composed of multiple nodes and a sub-chain composed of some nodes in the public chain; The nodes in the chain are configured with a root domain name smart contract; the nodes in the sub-chain are configured to: generate a sub-domain smart contract by executing the root domain name smart contract, and obtain the ownership of the sub-domain smart contract in a competitive manner;
所述子链中的节点进一步被配置为:获取待查询域名,确定所述待查询域名对应的第一域名智能合约;如果自身配置有所述第一域名智能合约,调用所述第一域名智能合约查询所述待查询域名的地址信息。The node in the sub-chain is further configured to: obtain the domain name to be queried, determine the first domain name smart contract corresponding to the domain name to be queried; if it is configured with the first domain name smart contract, call the first domain name smart contract. The contract queries the address information of the domain name to be queried.
可选地,所述子链中的节点进一步被配置为:如果自身未配置有所述第一域名智能合约,确定管理所述待查询域名的第二域名智能合约;如果自身配置有所述第二域名智能合约,调用所述第二域名智能合约查询拥有所述第一域名智能合约所有权的第一节点;向所述第一节点发送域名查询请求,所述域名查询请求包括所述待查询域名;Optionally, the node in the sub-chain is further configured to: if it is not configured with the first domain name smart contract, determine the second domain name smart contract that manages the domain name to be queried; if it is configured with the first domain name smart contract; 2. Domain name smart contract, calling the second domain name smart contract to query the first node that owns the ownership of the first domain name smart contract; sending a domain name query request to the first node, the domain name query request including the domain name to be queried ;
所述第一节点被配置为:调用所述第一域名智能合约查询所述待查询域名的地址 信息,以及向所述子链中的节点返回所述待查询域名的地址信息。The first node is configured to call the first domain name smart contract to query the address information of the domain name to be queried, and to return the address information of the domain name to be queried to the nodes in the sub-chain.
可选地,所述子链中的节点进一步被配置为:如果所述第二域名智能合约不是根域名智能合约,且自身未配置有所述第二域名智能合约,调用根域名智能合约查询拥有所述第二域名智能合约所有权的第二节点;向所述第二节点发送合约调用请求,所述合约调用请求包括所述第二域名智能合约;Optionally, the node in the sub-chain is further configured to: if the second domain name smart contract is not a root domain name smart contract, and the second domain name smart contract is not configured in itself, call the root domain name smart contract to query ownership The second node of the ownership of the second domain name smart contract; sending a contract invocation request to the second node, where the contract invocation request includes the second domain name smart contract;
所述第二节点被配置为:调用所述第二域名智能合约查询拥有所述第一域名智能合约所有权的第一节点,以及向所述子链中的节点返回所述第一节点;The second node is configured to: invoke the second domain name smart contract to query the first node that owns the ownership of the first domain name smart contract, and return the first node to the node in the sub-chain;
所述子链中的节点进一步被配置为:向所述第一节点发送域名查询请求,所述域名查询请求包括所述待查询域名;The node in the sub-chain is further configured to send a domain name query request to the first node, where the domain name query request includes the domain name to be queried;
所述第一节点被配置为:调用所述第一域名智能合约查询所述待查询域名的地址信息,以及向所述子链中的节点返回所述待查询域名的地址信息。The first node is configured to call the first domain name smart contract to query the address information of the domain name to be queried, and to return the address information of the domain name to be queried to the nodes in the sub-chain.
可选地,所述子域名智能合约包括顶级域名智能合约和应用域名智能合约。Optionally, the subdomain name smart contract includes a top-level domain name smart contract and an application domain name smart contract.
可选地,所述根域名智能合约用于管理顶级域名,所述顶级域名智能合约用于管理二级域名,所述应用域名智能合约用于管理三级及三级以上的域名。Optionally, the root domain name smart contract is used to manage top-level domain names, the top-level domain name smart contract is used to manage second-level domain names, and the application domain name smart contract is used to manage third-level domain names and above.
可选地,所述子链中的节点被进一步地配置为:通过执行所述根域名智能合约生成顶级域名智能合约,和/或,通过执行所述顶级域名智能合约生成应用域名智能合约。Optionally, the nodes in the sub-chain are further configured to generate a top-level domain name smart contract by executing the root domain name smart contract, and/or to generate an application domain name smart contract by executing the top-level domain name smart contract.
可选地,所述子链中的节点进一步被配置为:如果调用所述第一域名智能合约未查询所述待查询域名的地址信息,则域名查询失败。Optionally, the node in the sub-chain is further configured to: if the address information of the domain name to be queried is not queried by invoking the first domain name smart contract, the domain name query fails.
可选地,所述子链中的节点进一步被配置为:获取发起节点或所述子链中的节点对应的邻近节点发送的待查询域名。Optionally, the node in the sub-chain is further configured to obtain the domain name to be queried sent by the initiating node or the neighboring node corresponding to the node in the sub-chain.
第二方面,本申请实施例提供一种基于区块链的域名查询方法,所述方法应用于上文所述的系统,所述系统包括由多个节点组成的公链,以及由所述公链中部分节点组成的子链;其中,公链中的节点配置有根域名智能合约;子链中的节点被配置为:通过执行所述根域名智能合约生成子域名智能合约,以及采用竞争的方式获取所述子域名智能合约的所有权;所述方法包括:In the second aspect, the embodiments of the present application provide a domain name query method based on blockchain. The method is applied to the above-mentioned system. The system includes a public chain composed of multiple nodes, and A sub-chain composed of some nodes in the chain; among them, the nodes in the public chain are configured with root domain name smart contracts; the nodes in the sub-chain are configured to: generate sub-domain smart contracts by executing the root domain name smart contracts, and use competitive Way to obtain the ownership of the subdomain name smart contract; the method includes:
所述子链中的节点获取待查询域名;The node in the sub-chain obtains the domain name to be queried;
所述子链中的节点确定所述待查询域名对应的第一域名智能合约;The node in the sub-chain determines the first domain name smart contract corresponding to the domain name to be queried;
如果自身配置有所述第一域名智能合约,所述子链中的节点调用所述第一域名智能合约查询所述待查询域名的地址信息。If it is configured with the first domain name smart contract, the node in the sub-chain invokes the first domain name smart contract to query the address information of the domain name to be queried.
可选地,所述方法还包括:Optionally, the method further includes:
如果所述子链中的节点调用所述第一域名智能合约未查询所述待查询域名的地址信息,则域名查询失败。If the node in the sub-chain invokes the first domain name smart contract and does not query the address information of the domain name to be queried, the domain name query fails.
可选地,所述方法还包括:Optionally, the method further includes:
如果自身未配置有所述第一域名智能合约,所述子链中的节点确定管理所述待查询域名的第二域名智能合约;If the first domain name smart contract is not configured by itself, the node in the sub-chain determines the second domain name smart contract that manages the domain name to be queried;
如果自身配置有所述第二域名智能合约,所述子链中的节点调用所述第二域名智能合约查询拥有所述第一域名智能合约所有权的第一节点;If it is configured with the second domain name smart contract, the node in the sub-chain invokes the second domain name smart contract to query the first node that owns the first domain name smart contract;
所述子链中的节点向所述第一节点发送域名查询请求,所述域名查询请求包括所述待查询域名;The node in the sub-chain sends a domain name query request to the first node, where the domain name query request includes the domain name to be queried;
所述第一节点调用所述第一域名智能合约查询所述待查询域名的地址信息,以及向所述子链中的节点返回所述待查询域名的地址信息。The first node invokes the first domain name smart contract to query the address information of the domain name to be queried, and returns the address information of the domain name to be queried to the nodes in the sub-chain.
可选地,所述方法还包括:Optionally, the method further includes:
如果所述第二域名智能合约不是根域名智能合约,且自身未配置有所述第二域名智能合约,所述子链中的节点调用根域名智能合约查询拥有所述第二域名智能合约所有权的第二节点;If the second domain name smart contract is not the root domain name smart contract, and the second domain name smart contract is not configured in itself, the nodes in the sub-chain call the root domain name smart contract to query the ownership of the second domain name smart contract Second node
所述子链中的节点向所述第二节点发送合约调用请求,所述合约调用请求包括所述第二域名智能合约;The node in the sub-chain sends a contract invocation request to the second node, and the contract invocation request includes the second domain name smart contract;
所述第二节点用所述第二域名智能合约查询拥有所述第一域名智能合约所有权的第一节点,以及向所述子链中的节点返回所述第一节点;The second node uses the second domain name smart contract to query the first node that owns the ownership of the first domain name smart contract, and returns the first node to the node in the sub-chain;
所述子链中的节点向所述第一节点发送域名查询请求,所述域名查询请求包括所述待查询域名;The node in the sub-chain sends a domain name query request to the first node, where the domain name query request includes the domain name to be queried;
所述第一节点调用所述第一域名智能合约查询所述待查询域名的地址信息,以及向所述子链中的节点返回所述待查询域名的地址信息。The first node invokes the first domain name smart contract to query the address information of the domain name to be queried, and returns the address information of the domain name to be queried to the nodes in the sub-chain.
可选地,所述子域名智能合约包括顶级域名智能合约和应用域名智能合约。Optionally, the subdomain name smart contract includes a top-level domain name smart contract and an application domain name smart contract.
可选地,所述根域名智能合约用于管理顶级域名,所述顶级域名智能合约用于管理二级域名,所述应用域名智能合约用于管理三级及三级以上的域名。Optionally, the root domain name smart contract is used to manage top-level domain names, the top-level domain name smart contract is used to manage second-level domain names, and the application domain name smart contract is used to manage third-level domain names and above.
可选地,所述子链中的节点获取待查询域名,包括:Optionally, obtaining the domain name to be queried by a node in the sub-chain includes:
所述子链中的节点获取发起节点或所述子链中的节点对应的邻近节点发送的待查询域名。The node in the sub-chain obtains the domain name to be queried sent by the initiating node or the neighboring node corresponding to the node in the sub-chain.
本申请实施例的还提供一种装置,该装置具有实现上文所描述的基于区块链的域名查询方法的功能。该功能可以通过硬件执行相应的软件实现,在一种可能的设计中,该装置包括:处理器、收发器、存储器;该存储器用于存储计算机执行指令,该收发器用于实现该装置与其他通信实体进行通信,该处理器与该存储器通过该总线连接,当该装置运行时,该处理器执行该存储器存储的该计算机执行指令,以使该装置执行上文所描述的基于区块链的域名查询方法。The embodiment of the present application also provides a device, which has the function of realizing the blockchain-based domain name query method described above. This function can be implemented by hardware executing corresponding software. In a possible design, the device includes: a processor, a transceiver, and a memory; the memory is used to store computer-executed instructions, and the transceiver is used to implement communication between the device and other devices. The entity communicates, the processor and the memory are connected through the bus, and when the device is running, the processor executes the computer execution instructions stored in the memory, so that the device executes the blockchain-based domain name described above Query method.
本发明实施例还提供一种计算机存储介质,所述存储介质中存储软件程序,该软件程序在被一个或多个处理器读取并执行时实现上述各种可能的实现方式中所描述的基于区块链的域名查询方法。The embodiment of the present invention also provides a computer storage medium, and the storage medium stores a software program. When the software program is read and executed by one or more processors, it realizes the above-mentioned various possible implementations based on the Domain name query method of blockchain.
本发明实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各种可能的实现方式中所描述的基于区块链的域名查询方法。The embodiment of the present invention also provides a computer program product containing instructions, which when running on a computer, causes the computer to execute the blockchain-based domain name query method described in the various possible implementation manners.
由以上技术方案可知,本申请提供一种基于区块链的域名查询系统,包括:由多个节点组成的公链,以及由公链中部分节点组成的子链。其中,公链中的所有节点中均配置有根域名智能合约;子链中的节点被配置为:通过执行所述根域名智能合约生成子域名智能合约,以及采用竞争的方式获取所述子域名智能合约的所有权;以及,获取待查询域名,确定待查询域名对应的第一域名智能合约;如果自身配置有第一域名智能合约,调用第一域名智能合约查询待查询域名的地址信息。本申请通过子链的形式,将DNS系统部署在区块链网络中,可以实现完整的去中心化部署。与现有的DNS系统相比,本申请提供的域名查询系统中,不同级别的域名由不同的智能合约所 管理,并且,智能合约的所有权是子链中的节点通过竞争的方式获取到的,这种方式相比于现有技术中由固定的服务器管理不同级别的域名,灵活性更高,不容易受到攻击,提高了整个系统的稳定性,进而也可以提高参与和提供网络服务的各方的网络安全。It can be seen from the above technical solutions that this application provides a blockchain-based domain name query system, including: a public chain composed of multiple nodes, and a sub-chain composed of some nodes in the public chain. Among them, all nodes in the public chain are configured with root domain name smart contracts; nodes in the sub-chain are configured to: generate sub-domain name smart contracts by executing the root domain name smart contract, and obtain the sub-domain name by means of competition Ownership of the smart contract; and, obtain the domain name to be queried, and determine the first domain name smart contract corresponding to the domain name to be queried; if it is equipped with the first domain name smart contract, call the first domain name smart contract to query the address information of the domain name to be queried. This application deploys the DNS system in the blockchain network in the form of a sub-chain, which can realize a complete decentralized deployment. Compared with the existing DNS system, in the domain name query system provided by this application, different levels of domain names are managed by different smart contracts, and the ownership of smart contracts is obtained by nodes in the sub-chain through competition. Compared with the existing technology where a fixed server manages different levels of domain names, this method is more flexible, less vulnerable to attacks, and improves the stability of the entire system, thereby increasing the parties involved in and providing network services. Network security.
附图说明Description of the drawings
图1为本申请实施例适用的一种基于区块链的域名查询系统的结构示意图;Figure 1 is a schematic structural diagram of a blockchain-based domain name query system to which an embodiment of the application is applicable;
图2为本申请实施例提供的一种域名查询系统进行域名查询的流程示意图;2 is a schematic diagram of a domain name query process of a domain name query system provided by an embodiment of the application;
图3为本申请实施例提供的另一种域名查询系统进行域名查询的流程示意图;FIG. 3 is a schematic diagram of a domain name query process of another domain name query system provided by an embodiment of the application;
图4为本申请实施例提供的还有一种域名查询系统进行域名查询的流程示意图;FIG. 4 is a schematic diagram of the process of performing domain name query by another domain name query system provided by an embodiment of this application;
图5为本申请实施例提供的一种顶级域名的域名查询流程的示意图;FIG. 5 is a schematic diagram of a domain name query process of a top-level domain name provided by an embodiment of the application;
图6为本申请实施例提供的一种二级域名的域名查询流程的示意图;FIG. 6 is a schematic diagram of a domain name query process of a second-level domain name provided by an embodiment of the application;
图7为本申请实施例提供的一种基于区块链的域名查询方法所对应的流程示意图。FIG. 7 is a schematic flowchart of a method for querying domain names based on blockchain provided by an embodiment of the application.
具体实施方式detailed description
在本申请提供的技术方案中,区块链网络是指具有去中心化应用架构的点对点网络,所述区块链网络能够在网络内部进行分布式存储、公共共识、数字加密、交易记账以及验证。即区块链网络是涵盖了分布式技术、密码学、P2P网络架构以及各种可能被应用的共识算法的交易平台。In the technical solution provided by this application, the blockchain network refers to a point-to-point network with a decentralized application architecture, and the blockchain network can perform distributed storage, public consensus, digital encryption, transaction accounting, and verification. That is, the blockchain network is a trading platform that covers distributed technology, cryptography, P2P network architecture, and various consensus algorithms that may be applied.
本申请中,区块链或区块链数据是指在区块链网络中发生交易时,根据交易信息生成的记账信息,即多笔交易组成一个区块数据,多个区块数据形成一条带有时间戳的区块链。区块链网络中,包括相互建立点对点网络连接的节点,每一个节点都配置有相应的共识机制,如智能合约,并且具有足够的运算能力,以进行交易验证和记账程序。节点上还具有符合某种统一标准的接口规范,以实现通过接口规范接入更多的节点或者其他类型的区块链网络。所述公链为区块链网络中多个节点组成的点对点网络结构,每个节点具有分布式存储功能和交易、记账功能;公链上的节点对外提供统一的接口规范。In this application, blockchain or blockchain data refers to the accounting information generated according to the transaction information when a transaction occurs in the blockchain network, that is, multiple transactions form one block of data, and multiple block data form one Blockchain with timestamp. The blockchain network includes nodes that establish a peer-to-peer network connection with each other. Each node is equipped with a corresponding consensus mechanism, such as a smart contract, and has sufficient computing power to perform transaction verification and accounting procedures. The node also has an interface specification that conforms to a certain unified standard to realize access to more nodes or other types of blockchain networks through the interface specification. The public chain is a point-to-point network structure composed of multiple nodes in the blockchain network, and each node has a distributed storage function and transaction and accounting functions; the nodes on the public chain provide a unified interface specification to the outside.
下面首先结合图1对本申请实施例适用的可能的系统架构进行介绍。The following first introduces a possible system architecture to which the embodiment of the present application is applicable in conjunction with FIG. 1.
请参考图1,其示例性示出了本申请实施例适用的一种基于区块链的域名查询系统的结构示意图。该系统可以包括:由多个节点组成的公链,以及由所述公链中部分节点组成的子链。显然,本实施例中,公链中的节点也可以同时作为子链节点。而子链中的节点由于是由公链中的部分节点所组成,因此,其既是子链中的节点又是公链中的节点。即,组成所述子链的节点具有与所述公链的节点相同的智能合约和功能。Please refer to FIG. 1, which exemplarily shows a structural diagram of a blockchain-based domain name query system to which an embodiment of the present application is applicable. The system may include: a public chain composed of multiple nodes, and a sub-chain composed of some nodes in the public chain. Obviously, in this embodiment, nodes in the public chain can also serve as sub-chain nodes at the same time. Since the nodes in the sub-chain are composed of some nodes in the public chain, they are both nodes in the sub-chain and nodes in the public chain. That is, the nodes constituting the sub-chain have the same smart contracts and functions as the nodes of the public chain.
实际应用中,公链可以提供网络中的基础区块链服务,例如交易、验证、存储等。公链本身可以不具有任何领域对应的特定功能,而是作为一种桥梁,将接入公链的所有子链(或第三方区块链网络)汇集到同一个区块链网络中,以使不同的接入链可以相互发生交易或传递信息。In practical applications, public chains can provide basic blockchain services in the network, such as transactions, verification, and storage. The public chain itself may not have specific functions corresponding to any field, but as a bridge, bringing all the sub-chains (or third-party blockchain networks) connected to the public chain into the same blockchain network, so that Different access chains can exchange transactions or transfer information with each other.
在本申请提供的技术方案中,公链中的节点中均配置有根域名智能合约。智能合约是基于区块链交易而约定的共识机制程序,通过智能合约可以实现各种功能的交易 运算。本申请实施例中,通过根域名智能合约,节点可以通过执行根域名智能合约完成域名查询登记服务。In the technical solution provided by this application, all nodes in the public chain are equipped with root domain name smart contracts. Smart contract is a consensus mechanism program agreed on based on blockchain transactions, and various functions of transaction operations can be realized through smart contracts. In this embodiment of the application, through the root domain name smart contract, the node can complete the domain name query and registration service by executing the root domain name smart contract.
子链中的节点可以被配置为:通过执行根域名智能合约生成子域名智能合约,以及采用竞争的方式获取子域名智能合约的所有权。其中,某个子链节点获取到子域名智能合约的所有权之后,该子链节点可以作为该子域名智能合约的所有者,也就是说,该子链节点配置有该子域名智能合约。The nodes in the sub-chain can be configured to generate sub-domain smart contracts by executing the root domain smart contract, and obtain the ownership of the sub-domain smart contracts in a competitive manner. Among them, after a certain sub-chain node obtains the ownership of the sub-domain smart contract, the sub-chain node can be the owner of the sub-domain smart contract, that is, the sub-chain node is configured with the sub-domain smart contract.
由于组成子链的节点具有与公链的节点相同的智能合约,因此,子链中的节点可以直接执行根域名智能合约,从而生成子域名智能合约。其中,子域名智能合约包括顶级域名智能合约、应用域名智能合约和域名系统(Blockchain Name System,BNS)数据。Since the nodes that make up the sub-chain have the same smart contract as the nodes of the public chain, the nodes in the sub-chain can directly execute the root domain name smart contract, thereby generating the sub-domain name smart contract. Among them, the subdomain smart contract includes top-level domain smart contract, application domain smart contract and domain name system (Blockchain Name System, BNS) data.
在域名系统中,域名可以分为根域名、顶级域名和应用域名。进一步地,应用域名又可以分为二级域名、三级域名和四级域名等。一个完整的域名由二个或二个以上部分组成,各部分之间用英文的句号"."来分隔,最末端的“.”称为根域名;倒数第一个"."的右边部分称为顶级域名(Top Level Domain,TLD),也称为一级域名,包含一个合法字符串,和一个域名后缀;顶级域名的左边部分字符串到下个"."为止称为二级域名(Second Level Domain,SLD);二级域名的左边部分称为三级域名,以此类推,每一级的域名控制它下一级域名的分配。In the domain name system, domain names can be divided into root domain names, top-level domain names, and application domain names. Further, application domain names can be divided into second-level domain names, third-level domain names, and fourth-level domain names. A complete domain name consists of two or more parts, each part is separated by an English period ".", the last "." is called the root domain name; the right part of the last "." is called It is a top-level domain name (Top Level Domain, TLD), also known as a first-level domain name. It contains a legal string and a domain name suffix; the left part of the top-level domain name from the left part of the string to the next "." is called the second-level domain name (Second). Level Domain, SLD); the left part of the second-level domain name is called the third-level domain name, and so on, each level of domain name controls the distribution of its next-level domain name.
本申请实施例中,针对不同级别的域名,提供不同的智能合约。根域名可以对应根域名智能合约,根域名智能合约可以用于管理和维护顶级域名,以及生成顶级域名智能合约;顶级域名可以对应顶级域名智能合约,顶级域名智能合约可以用于管理和维护应用域名(比如管理二级域名),以及生成应用域名智能合约;应用域名可以对应应用域名智能合约,应用域名智能合约可以用于管理和维护BNS数据;BNS数据可以包括三级域名的相关信息和四级域名的相关信息等。In the embodiments of this application, different smart contracts are provided for domain names of different levels. The root domain name can correspond to the root domain name smart contract. The root domain name smart contract can be used to manage and maintain top-level domain names and generate top-level domain smart contracts; the top-level domain names can correspond to the top-level domain smart contracts, and the top-level domain smart contracts can be used to manage and maintain application domain names. (Such as managing second-level domain names), and generating application domain name smart contracts; application domain names can correspond to application domain name smart contracts, and application domain name smart contracts can be used to manage and maintain BNS data; BNS data can include information about third-level domain names and the fourth level Information about the domain name, etc.
进一步地,子链中的节点具体可以被配置为:通过执行根域名智能合约生成顶级域名智能合约。Further, the nodes in the sub-chain can be specifically configured to generate a top-level domain name smart contract by executing a root domain name smart contract.
或者,子链中的节点具体还可以被配置为:通过执行顶级域名智能合约生成应用域名智能合约。Alternatively, the nodes in the sub-chain can also be specifically configured to generate application domain name smart contracts by executing top-level domain smart contracts.
基于图1所示的系统架构以及上文所描述的内容,下面详细介绍域名查询的情形。Based on the system architecture shown in FIG. 1 and the content described above, the following describes the situation of domain name query in detail.
图2示例性示出了本申请实施例提供的一种域名查询系统进行域名查询的流程示意图。FIG. 2 exemplarily shows a schematic diagram of a domain name query process performed by a domain name query system provided in an embodiment of the present application.
如图2所示,子链中的节点(如图2示出的节点1)可以进一步被配置为:获取待查询域名,确定待查询域名对应的第一域名智能合约;如果自身配置有第一域名智能合约,调用第一域名智能合约查询待查询域名的地址信息。As shown in Figure 2, the node in the sub-chain (node 1 shown in Figure 2) can be further configured to: obtain the domain name to be queried, determine the first domain name smart contract corresponding to the domain name to be queried; if it is configured with the first domain name The domain name smart contract calls the first domain name smart contract to query the address information of the domain name to be queried.
进一步地,如果调用第一域名智能合约未查询所述待查询域名的地址信息,则域名查询失败。Further, if the first domain name smart contract is invoked without querying the address information of the domain name to be queried, the domain name query fails.
由以上技术方案可知,本申请提供一种基于区块链的域名查询系统,包括:由多个节点组成的公链,以及由公链中部分节点组成的子链。其中,公链中的所有节点中均配置有根域名智能合约;子链中的节点被配置为:通过执行所述根域名智能合约生成子域名智能合约,以及采用竞争的方式获取所述子域名智能合约的所有权;以及, 获取待查询域名,确定待查询域名对应的第一域名智能合约;如果自身配置有第一域名智能合约,调用第一域名智能合约查询待查询域名的地址信息。本申请通过子链的形式,将DNS系统部署在区块链网络中,可以实现完整的去中心化部署。与现有的DNS系统相比,本申请提供的域名查询系统中,不同级别的域名由不同的智能合约所管理,并且,智能合约的所有权是子链中的节点通过竞争的方式获取到的,这种方式相比于现有技术中由固定的服务器管理不同级别的域名,灵活性更高,不容易受到攻击,提高了整个系统的稳定性,进而也可以提高参与和提供网络服务的各方的网络安全。It can be seen from the above technical solutions that this application provides a blockchain-based domain name query system, including: a public chain composed of multiple nodes, and a sub-chain composed of some nodes in the public chain. Among them, all nodes in the public chain are configured with root domain name smart contracts; nodes in the sub-chain are configured to: generate sub-domain name smart contracts by executing the root domain name smart contract, and obtain the sub-domain name by means of competition Ownership of the smart contract; and, obtain the domain name to be queried, and determine the first domain name smart contract corresponding to the domain name to be queried; if it is configured with the first domain name smart contract, call the first domain name smart contract to query the address information of the domain name to be queried. This application deploys the DNS system in the blockchain network in the form of a sub-chain, which can realize a complete decentralized deployment. Compared with the existing DNS system, in the domain name query system provided by this application, different levels of domain names are managed by different smart contracts, and the ownership of smart contracts is obtained by nodes in the sub-chain through competition. Compared with the existing technology where a fixed server manages different levels of domain names, this method is more flexible, less vulnerable to attacks, and improves the stability of the entire system, thereby increasing the parties involved in and providing network services. Network security.
根据图2示出的内容可知,子链中的节点(即节点1)接收到的交易请求来源于节点0。节点0可以是本次域名擦好像交易的发起节点,也可以是该子链中的节点(即节点1)的邻近节点。也就是说,子链中的节点(如图2中示出的节点1)可以进一步被配置为:获取发起节点或所述子链中的节点对应的邻近节点发送的待查询域名。According to the content shown in FIG. 2, it can be seen that the transaction request received by the node in the sub-chain (ie, node 1) originates from node 0. Node 0 can be the initiating node of this domain name rubbing transaction, or it can be the neighboring node of the node in the sub-chain (ie, node 1). That is, a node in the sub-chain (node 1 as shown in FIG. 2) may be further configured to obtain the domain name to be queried sent by the initiating node or the neighboring node corresponding to the node in the sub-chain.
根据实际应用环境的不同,发起节点与子链中的节点之间的交易形式也不同。子链中的节点获取发起节点发送的待查询域名的情形可能有以下两种。According to the actual application environment, the transaction form between the initiating node and the node in the sub-chain is also different. There may be two situations in which nodes in the sub-chain obtain the domain name to be queried sent by the initiating node.
一种情形是,如果发起节点可以直接与子链中的节点进行交易或信息交互,则可以直接通过发起节点向子链中的节点发送待查询域名。这种方式最适合于发起节点与子链中的节点处于同一个区块链网络内的交易,即发起节点也是该域名查询系统内的节点。In one situation, if the initiating node can directly conduct transactions or information interaction with nodes in the sub-chain, it can directly send the domain name to be queried to the nodes in the sub-chain through the initiating node. This method is most suitable for transactions in which the initiating node and the nodes in the sub-chain are in the same blockchain network, that is, the initiating node is also a node in the domain name query system.
另一种情形是,如果发起节点不能直接与子链中的节点进行交易或信息交互,则可以通过发起节点广播待查询域名。具体可以为先向邻近节点广播该待查询域名,邻近节点再结合自身的角色,确定是接收该待查询域名还是继续广播,直到子链中的节点接收到该待查询域名。Another situation is that if the initiating node cannot directly conduct transactions or information interaction with nodes in the sub-chain, the initiating node can broadcast the domain name to be queried. Specifically, it may first broadcast the domain name to be queried to neighboring nodes, and then the neighboring node determines whether to receive the domain name to be queried or continue broadcasting in combination with its own role, until the node in the sub-chain receives the domain name to be queried.
子链中的节点接收子链中的节点的邻近节点发送的待查询域名对应的情形可以是,发起节点未知核心节点的位置信息,通过广播的形式在区块链中发送待查询域名,如此,随着信息的扩散,子链中的节点可以通过其邻近节点接受到待查询域名。The situation where the node in the sub-chain receives the domain name to be queried sent by the neighboring nodes of the node in the sub-chain may be that the initiating node does not know the location information of the core node and sends the domain name to be queried in the blockchain in the form of broadcast. In this way, With the spread of information, nodes in the sub-chain can receive the domain name to be queried through its neighboring nodes.
需要说明的是,上述两种情形仅为示例性说明,在其他可能的示例中,如果发起节点是子链中的节点的邻近节点,那么,子链中的节点也可以看作是直接接收到发起节点发送的待查询域名。It should be noted that the above two situations are only exemplary descriptions. In other possible examples, if the initiating node is a neighboring node of a node in the sub-chain, then the node in the sub-chain can also be regarded as directly receiving The domain name to be queried sent by the initiating node.
考虑到本申请实施例中,子链中的节点是通过竞争的方式获取到子域名智能合约的所有权的,也就是说,当子链中的节点获取到待查询域名,可能会出现自身并未竞争获取到待查询域名对应的第一域名智能合约的所有权,也即自身未配置有第一域名智能合约的情况。基于此,图3示例性示出了本申请实施例提供的另一种域名查询系统进行域名查询的流程示意图。Considering that in the embodiment of this application, the nodes in the sub-chain obtain the ownership of the sub-domain name smart contract through competition, that is, when the nodes in the sub-chain obtain the domain name to be queried, they may not The competition obtains the ownership of the first domain name smart contract corresponding to the domain name to be queried, that is, the situation where the first domain name smart contract is not configured for itself. Based on this, FIG. 3 exemplarily shows a flowchart of another domain name query system provided by an embodiment of the present application for domain name query.
如图3所示,子链中的节点(如图3示出的节点1)可以进一步被配置为:获取发起节点(如图3示出的节点0)发送的待查询域名,确定待查询域名对应的第一域名智能合约;如果自身未配置有第一域名智能合约,确定管理待查询域名的第二域名智能合约;如果自身配置有第二域名智能合约,调用第二域名智能合约查询拥有第一域名智能合约所有权的第一节点(如图3示出的节点2);向第一节点发送域名查询请求。其中,域名查询请求包括待查询域名。As shown in Fig. 3, the node in the sub-chain (node 1 shown in Fig. 3) can be further configured to: obtain the domain name to be queried sent by the initiating node (node 0 as shown in Fig. 3), and determine the domain name to be queried The corresponding first domain name smart contract; if the first domain name smart contract is not configured, the second domain name smart contract that manages the domain name to be queried is determined; if the second domain name smart contract is configured, the second domain name smart contract is called to query the ownership of the first domain name smart contract. The first node of the ownership of a domain name smart contract (node 2 shown in Figure 3); sends a domain name query request to the first node. Among them, the domain name query request includes the domain name to be queried.
相应地,第一节点(如图3示出的节点2)可以被配置为:调用第一域名智能合约查询待查询域名的地址信息,以及向子链中的节点返回待查询域名的地址信息。Correspondingly, the first node (node 2 shown in FIG. 3) can be configured to call the first domain name smart contract to query the address information of the domain name to be queried, and to return the address information of the domain name to be queried to the nodes in the sub-chain.
基于相同的考虑,本申请实施例中,可能会出现子链中的节点未竞争获取到第二域名智能合约的所有权,也即自身未配置有第二域名智能合约的情况。基于此,图4示例性示出了本申请实施例提供的还有一种域名查询系统进行域名查询的流程示意图。Based on the same considerations, in the embodiments of the present application, it may happen that the nodes in the sub-chain do not compete to obtain the ownership of the second domain name smart contract, that is, the second domain name smart contract is not configured for itself. Based on this, FIG. 4 exemplarily shows a flowchart of another domain name query system for domain name query provided by an embodiment of the present application.
如图4所示,子链中的节点(如图4示出的节点1)可以进一步被配置为:获取发起节点(如图4示出的节点0)发送的待查询域名,确定待查询域名对应的第一域名智能合约;如果自身未配置有第一域名智能合约,确定管理待查询域名的第二域名智能合约;如果第二域名智能合约不是根域名智能合约,且自身未配置有第二域名智能合约,调用根域名智能合约查询拥有第二域名智能合约所有权的第二节点(如图4示出的节点3);向第二节点发送合约调用请求。其中,合约调用请求包括第二域名智能合约。As shown in Fig. 4, the node in the sub-chain (node 1 shown in Fig. 4) can be further configured to: obtain the domain name to be queried sent by the initiating node (node 0 as shown in Fig. 4), and determine the domain name to be queried Corresponding to the first domain name smart contract; if the first domain name smart contract is not configured, determine the second domain name smart contract that manages the domain name to be queried; if the second domain name smart contract is not a root domain name smart contract, and it is not configured with a second domain name smart contract The domain name smart contract calls the root domain name smart contract to query the second node (node 3 shown in Figure 4) that has the ownership of the second domain name smart contract; and sends a contract call request to the second node. Among them, the contract call request includes the second domain name smart contract.
本申请实施例提供的域名查询系统中,公链中的节点均配置有根域名智能合约,子链中的节点是由公链中的部分节点组成的,也就是说,子链中的节点也均配置有根域名智能合约;因此,当子链中的节点确定自身未配置有第二域名智能合约时,可以直接调用根域名智能合约。In the domain name query system provided by the embodiments of this application, the nodes in the public chain are all configured with root domain name smart contracts, and the nodes in the sub-chain are composed of some nodes in the public chain, that is, the nodes in the sub-chain are also All are configured with a root domain name smart contract; therefore, when a node in the child chain determines that it is not configured with a second domain name smart contract, it can directly call the root domain name smart contract.
相应地,第二节点(如图4示出的节点3)可以被配置为:调用第二域名智能合约查询拥有第一域名智能合约所有权的第一节点(如图4示出的节点2),以及向子链中的节点返回第一节点。Correspondingly, the second node (node 3 shown in FIG. 4) can be configured to call the second domain name smart contract to query the first node (node 2 shown in FIG. 4) that owns the ownership of the first domain name smart contract, And return the first node to the node in the child chain.
进而,子链中的节点(如图4示出的节点1)可以进一步被配置为:向第一节点发送域名查询请求。其中,域名查询请求包括待查询域名。Furthermore, the node in the sub-chain (node 1 as shown in FIG. 4) may be further configured to send a domain name query request to the first node. Among them, the domain name query request includes the domain name to be queried.
如此,第一节点(如图4示出的节点2)可以被配置为:调用第一域名智能合约查询待查询域名的地址信息,以及向子链中的节点返回待查询域名的地址信息。In this way, the first node (node 2 shown in FIG. 4) can be configured to call the first domain name smart contract to query the address information of the domain name to be queried, and to return the address information of the domain name to be queried to the nodes in the sub-chain.
考虑到本申请中待查询域名可以是不同级别的域名,相应地,所调用的域名智能合约也就不同。下面通过示例详细描述不同级别的待查询域名的域名查询流程。Considering that the domain name to be queried in this application can be a domain name of different levels, correspondingly, the domain name smart contract called is also different. The following examples describe in detail the domain name query process of the domain names to be queried at different levels.
示例一:Example 1:
如图5所示,为本申请实施例提供的一种顶级域名的域名查询流程的示意图。As shown in FIG. 5, it is a schematic diagram of a domain name query process of a top-level domain name provided by an embodiment of this application.
子链中的节点(如图5示出的节点1)可以进一步被配置为:获取发起节点(如图5示出的节点0)发送的待查询顶级域名,确定所述待查询顶级域名对应的顶级域名智能合约;如果自身配置有该顶级域名智能合约,调用该顶级域名智能合约查询所述待查询顶级域名的地址信息;如果自身未配置有该顶级域名智能合约,调用根域名智能合约查询拥有该顶级域名智能合约所有权的节点(如图5示出的节点2),向该节点发送合约调用请求,所述合约调用请求包括所述顶级域名智能合约。The node in the sub-chain (node 1 as shown in FIG. 5) can be further configured to obtain the top-level domain name to be queried sent by the initiating node (node 0 as shown in FIG. 5), and determine the corresponding top-level domain name to be queried Top-level domain smart contract; if you are equipped with the top-level domain smart contract, call the top-level domain smart contract to query the address information of the top-level domain to be queried; if you do not configure the top-level domain smart contract, call the root domain smart contract to query the ownership The node that owns the top-level domain name smart contract (node 2 as shown in FIG. 5) sends a contract invocation request to the node, and the contract invocation request includes the top-level domain name smart contract.
拥有该顶级域名智能合约所有权的节点(如图5示出的节点2)可以被配置为:调用顶级域名智能合约查询所述待查询顶级域名的地址信息,以及向子链中的节点返回所述待查询顶级域名的地址信息。The node (node 2 shown in Figure 5) that owns the ownership of the top-level domain name smart contract can be configured to: call the top-level domain name smart contract to query the address information of the top-level domain name to be queried, and return the top-level domain name to the node in the sub-chain. The address information of the top-level domain name to be queried.
示例二:Example two:
如图6所示,为本申请实施例提供的一种二级域名的域名查询流程的示意图。As shown in FIG. 6, a schematic diagram of a domain name query process of a second-level domain name provided in an embodiment of this application.
子链中的节点(如图6示出的节点1)可以进一步被配置为:获取发起节点(如图6示出的节点0)发送的待查询二级域名,确定所述待查询二级域名对应的应用域名智能合约;如果自身配置有该应用域名智能合约,调用该应用域名智能合约查询所述待查询二级域名的地址信息;如果自身未配置有该应用域名智能合约,确定管理所述待查询二级域名的顶级域名智能合约。如果自身配置有该顶级域名智能合约,调用该顶级域名智能合约查询拥有该应用域名智能合约所有权的第一节点(如图6示出的节点2),向第一节点发送域名查询请求;如果自身未配置有该顶级域名智能合约,调用根域名智能合约查询拥有该顶级域名智能合约所有权的第二节点(如图6示出的节点3),向第二节点发送合约调用请求。The node in the sub-chain (node 1 shown in FIG. 6) may be further configured to obtain the second-level domain name to be queried sent by the initiating node (node 0 as shown in FIG. 6), and determine the second-level domain name to be queried The corresponding application domain name smart contract; if the application domain name smart contract is configured, the application domain name smart contract is called to query the address information of the second-level domain name to be queried; if the application domain name smart contract is not configured, the management is determined The smart contract of the top-level domain name of the second-level domain name to be queried. If you are equipped with the top-level domain name smart contract, call the top-level domain name smart contract to query the first node (node 2 shown in Figure 6) that owns the application domain name smart contract, and send a domain name query request to the first node; if you The top-level domain name smart contract is not configured, the root domain name smart contract is called to query the second node (node 3 shown in FIG. 6) that owns the top-level domain name smart contract, and a contract call request is sent to the second node.
第一节点(如图6示出的节点2)可以被配置为:调用该应用域名智能合约查询所述待查询二级域名的地址信息,以及向子链中的节点返回所述待查询二级域名的地址信息。The first node (node 2 shown in FIG. 6) can be configured to call the application domain name smart contract to query the address information of the second-level domain name to be queried, and to return the second-level domain name to be queried to the node in the sub-chain The address information of the domain name.
第二节点(如图6示出的节点3)可以被配置为:调用该顶级域名智能合约查询拥有该应用域名智能合约所有权的第一节点,以及向子链中的节点返回所述第一节点。The second node (node 3 shown in FIG. 6) can be configured to: call the top-level domain name smart contract to query the first node that owns the application domain name smart contract, and return the first node to the nodes in the sub-chain .
需要说明的是,如果待查询域名是三级或三级以上的域名,同样可以采用图6示出的方法实现域名查询,此处不再详细描述。It should be noted that if the domain name to be queried is a third-level or higher-level domain name, the method shown in FIG. 6 can also be used to implement the domain name query, which will not be described in detail here.
基于同样的发明构思,本申请实施例还提供一种基于区块链的域名查询方法。如图7所示,为本申请实施例提供的一种基于区块链的域名查询方法所对应的流程示意图。该方法可以应用于上文所描述的域名查询系统,该系统可以包括由多个节点组成的公链,以及由公链中部分节点组成的子链;其中,公链中的节点配置有根域名智能合约;子链中的节点被配置为:通过执行所述根域名智能合约生成子域名智能合约,以及采用竞争的方式获取子域名智能合约的所有权;该方法具体可以包括如下步骤:Based on the same inventive concept, the embodiments of the present application also provide a domain name query method based on blockchain. As shown in FIG. 7, it is a schematic diagram of a process corresponding to a blockchain-based domain name query method provided in an embodiment of this application. This method can be applied to the domain name query system described above. The system can include a public chain composed of multiple nodes and a sub-chain composed of some nodes in the public chain; wherein the nodes in the public chain are configured with a root domain name Smart contract; the nodes in the sub-chain are configured to: generate a sub-domain smart contract by executing the root domain smart contract, and obtain the ownership of the sub-domain smart contract in a competitive manner; the method may specifically include the following steps:
步骤101,子链中的节点获取待查询域名。Step 101: A node in the sub-chain obtains the domain name to be queried.
步骤102,子链中的节点确定所述待查询域名对应的第一域名智能合约。Step 102: The node in the sub-chain determines the first domain name smart contract corresponding to the domain name to be queried.
步骤103,如果自身配置有第一域名智能合约,子链中的节点调用第一域名智能合约查询所述待查询域名的地址信息。Step 103: If it is configured with the first domain name smart contract, the node in the sub-chain invokes the first domain name smart contract to query the address information of the domain name to be queried.
进一步地,步骤103之后,还可以包括步骤104,即子链中的节点还可以向发起节点返回待查询域名的地址信息。Further, after step 103, step 104 may be included, that is, the node in the sub-chain may also return the address information of the domain name to be queried to the initiating node.
采用上述方法,通过子链的形式,将DNS系统部署在区块链网络中,可以实现完整的去中心化部署。与现有的DNS系统相比,本申请提供的域名查询方法中,不同级别的域名由不同的智能合约所管理,并且,智能合约的所有权是子链中的节点通过竞争的方式获取到的,这种方式相比于现有技术中由固定的服务器管理不同级别的域名,灵活性更高,不容易受到攻击,提高了整个系统的稳定性,进而也可以提高参与和提供网络服务的各方的网络安全。Using the above method, deploying the DNS system in the blockchain network in the form of a sub-chain can realize a complete decentralized deployment. Compared with the existing DNS system, in the domain name query method provided by this application, different levels of domain names are managed by different smart contracts, and the ownership of smart contracts is obtained by nodes in the sub-chain through competition. Compared with the existing technology where a fixed server manages different levels of domain names, this method is more flexible, less vulnerable to attacks, and improves the stability of the entire system, thereby increasing the parties involved in and providing network services. Network security.
可选地,所述方法还包括:Optionally, the method further includes:
如果所述子链中的节点调用所述第一域名智能合约未查询所述待查询域名的地址信息,则域名查询失败。If a node in the sub-chain invokes the first domain name smart contract and does not query the address information of the domain name to be queried, the domain name query fails.
可选地,所述方法还包括:Optionally, the method further includes:
如果自身未配置有所述第一域名智能合约,所述子链中的节点确定管理所述待查询域名的第二域名智能合约;If the first domain name smart contract is not configured by itself, the node in the sub-chain determines the second domain name smart contract that manages the domain name to be queried;
如果自身配置有所述第二域名智能合约,所述子链中的节点调用所述第二域名智能合约查询拥有所述第一域名智能合约所有权的第一节点;If it is configured with the second domain name smart contract, the node in the sub-chain invokes the second domain name smart contract to query the first node that owns the first domain name smart contract;
所述子链中的节点向所述第一节点发送域名查询请求,所述域名查询请求包括所述待查询域名;The node in the sub-chain sends a domain name query request to the first node, where the domain name query request includes the domain name to be queried;
所述第一节点调用所述第一域名智能合约查询所述待查询域名的地址信息,以及向所述子链中的节点返回所述待查询域名的地址信息。The first node invokes the first domain name smart contract to query the address information of the domain name to be queried, and returns the address information of the domain name to be queried to the nodes in the sub-chain.
可选地,所述方法还包括:Optionally, the method further includes:
如果所述第二域名智能合约不是根域名智能合约,且自身未配置有所述第二域名智能合约,所述子链中的节点调用根域名智能合约查询拥有所述第二域名智能合约所有权的第二节点;If the second domain name smart contract is not the root domain name smart contract, and the second domain name smart contract is not configured in itself, the nodes in the sub-chain call the root domain name smart contract to query the ownership of the second domain name smart contract Second node
所述子链中的节点向所述第二节点发送合约调用请求,所述合约调用请求包括所述第二域名智能合约;The node in the sub-chain sends a contract invocation request to the second node, and the contract invocation request includes the second domain name smart contract;
所述第二节点用所述第二域名智能合约查询拥有所述第一域名智能合约所有权的第一节点,以及向所述子链中的节点返回所述第一节点;The second node uses the second domain name smart contract to query the first node that owns the ownership of the first domain name smart contract, and returns the first node to the node in the sub-chain;
所述子链中的节点向所述第一节点发送域名查询请求,所述域名查询请求包括所述待查询域名;The node in the sub-chain sends a domain name query request to the first node, where the domain name query request includes the domain name to be queried;
所述第一节点调用所述第一域名智能合约查询所述待查询域名的地址信息,以及向所述子链中的节点返回所述待查询域名的地址信息。The first node invokes the first domain name smart contract to query the address information of the domain name to be queried, and returns the address information of the domain name to be queried to the nodes in the sub-chain.
可选地,所述子域名智能合约包括顶级域名智能合约和应用域名智能合约。Optionally, the subdomain name smart contract includes a top-level domain name smart contract and an application domain name smart contract.
可选地,所述根域名智能合约用于管理顶级域名,所述顶级域名智能合约用于管理二级域名,所述应用域名智能合约用于管理三级及三级以上的域名。Optionally, the root domain name smart contract is used to manage top-level domain names, the top-level domain name smart contract is used to manage second-level domain names, and the application domain name smart contract is used to manage third-level domain names and above.
可选地,所述子链中的节点获取待查询域名,包括:Optionally, obtaining the domain name to be queried by the node in the sub-chain includes:
所述子链中的节点获取发起节点或所述子链中的节点对应的邻近节点发送的待查询域名。The node in the sub-chain obtains the domain name to be queried sent by the initiating node or the neighboring node corresponding to the node in the sub-chain.
在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有计算机程序或智能合约,所述计算机程序或智能合约被节点加载并执行以实现上述实施例提供的事务处理方法。可选地,上述计算机可读存储介质可以是只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、CD-ROM、磁带、软盘和光数据存储设备等。In an exemplary embodiment, a computer-readable storage medium is also provided, and a computer program or smart contract is stored in the storage medium, and the computer program or smart contract is loaded and executed by a node to implement the above-mentioned embodiments. Transaction processing method. Optionally, the aforementioned computer-readable storage medium may be Read-Only Memory (ROM), Random Access Memory (RAM), CD-ROM, magnetic tape, floppy disk, optical data storage device, etc. .
本领域的技术人员可以清楚地了解到本申请实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。Those skilled in the art can clearly understand that the technology in the embodiments of the present application can be implemented by means of software plus a necessary general hardware platform. Based on this understanding, the technical solutions in the embodiments of the present application can be embodied in the form of software products, which can be stored in a storage medium, such as ROM/RAM. , Magnetic disks, optical disks, etc., including a number of instructions to enable a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments of the present application.
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、 用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。Those skilled in the art will easily think of other embodiments of the present disclosure after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses, or adaptive changes of the present disclosure. These variations, uses, or adaptive changes follow the general principles of the present disclosure and include common knowledge or conventional technical means in the technical field that are not disclosed in the present disclosure. . The description and the embodiments are to be regarded as exemplary only, and the true scope and spirit of the present disclosure are pointed out by the following claims.
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。It should be understood that the present disclosure is not limited to the precise structure that has been described above and shown in the drawings, and various modifications and changes can be made without departing from its scope. The scope of the present disclosure is limited only by the appended claims.

Claims (10)

  1. 一种基于区块链的域名查询系统,其特征在于,所述系统包括由多个节点组成的公链,以及由所述公链中部分节点组成的子链;其中,公链中的节点配置有根域名智能合约;子链中的节点被配置为:通过执行所述根域名智能合约生成子域名智能合约,以及采用竞争的方式获取所述子域名智能合约的所有权;A domain name query system based on blockchain, characterized in that the system includes a public chain composed of multiple nodes, and a sub-chain composed of some nodes in the public chain; wherein the node configuration in the public chain There is a root domain name smart contract; the nodes in the sub-chain are configured to: generate a sub-domain smart contract by executing the root domain name smart contract, and obtain the ownership of the sub-domain smart contract in a competitive manner;
    所述子链中的节点进一步被配置为:获取待查询域名,确定所述待查询域名对应的第一域名智能合约;如果自身配置有所述第一域名智能合约,调用所述第一域名智能合约查询所述待查询域名的地址信息。The node in the sub-chain is further configured to: obtain the domain name to be queried, determine the first domain name smart contract corresponding to the domain name to be queried; if it is configured with the first domain name smart contract, call the first domain name smart contract. The contract queries the address information of the domain name to be queried.
  2. 根据权利要求1所述的系统,其特征在于,所述子链中的节点进一步被配置为:如果自身未配置有所述第一域名智能合约,确定管理所述待查询域名的第二域名智能合约;如果自身配置有所述第二域名智能合约,调用所述第二域名智能合约查询拥有所述第一域名智能合约所有权的第一节点;向所述第一节点发送域名查询请求,所述域名查询请求包括所述待查询域名;The system according to claim 1, wherein the node in the sub-chain is further configured to: if it is not configured with the first domain name smart contract, determine the second domain name smart contract that manages the domain name to be queried Contract; if it is equipped with the second domain name smart contract, call the second domain name smart contract to query the first node that owns the first domain name smart contract; send a domain name query request to the first node, the The domain name query request includes the domain name to be queried;
    所述第一节点被配置为:调用所述第一域名智能合约查询所述待查询域名的地址信息,以及向所述子链中的节点返回所述待查询域名的地址信息。The first node is configured to call the first domain name smart contract to query the address information of the domain name to be queried, and to return the address information of the domain name to be queried to the nodes in the sub-chain.
  3. 根据权利要求2所述的系统,其特征在于,所述子链中的节点进一步被配置为:如果所述第二域名智能合约不是根域名智能合约,且自身未配置有所述第二域名智能合约,调用根域名智能合约查询拥有所述第二域名智能合约所有权的第二节点;向所述第二节点发送合约调用请求,所述合约调用请求包括所述第二域名智能合约;The system according to claim 2, wherein the node in the sub-chain is further configured to: if the second domain name smart contract is not a root domain name smart contract, and the second domain name smart contract is not configured with the second domain name smart contract itself Contract, call the root domain name smart contract to query the second node that owns the second domain name smart contract; send a contract call request to the second node, the contract call request includes the second domain name smart contract;
    所述第二节点被配置为:调用所述第二域名智能合约查询拥有所述第一域名智能合约所有权的第一节点,以及向所述子链中的节点返回所述第一节点;The second node is configured to: invoke the second domain name smart contract to query the first node that owns the ownership of the first domain name smart contract, and return the first node to the node in the sub-chain;
    所述子链中的节点进一步被配置为:向所述第一节点发送域名查询请求,所述域名查询请求包括所述待查询域名;The node in the sub-chain is further configured to send a domain name query request to the first node, where the domain name query request includes the domain name to be queried;
    所述第一节点被配置为:调用所述第一域名智能合约查询所述待查询域名的地址信息,以及向所述子链中的节点返回所述待查询域名的地址信息。The first node is configured to call the first domain name smart contract to query the address information of the domain name to be queried, and to return the address information of the domain name to be queried to the nodes in the sub-chain.
  4. 根据权利要求1所述的系统,其特征在于,所述子域名智能合约包括顶级域名智能合约和应用域名智能合约。The system according to claim 1, wherein the subdomain name smart contract includes a top-level domain name smart contract and an application domain name smart contract.
  5. 根据权利要求4所述的系统,其特征在于,所述根域名智能合约用于管理顶级域名,所述顶级域名智能合约用于管理二级域名,所述应用域名智能合约用于管理三级及三级以上的域名。The system according to claim 4, wherein the root domain name smart contract is used to manage top-level domain names, the top-level domain name smart contract is used to manage second-level domain names, and the application domain name smart contract is used to manage third-level domain names. Domain names above the third level.
  6. 根据权利要求4所述的系统,其特征在于,所述子链中的节点被进一步地配置为:通过执行所述根域名智能合约生成顶级域名智能合约,和/或,通过执行所述顶级域名智能合约生成应用域名智能合约。The system according to claim 4, wherein the nodes in the sub-chain are further configured to generate a top-level domain name smart contract by executing the root domain name smart contract, and/or, by executing the top-level domain name smart contract Smart contracts generate smart contracts for application domain names.
  7. 根据权利要求1所述的系统,其特征在于,所述子链中的节点进一步被配置为: 如果调用所述第一域名智能合约未查询所述待查询域名的地址信息,则域名查询失败。The system according to claim 1, wherein the nodes in the sub-chain are further configured to: if the first domain name smart contract is invoked without querying the address information of the domain name to be queried, the domain name query fails.
  8. 根据权利要求1至7中任一项所述的系统,其特征在于,所述子链中的节点进一步被配置为:获取发起节点或所述子链中的节点对应的邻近节点发送的待查询域名。The system according to any one of claims 1 to 7, wherein the node in the sub-chain is further configured to: obtain the to-be-query sent by the initiating node or the neighboring node corresponding to the node in the sub-chain domain name.
  9. 一种基于区块链的域名查询方法,其特征在于,所述方法应用于上述权利要求1至8中任一项所述的系统,所述系统包括由多个节点组成的公链,以及由所述公链中部分节点组成的子链;其中,公链中的节点配置有根域名智能合约;子链中的节点被配置为:通过执行所述根域名智能合约生成子域名智能合约,以及采用竞争的方式获取所述子域名智能合约的所有权;所述方法包括:A domain name query method based on blockchain, characterized in that the method is applied to the system according to any one of claims 1 to 8, and the system includes a public chain composed of multiple nodes, and A sub-chain composed of some nodes in the public chain; wherein the nodes in the public chain are configured with a root domain name smart contract; the nodes in the sub-chain are configured to generate a sub-domain smart contract by executing the root domain name smart contract, and Obtain the ownership of the subdomain name smart contract by means of competition; the method includes:
    所述子链中的节点获取待查询域名;The node in the sub-chain obtains the domain name to be queried;
    所述子链中的节点确定所述待查询域名对应的第一域名智能合约;The node in the sub-chain determines the first domain name smart contract corresponding to the domain name to be queried;
    如果自身配置有所述第一域名智能合约,所述子链中的节点调用所述第一域名智能合约查询所述待查询域名的地址信息。If it is configured with the first domain name smart contract, the node in the sub-chain invokes the first domain name smart contract to query the address information of the domain name to be queried.
  10. 根据权利要求9所述的方法,其特征在于,所述方法还包括:The method according to claim 9, wherein the method further comprises:
    如果所述子链中的节点调用所述第一域名智能合约未查询所述待查询域名的地址信息,则域名查询失败。If a node in the sub-chain invokes the first domain name smart contract and does not query the address information of the domain name to be queried, the domain name query fails.
PCT/CN2020/094212 2019-09-06 2020-06-03 Blockchain-based domain name query system and method WO2021042788A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910842305.XA CN112468603B (en) 2019-09-06 2019-09-06 Domain name query system and method based on block chain
CN201910842305.X 2019-09-06

Publications (1)

Publication Number Publication Date
WO2021042788A1 true WO2021042788A1 (en) 2021-03-11

Family

ID=74807120

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/094212 WO2021042788A1 (en) 2019-09-06 2020-06-03 Blockchain-based domain name query system and method

Country Status (3)

Country Link
CN (1) CN112468603B (en)
FR (1) FR3100633A1 (en)
WO (1) WO2021042788A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017162931A1 (en) * 2016-03-21 2017-09-28 Sébastien Dupont Method for managing the validation of messages relating to a message chain individually via a decentralised validation network
CN109067930A (en) * 2018-06-26 2018-12-21 网宿科技股份有限公司 Domain name cut-in method, domain name analytic method, server, terminal and storage medium
CN109784761A (en) * 2019-01-31 2019-05-21 中国互联网络信息中心 Domain name ranking method, device, electronic equipment and storage medium based on block chain
CN110061838A (en) * 2019-04-28 2019-07-26 广州大学 A kind of the decentralization storage system and its realization, information retrieval method of DNS resource record

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106210171A (en) * 2016-07-25 2016-12-07 宁圣金融信息服务(上海)有限公司 A kind of block chain domain name analysis system
US20190166085A1 (en) * 2017-04-19 2019-05-30 Peking University Shenzhen Graduate School Blockchain-based domain name resolution system
CN107613041B (en) * 2017-09-22 2020-06-05 中国互联网络信息中心 Domain name management system, domain name management method and domain name resolution method based on block chain
CN108429765B (en) * 2018-05-28 2021-10-26 北京奇虎科技有限公司 Method, server and storage medium for realizing domain name resolution based on block chain
CN108833603A (en) * 2018-05-28 2018-11-16 北京奇虎科技有限公司 A kind of method, server and system for realizing domain name mapping based on block chain
CN109819443B (en) * 2018-12-29 2021-09-21 东莞见达信息技术有限公司 Registration authentication method, device and system based on block chain

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017162931A1 (en) * 2016-03-21 2017-09-28 Sébastien Dupont Method for managing the validation of messages relating to a message chain individually via a decentralised validation network
CN109067930A (en) * 2018-06-26 2018-12-21 网宿科技股份有限公司 Domain name cut-in method, domain name analytic method, server, terminal and storage medium
CN109784761A (en) * 2019-01-31 2019-05-21 中国互联网络信息中心 Domain name ranking method, device, electronic equipment and storage medium based on block chain
CN110061838A (en) * 2019-04-28 2019-07-26 广州大学 A kind of the decentralization storage system and its realization, information retrieval method of DNS resource record

Also Published As

Publication number Publication date
CN112468603A (en) 2021-03-09
FR3100633A1 (en) 2021-03-12
CN112468603B (en) 2022-01-11

Similar Documents

Publication Publication Date Title
CN110352445B (en) Performing multiparty transactions using smart contracts
CN109246211B (en) Resource uploading and resource requesting method in block chain
JP7174719B2 (en) Stochastic Relays for Efficient Propagation in Blockchain Networks
WO2021042786A1 (en) Decentralized domain name registration system and method based on blockchain
US11502828B2 (en) Authenticating chaincode to chaincode invocations of a blockchain
KR102566892B1 (en) Blockchain consensus method, device and system
US8108455B2 (en) Mobile agents in peer-to-peer networks
US8037202B2 (en) Presence detection using mobile agents in peer-to-peer networks
US7328243B2 (en) Collaborative content coherence using mobile agents in peer-to-peer networks
US7254608B2 (en) Managing distribution of content using mobile agents in peer-topeer networks
US7213047B2 (en) Peer trust evaluation using mobile agents in peer-to-peer networks
TW201942816A (en) Inter-blockchain interaction method, device, system and electronic device
CN103810444B (en) The method and system of multi-tenant application isolation in a kind of cloud computing platform
BR102012010346A2 (en) Domain Name System Security Extension (dnssec) Signature Server and Method of Encrypting Domain Name System (dns) Information Using the Same
US9455969B1 (en) Providing enhanced access to remote services
EP3753220A1 (en) Blockchain-based methods and device for propagating data in a network
CN112468525B (en) Domain name management system based on block chain
WO2020037781A1 (en) Anti-attack method and device for server
US11374763B2 (en) Method and system for inter-DLT networks trust enhancement
WO2013152565A1 (en) Capability aggregation and exposure method and system
CN110249588A (en) System and method for detecting network topology
WO2023040502A1 (en) User service registration
WO2023040498A1 (en) User service utilization
US7676586B2 (en) Hierarchical federation metadata
WO2021042788A1 (en) Blockchain-based domain name query system and method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20861003

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20861003

Country of ref document: EP

Kind code of ref document: A1