I understand that this is an early implementation.
Nevertheless, I have a question: how does it make sure the site you receive is actually the
a) correct one (someone could distribute incorrect pages e.g. about controversial topics like North Korea or Climate Change; or inject some malicious code that e.g. uses your account to submit changes to wikipedia)
b) most recent one (or at least a reasonably new one).
I imagine the first one could maybe be somehow guaranteed through the protocol. Maybe you can just solve the second by invalidating your local copy after it is more than one day old.
The github link on the homepage does sadly not work for me (firefox on linux), so I can't check.
It doesn't look like WebTorrent is meant to deal with content that is continually changing, and I wasn't able to determine (after about 30 seconds of looking) how either of the two layers on top address that
- Github link fixed.
- Ideally Wikipedia could add just a signature in the page metadata and the extension could check it against it's public key.
- CacheP2P has one solution implemented (checksums of links contents defined in the metadata of each page), but would require Wikipedia to enable it.
I encourage a repeating donation. If you work a tech job you can very likely afford 5/month. The site has changed my life for the better and I constantly find myself on there satisfying whatever is piquing my curiosity at the moment. To be clear, I'm not affiliated in any way just a huge supporter.
For the sake of testing it, I have opened nearly every link in the introduction of the Nikolas Tesla [0] page, the one used in the example. It should now be possible to at least obtain all those articles through me, and hopefully also through other people.
I agree, but sadly IPFS still needs some optimization for that to be feasible.
I published the whole Wikidata dataset as separately accessible entities to IPFS and the initial publishing took ~2 weeks. Theoretically updating the dataset with weekly changes should be pretty fast after that, but if there is a change that impacts the JSON structure of every entity you have to start all over (which recently happened).
Right now Wikipedia/Wikidata is only really useful as a stress test for IPFS, but I'm optimistic for the future.
For anyone interested in this there is some (slow) progress on this at https://github.com/ipfs-wikidata , though it's admittedly a low priority for me right now, as I wait for the technical state of IPFS to improve.
If it's execution is similar to this project where hosting a page on your system is effortless (or at most a one-click affair), then it's definitely something I can get behind.
You'll get the benefit of insuring off-line availability as well as only hosting pages you care about. Win-win.
I've been wondering, would one reach the same principle if one would pin the root folder of wikipedia on their own server using IPFS and then if wikipedia would point their domainname to the ipfs.io gateway with a hash for that folder, would Wikipedia auto update on my server and would IPFS provide the load balancing/p2p part?
Or am I understanding IPFS or the ipfs.io gateway wrong? Does everything go through the ipfs.io server in that case? Or is it still distributed/torrent-like?
For Wikipedia it would probably be more useful to embed js-ipfs [0] into pages, and fetch additional pages and assets after first one from ipfs. js-ipfs can currently speak WebRTC to peer with other js-ipfs nodes, and websockets to peer with go-ipfs nodes.
I remember thinking about a similar concept a few years back. It would be good to have a p2p archive of human knowledge for end of the world scenarios.
The problem is Bittorrent isn't the protocol for it, it doesn't allow incremental changes. You also don't want the complete history like git, you want something that passes a diff around.
It would be great to have a p2p network with Wikipedia, a load of academic papers, maps and recipes, which anybody with a computer could contribute drive space to storing.
I agree with your last statement, and think this is a great proof-of-concept for distributed networking.
I worry, though, that this space is fracturing in a way that's hampering adoption. Between Freenet, Zeronet, IFPS, I2P, not to mention things like Retroshare, Matrix, and so forth, there's a lot of redundancy but with important differences between any given two solutions. I'm not sure what can be done about it, but it seems like something in this area needs a network effect to accelerate adoption, but to do that, it needs to be comprehensive in what it offers while also being sufficiently differentiable from other projects. It's great to see so much going on in this area, but it's getting difficult to know what does what, and where one might put some resources.
The database dumps are surprisingly small - can store the whole thing on 2 TB hard drive incl media - or 64GB SD card if you just want the SQL database with text and metadata
This seems like a decent project that has the potential to become very popular. I just tested it and it worked well; however, it clogged my CPU and the extension crushed in the end.
I tested it in Chromium really quick. I have one small remark: when opening an article obtained by a peer (a green link) in a new tab, it just opens it in the same tab.
So if I wanted to donate my computing resources and bandwidth to hosting this, should I just install the plugin and leave chrome running on my "server"?
This seems to be introducing synchronisation issues or something. I've just made an edit on an article, when I go back to it I see the edited version only if I manually refresh the page.
[+] [-] oceanofsolaris|9 years ago|reply
Nevertheless, I have a question: how does it make sure the site you receive is actually the
a) correct one (someone could distribute incorrect pages e.g. about controversial topics like North Korea or Climate Change; or inject some malicious code that e.g. uses your account to submit changes to wikipedia)
b) most recent one (or at least a reasonably new one).
I imagine the first one could maybe be somehow guaranteed through the protocol. Maybe you can just solve the second by invalidating your local copy after it is more than one day old.
The github link on the homepage does sadly not work for me (firefox on linux), so I can't check.
[+] [-] shmageggy|9 years ago|reply
It doesn't look like WebTorrent is meant to deal with content that is continually changing, and I wasn't able to determine (after about 30 seconds of looking) how either of the two layers on top address that
[+] [-] osense|9 years ago|reply
You're making me sad on a Friday afternoon.
[+] [-] guerrerocarlos|9 years ago|reply
[+] [-] discreditable|9 years ago|reply
https://donate.wikimedia.org/
[+] [-] atom_enger|9 years ago|reply
[+] [-] gield|9 years ago|reply
[0] https://en.wikipedia.org/wiki/Nikola_Tesla
[+] [-] qznc|9 years ago|reply
[+] [-] janus24|9 years ago|reply
[+] [-] rfrank|9 years ago|reply
[+] [-] posterboy|9 years ago|reply
[+] [-] pmlnr|9 years ago|reply
[+] [-] hobofan|9 years ago|reply
I published the whole Wikidata dataset as separately accessible entities to IPFS and the initial publishing took ~2 weeks. Theoretically updating the dataset with weekly changes should be pretty fast after that, but if there is a change that impacts the JSON structure of every entity you have to start all over (which recently happened).
Right now Wikipedia/Wikidata is only really useful as a stress test for IPFS, but I'm optimistic for the future.
For anyone interested in this there is some (slow) progress on this at https://github.com/ipfs-wikidata , though it's admittedly a low priority for me right now, as I wait for the technical state of IPFS to improve.
[+] [-] goodplay|9 years ago|reply
You'll get the benefit of insuring off-line availability as well as only hosting pages you care about. Win-win.
[+] [-] cabalamat|9 years ago|reply
[+] [-] tscs37|9 years ago|reply
[+] [-] teekert|9 years ago|reply
Or am I understanding IPFS or the ipfs.io gateway wrong? Does everything go through the ipfs.io server in that case? Or is it still distributed/torrent-like?
[+] [-] lgierth|9 years ago|reply
https://github.com/ipfs/js-ipfs
[+] [-] tscs37|9 years ago|reply
IMO the presented solution is a bit better since it only relies on WebRTC to establish P2P, no extra software required.
[+] [-] executesorder66|9 years ago|reply
https://news.ycombinator.com/item?id=12752168
[+] [-] nextweek2|9 years ago|reply
The problem is Bittorrent isn't the protocol for it, it doesn't allow incremental changes. You also don't want the complete history like git, you want something that passes a diff around.
It would be great to have a p2p network with Wikipedia, a load of academic papers, maps and recipes, which anybody with a computer could contribute drive space to storing.
[+] [-] kem|9 years ago|reply
I worry, though, that this space is fracturing in a way that's hampering adoption. Between Freenet, Zeronet, IFPS, I2P, not to mention things like Retroshare, Matrix, and so forth, there's a lot of redundancy but with important differences between any given two solutions. I'm not sure what can be done about it, but it seems like something in this area needs a network effect to accelerate adoption, but to do that, it needs to be comprehensive in what it offers while also being sufficiently differentiable from other projects. It's great to see so much going on in this area, but it's getting difficult to know what does what, and where one might put some resources.
[+] [-] markovbling|9 years ago|reply
[+] [-] diegorbaquero|9 years ago|reply
[+] [-] markovbling|9 years ago|reply
[deleted]
[+] [-] krzyk|9 years ago|reply
[+] [-] elkos|9 years ago|reply
[+] [-] Izeau|9 years ago|reply
Also, the “Fork me on GitHub” banner on your website is behind the fancy canvas so we can’t actually click it (Chrome 54).
Great idea otherwise!
[+] [-] dmytrish|9 years ago|reply
[+] [-] Maakuth|9 years ago|reply
[+] [-] rocky1138|9 years ago|reply
[+] [-] stanislavb|9 years ago|reply
[+] [-] thecatspaw|9 years ago|reply
[+] [-] yitchelle|9 years ago|reply
[+] [-] iansowinski|9 years ago|reply
[+] [-] fermuch|9 years ago|reply
[+] [-] tscs37|9 years ago|reply
[+] [-] artemisart|9 years ago|reply
[+] [-] elkos|9 years ago|reply
[+] [-] gield|9 years ago|reply
[+] [-] zymhan|9 years ago|reply
[+] [-] grondilu|9 years ago|reply
[+] [-] Fang_|9 years ago|reply