6 ms·
A Blockchain-based DNS and HTTP server
- dsl 12y agoRemember that some "censorship" is good. When FinFisher is being used by a repressive government against protesters and journalists, or a Zeus trojan has nabbed the credentials for your bank account, it's really nice for the security folks to be able to take down the domains being used for command and control.
- joepie91_ 12y agoExcept that reasoning falls apart when you realize that the budget and start-up cost (in terms of money and otherwise) are significantly more favourable for a malware operation than for a legitimate but oppressed service. It's not worth it.
- yarrel 12y agoBotnet C&C can use IRC lookup or raw IP, so it's a particularly weak argument for DNS censorship.
- Dylan16807 12y agoIt's really not that useful. They need to track down the bad actors, not put up weak communication barriers.
- foxhill 12y agoDNS is for humans to have memorable addresses, and can be trivially side-stepped.
- AlyssaRowan 12y agoFast-flux or generated DNS are both pretty crap C&C bootstrapping infrastructures, and relatively traceable. I won't describe the really good ones, because I don't want to proliferate them.
- kordless 12y ago...because you use them? I want an invite: akr has an invitation available If you know akr, you can ask them for an invitation to Keybase.
- ryan-c 12y agoThere are a lot of very stealthy, non-obvious methods that are easy enough to do once you realize they're possible. Some people don't like always going full disclosure. I have some things I've thought up that I won't share even though I don't use them. C&C over Tor has gotten some coverage in the last year, as an example.
- kordless 12y agoI remember tracking down a bad BGP route advertisement in the 90s attributed to Cox. IIRC they ended up pulling a big chunk of some country's traffic into one of their routers. Realized then that the Internet was a fragile thing.
- AnthonyMouse 12y ago> Remember that some "censorship" is good. What you're describing as "good censorship" doesn't actually require any censorship at all. All you need is a mechanism to notify users (or their client software) that a name is designated as malicious. Then the user or the user's client can decide what to do with that information, including ignoring the designation and connecting to the address anyway. That way it can't be used for censorship but it can be used to put ye olde red screen of malware alert in front of the user.
- nibblepointer 12y agoHow do you determine the authenticity of such notifications without a central authority?
- AnthonyMouse 12y agoYou obviously need someone to maintain the blacklist. That party could sign their work. If they do a poor job (false positives / false negatives), users and makers of client software can switch to some other blacklist maintainer at any time.
- deleted 12y ago[deleted]
- dannyrosen 12y agoThis is a very interesting and potentially groundbreaking solution. I'm just a tad bit concerned that the tech is represented by... a turtle.
- ryan-c 12y agoThis a layer on top of Namecoin which actually was released over three years ago, inspired by Aaron Swartz's musings[1]. 1. http://www.aaronsw.com/weblog/squarezooko http://www.aaronsw.com/weblog/squarezooko
- dchuk 12y agoAm I the only one who finds anything bitcoin/blockchain related to come off as so incredibly complex and buzz wordy and technical that the mainstream will never adopt it? I feel like it would be a really valuable endeavor to try and make this all much more simple to understand. Right now it just reads like gibberish to anyone other than the sufficiently technical.
- asperous 12y agoThe solution is to just not explain how it works, the public doesn't need to understand how it works to use it and to trust it. If people who advocated for the web explained the entire networking stack every time they tried to get people to use it they'd miss how it helps them.
- johnhenry 12y agoI agree with all of the above. It's difficult to see how useful this is among the deep technical explanation. The chart on the github page emphasizes features of DNSChain that the current system lacks, but perhaps a chart showing where the current system fails and where this fixes those issues would be more useful?
- yeukhon 12y ago> The solution is to just not explain how it works, the public doesn't need to understand how it works to use it and to trust it. Who is "public"? People with technical background or without technical background? Let's first restrict our scope to people with technical background and assume people already have a degree of understanding on how blockchain is used. Then if a developer tells you the README doesn't convey the message clearly, take note of that and appreciate the feedback. Don't say "just trust me it works." If this is to the general public, you better hire someone who can actually explain to user how it works from a high level giving analogy is always good. In fact, you should never assume there are two groups of audience. This is not writing API documentation. A README should be really clear to user how to get started (understand what it does and how to start using it). Think about working with a manual. You can't assume everyone know what certain nail is called by nickname. You need to write the actual name with an actual picture. Don't assume. Be general. "Trust me it works and it's secure" is the worst thing you can sell to anyone today. Of course I will never know how Dropbox handles my files on their server securely, but at least I can understand when my file is transferred over HTTPS it's encrypted in the communication and when they say they are over the cloud I know I can access it anywhere at anytime as long as I have an Internet access and the data center still exist. And if I don't understand what the software does how can I trust you to deploy this on my own term? How do I even begin debugging problem during installation or configuring my service? "Trust me" is not an option, especially when someone is trying to get people to use a software. The one thing we need to change is to teach people enough computer so they can make a judgement whether they should trust something or not ("trust me this photo tool is awesome and is free ... minus the free ad program install alongside with it) or trust me this version of browser is nice come to https://evil.com https://evil.com instead of https://mozilla https://mozilla or chrome
- evv 12y agoWhat are the differences between this and namecoin?
- ryan-c 12y agoIt's middleware running on top of Namecoin's RPC interface. It does not have it's own blockchain.
- rakoo 12y agoMore specifically, it uses namecoin and the information you store in there [0] [1] and makes it accessible to non-namecoin software through DNS and HTTP. Best use-case, to me: put your TLS certificates with DANE structures, and you can be sure they aren't spoofed by anyone when someone gets your records. No need for the heavy and centralized DNSSEC. [0] https://wiki.namecoin.info/index.php?title=Identity https://wiki.namecoin.info/index.php?title=Identity [1] https://wiki.namecoin.info/index.php?title=Domain_Name_Specification https://wiki.namecoin.info/index.php?title=Domain_Name_Speci...
- username0 12y agoThe problem with this is that it requires you to download the blockchain to be secure, or trust a DNSChain server. Why not make it so the client sends a list of trusted/non-trusted nodes to the DNSChain server, and the DNSChain server returns the DNS records in addition to signatures from all of the trusted/non-trusted nodes. As such, you will have far more ability to trust that the connection is secure as it would require tampering all of the trusted/non-trusted nodes. For users who don't want to maintain a trusted node list, the browser could by default have a list (like we have a CA list at the moment). If all of the non-trusted nodes disagree with the trusted nodes, then the connection gives a warning message. If most of the non-trusted nodes agree with the trusted nodes, then it is a treated as a secure connection. It's not a perfect solution, but this is lightweight, scalable etc. Ofcause, the problem I see is the 48 hour synchronization as the updated DNS record signatures from the trusted node gets sent to the DNSChain server you make the request to. (DNSChain server would have a local DB which gets syncronised as signatures get updated as to provent multiple connections causing the DNSChain server to be slow). I hope I've made sense. It could be as easy as installing a 'no restart' Firefox Extension, making it very user friendly. A second problem with Namecoin, is that you can only register .bit domain names. Couldn't nodes check for an uploaded file on a server to 'give' them the Namecoin equivalent? So example.com can upload example.com/verify-namecoin.html and then it gets given a blockchain based example.com domain name.