Speech.is, breaking out of the alt TLD niche
-
- Posts: 801
- Joined: Sun Aug 18, 2013 8:26 pm
- os: mac
Speech.is, breaking out of the alt TLD niche
I would like to propose a bridge to the .bit TLD for all internet users without a proxy/forwarding domain/iframes. Instead, a website server located at speech.is would host a single page that loads Javascript to parse the DNS records directly. The user would travel to wikileaks.bit by typing wikileaks.speech.is and the javascript would parse the URL and forward the user to an IP address instead of the domain name. This bypasses technical, legal and usability issues blocking widespread use of the .bit domain. A technical summary is below but a fuller spec is on the wiki, I look foward to your feedback : )
On loading, speech.js parses the URL in the users browser and checks local storage for necessary IP address. If there is no domain record in local storage, speech.js checks for known friend lists. If that fails Speech.js will ask the user to sign into the social networking site and check all of her/his friends to see if someone is sharing a compatible list.
For the beta release, this will be restricted to Github and it will probably just check the users repo for a copy of the list. For the alpha release, we will probably just have a JSON-RPC and ping servers directly.
For version 1.0 I'm hoping to use the WebRTC data channel to enable direct browser-to-browser communication with their friends. We can leverage a Facebook app to create a “viral” marketing campaign. The user only has to know a friend of a friend who has access to a server with the list, completely bypassing the social network for storage.
There are lots of other fun possibilities, including inline frames to fetch sites with a speech.is cross-server-scripting policy, a fully decentralized javascript DHT, onion routing, and more shit I haven't thought of.
The only requirement is that the web page simple and the javascript slim. Using Cloudflare, a million+ knockoffs can be created using the cheapest of web hosts. Eventually, it will be fully decentralized so everyone can speak to each other.
Also, we need to own spk.is : )
On loading, speech.js parses the URL in the users browser and checks local storage for necessary IP address. If there is no domain record in local storage, speech.js checks for known friend lists. If that fails Speech.js will ask the user to sign into the social networking site and check all of her/his friends to see if someone is sharing a compatible list.
For the beta release, this will be restricted to Github and it will probably just check the users repo for a copy of the list. For the alpha release, we will probably just have a JSON-RPC and ping servers directly.
For version 1.0 I'm hoping to use the WebRTC data channel to enable direct browser-to-browser communication with their friends. We can leverage a Facebook app to create a “viral” marketing campaign. The user only has to know a friend of a friend who has access to a server with the list, completely bypassing the social network for storage.
There are lots of other fun possibilities, including inline frames to fetch sites with a speech.is cross-server-scripting policy, a fully decentralized javascript DHT, onion routing, and more shit I haven't thought of.
The only requirement is that the web page simple and the javascript slim. Using Cloudflare, a million+ knockoffs can be created using the cheapest of web hosts. Eventually, it will be fully decentralized so everyone can speak to each other.
Also, we need to own spk.is : )
Last edited by indolering on Sat Aug 24, 2013 2:47 am, edited 1 time in total.
DNS is much more than a key->value datastore.
Re: Speech.is, breaking out of the alt TLD niche
Hi!
forwarding to the ip will not work so well as most servers run several domains on one ip.
There should be some proxies available even open source. I think Khal's at least.
forwarding to the ip will not work so well as most servers run several domains on one ip.
There should be some proxies available even open source. I think Khal's at least.
-
- Posts: 541
- Joined: Mon May 20, 2013 12:03 pm
- Contact:
Re: Speech.is, breaking out of the alt TLD niche
Hmmm.
Very unusual idea.
But if you make a practical demonstration we would understand it better.
A graphical illustration could also help.
Very unusual idea.
But if you make a practical demonstration we would understand it better.
A graphical illustration could also help.
http://namecoinia.org/
Calendars for free to print: 2014 Calendar in JPG | 2014 Calendar in PDF Protect the Environment with Namecoin: 2014 Calendar in JPG | 2014 Calendar in PDF
BTC: 15KXVQv7UGtUoTe5VNWXT1bMz46MXuePba | NMC: NABFA31b3x7CvhKMxcipUqA3TnKsNfCC7S
Calendars for free to print: 2014 Calendar in JPG | 2014 Calendar in PDF Protect the Environment with Namecoin: 2014 Calendar in JPG | 2014 Calendar in PDF
BTC: 15KXVQv7UGtUoTe5VNWXT1bMz46MXuePba | NMC: NABFA31b3x7CvhKMxcipUqA3TnKsNfCC7S
-
- Posts: 801
- Joined: Sun Aug 18, 2013 8:26 pm
- os: mac
Re: Speech.is, breaking out of the alt TLD niche
Ahh, but that is by convention, it's trivial to specify specific websites according to IP address. We just need to establish a new convention.forwarding to the ip will not work so well as most servers run several domains on one ip.
Eventually, Cross-Origin Resource Sharing will make it so the user never sees the IP address. If a server admin judges Speech.is and Speech.js to be secure enough, they can use CORS to allow JS from Speech.is to interact with their content transparently. Then Speech.js can load content in an iframe and manually fiddle with the URL.
Sorry, I wrote the whole thing up in a pinch. I'm sure it full of grammatical errors but it's finals week!Hmmm.
Very unusual idea.
But if you make a practical demonstration we would understand it better.
A graphical illustration could also help.
You are right, a block diagram would help explain things.
The technical details are more fully fleshed out on the dot-bit wiki page. Hopefully I can get to making a fully functioning prototype in a week or two.
DNS is much more than a key->value datastore.
-
- Posts: 801
- Joined: Sun Aug 18, 2013 8:26 pm
- os: mac
Re: Speech.is, breaking out of the alt TLD niche
A proxy is infeasible for two reasons:phelix wrote:There should be some proxies available even open source. I think Khal's at least.
- Proxies are expensive. Someone has to pay for all the bandwidth and CPU to route every connection. Speech.is, on the other hand, is a single, static HTML file which will be served up almost entirely for free by Cloudflare or another CDN. It's trivial to scale that to even the largest of DDOS attacks.
- It's a legal liability. Everything MUST be done client-side.
DNS is much more than a key->value datastore.
-
- Posts: 2001
- Joined: Tue Jun 05, 2012 6:25 am
- os: linux
Re: Speech.is, breaking out of the alt TLD niche
Not sure if I understand the proposal completely, but what prevents your server from either wiretapping the connection metadata or modifying the data which is returned by the .bit website? This doesn't sound any better in terms of security/privacy than a 3rd-party DNS server. For that matter, wouldn't it be trivial to insert malicious JS which wiretaps the actual connection content?
Re: Speech.is, breaking out of the alt TLD niche
I had thought it was impossible without a proxy. If it is possible, all the better.indolering wrote:A proxy is infeasible for two reasons:phelix wrote:There should be some proxies available even open source. I think Khal's at least.
- Proxies are expensive. Someone has to pay for all the bandwidth and CPU to route every connection. Speech.is, on the other hand, is a single, static HTML file which will be served up almost entirely for free by Cloudflare or another CDN. It's trivial to scale that to even the largest of DDOS attacks.
- It's a legal liability. Everything MUST be done client-side.
-
- Posts: 801
- Joined: Sun Aug 18, 2013 8:26 pm
- os: mac
Re: Speech.is, breaking out of the alt TLD niche
What prevents Linus from dropping a backdoor into the kernel? What prevents the US, China, or Hak5 script-kiddies from forging an SSL certificate? Transparency!biolizard89 wrote:Not sure if I understand the proposal completely, but what prevents your server from either wiretapping the connection metadata or modifying the data which is returned by the .bit website? This doesn't sound any better in terms of security/privacy than a 3rd-party DNS server. For that matter, wouldn't it be trivial to insert malicious JS which wiretaps the actual connection content?
As Speech.js is a neutral library for end-users and posted on public servers and will be widely audited. Independent websites could load their own javascript which would scan the Speech.js library, referral website, and SSL certificates to ensure that it has a matching hash.
In the beginning, the DNS info will be a distributed, friend-to-friend affair, because that's WAY easier to implement. Later, the DHT should enable a web-of-trust based system and we would be no better/worse off than the namecoin blockchain.
Ideally, all of this would be pushed to browser and OS level security mechanisms.
DNS is much more than a key->value datastore.
-
- Posts: 2001
- Joined: Tue Jun 05, 2012 6:25 am
- os: linux
Re: Speech.is, breaking out of the alt TLD niche
Providing a signed, open-source, downloadable Javascript file would most likely be fine. However, if a web server is providing this file every time a .bit site is visited, it would be trivial for the server to send malicious JS depending on certain targeted user IP's or destination domains. This would be impossible to verifiably audit. This is not a theoretical concern; this has happened with a Bitcoin online wallet which stole a specific targeted user's money by serving malicious JS to that user only. (I believe this was mentioned in Bitcoin Magazine a while back.)indolering wrote:What prevents Linus from dropping a backdoor into the kernel? What prevents the US, China, or Hak5 script-kiddies from forging an SSL certificate? Transparency!biolizard89 wrote:Not sure if I understand the proposal completely, but what prevents your server from either wiretapping the connection metadata or modifying the data which is returned by the .bit website? This doesn't sound any better in terms of security/privacy than a 3rd-party DNS server. For that matter, wouldn't it be trivial to insert malicious JS which wiretaps the actual connection content?
As Speech.js is a neutral library for end-users and posted on public servers and will be widely audited. Independent websites could load their own javascript which would scan the Speech.js library, referral website, and SSL certificates to ensure that it has a matching hash.
In the beginning, the DNS info will be a distributed, friend-to-friend affair, because that's WAY easier to implement. Later, the DHT should enable a web-of-trust based system and we would be no better/worse off than the namecoin blockchain.
Ideally, all of this would be pushed to browser and OS level security mechanisms.
Web of trust is also very different from a Namamoto blockchain in terms of threat model.
-
- Posts: 801
- Joined: Sun Aug 18, 2013 8:26 pm
- os: mac
Re: Speech.is, breaking out of the alt TLD niche
Whoa, what is our threat model here? Targeted attacks happen on the normal internet and to real banks as well.Providing a signed, open-source, downloadable Javascript file would most likely be fine. However, if a web server is providing this file every time a .bit site is visited, it would be trivial for the server to send malicious JS depending on certain targeted user IP's or destination domains. This would be impossible to verifiably audit.
This is not a theoretical concern; this has happened with a Bitcoin online wallet which stole a specific targeted user's money by serving malicious JS to that user only. (I believe this was mentioned in Bitcoin Magazine a while back.)
.bit improves upon a single point of failure for the internet: DNS-level censorship. There are ambitions to move beyond that, but we have to get to that goal first. This hybrid between DNS forwarding and social networking darknet is a very real way to make .bit relavent in a manner that is as secure as any financial institution. Given the level of scrutiny, it would be at least as secure as the updates we get from the namecoin development servers or Github or Mozilla
Blockchains are distributed trust based crypto. Whether it's by consensus, percentage votes, or darknets, you must rely on other sources for that information.Web of trust is also very different from a Namamoto blockchain in terms of threat model.
Sorry if this is scattered, very late
DNS is much more than a key->value datastore.