An article explaining the Bitcoin Sats domain name standard protocol specification, FAQ and roadmap

The Sats Domain Name System is a standardized protocol for engraving domain names on Bitcoin Ordinals, with the goal of building a domain name ecosystem created by Bitcoin users and fully developed on Bitcoin.

Compilation: BeyondLee, 0xUClub researcher

Translator's Note

In the Year of the Rabbit, 2023, the Bitcoin inscription system developed based on the ordinal number theory was born like a rabbit and exploded out of the circle. Brc20, BTCnft and other Bitcoin ecosystems took advantage of the wind. The myth of a thousand times wealth is staggering. The innovative applications led by unisat have been highly recognized by the market. Well-known institutions such as Binance and Ouyi have announced their participation in the joint construction.

With the rotation of the sector and the return of value, the Bitcoin domain name has gradually attracted widespread attention in the market due to its excellent characteristics such as decentralization, one-time casting and permanent ownership. But it has to be mentioned that, as an unprecedented domain name system, various standards have been mixed so far, and investors have not reached a consensus. Sats, as the first web3 domain name system that is highly decentralized, has a complete protocol, can be updated iteratively, and is completely based on the Bitcoin ordinal number theory, deserves more attention. Sats protocol standards are still deeply misunderstood. Eliminating information errors is the main purpose of my translation of this agreement.

However, it must be declared that I only highly appreciate the emerging system of Sats from a technical point of view, and it does not constitute any investment advice. Due to language limitations, there will inevitably be omissions and mistranslations. Investors are also requested to read carefully English version of Sats domain name agreement, rational investment.

Sats domain name

I. Overview

1 Introduction

The Sats Domain Name System is a standardized protocol for inscribing domain names on Bitcoin ordinals. Its goal is to build a domain name ecosystem created by Bitcoin users and fully developed based on Bitcoin. The development team is building an indexer for this project, and the syntax will be shared for subsequent refinement by other developers. The guiding principles are as follows:

All domain name information is stored on the Bitcoin chain

All content related to domain name registration and domain name renewal has and only Bitcoin transaction data. A Bitcoin node contains all the information of all domain names, so it does not need the support of other databases or related services, and anyone can independently know the real status of domain names.

The protocol will remain credible and neutral

There are no data custodians, so no one can suspend the agreement or prevent others from registering domain names. No privileged smart contracts or front-ends, no token economics, no premines, no gas tokens, no centralized management, no perverse incentives.

The first person to register a domain name on Bitcoin will own it

For example, the first person to register "satoshi.sats" will own the domain name and get the authority to update the domain name. With ordinals, anyone can inscribe the information they want, including duplicate domain names. But this will lead to conflicts and competition on domain name standards, which is tantamount to draining the energy of the community. Therefore, we need to uphold the only neutral and objective principle for resolving disputes: first come, first served.

2. Example of use

The Sats domain name system stored entirely on the Bitcoin chain has many advantages and adds additional value to many existing products and ecosystems. For example:

  • Use of Sats domain name in Nostr protocol
  • Use the Sats domain name as the lightning network address
  • Use the Sats domain name as a public Bitcoin address
  • Use the Sats domain name to log in to the application
  • View Sats Domains in Bitcoin Explorer

2. Protocol specification

New domain names can be registered as first-time inscribed ordinals in the Bitcoin transaction process, a process open to anyone who wishes.

1. Register domain name

Easy Registration

To register a new domain name in the Sats domain name system, it is only necessary to inscribe an ordinals containing the domain name. Such as this example.

satoshi.sats

Advanced Registration

Advanced registration allows users to add additional data to the domain name statement using JSON5 syntax. The registration format is optional and will be used during the domain renewal process. Such as this example.

{

"p": "sns",

"up": "right",

"name": "helloworld.sats",

}

Registration Restrictions

These restrictions apply to both registration types above:

  • Each ordinals can only engrave one domain name
  • Any UTF-8 character is valid
  • Case does not matter, all domain names will be registered as lower case
  • Spaces are not allowed in the domain name

2. Build an indexer

