News for hackers. Stuff that matters.
Re:Handshake: Decentralizing DNS to Improve the Security of ... by w8rbt on Tuesday September 17, 2019 @09:37PM (#21001738)
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.

Re:Handshake: Decentralizing DNS to Improve the Security of ... by tynes on Tuesday September 17, 2019 @09:47PM (#21001783)
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.

Re:Handshake: Decentralizing DNS to Improve the Security of ... by troquerre on Tuesday September 17, 2019 @09:40PM (#21001753)
This is separate from the DNS resolver being written in JS, but the team behind Handshake also created bcoin, which is the only javascript fullnode (and non-core fullnode IIRC) that has mined a Bitcoin block.

https://github.com/bcoin-org/bcoin