Open In App

Handshake: An Peer-to-Peer Naming System

Last Updated : 21 May, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

DNS(Domain Name System) is and has always been an important part of Internet infrastructure. DNS has been in existence(implemented around the early 1980s) even before the World Wide Web(first deployed in the year 1988). In simple words, DNS is a protocol responsible for translating Human Readable Hostnames like google.com, geeksforgeeks.org, india.gov.in to Machine Understandable Numbers which are mostly IP addresses of respective servers. It might look simple, but it is very crucial for the Internet and things that are crucial are primary targets for bad actors.DNS is a well-designed and continuously developed protocol, but security wasn’t focused at that as a primary aspect, but now it is. 

Some well-discussed drawbacks of DNS are:

  1. DNS Cache Poisoning-
    A malicious method of corrupting (or) changing DNS records by bad actors. It was controlled by added some security features collectively called as DNSSEC(Domain Name System Security Extensions) to the DNS.
  2. Network Packet Sniffing, DNS hijacking- 
    User queries and name server responses of DNS records are being sent unencrypted which enables bad actors to take advantage of. Encryption, as the solution is used to develop several new protocols, to tackle the issue like DoT(DNS over TLS) and DoH(DNS over HTTPS).
  3. Privacy- 
    This isn’t something new, DNS was never designed to be private, the whole idea of DNS is to be public. Increasing the amount of client IP information in DNS queries has become a concern for User Privacy. Technically there isn’t a way to make DNS private, but VPN can be used, Tor which reduces the amount of client IP information.
  4. Decentralization- 
    DNS was made as a hierarchical and decentralized system, technically still it is but ethically it’s not. Few companies only operate the most of the consumer and public DNS. This has been a very widely spoken and important drawback of the DNS.

Handshake Protocol And Problem It Solves:
Handshake is a decentralized permission-less naming protocol where every peer is validating and in charge of managing the root DNS naming zone using BlockChain.The main aim of Handshake is to decentralize the DNS by adding the benefits of Privacy, and Security. Handshake wants to decentralize many Internet Services that became centralized like Email became Gmail, Usenet became Reddit, Blog replies became Facebook and Medium, Pingbacks became Twitter, squid became Cloudflare, Gnutella became The Pirate Bay again.
Handshake is a UTXO (Unspent Transaction Output) based blockchain which uses bcoin which is a fork of Bitcoin written in JavaScript with some portable C libraries. The protocol within Handshake would replace the ICANN root server. Handshake has full node client hnd and a light client hnsd. The transaction in Handshake is done by utilizing HNS coins. For those who aren’t very good with running their own nodes, the Namebase Registry helps users to manage their Handshake TLDs using their web portal. Handshake also trying to replace Certificate Authority to completely decentralized the internet.

Handshake Is More Than Another Blockchain:
Handshake methodology is to “make existing things better before creating the best one”. Handshake tries to provide as much backward compatibility to existing DNS infrastructure. Handshake is not the first project to use blockchain to reinvent the DNS neither it’s going to be the last. Other projects like ENS(Ethereum Name Service), Unstoppable Domains, Namecoin are also being developed. The main difference between Handshake and others is that they try to create a naming system similar to DNS by using one of the TLD subdomains like .crypto, .zil, .eth whereas Handshake tries to replace the root zones. Every peer in the network is responsible for validating and managing the root zone which perfectly explains the philosophy “built by everyone built for everyone”. Handshake developers also reserved all existing ICANN TLDs and Alexa’s top 100,000 to prevent malicious usage.

Handshake Coins:
HNS (or) Handshake coins are is the native token-like currency in the Handshake protocol that allows the transfer, registration, and update of domain names. When a domain is auctioned, updated, and sold, the coins are burned in the blockchain, so no one is earning. This also creates a cost of owning a name, making it expensive to spam the network.

Earn and Purchase HNS:
Handshake is Open Source. The majority of HNS(somewhere around 10.2 million USD) was gifted to free and open-source software (FOSS) developers, projects, and communities. 

  1. Anyone who had more than 15 followers on GitHub, and also had valid SSH+PGP keys on their GitHub account(roughly 170,000 accounts)
  2. People whose PGP keys are included in the WOT StrongSet (30,000 keys)
  3. HackerNews accounts older than 1.5 years old with linked Keybase accounts (about 19,000 accounts)

All of these have been distributed already, so we were late to the party yet we can buy the HNS coins from cryptocurrency exchanges. As Handshake is only a year old there aren’t many exchanges that support HNS, don’t worry who knows soon coinbase might start supporting them. Some of the exchanges which allow HNS exchange are

  1. Namebase
  2. Bittrex
  3. Gate
  4. Hotbit
  5. MXC