These instructions explain the logic for extracting and validating domain names so that they can be properly indexed and determine when each domain name was first registered.

retrieve data

The following description assumes access to the full ordinals data structure, including basic details such as type, ID, and text content. To properly verify the validity of a Sats domain name, the user must start indexing from the first Sats domain name with inscription number 159710.

Verify that the type of inscription is any of the following:

  • text/plain
  • application/json

Get text as the raw text content of the inscription. For example, text in this domain name is the original content returned by this URL.

Verify domain name

The first inscribed Sats domain name is the only valid domain name in the system, so when users face many identical domain names, they can find and determine the valid domain name through the inscription number. The following explains how to extract and verify the domain name in order to compare the inscription numbers.

Extract domain names from JSON5

  1. Validate that the text is valid JSON according to the JSON5 standard. So you need to try to parse the text, if you report an error (invalid JSON), skip to the validation "plain text" part.

  2. Check that the JSON contains the necessary key values:

p equals "sns"

op equals "reg"

name exists and is of type string

  1. After extracting the name, follow the steps to continue verification.

Trailing commas are valid in JSON5. Invalid newline in value.

Verify Domain Name

  1. Convert the string to lowercase.
  2. Delete everything after the first space or newline (\n).
  3. Remove all whitespace and line breaks.
  4. Verify that the domain name contains only one period (.).
  5. Verify that the string ends with .sats.

3. Indexer and API

To determine if a Sats domain name is valid, all identical domain names need to be compared. Among these, only the one with the inscription number at the top is considered to be the only valid one, that is, the first registered domain name.

Please make sure to convert all letters to lowercase when looking up, otherwise you may mistakenly register an invalid domain name.

Fraudsters may include hidden characters in the domain name, so it is necessary to ensure that the API returns a decoded UTF-8 domain name. By identifying this information, users can distinguish deceptive domain names.

user

Directly querying domain names containing # or ? will cause errors, so they need to be converted to URL encoding first.

4. Experimental syntax

The development team will continue to release more relevant information in the test. Casting inscriptions is not cheap, so it is necessary to ensure that all parties share the same grammar system, at least the domain name system should be able to update the grammar.

Users can engrave more relevant syntax parameters of the domain name by themselves. In the future, the development team may also adopt similar parameters, but before the actual release, it needs to be fully explored and tested. Of course, the development team's indexer may not parse these parameters, and other indexers or clients may choose to ignore them indefinitely. So, proceed at your own risk.

{

"p": "sns",

"up": "right",

"name": "satoshi.sats",

"lnurl": "LNURL1DP68GURN8GHJ7CTSDYHXCMNSV9UJUCM09AMRZTMHV9KXCET59AMKZH60WPHXUDRTGA85WSJDDENYXNZXTP68X3RWDF2XYTMVDE6HYMPDWPEX7CM9WDEN7MM5WS7NYUZGG34N2SESFCUYS3PXDE6K6HMNV96X7UMGD9EN6VCY8TWN5",

"npub": "npub1sg6plzptd64u62a878hep2kev88swjh3tw00gjsfl8f237lmu63q0uf63m"

"btc": "3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy"

}

3. Frequently Asked Questions

1. About the Sats domain name

**Why own a Sats domain name? **

Domain Name Systems are critical to socializing online, but they are usually controlled by centralized institutions. The Bitcoin-based domain name system has the potential to revolutionize personal or institutional Internet identities. In the future, more wallets, markets and applications will be developed around the Sats domain name.

When will the Sats domain name go live?

In fact, there is no need for a centralized organization to announce its launch, the Sats domain name system already exists on the Bitcoin blockchain, and users can register at any time by inscribing ordinals.

Can I trade Sats domain names?

Of course, Sats domains can be traded like regular ordinals. No matter which wallet holds a valid Sats name, the indexer can resolve it correctly.

How to support Sat domain?

Users can choose to inscribe some well-known names, or change Twitter, Nostr's nickname or handle to a Sats domain name for support. The development team will also share the GitHub code to help the Sats domain name.

Has anyone profited from the Sats domain name?

