HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
handshake-org
hnsd
C2019–2021
handshake-org / hnsd

hnsd

Handshake SPV name resolver

5Distinct people
8Mentions
0Explicit recommenders
310GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Handshake SPV name resolver

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by month8 dated mentions

Observed mentions: 2019-08-06 15:56:35 UTC to 2021-01-15 16:51:42 UTC.

01232019-08-01 00:00:00 UTC to 2019-09-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 commentsAug 20192019-09-01 00:00:00 UTC to 2019-10-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2019-10-01 00:00:00 UTC to 2019-11-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-11-01 00:00:00 UTC to 2019-12-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-12-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-01-01 00:00:00 UTC to 2020-02-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-02-01 00:00:00 UTC to 2020-03-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-03-01 00:00:00 UTC to 2020-04-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-04-01 00:00:00 UTC to 2020-05-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsApr 20202020-05-01 00:00:00 UTC to 2020-06-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-06-01 00:00:00 UTC to 2020-07-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-07-01 00:00:00 UTC to 2020-08-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-08-01 00:00:00 UTC to 2020-09-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-09-01 00:00:00 UTC to 2020-10-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2020-10-01 00:00:00 UTC to 2020-11-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-11-01 00:00:00 UTC to 2020-12-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-12-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-01-01 00:00:00 UTC to 2021-02-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 commentsJan 2021

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Aug 20192019-08-01 00:00:00 UTC2019-09-01 00:00:00 UTC202
Sep 20192019-09-01 00:00:00 UTC2019-10-01 00:00:00 UTC202
Oct 20192019-10-01 00:00:00 UTC2019-11-01 00:00:00 UTC000
Nov 20192019-11-01 00:00:00 UTC2019-12-01 00:00:00 UTC000
Dec 20192019-12-01 00:00:00 UTC2020-01-01 00:00:00 UTC000
Jan 20202020-01-01 00:00:00 UTC2020-02-01 00:00:00 UTC000
Feb 20202020-02-01 00:00:00 UTC2020-03-01 00:00:00 UTC000
Mar 20202020-03-01 00:00:00 UTC2020-04-01 00:00:00 UTC000
Apr 20202020-04-01 00:00:00 UTC2020-05-01 00:00:00 UTC000
May 20202020-05-01 00:00:00 UTC2020-06-01 00:00:00 UTC000
Jun 20202020-06-01 00:00:00 UTC2020-07-01 00:00:00 UTC000
Jul 20202020-07-01 00:00:00 UTC2020-08-01 00:00:00 UTC000
Aug 20202020-08-01 00:00:00 UTC2020-09-01 00:00:00 UTC000
Sep 20202020-09-01 00:00:00 UTC2020-10-01 00:00:00 UTC101
Oct 20202020-10-01 00:00:00 UTC2020-11-01 00:00:00 UTC000
Nov 20202020-11-01 00:00:00 UTC2020-12-01 00:00:00 UTC000
Dec 20202020-12-01 00:00:00 UTC2021-01-01 00:00:00 UTC000
Jan 20212021-01-01 00:00:00 UTC2021-02-01 00:00:00 UTC303

What Hacker News says

8 sources
Handshake has taken a lot of lessons from previous attempts at alternative blockchain DNS roots like NameCoin. Here are some ways its different: - Handshake names are not *.bit domains like NameCoin they're actually top-level domains. This is because Handshake's purpose is not to decentralize domain names per se but too decentralize the root zone and create a more secure root of trust than Certificate Authorities [1] - Handshake name auctions were spread out over the course of the first year after launch to prevent early adopters from hoarding all the good names. For instance, .crypto was available in the first few weeks after launch but .information isn't available until next week. This is important because early adopters hoarding names prevents latecomers from supporting the protocol. - Handshake names are sold via vickrey auction inste
Read the rest
ad of a flat fee. Different names are more valuable than others. Flat fee pricing allows a hoarder to arbitrage that fact by being first whereas auction pricing ensures that names are better distributed. .X sold for 311k HNS[2] (about $40k) whereas other names sell for a few cents. - Handshake has a light client[3] that can trustlessly verify DNS records on-chain. This is critical because very few people run full-nodes, so without a light client the majority of users would rely on third parties which provides worse security than users resolving names in a decentralized manner [1] https://news.ycombinator.com/item?id=20995969 [2] https://namebase.io/domains/x [3] https://github.com/handshake-org/hnsd
In Sci-Hub Is Now on the ‘Uncensorable Web’
You can browse Handshake sites with Firefox by using the NextDNS [1] resolver (it's an option in Firefox's Settings). You can also use hnsd [2] or hsd [3] as your resolver. There are a lot of sites and you can see who has claimed their names and/or put up resolvable names on DNS Live [4]. [1] https://nextdns.io/ [2] https://github.com/handshake-org/hnsd [3] https://github.com/handshake-org/hsd [4] https://dns.live/ </shameless>
In Handshake – A Namespace for the Decentralized Web
The JS implemention is a fork of bcoin, the JS Bitcoin full node and production backend. It binds to libunbound but you are right that you would want a lower level language for it to be more scalable. There is a rust implemention work in progress here: https://github.com/UrkelLabs/rsd There is also a C light client here: https://github.com/handshake-org/hnsd For the consensus, there are C bindings for the cryptography and a workerpool that really speeds things up. It could also be possible to dump the Handshake zone into a zone file and serve from behind unbound.
In Handshake: Decentralizing DNS to Improve the Security of the Internet
Basically, only the root record parsing is done in JS and then passed to unbound for resolution. Though it is possible to run a pure JS resolver, it's not really recommended. There's also a more portable authoritative & recursive [resolver in C](https://github.com/handshake-org/hnsd). Plus, the whole protocol for node communication and name resolution & proofs is so simple, that it's pretty easy to reimplement in any language.
In Handshake: Decentralizing DNS to Improve the Security of the Internet
The way the the ENS integration would work is the DNS request for vitalik.eth would end up at a Handshake Authoritative Name Server and then there are certain blacklisted top level domains (.onion, .tor, .i2p, .bit and a few others) where a client for that protocol is instantiated and then a request is sent out to the appropriate system and then the response would be formatted into a DNS query by the Handshake Name Server and sent back to the client. Not implemented yet, but this is where one would implement it https://github.com/handshake-org/hsd/blob/master/lib/dns/ser... https://github.com/handshake-org/hnsd/blob/master/src/ns.c#L...
In Decentralized DNS with the Handshake Naming System
- Handshake TLDs need to be renewed every two years or the names go back up for auction. Renewals must include a recent block hash to prove that the name owner is still active and has _recently_ signed the renewal transaction. - Yes, names are rolled out over 52 weeks based on the hash of the name (modulo 52), which was designed to prevent squatting. The auction & renewals processes should help as well. - Yes, Handshake uses proof-of-work. It's a different algorithm (Blake2b keyed with KMAC256) than Bitcoin but still essentially relies on energy consumption for security. - I'm not aware of any other major integrations. But it is easy for users to run their OWN local light client and use it as the DNS resolver for their OS: https://github.com/handshake-org/hnsd
In Decentralized DNS with the Handshake Naming System

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.