A new blockchain-based domain name service (DNS) system has been proposed by Blockstack that would use the Bitcoin blockchain in order to register and cryptographically protect domain names with a decentralized ledger. As a decentralized blockchain, Blockstack promises to be more secure than the centralized traditional DNS system, allow private administration of domain names, provide protection from cache poisoning and resist censorship.
Other proposals for similar DNS setups have been presented using blockchain technology in the past include Namecoin, which is a cryptocurrency-service that solves the problem differently. Blockstack acts as an agnostic system that runs on top of another blockchain—which means that it can run atop the Bitcoin blockchain. By leveraging the security of the blockchain it is built atop, Blockstack also increases its value by sending fees for domain name registration to miners.
A blockchain can provide a provisioned ledger for holding public information, while at the same time providing an auditable trail of private keys that allow for editing that information. The blockchain is also a distributed database containing all of its information and can therefore be used as a trusted database (any query can check multiple peers to verify reliability of an answer). As a result, a blockchain is excellent for keeping domain name service (DNS) information where a computer takes an English-readable string of text (e.g. google.com) and changes it into a computer-readable IP address (e.g. 184.108.40.206 or 2607:f8b0:400e:c01::8a).
How does a Blockstack node work?
Bitcoin functions by distributing its blockchain freely between all nodes in the network and network nodes act as validators for new blocks added to the chain. While miners work to pack transactions into new blocks and broadcast them to the network, this is incumbent upon the network accepting those new blocks and nodes accept those blocks based on if all the rules had been followed by the miner.
Blockstack adds its own infrastructure on top of a blockchain by providing Blockstack nodes. These nodes process domain name transactions—each node contains its own ledger of domain names, the cryptographic keypairs for domain ownership and records of what the names resolve to (i.e. the IP addresses). Domain name transactions on the network include registrations, transfers and data updates. These “name operations” are encoded into the underlying blockchain through transactions (in the case of Bitcoin it would be bitcoin transfers).