During the development of the Sats domain name, the relevant teams did not receive any benefits from it, nor did they have any plans for profit. During the Sats domain name registration process, that is, inscribed ordinals, users only need to pay gas to Bitcoin network miners.

Who controls the DAO and the protocol?

There is no DAO on the Sats domain name, and there is no agreement in the sense of any smart contract. The development team can only determine the common denominator for Sats domain names. Other than that, they cannot do anything like change the domain name, renew the domain name, increase the cost of domain name registration, etc.

How to obtain OG status, airdrop, whitelist, etc.?

In fact, in the Sats domain name system, these reward mechanisms do not exist. There is only a set of registration mechanism based on "first come, first served", anyone has the right to inscribe the desired Sats domain name on ordinals.

2. Registration

How to register sats domain name?

Follow the instructions in the protocol specification, or use an app that supports the protocol.

How to judge whether someone has registered a sats domain name?

The domain name indexer that the relevant application should have. See Indexers and APIs for details.

How to judge the authenticity and validity of a domain name?

The development team has no right to define the "authenticity" of the domain name. Similarly, the team has no responsibility to ensure that the person or organization that owns the domain name must correspond to the information displayed by the domain name.

The team only aims to develop relevant tools to help markets, wallets, and individuals verify which sats domain name is the first and valid. Users should not trust anyone other than indexers and related tools, including the development team, when it comes to domain name "validity". Therefore, the team tries to ensure that sats domain names can be verified quickly and efficiently by indexers.

Can I inscribe multiple domain names in one ordinals?

No, please refer to Protocol Specification for details.

Can emoji and IDN be used for registration?

Yes, please use it directly.

What happens if a user inscribes a duplicate domain name?

Based on a "first come, first served" registration mechanism, the indexer will treat the duplicate domain name as invalid.

Why are some domain names not indexed correctly?

Special or incomplete formatting sometimes causes this, users can click here to check the JSON format.

4. Roadmap

*Here are some ideas for the future of the Sats domain community. Because in the Sats domain, there are no technical agreements, no smart contracts, no DAOs, no corporations calling the shots - so these are just some of the proposals that came out of the open source community coming together... *

1. Startup phase

These have all been completed within the first thirty days:

  • Post Grammar on Twitter
  • Publish indexer and API
  • 60,000 valid domain names minted
  • Platforms like Ordinalsbot, Unisat and Ordinals Wallet for integration
  • gm.sats is traded at 0.125BTC
  • Nostr integration
  • Use Sats domain name for BTC sending and receiving

2. Basic stage

This stage will be defined by three main challenges:

Update domain name

Like DNS and ENS, Sats needs to be an updatable domain name protocol to expand more application scenarios. In the future, it may be possible to combine grammar and indexer upgrades with digital signatures and authorize updates through inscriptions.

Repair Collection

Ordinals focus on static collections, but Sats are dynamic and are currently growing at a rate of thousands per day, so a new standard that is compatible with it needs to be released in due course.

Reduce Concentration

Like ENS, BNS or DNS, when users use the Sats domain name, they will trust the reliable information provided by a single node. Although the Sats domain names engraved on ordinals are very scattered, the indexer may have risks due to centralization when collecting such information. There are several improvement solutions for this:

  • Write all valid Sats domain names to another blockchain, just like a layer-2 protocol like Optimistic rollups.
  • Create corresponding verification hashes for all valid sats domain names, and inscribe this hash on bitcoin as well.
  • Create a network of resolver nodes to gain consensus on whether a domain name is valid.

3. Acceleration stage

This phase is all about growth and expansion:

  • Added recommendation system to SNS syntax to reward those who help grow the network.
  • Hackathons, bounties, sponsorships and partnerships.
  • Compatible with other domain name systems.
  • Become a phenomenon-level domain name system that affects the world.

index

1. Indexer and API

URL:

Code:

Docs: documentation/static/index.html#/

NOTE: The development team has not added any reindexing functionality. An ordinals sent by transfer will not get any special reflection when parsing, and the development team will improve this function in the future.

