Ephemeral P2P site hosting has potential, though I disagree with the route Project Maelstrom is taking. Another approach would be to try an in-browser implementation, using:<p>* WebRTC for the P2P "glue" (i.e. webtorrent[0]/instant.io[1])<p>* Google Caja[2] for the sandbox<p>* Custom protocol handlers[3] for URLs/URIs<p><pre><code> - <a href='eph://[DHT hash]'>
- Handler unavailable? https://eph.io#[DHT hash]
</code></pre>
You basically just package everything (images, JS, HTML) into a single DHT resource, and share the eph:// URI. For long-term hosting, setup a webtorrent-compatible seedbox somewhere in Europe.<p>I've only gotten as far as static P2P site hosting, but if I were to speculate:<p>With a distributed database and a rethink on isomorphic JS, you could build fully-auditable "aether-hosted apps". Like cloud hosting, but more buzzwordy! It'll become even more powerful (but less auditable) if homomorphic encryption ever becomes a thing.<p>For such a DB, perhaps a P2P document store similar to CouchDB/PouchDB, with aspects of context-aware networking. The user auth table could include public keys for authorized users, and handle modifications through a signed changelog. You could probably get pretty far through a signature chain (users delegating users), though at some point it'd be so collision-prone that a superuser would need to regenerate the database and re-sign the contents. I'm not really a DB guy, though; there are obvious situations where such an approach is unsuitable, plus there might be a simpler DHT-like way to do it.<p>Short URL's could be handled using a proof-of-work-based DDNS system (Web Crypto API for PoW, WebRTC for P2P). A more simplistic approach to URI->URL is simply to convert into human-readable strings[4].<p>---<p>[0]: <a href="https://github.com/feross/webtorrent" rel="nofollow">https://github.com/feross/webtorrent</a><p>[1]: <a href="https://github.com/feross/instant.io" rel="nofollow">https://github.com/feross/instant.io</a><p>[2]: <a href="https://developers.google.com/caja/" rel="nofollow">https://developers.google.com/caja/</a><p>[3]: <a href="https://developer.mozilla.org/en/docs/Web-based_protocol_handlers" rel="nofollow">https://developer.mozilla.org/en/docs/Web-based_protocol_han...</a><p>[4]: <a href="https://neftaly.github.io/radixWord/" rel="nofollow">https://neftaly.github.io/radixWord/</a>