Awesome
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: ︎
<!-- This extra line is necessary for table to render properly. -->DNSChain | X.509 PKI with Certificate Transparency | |
---|---|---|
MITM-proof'ed Internet connections | :white_check_mark: | :x: |
Secure and simple GPG key distribution | :white_check_mark: | :x: |
MITM-proof RESTful API to blockchain | :white_check_mark: | :x: |
Free and actually-secure SSL certificates | :white_check_mark: | :x: |
Stops many denial-of-service attacks | :white_check_mark: | :x: |
Certificate revocation that actually works | :white_check_mark: | :x: |
DNS-based censorship circumvention | :white_check_mark: | :x: |
Prevents domain theft ("seizures") | :white_check_mark: | :x: |
Access blockchain domains like .bit , .p2p , .nxt , .eth | :white_check_mark: | :x: |
Certificate transparency (publicly auditable log of certs) | :white_check_mark: | :white_check_mark: (maybe) |
:star: See Also: Comparison and Security Model
:star: April 21, 2017: Comparison of DPKI to CONIKS, Key Transparency, Certificate Transparency
Documentation
:book: What is it?
- 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
:book: Using DNSChain
- 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!
:book: Running your own DNSChain server
- Requirements
- Getting Started
- Configuration
- Guide: Setting up a DNSChain server with Namecoin and PowerDNS
- Coming Soon: securing HTTPS websites with DNSChain.
:book: Developers
- Securing Your Apps With DNSChain
- Contributing to DNSChain development
- Adding support for your favorite blockchain
- Running Tests
Community
Other Resources
: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
SSLX.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!
Contributors
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!
Release History
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.
- Bumped
0.5.2 - March 11, 2015
- Improvements:
- Includes tests for verifying NXT support
- Added
superagent
for simpler HTTP requests - Moved
dnsHandler
intoblockchain.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.