Handshake Wallets:
The full node client hnd can be used to make transactions and allows you to receive and spend HNS, place bids on names and update DNS records for your domain. The handshake cli client and Bob Wallet(Provides Graphical User Interface) also allow you to do the same. Name base also provides and managed wallet which takes the burden of setting and managing the wallet.

Registering Domain On Handshake:
Handshake uses Vickrey-style name auctions(A auction type where the highest bidder will pay the second-highest bid amount). Let us use Namebase because it’s easy. 

  1. Go to Namebase Domains page search for your domain.
  2. The search page will tell you the name you wanted is there or not. 
  3. If it’s available you can place a bid on any with Handshake coins (HNS), which will trigger the name auction’s 720 blocks (approximately 5 days) bidding period. 
  4. After the bidding period ends, the 1440(approximately 10 days) block reveal period will begin, during which bidders must reveal the value of their bids(Namebase automatically does this for you). 
  5. After the reveal period ends, the bidder who placed the highest bid will only pay the second-highest bid amount and will receive the name they’ve won.
NOTE: 
Namebase, it doesn't need any setup or technical abilities 
all that is required is Browser with an Internet

References:

  1. Handshake Website- https://handshake.org
  2. Handshake Documentation- https://hsd-dev.org
  3. Handshake Github- https://github.com/handshake-org
  4. Namebase- https://namebase.io
  5. Namebase Learning Center- https://learn.namebase.io/
  6. Domain Auctions- https://learn.namebase.io/about-handshake/handshake-auction

Similar Reads

What are the variable naming conventions in JavaScript ?
When we name variables in javascript, we've to follow certain rules. Each variable should have a name that appropriately identifies it. Your JavaScript code gets easier to comprehend and work with when you use suitable variable names. It's critical to name variables correctly. For example Constants and global variables are always written in upperca
2 min read
Primer CSS Margin Naming Convention
Primer CSS is a free open-source CSS framework that is built upon systems that create the foundation of the basic style elements such as spacing, typography, and color. It is highly reusable and flexible. It is created with GitHub’s design system. Margins are required to set each tag position. Primer CSS has special classes defined for applying sui
2 min read
Bootstrap 5 Typography Blockquotes Naming a source
Bootstrap 5 Typography Blockquotes Naming a source is used to provide a class for naming the source of a blockquote. Bootstrap 5 Typography Blockquotes Naming a source Class: blockquote-footer: This class is used for naming the source. Bootstrap 5 Typography Blockquotes Naming a source tags: figure: The <figure> tag in HTML is used to add sel
2 min read
Bootstrap 5 Streamlining Utility Classes with Updated Naming Convention and Sass API
Bootstrap Utilities are generated with our utility API and can be used to modify or extend our default set of utility classes via Sass. Utility API is based on a series of Sass maps and functions for generating families of classes with various options. Bootstrap 5 has introduced a new set of utility class names that have been renamed to make them m
3 min read
What are the rules for naming variables in PHP?
Variables in PHP are fundamental elements used for storing data and performing operations within scripts. To maintain clarity and enhance maintainability in your codebase, it's imperative to adhere to certain naming conventions and guidelines: Syntax:// Valid variable name $myVariable; // Valid variable name starting with an underscore $_myVariable
1 min read
CSS Naming Conventions
CSS is foundational in web design, offering control over page appearance and interaction. While effective for style management, it's less ideal for complex projects, leading to the need for CSS naming conventions. These standards enhance stylesheet efficiency and organization, aiding team navigation. This tutorial explores CSS naming conventions' s
3 min read
How to Naming Conventions for Git Branches?
In Git, branches are used to develop features, fix bugs, and experiment with new ideas independently of the main codebase. Using a consistent naming convention for branches can greatly enhance collaboration and project management. This article provides guidelines and best practices for naming Git branches. Table of Content Why Naming Conventions Ma
2 min read
System Design of Uber App | Uber System Architecture
Getting the hassle-free transportation service(Uber, Ola) is very easy but is it also simple to build these gigantic applications that have hundreds of software engineers working on them for a decade? surely not. These systems have much more complex architecture and there are a lot of components joined together internally to provide riding services
12 min read
InterPlanetary File System
Introduction: IPFS (InterPlanetary File System) is a peer to peer, version controlled, content-addressed file system. It makes use of Computer Science concepts like Distributed Hash Table, BitSwap (Inspired by BitTorrent), MerkleDag (Inspired by The Git Protocol). History: IPFS was created by Juan Bennet at Protocol Labs in 2015. There are multiple
4 min read
Editors and Its types in System Programming
Editors or text editors are software programs that enable the user to create and edit text files. In the field of programming, the term editor usually refers to source code editors that include many special features for writing and editing code. Notepad, Wordpad are some of the common editors used on Windows OS and vi, emacs, Jed, pico are the edit
7 min read
Article Tags :