Earlier quoted context omitted.
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 a…
Right, thanks. And I hope my question does not sound too critical. I was just genuinely curious why JS was used. I think JS is fine for small to mid-sized tasks, prototyping and testing ideas. However, for real DNS servers, used by a lot of clients, I believe C, C++, Go or Rust would be an absolute requirement.
Handshake: Decentralizing DNS to Improve the Security of the Internet
21–30 of 86 posts
Re: Handshake: Decentralizing DNS to Improve the Security of the Internet
#22"Blockchain-based alternative to CAs" has been discussed before there even was the word blockchain (it was called sovereign keys, at least it's pretty close to a blockchain). I'd expect someone trying at least discussing why that didn't make it. Also I'm really annoyed by the "there was a problem with CAs in 2011, this system is really bad"-tune ignoring what has been changed since then. (E.g. the "You don’t know who…
The DigiNotar attack (from 2011) was mainly chosen because it's well known and easy to convey. It wasn't even that technically effectively because Chrome had Google's keys pinned, so it was immediately blocked and reported (like you would get with CT today). But, only in Chrome.
More recent examples of mississuance, like tricking Comodo's OCR-based validation [0] or spoofing DNS to hijack Let's Encrypt issuance [1].
CA's are always going to be vulnerable to these sorts of attacks, and they have such a broad attack surface and so much systemic trust (i.e power) that can cause unbounded damages with any error.
[0] https://bugzilla.mozilla.org/show_bug.cgi?id=1311713 [1] https://www.wired.com/2017/04/hackers-hijacked-banks-entire-...
Re: Handshake: Decentralizing DNS to Improve the Security of the Internet
#23Earlier quoted context omitted.
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 a…
Right, thanks. And I hope my question does not sound too critical. I was just genuinely curious why JS was used. I think JS is fine for small to mid-sized tasks, prototyping and testing ideas. However, for real DNS servers, used by a lot of clients, I believe C, C++, Go or Rust would be an absolute requirement.
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.
Re: Handshake: Decentralizing DNS to Improve the Security of the Internet
#24"Blockchain-based alternative to CAs" has been discussed before there even was the word blockchain (it was called sovereign keys, at least it's pretty close to a blockchain). I'd expect someone trying at least discussing why that didn't make it. Also I'm really annoyed by the "there was a problem with CAs in 2011, this system is really bad"-tune ignoring what has been changed since then. (E.g. the "You don’t know who…
On the technology front, Handshake is the only naming blockchain that's launching with a light client that can resolve names. This may seem like a small thing but it's actually a critical input to success — without a light client, users would either need to run fullnodes (which no one does bc of the terrible ux) or rely on third party services. Third party services provide good ux but reduce the benefit of using the decentralized system in the first place.
On the go-to-market front, the initial distribution of names is really important. It's much more important than the initial distribution of something like Bitcoin because names are non-fungible. They're digital real estate so if a whale is able to bid up all the good names before adoption, there will be no incentive for new participants to invest in the ecosystem (this happened to the previous projects).
Handshake created a few GTM mechanics to prevent that outcome:
* The Alexa top 100k domains have been pre-registered, so that only those domain owners can register their names on Handshake
* Names are released for bidding over a 52 week period. If you hear about Handshake 8 months into launch there will still be a lot of good names available
* Auctions last two weeks and require locking up your coins, making it difficult to bid and win on a lot of names at once.
* Most importantly imo, Handshake coins are being distributed to developers, not investors. 70% of the initial Handshake coins are being airdropped to ~250k open-source developers. Basically, if you have a GitHub account with over 15 followers and an SSH key, you can anonymously claim Handshake coins. This is a no-strings attached giveaway so it will hopefully give developers a reason to check out the project, and it also makes it difficult for whales to buy up a lot of coins early on to outbid everyone.
Re: Handshake: Decentralizing DNS to Improve the Security of the Internet
#25Author of the post here. If you have any questions I'll be online for a while to respond to them. We're serious about attempting to improve the security of the internet, so criticisms are welcome too.
Isn't this just basically Namecoin but with venture capital money?
Re: Handshake: Decentralizing DNS to Improve the Security of the Internet
#26Re: Handshake: Decentralizing DNS to Improve the Security of the Internet
#27Also posted on reddit with the owner trying to answer some questions: https://www.reddit.com/r/netsec/comments/d5iv4y/decentralizi...
Author of the post here. The r/netsec community brings up good points. One thing that's come up frequently is the question of trademark disputes. Handshake does have mechanisms in place to protect a good number of existing trademarks (only the domain owners of the top 100k Alexa domains can register their names as TLDs), and it also has mechanisms to prevent early squatting through the 52 week period for name rollout…
What about botnet C2 servers?
Re: Handshake: Decentralizing DNS to Improve the Security of the Internet
#28Are namebase and handshake related? How is handshake.org different?
Re: Handshake: Decentralizing DNS to Improve the Security of the Internet
#29"Blockchain-based alternative to CAs" has been discussed before there even was the word blockchain (it was called sovereign keys, at least it's pretty close to a blockchain). I'd expect someone trying at least discussing why that didn't make it. Also I'm really annoyed by the "there was a problem with CAs in 2011, this system is really bad"-tune ignoring what has been changed since then. (E.g. the "You don’t know who…
Author of the post here. My aim was to keep this post focused and cover the differences between Handshake and previous blockchain DNS attempts in a separate post. The keyword here is attempts: previous projects like Namecoin and ENS haven't really taken off. I think the reason has to do with the underlying technology and the go-to-market strategy (or lack thereof) of the projects. On the technology front, Handshake i…
Re: Handshake: Decentralizing DNS to Improve the Security of the Internet
#30IMO, it faces the problem that most crypto projects are running into; it might be good solution, but the problem doesn’t effect the average person enough for it gain mainstream traction.