A blockchain-based DNS + HTTPS server that fixes HTTPS security, and more!
npm install dnschain   
There is a problem with how the Internet works today:
- HTTPS is not secure. Like most "secure" communications protocols,
it is susceptible to undetectable public-key substitution MITM-attacks (example: Apple iMessages).
- Netizens do not own their online identities. We either borrow them from
companies like twitter, or rent then from organizations like ICANN.
These problems arise out of two core Internet protocols:
DNS and X.509.
DNSChain offers a free and secure decentralized alternative while remaining backwards compatible
with traditional DNS.
It compares favorably to the alternatives, and provides the following features:
︎
| | DNSChain | X.509 PKI with [Certificate Transparency][ct] |
|--------------------------------------------------------------------------|--------------------|-----------------------------------------------|
| __MITM-proof'ed [Internet connections][mitm]__ | :white_check_mark: | :x: |
| __Secure and simple [GPG key distribution][gpg]__ | :white_check_mark: | :x: |
| __MITM-proof RESTful [API to blockchain][api]__ | :white_check_mark: | :x: |
| __Free and [actually-secure][free] SSL certificates__ | :white_check_mark: | :x: |
| __Stops many [denial-of-service attacks][dos]__ | :white_check_mark: | :x: |
| __Certificate revocation [that actually works][rev]__ | :white_check_mark: | :x: |
| __DNS-based [censorship circumvention][cens]__ | :white_check_mark: | :x: |
| __Prevents [domain theft][theft] ("seizures")__ | :white_check_mark: | :x: |
| __Access blockchain [domains like .bit, .p2p, .nxt, .eth][use]__ | :white_check_mark: | :x: |
| __Certificate transparency (publicly auditable log of certs)__ | :white_check_mark: | :white_check_mark: ([maybe][ct]) |
[ct]: https://blog.okturtles.com/2015/03/certificate-transparency-on-blockchains/
[mitm]: docs/What-is-it.md#MITMProof
[gpg]: docs/What-is-it.md#GPG
[free]: docs/What-is-it.md#Free
[dos]: docs/What-is-it.md#DDoS
[rev]: docs/What-is-it.md#Revocation
[cens]: docs/What-is-it.md#Censorship
[theft]: https://www.techdirt.com/articles/20141006/02561228743/5000-domains-seized-based-sealed-court-filing-confused-domain-owners-have-no-idea-why.shtml
[use]: docs/How-do-I-use-it.md
[api]: docs/What-is-it.md#API
:star: See Also: Comparison and Security Model
- DNSChain replaces X.509 PKI with the blockchain
- MITM-proof authentication
- Simple and secure GPG key distribution
- Secure, MITM-proof RESTful API to blockchains
- Free SSL certificates become possible
- Prevents DDoS attacks
- Certificate revocation that actually works
- DNS-based censorship circumvention
- Other features: testing suite, rate-limiting, and caching
- Free public DNSChain servers
- Access blockchain domains like okturtles.bit
- Registering blockchain domains and identities
- Encrypt communications end-to-end without relying on untrustworthy third-parties
- Unblock censored websites (coming soon!)
- And more!
- Requirements
- Getting Started
- Configuration
- Guide: Setting up a DNSChain server with Namecoin and PowerDNS
- Coming Soon: securing HTTPS websites with DNSChain.
- Securing Your Apps With DNSChain
- Contributing to DNSChain development
- Adding support for your favorite blockchain
- Running Tests
- Forums
- @DNSChain + @okTurtles
- 
__:tv: Watch__
- okTurtles + DNSChain Demo at SOUPS 2014 EFF CUP
- Blockchain University lecture on DNSChain (2h+, but you will know kung-fu afterward!)
- SF Bitcoin Meetup: Securing online communications with the blockchain
- SF Bitcoin Developers Meetup: Deep Dive into Namecoin and DNSChain
__:speaker: Listen__
- P2P Connects Us Podcast on DNSChain
- Frontier Podcast on DNSChain, DNSCrypt, MITM attacks, & more
- Beyond Bitcoin Hangouts with Bitshares crew on DNSChain
- Katherine Albrecht's privacy-focused radio show
__:page_facing_up: Read__
- Engadget: New web service prevents spies from easily intercepting your data
- Let's Talk Bitcoin: Security in Decentralized Domain Name Systems
- ProgrammableWeb: Can the blockchain replace ~~SSL~~ X.509?
- An intro to DNSChain: Low-trust access to definitive data sources
- How to setup a blockchain DNS server with DNSChain
- The Trouble with Certificate Transparency
- Introducing the dotDNS metaTLD
- DNSChain versus...
_Have a link? Let us know!_
_Approximate chronological order._
- Greg Slepak (Original author and current maintainer)
- Simon Grondin (Unblock feature: DNS-based censorship circumvention)
- Matthieu Rakotojaona (DANE/TLSA contributions and misc. fixes)
- TJ Fontaine (For native-dns, native-dns-packet modules and related projects)
- Za Wilgustus (For pydnschain contributions)
- Cayman Nava (Ethereum support, api.icann.dns, and core developer)
- Vignesh Anand (Front-end + back-end for DNSChain admin interface)
- Mike Ward (Documentation)
- Dionysis Zindros (pydnschain work)
- Chara Podimata (pydnschain work)
- Konstantinos Lolos (pydnschain work)
- Anton Wilhelm (Support for Nxt cryptocurrency)
- Tim Uy (Ubuntu tutorial)
- Michael Bumann (optional CORS support)
- Your name & link of choice here!
__Blog post for 0.5 release.__
###### 0.5.3 - September 5, 2015
- __New Features:__
+ Optional CORS support from Michael Bumann (thanks!).
- __Improvements:__
+ Bumped hiredis to 0.4.1 for latest iojs compat.
###### 0.5.2 - March 11, 2015
- __Improvements:__
+ Includes tests for verifying NXT support
+ Added superagent for simpler HTTP requests
+ Moved dnsHandler into blockchain.coffee template class
+ Prevent favicon.ico requests from filling logs
+ Improved Comparisons.md documentation
+ Misc. code and logging improvements
- __Fixes:__
+ #138: Nxt resolver not working
+ #140: Prevent non-json values in Namecoin from returning "Not found"
+ #141: Allow arbitrary namecoin keys, but enforce ICANN domain rules for for d/
+ #142 + #120: Make it less likely Travis will fail
###### :book: Older version notes
Copyright (c) okTurtles Foundation. Licensed under MPL-2.0 license.