WARNING: The above indexer only scans the Bitcoin blockchain network and returns organized data, the development team does not guarantee its accuracy in any way, so please use it at your own risk (see terms of use for details ). Therefore, users are advised to use their own independent indexer for verification.

2. Terms of Use

Terms of use

Terms updated Feb 27 2023

As a user of the API ([api.sats.id]( you are subject to the

following terms (the “Terms”) that are made available by the copyright holder and its

contributors (“Copyright Holder”, “our” or “we”). By continuing to use our API, you

acknowledge that you have read and understood the Terms, including those additional

terms and conditions and policies referenced herein and/or available by hyperlink,

and agree to be bound by them.

**Disclaimers; Limitations of Liability**

YOU EXPRESSLY AGREE THAT ACCESS TO AND USE OF THE API IS AT YOUR SOLE RISK AND IS

PROVIDED ON AN “AS IS” AND “AS AVAILABLE” BASIS WITHOUT WARRANTIES OR CONDITIONS OF

ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF

TITLE OR IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A

PARTICULAR PURPOSE. WITHOUT LIMITING THE FOREGOING, NEITHER COPYRIGHT HOLDER NOR ITS

AFFILIATES OR SUBSIDIARIES, DIRECTORS, OFFICERS, EMPLOYEES, CONTRACTORS, AGENTS,

ATTORNEYS, THIRD-PARTY PROVIDERS, DISTRIBUTORS, LICENSEES, LICENSORS, SUCCESSORS OR

ASSIGNS, DO NOT WARRANT THAT THE API WILL BE UNINTERRUPTED, SECURE, BUG-FREE OR

ERROR-FREE. ALSO, NONE OF THE COPYRIGHT HOLDER PARTIES WARRANT THAT THE API IS

MERCHANTABLE OR FIT FOR ANY PARTICULAR PURPOSE. THE ENTIRE QUALITY AND PERFORMANCE

RISK OF THE API IS WITH YOU. IN THE EVENT THAT THE API PROVES DEFECTIVE, YOU ASSUME

THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

TO THE FULLEST EXTENT PERMITTED BY LAW, ANY AND ALL DAMAGES, LOSSES, AND/OR INJURY

CAUSED BY OR RELATED TO THE USE OF, OR INABILITY TO USE, THE API UNDER ANY CAUSE OR

ACTION WHATSOEVER OF ANY JURISDICTION, INCLUDING, WITHOUT LIMITATION, ACTIONS FOR

BREACH OF WARRANTY, BREACH OF CONTRACT, AND/OR TORT (INCLUDING NEGLIGENCE), ARE

SUBJECT TO THE DISCLAIMERS OF LIABILITY CONTAINED HEREIN. THE COPYRIGHT HOLDER

PARTIES SHALL NOT BE LIABLE FOR ANY LOSS, INCLUDING BUT NOT LIMITED TO LOST PROFITS,

REVENUES, OR FINANCIAL LOSSES OR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,

EXEMPLARY, PUNITIVE AND/OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF, OR

INABILITY TO USE, THE API, OR FOR ANY DAMAGES RELATED TO THE LOSS OF REVENUE, LOSS OF

PROFITS, LOSS OF BUSINESS, LOSS OF USE, LOSS OF GOODWILL, OR LOSS OF DATA, WHETHER

CAUSED BY TORT (INCLUDING NEGLIGENCE), BREACH OF CONTRACT, OR OTHERWISE, EVEN IF

FORESEEABLE AND EVEN IF THE COPYRIGHT HOLDER PARTIES HAVE BEEN ADVISED OF THE

POSSIBILITY OF SUCH DAMAGES. YOU FURTHER ACKNOWLEDGE THAT THE COPYRIGHT HOLDER

PARTIES ARE NOT LIABLE, AND YOU AGREE NOT TO SEEK TO HOLD THE COPYRIGHT HOLDER

PARTIES LIABLE, FOR THE CONDUCT OF THIRD PARTIES, INCLUDING OTHER USERS OF THE API,

AND THAT THE RISK OF THE USE OF THE API AND OF INJURY FROM THE FOREGOING RESTS

ENTIRELY WITH YOU.

IN THE EVENT THAT A COURT AND/OR ARBITRATOR(S) OF COMPETENT JURISDICTION HOLDS THAT

ANY OF THE COPYRIGHT HOLDER PARTIES IS LIABLE TO YOU (FOR EXAMPLE AND WITHOUT

LIMITATION, BECAUSE ANY RELEASE OR WAIVER HEREUNDER IS FOUND TO BE VOID OR OTHERWISE

UNENFORCEABLE, OR BECAUSE ANY CLAIMS ARE FOUND TO BE OUTSIDE THE SCOPE OF ANY SUCH

RELEASE OR WAIVER), UNDER NO CIRCUMSTANCES WILL ANY OF THE COPYRIGHT HOLDER PARTIES

BE LIABLE TO YOU IN THE AGGREGATE FOR MORE THAN ONE HUNDRED DOLLARS ($100), WHETHER

SUCH LIABILITY IS BASED ON BREACH OF WARRANTY, BREACH OF CONTRACT, OR TORT (INCLUDING

NEGLIGENCE) OR OTHERWISE. THE PROVISIONS IN THIS SECTION (DISCLAIMERS; LIMITATIONS OF

LIABILITY) WILL SURVIVE ANY TERMINATION OF YOUR USE OF OR ACCESS TO THE API.

**Indemnification**

You agree to indemnify, defend and hold the Copyright Holder Parties harmless from

and against any and all losses, claims, damages, judgments, demands, actions,

proceedings, investigations (whether formal or informal), or expenses (including

reasonable attorneys’ fees), or threats thereof, due to, arising out of or relating

to (a) your violation of (i) any law or (ii) the rights of a third-party, or (b) your

use of the API.

If such a claim, suit, or action arises, we will make an attempt to provide you with

notice at the contact information we have for your account/on file. However, failure

to deliver such notice will not eliminate or reduce your indemnification obligations

hereunder. The Copyright Holder Parties reserve the right, at their own cost, to

assume the exclusive defense and control of any matter otherwise subject to

indemnification by you, in which event you will fully cooperate with the Copyright

Holder Parties in asserting any available defenses. You acknowledge and agree that

the provisions in this Section (Indemnification) shall survive any termination of

your use of or access to the API.

Miscellaneous

We reserve the right to update, change, modify or replace any part of these Terms at

our discretion by posting updates and changes. It is your responsibility to regularly

check for changes to these Terms. Your continued use of or access to the API

following the posting of any changes to these Terms constitutes acceptance of those

changes. These Terms constitute the entire agreement and understanding between you

and us relating to the API. These Terms and all disputes arising out of or relating

to the Terms shall be governed by, construed and enforced in accordance with the laws

of the State of Delaware in the United States, without regard to its conflict of laws

principles. These disputes will be resolved exclusively in the federal and state

courts in the State of Delaware, and you and we consent to personal jurisdiction in

those courts.

LINK

  1. Github
  1. Twitter
  1. English Version Sats Domain Name Agreement

subscribe://

View Original
The content is for reference only, not a solicitation or offer. No investment, tax, or legal advice provided. See Disclaimer for more risks disclosure.
  • Reward
  • 7
  • Share
Comment
0/400
Ruyi1314vip
· 2024-07-06 02:35
All in All in 🙌
Reply0
Yiqingvip
· 2024-03-03 10:04
Ambush hundredfold coins 📈
Reply0
GateUser-faaa0d71vip
· 2024-02-03 15:56
Are you talking about the SATS coin I invested in?Is it so awesome?Why did it tug at my heartstrings, grasp the trend, and make a lot of money in 2024 ✌️?
Reply0
Handsome0606vip
· 2023-12-28 12:14
Do you think it will be taken?
Reply0
GateUser-15f71185vip
· 2023-12-15 17:46
Ambush the coin circle 100 times the coin 👍
Reply0
ChotProvip
· 2023-12-09 02:31
BUIDL💪
Reply0
ItIsBetterToRelyOnvip
· 2023-11-13 05:40
Big brother, awesome
Reply0
Trade Crypto Anywhere Anytime
qrCode
Scan to download Gate app
Community
English
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)