Domain Registration

Domain Registration: A Comprehensive Process to Ensure Validity and Security

When you embark on the process of domain registration, it is essential to understand the steps involved in ensuring that your chosen domain is available, valid, and securely registered. Here is a detailed overview of the domain registration process, which is designed to provide a seamless and efficient experience for users:

  1. Submitting a Domain Registration Request

Upon deciding on a desired domain name, you initiate the process by submitting a domain registration request. This request is then disseminated across the network for verification.

  1. Verification by Nodes

Several nodes within the network (currently 5, with plans to increase to 20 in the near future) verify the domain's availability. These nodes act as independent validators, ensuring that the domain name you have requested is not already in use and that it complies with the network's guidelines.

  1. Consensus and Signatures

If the domain is available and adheres to the network's rules, the nodes involved in the verification process will provide their signatures as confirmation. This consensus-based approach guarantees that a domain name is validly registered and prevents duplication or other potential issues.

  1. Achieving the Required Threshold

To finalize the registration process, a certain number of signatures must be collected. Currently, a domain becomes valid and registered once at least 4 signatures are obtained. However, in the near future, this threshold will be increased to 16 signatures, further bolstering the security and integrity of the domain registration process.

  1. Domain Activation

Once the required number of signatures has been collected, the domain becomes valid and registered. You are now the proud owner of a unique domain name, ready to establish your online presence and build your brand in the digital world.

In conclusion, the domain registration process is designed to ensure the validity, security, and availability of your chosen domain name. By involving multiple nodes in the verification process and requiring a specific number of signatures to finalize registration, the system guarantees that your domain is not only unique but also securely registered, providing a strong foundation for your online presence.

Implement Method

To ensure this feature, a multi-signature is embedded in every domain name.

For example, "4567.btc" would have an on-chain data:

{
    "type":"btcdomain",
    "name":"4567.btc",
    "first_owner":"bc1p5jfrr6ay9ghtrrkv604qeh0s57y88m3dj3slu7e4u82hw0zfns9q65jngy",
    "createDate":1678271540546,
    "registerDate":1678271540546,
    "expireDate":1709807540546,
    "img_url":"https://btcdomains.io/images/domain/4567.jpeg",
    "sig":"3045022100827f1826ce28d87e136ef5e672e1be4474353993d76965b86c7b0797f25253000220153982c31c2ea3f46690c4015dbcabac449080d65938a14e0ca48f32dc902f87"
}

Currently, we are using the public key "0258e3c1a0e88142e931da2ace5df1cca2f429dbb83ed1b3c9563bd7f6df0126b4" and the "sig" field represents the secp256k1 signature of a mixed JSON string that includes the following elements: "name", "first_owner", "createDate", "registerDate", and "expireDate".

It is easy to understand why we include "name", "createDate", "registerDate", and "expireDate" in the signature. The "first_owner" field is a unique element that is included to prevent copying of our information and to ensure that no duplicates exist.

To further explain this topic:

The inclusion of the "first_owner" field in the signature allows us to track the inscription process and ensure that the actual first owner (or "inscriber") is consistent with the information provided. In other words, we can verify that the entity claiming to be the first owner of a domain is indeed the one who originally inscribed it.

If someone wants to fork a domain, they would have to inscribe using the same account as the actual first owner at the actual createDate, which is highly unlikely and can be considered practically impossible. This ensures the uniqueness of each domain and prevents any potential duplicates or forking attempts.

Last updated