Disclosure of Invention
The application provides a domain name management system based on a block chain, which aims to solve the problem of low response speed of a block chain domain name system.
In one aspect, the present application provides a domain name management system based on a block chain, including: a public chain consisting of a plurality of nodes, and a CNS subchain consisting of some nodes in the public chain; all nodes of the public chain are configured with root domain name intelligent contracts;
the nodes that make up the CNS sub-chain have the same intelligent contracts and functions as the nodes of the public chain;
the nodes that make up the CNS subchain are configured to: generating a sub-domain name intelligent contract by executing the root domain name intelligent contract; and completing domain name registration, inquiry and updating service through the root domain name intelligent contract and the sub-domain name intelligent contract.
Optionally, the sub-domain name intelligent contracts include a top-level domain name intelligent contract and an application domain name intelligent contract;
nodes partially making up the CNS subchain are configured to: completing top-level domain name service including managing and maintaining second-level domain name information by executing the top-level domain name intelligent contract;
nodes partially making up the CNS subchain are configured to: and completing the application domain name service by executing the application domain name intelligent contract, wherein the application domain name service comprises the management and maintenance of domain name information with more than two levels.
Optionally, the nodes forming the CNS sub-chain store domain name information corresponding to the executed intelligent contract in a distributed manner according to the executed intelligent contract.
Optionally, for a domain name registration service, the nodes that make up the CNS sub-chain are further configured to:
initiating a registration transaction to a root domain name intelligent contract, and triggering the root domain name intelligent contract to execute;
according to the registration transaction, feeding back a registration voting result by executing the root domain name intelligent contract, wherein the registration voting result comprises acceptance or rejection of newly adding a domain name in the registration transaction;
if the fed-back registration voting result meets the preset registration requirement, generating a top-level domain name intelligent contract through the root domain name intelligent contract;
adding a record in the root domain name intelligent contract pointing to a newly generated top-level domain name intelligent contract.
Optionally, the preset registration requirement includes that the fed-back registration voting result is that the accepted number is greater than or equal to the first voting number value; or, in a preset voting period, the fed back registration voting result is that the accepted number is greater than or equal to the second voting number value.
Optionally, for domain name query service, the nodes composing the CNS sub-chain are further configured to:
receiving query transaction sent by a domain name query node;
extracting domain name information in the query transaction;
extracting DNS information corresponding to the domain name information according to the executed intelligent contract;
and sending the extracted DNS information to a domain name query node.
Optionally, some of the nodes that make up the CNS sub-chain are divided into contract owner nodes according to an executed intelligent contract; for domain name update services, the contract owner node is further configured to:
initiating an updating transaction to a superior domain name intelligent contract of an executing intelligent contract of an updating node, and triggering the executing superior domain name intelligent contract to perform updating service;
checking the updating data in the updating transaction through a superior domain name intelligent contract; after the verification is passed, calling the executed intelligent contract;
and updating the executed intelligent contract according to the updating data.
Optionally, the contract owner node includes: a root owner node executing a root domain name intelligence contract, a top level owner node executing a top level domain name intelligence contract, and an application owner node executing an application domain name intelligence contract;
the upper-level domain name intelligent contract corresponding to the application owner node is a root domain name intelligent contract; the upper-level domain name intelligent contract corresponding to the top-level owner node is a root domain name intelligent contract; and the upper-level domain name intelligent contract corresponding to the application owner node is a top-level domain name intelligent contract and/or a root domain name intelligent contract.
In another aspect, the present application further provides a domain name management system based on a block chain, including: a public chain composed of a plurality of nodes, and a CNS sub-chain composed of a part of nodes in the public chain and at least one DNS node; all nodes of the public link and the DNS node are configured with root domain name intelligent contracts;
the nodes that make up the CNS sub-chain have the same intelligent contracts and functions as the nodes of the public chain;
the nodes that make up the CNS subchain are configured to: generating a sub-domain name intelligent contract by executing the root domain name intelligent contract; and completing domain name registration, inquiry and updating service through the root domain name intelligent contract and the sub-domain name intelligent contract;
the DNS node is configured to interface with a DNS system, causing a node in the DNS system to query domain name information in the CNS child chain through the DNS node; and enabling the nodes in the public chain to inquire the domain name information in the DNS system through the DNS node.
Optionally, the sub-domain name intelligent contracts include a top-level domain name intelligent contract and an application domain name intelligent contract;
the nodes partially making up the CNS sub-chain and the DNS node are configured to: completing top-level domain name service including managing and maintaining second-level domain name information by executing the top-level domain name intelligent contract;
the nodes partially making up the CNS sub-chain and the DNS node are configured to: and completing the application domain name service by executing the application domain name intelligent contract, wherein the application domain name service comprises the management and maintenance of domain name information with more than two levels.
As can be seen from the above technical solutions, the present application provides a domain name management system based on a block chain, including: a public chain consisting of a plurality of nodes, and a CNS sub-chain consisting of some nodes in the public chain. Wherein, all nodes of the public chain are configured with root domain name intelligent contracts; the nodes forming the CNS sub-chain have the same intelligent contract and function as the nodes of the public chain; the nodes that make up the CNS subchain are configured to: generating a sub-domain name intelligent contract by executing the root domain name intelligent contract; and completing domain name registration, inquiry and updating service through the root domain name intelligent contract and the sub-domain name intelligent contract. According to the method and the system, the DNS system is deployed in the block chain network in a sub-chain mode, and complete decentralized deployment can be achieved. And the sub-chain nodes execute the root domain name intelligent contract and the sub-domain name intelligent contract to quickly complete domain name registration, inquiry and update services, thereby improving the response speed.
Detailed Description
Reference will now be made in detail to embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, like numbers in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following examples do not represent all embodiments consistent with the present application. But merely as exemplifications of systems and methods consistent with certain aspects of the application, as recited in the claims.
In the technical solution provided by the present application, a 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 inside the network. I.e., the blockchain network is a transaction platform that encompasses distributed technology, cryptography, P2P network architecture, and various consensus algorithms that may be applied.
In this application, the blockchain or blockchain data refers to accounting information generated according to transaction information when transactions occur in a blockchain network, that is, a plurality of transactions form a blockchain, and a plurality of blockchain data form a blockchain with a timestamp. The blockchain network comprises nodes which establish point-to-point network connection with each other, and each node is configured with a corresponding consensus mechanism, such as an intelligent contract, and has enough computing power to perform transaction verification and accounting procedures. The nodes also have interface specifications that conform to some uniform standard to enable access to more nodes or other types of blockchain networks through the interface specifications. The public link is a point-to-point network structure consisting of a plurality of nodes in a block link network, and each node has a distributed storage function and transaction and accounting functions; the nodes on the public link provide a uniform interface specification to the outside.
Referring to fig. 1, a schematic structural diagram of a domain name management system based on a block chain according to the present application is shown. As can be seen from fig. 1, the domain name management system based on a block chain provided in the present application includes: the CNS sub-chain comprises a public chain consisting of a plurality of nodes and a CNS sub-chain consisting of partial nodes in the public chain. In practical applications, for convenience of description, the nodes constituting the public chain may be referred to as public chain nodes, and the nodes constituting the CNS sub-chain may be referred to as CNS sub-chain nodes. Obviously, in this embodiment, the node in the common chain may be a common link node, and may also be simultaneously used as a CNS sub-chain node. The CNS subchain nodes are composed of partial nodes in the public chain, so that the CNS subchain nodes are both CNS subchain nodes and public chain nodes. That is, the nodes that make up the CNS sub-chain have the same intelligent contracts and functions as the nodes of the public chain.
In practice, the public link may provide basic blockchain services in the network, such as transaction, authentication, storage, etc. The public link itself may not have any specific function corresponding to any field, but rather acts as a bridge to collect all sub-chains (or third party blockchain networks) accessing the public link into the same blockchain network, so that different access links can trade or transmit information with each other.
In the technical scheme provided by the application, intelligent contracts are configured in all nodes of the public chain. The intelligent contract is a consensus mechanism program agreed based on blockchain transaction, transaction operation with various functions can be realized through the intelligent contract, for example, a root domain name intelligent contract is passed through, and a node can complete domain name registration, query and update services by executing the root domain name intelligent contract.
To implement domain name services, in the present application, the nodes that make up the CNS sub-chain are configured to: generating a sub-domain name intelligent contract by executing the root domain name intelligent contract; and completing domain name registration, inquiry and updating service through the root domain name intelligent contract and the sub-domain name intelligent contract.
In practical applications, for example, when a user in a network inputs domain name information in an application such as a browser of a terminal (node), the node may first query whether there is an IP address corresponding to the domain name in a local cache, and if so, directly extract the corresponding IP address to establish a communication connection with the IP address server. If not, the application such as the browser can send the input domain name information to the DNS server to perform domain name query.
Therefore, in the technical solution provided by the present application, a node may send domain name information to a domain name management system, i.e. to a CNS sub-chain. After receiving the domain name information, the CNS child chain node can query, according to a difference in the intelligent contract executed by the node, an IP address corresponding to the domain name information.
In practical application, the number of domain names in the internet is large, and the data processing amount of the IP addresses is large according to the domain names, so that the nodes in the CNS sub-chains can be further divided into a plurality of hierarchical relations according to the hierarchical relation of the DNS domain name query server, the DNS query service is deployed in a hierarchical mode, and different query ranges are correspondingly provided by different hierarchical levels. Sub-domain name intelligence contracts can be further created and deployed, for example, from root domain name intelligence contracts. Wherein the sub-domain name intelligence contracts include a top level domain name intelligence contract and an application domain name intelligence contract.
To enable querying of domain names, as shown in fig. 2, the nodes that partially make up the CNS sub-chain are configured to: and completing top-level domain name service by executing the top-level domain name intelligent contract, namely the nodes of a part of CNS subchains can be used as the functions of a top-level domain name server, wherein the functions of the top-level domain name server comprise management and maintenance of second-level domain name information. Similarly, the nodes that partially make up the CNS subchain are configured to: and completing the application domain name service by executing the application domain name intelligent contract, wherein the application domain name service comprises the management and maintenance of domain name information with more than two levels.
Therefore, after receiving the domain name information, the nodes of the CNS sub-chain first determine that the nodes of the current CNS sub-chain can provide the query for the domain name, and if the nodes of the CNS sub-chain can provide the query for the domain name, the IP address data is directly returned, and if the nodes of the CNS sub-chain cannot provide the query for the domain name, the top-level domain name and the root domain name, the nodes of the CNS sub-chain need to sequentially query according to the sequence. In order to obtain the IP address data, the nodes forming the CNS sub-chain store domain name information corresponding to the executed intelligent contract in a distributed mode according to the executed intelligent contract.
Therefore, in the technical scheme provided by the application, the nodes in the CNS subchain system can be matched with each other to complete the following work: initializing and deploying a root domain name intelligent contract; deploying related intelligent contracts such as registration, inquiry, update and the like; executing intelligent contracts such as relevant registration, inquiry, update and the like; and, storing and routing the associated domain name record.
Specifically, as shown in fig. 3, for a domain name registration service, the nodes that make up the CNS sub-chain are further configured to:
s101: initiating a registration transaction to a root domain name intelligent contract, and triggering the root domain name intelligent contract to execute;
s102: according to the registration transaction, feeding back a registration voting result by executing the root domain name intelligent contract, wherein the registration voting result comprises acceptance or rejection of newly adding a domain name in the registration transaction;
s103: if the fed-back registration voting result meets the preset registration requirement, generating a top-level domain name intelligent contract through the root domain name intelligent contract;
s104: adding a record in the root domain name intelligent contract pointing to a newly generated top-level domain name intelligent contract.
In this embodiment, a server node to be registered in the domain name management system may initiate a registration transaction to a root domain name intelligent contract to trigger the root domain name intelligent contract to be executed by a corresponding node. After executing the root domain name intelligent contract, the node can feed back a voting result according to voting aiming at the registration transaction. When the fed-back voting result meets the preset registration requirement, the current server domain name can be registered in the system, so that a top-level domain name intelligent contract can be generated through the root domain name intelligent contract, and a record pointing to the newly generated top-level domain name intelligent contract is added in the root domain name intelligent contract.
The preset registration requirement comprises that the fed-back registration voting result is that the accepted number is greater than or equal to a first voting number value; or, in a preset voting period, the fed back registration voting result is that the accepted number is greater than or equal to the second voting number value.
Taking top-level domain name service (TLD) as an example, in the actual registration process, the execution of the root domain name intelligent contract may be triggered by initiating a transaction to the root domain name intelligent contract; the owner of the root domain name intelligent contract determines whether to accept the newly added TLD domain name or not through voting or other modes; the root domain name intelligent contract owner selects to accept or refuse to add the TLD domain name in a mode of initiating transaction to the root domain name intelligent contract; if the registration is accepted, the new transaction is successfully added, the root domain name intelligent contract generates and deploys a new TLD intelligent contract, and meanwhile, a corresponding record is newly added in the root domain name intelligent contract and points to the new TLD intelligent contract, so that the new adding work is completed.
In some embodiments of the present application, as shown in fig. 4, for a domain name query service, the nodes that make up the CNS sub-chain are further configured to:
s201: receiving query transaction sent by a domain name query node;
s202: extracting domain name information in the query transaction;
s203: extracting DNS information corresponding to the domain name information according to the executed intelligent contract;
s204: and sending the extracted DNS information to a domain name query node.
In practical application, the domain name query node may be any node in the current block chain network, and in the process of accessing the network, after triggering the domain name query service, may initiate a query transaction to the executed intelligent contract, where the query transaction includes domain name information to be queried. And extracting corresponding DNS information according to the executed intelligent contract, and sending the extracted DNS information to a domain name query node to complete domain name query service. The intelligent contracts executed by different nodes are different, so that when the DNS information corresponding to the domain name information is extracted, the corresponding domain name query modes are different. For example, if the node executes an application intelligent contract, the query range is a domain name with more than two levels; if the node executes a top-level domain name contract, the query range is the top-level domain name or the second-level domain name; if the node executes the root domain name intelligent contract, the query range is the root domain name or the primary domain name.
In some embodiments of the present application, as shown in fig. 5, for domain name update services, some of the nodes that make up the CNS sub-chain are divided into contract owner nodes according to an executed intelligent contract; the contract owner node is further configured to:
s301: initiating an updating transaction to a superior domain name intelligent contract of an executing intelligent contract of an updating node, and triggering the executing superior domain name intelligent contract to perform updating service;
s302: checking the updating data in the updating transaction through a superior domain name intelligent contract; after the verification is passed, calling the executed intelligent contract;
s303: and updating the executed intelligent contract according to the updating data.
In this embodiment, the contract owner node includes: a root owner node executing a root domain name intelligence contract, a top level owner node executing a top level domain name intelligence contract, and an application owner node executing an application domain name intelligence contract. The upper-level domain name intelligent contract corresponding to the application owner node is a root domain name intelligent contract; the upper-level domain name intelligent contract corresponding to the top-level owner node is a root domain name intelligent contract; and the upper-level domain name intelligent contract corresponding to the application owner node is a top-level domain name intelligent contract and/or a root domain name intelligent contract.
Taking an example of updating a certain TLD domain name, in practical application, an owner of the TLD domain name needing to be updated calls a root domain name intelligent contract for updating in a transaction mode; then, the existing TLD intelligent contract is called through checking the root domain name intelligent contract and updating, corresponding information updating is carried out, so that the TLD intelligent contract completes corresponding updating, and a corresponding result is returned; and finally, the root domain name intelligent contract records a corresponding updating result and completes the updating operation.
As can be seen from the above technical solutions, the present application provides a domain name management system based on a block chain, including: a public chain consisting of a plurality of nodes, and a CNS sub-chain consisting of some nodes in the public chain. Wherein, all nodes of the public chain are configured with root domain name intelligent contracts; the nodes forming the CNS sub-chain have the same intelligent contract and function as the nodes of the public chain; the nodes that make up the CNS subchain are configured to: generating a sub-domain name intelligent contract by executing the root domain name intelligent contract; and completing domain name registration, inquiry and updating service through the root domain name intelligent contract and the sub-domain name intelligent contract. According to the method and the system, the DNS system is deployed in the block chain network in a sub-chain mode, and complete decentralized deployment can be achieved. And the sub-chain nodes execute the root domain name intelligent contract and the sub-domain name intelligent contract to quickly complete domain name registration, inquiry and update services, thereby improving the response speed.
Further, in order to improve the capability of verifying and processing high concurrent transactions of the blockchain network, the present application may further optimize and adjust the public chain architecture, for example: node role division, node grouping, partition verification, and the like. Because the CNS subchain is formed by partial nodes in the public link, the CNS subchain can completely inherit the capacity of the public link, and also inherits the capacity of the public link for quickly verifying and processing high-concurrency transactions.
In addition, in the CNS sub-chain network, the related intelligent contracts complete the operations of registration, inquiry, update and the like of the domain name in a mode of transaction and transaction verification thereof, and the consistency of the data of the whole network is ensured through a standard block chain network consensus algorithm. Therefore, the high-concurrency quick transaction and transaction verification capability of the public link network can ensure that the CNS sub-link network also has corresponding capability, thereby effectively improving the condition of insufficient performance of the existing network.
The present application also provides a domain name management system based on a block chain, as shown in fig. 6, including: a public chain composed of a plurality of nodes, and a CNS sub-chain composed of a part of nodes in the public chain and at least one DNS node; all nodes of the public link and the DNS node are configured with root domain name intelligent contracts;
the nodes that make up the CNS sub-chain have the same intelligent contracts and functions as the nodes of the public chain;
the nodes that make up the CNS subchain are configured to: generating a sub-domain name intelligent contract by executing the root domain name intelligent contract; and completing domain name registration, inquiry and updating service through the root domain name intelligent contract and the sub-domain name intelligent contract;
the DNS node is configured to interface with a DNS system, causing a node in the DNS system to query domain name information in the CNS child chain through the DNS node; and enabling the nodes in the public chain to inquire the domain name information in the DNS system through the DNS node.
In the domain name management system provided in this embodiment, the DNS system may be added to the CNS sub-chain in the form of a CNS sub-chain node, which is a DNS node. The DNS node may be the entire DNS system or one node in the DNS system, and the DNS system may perform data interaction with the outside through the node. Therefore, in the application, the DNS node has a DNS authoritative domain name server function, a domain name resolution server function, and a node having a CNS sub-chain function, so as to achieve bidirectional compatibility with a conventional DNS system.
Similarly, in the technical solution provided in the present application, as shown in fig. 7, the sub-domain name intelligent contracts include a top-level domain name intelligent contract and an application domain name intelligent contract; the nodes partially making up the CNS sub-chain and the DNS node are configured to: completing top-level domain name service including managing and maintaining second-level domain name information by executing the top-level domain name intelligent contract; the nodes partially making up the CNS sub-chain and the DNS node are configured to: and completing the application domain name service by executing the application domain name intelligent contract, wherein the application domain name service comprises the management and maintenance of domain name information with more than two levels.
Therefore, in the CNS sub-chain, the execution of the intelligent contract can be triggered through the transaction, and services such as decentralized domain registration, query, and update are completed. In practical application, for a traditional DNS system, the query operation of the CNS domain name can be completed conveniently by setting a DNS node; meanwhile, when the method is applied to a blockchain network, if the network in a DNS system needs to be accessed, the traditional DNS analysis work can be conveniently completed through DNS nodes in the CNS sub-chain.
It should be noted that, in this embodiment, in a CNS sub-chain, the existing TLD top-level domain name registration in the current ICANN is not opened, but through a DNS node and an IPFS network of a block chain public chain, a distributed mirroring service of the DNS system can be performed in the CNS sub-chain, and related DNS data is backed up and stored, thereby avoiding the problem of being inaccessible due to a failure of the DNS network. In the long-term future, the CNS subchain can be used as an upgraded replacement network of an existing DNS network, and both a conventional DNS system and a domain name management system based on a block chain can uniformly provide corresponding services by the CNS subchain network.
According to the above technical solution, the domain name management system based on the block chain further provided by the present application includes: the system comprises a public chain consisting of a plurality of nodes and a CNS sub-chain consisting of partial nodes in the public chain and at least one DNS node. Wherein the nodes that make up the CNS sub-chain are configured to: generating a sub-domain name intelligent contract by executing the root domain name intelligent contract; and completing domain name registration, inquiry and updating service through the root domain name intelligent contract and the sub-domain name intelligent contract; and the DNS node is configured to interface with a DNS system, causing a node in the DNS system to query domain name information in the CNS sub-chain through the DNS node; and enabling the nodes in the public chain to inquire the domain name information in the DNS system through the DNS node. By building at least one DNS node in a CNS subchain, a domain name management system based on a blockchain network can interface with a traditional DNS system, which, because it serves as a node of the CNS subchain, essentially the CNS subchain still meets the complete decentralized requirement. In addition, the DNS system can be deployed to the blockchain network by modifying a small number of nodes in the DNS system, so that the deployment workload can be reduced, and the application range of the domain name management system is enlarged.
The embodiments provided in the present application are only a few examples of the general concept of the present application, and do not limit the scope of the present application. Any other embodiments extended according to the scheme of the present application without inventive efforts will be within the scope of protection of the present application for a person skilled in the art.