9 ms·
Ok, so I'm looking at a website that tells me it's decentralized. But from all I can tell this is just a good old website. Somebody has control over the domain
by TekMol 9y ago
Ok, so I'm looking at a website that tells me it's decentralized.
But from all I can tell this is just a good old website. Somebody has control over the domain name. Points it to servers of his choice. And the servers deliver content of his choice. What's decentralized about it?
- hobofan 9y agoYup, DTube, like most projects related to STEEM still have a high degree of centralization. This reddit comment gives a good evaluation of DTube: https://www.reddit.com/r/dtube/comments/7ysdn1/how_distributed_is_dtube/dujaxpi/ https://www.reddit.com/r/dtube/comments/7ysdn1/how_distribut... So most parts of it could at their core be used in a distributed fashion, but are actually accessed via CDNs. E.g. you could use ipfs-companion[0] to alter all instances of ipfs.io URLs to point to a local IPFS daemon that is connected to the IPFS network in a distributed fashion. I did just that and streamed a video on DTube via a local IPFS daemon and the result was pretty underwhelming, since it took quite some time for the video to load, but I don't dare to evaluate why that is so. After that it does have the nice benefit though that the same video streams instantly on any other machine in my home network! In a transitional phase to a distributed web I'd expect a lot of websites to employ a similar approach of using CDNs at first (since not everybode has local nodes running), but its sad to see that some of the flagship projects like DTube aren't even open source (and I have no idea if they ever plan to be) and/or have a distributed version available. [0]: https://github.com/ipfs-shipyard/ipfs-companion https://github.com/ipfs-shipyard/ipfs-companion
- arghwhat 9y agoThis solution might make a lot of sense as a build-up process. However, until DTube release a client so that the network can build, it's just a centralized video platform using IPFS and STEEM as storage backends. Unless clients are made available, it might as well use S3 and Postgres.
- TekMol 9y agoIf it uses IPFS as a storage backend, then why is it faster to watch the video on the website then via IPFS as hobofan did? This seems to be an indication they store that data on a server all the time.
- diggan 9y agoBy default, when making requests to the HTTP gateway, it'll cache the content requested until a GC runs. So it's possible that the local node you're using, have not seen the content before so it needs to go out and fetch it while the gateway d.tube uses, already has the content fetched and only needs to serve it. Of course, the second time you load the content (or if another node on your local network already loaded it) via a local node, it'll be much faster than the public gateway d.tube is running. Disclaimer: I work for Protocol Labs specifically on IPFS.
- arghwhat 9y agoFurthermore, being behind a CDN, the CDN might be caching some resources at their edges for additional performance improvement. (I believe someone stated DTube was running behind a CDN.)
- btczeus 9y agoThe content is hosted on the STEEM blockchain. d.tube is just a front-end. You can access it thru different front-ends i.e.: steemit.com, busy.org Just like blockchain.info is a frontend to the bitcoin blockchain
- leoc 9y ago> In a transitional phase to a distributed web I'd expect a lot of websites to employ a similar approach of using CDNs at first (since not everybode has local nodes running) I'd like to think so, but a more cynical take is that efforts like this to trade on 'distributed' will either (and most likely) fail or, if they do get traction, ditch the distributed backend once it's served its purpose as a selling-point to attract early adoption.
- hobofan 9y agoTBH, I'm not sure how big of a future video "platforms" will even have. With IPFS+Filecoin and a few other parts, it might become quite trivial to host your own video content. With that the focus could possibly shift to platforms like Patreon, and if the payment parts of that can be commoditized (via things like Stellar and SatoshiPay), maybe even back to the good old website. One can only dream...
- diggan 9y ago> I did just that and streamed a video on DTube via a local IPFS daemon and the result was pretty underwhelming, since it took quite some time for the video to load, but I don't dare to evaluate why that is so. After that it does have the nice benefit though that the same video streams instantly on any other machine in my home network! Could be that you just started the IPFS node and it didn't really have any time yet to connect to a large enough number of peers. But yeah, as you said, the benefit is that after the fetch from the internet backbone, the content now lives much closer for the next time. Disclaimer: I work for Protocol Labs on IPFS
- hobofan 9y agoNo I don't think that was it. I had ~700 peers connected. I guess due to DTube using CDNs in front of IPFS most content is probably only available from very few actual nodes. PS: Keep up the great work on IPFS!
- Bombthecat 9y agoMy guess would be that distributed internet will never work. Sure for popular content like Google.com. or the top 1000 of YouTube will work. But the rest will always crawl to a stand still, since the content will always be on a far away or slow node...
- prophesi 9y agoIt just needs an incentive to have others host your content, AKA FileCoin. You've always gotta pay a little bit to keep your sites up.
- xyzzy_plugh 9y agoI think it's worse than that, there needs to be an incentive for businesses to own and support it for non-enthusiasts. How could Apple or Google or Amazon or Facebook make money by promoting a distributed internet?
- imaginenore 9y agoBut that doesn't mean it's not decentralized. Think The Pirate Bay. It runs on domain names, some of them get blocked, new ones appear. It runs on servers, some of them get blocked, new ones appear. That's the way the web works - your domain name points to an IP. That doesn't tell you much about the underlying architecture. Unfortunately DNS is centralized, and your average user relies on it. If you want a successful project, you must be on the web.
- baby 9y agoIf it's a DAPP you could theoretically save the .html file and just open it locally. If they've implemented some of the logic on the back end, then you can't... unless what they're doing is public and you can pretty much implement your own client.
- TekMol 9y agoI can save the html of any website. How does that make it 'decentralized'?
- osteele 9y agoHTML that makes use of an API or content delivery service won't work if that service is unavailable. DNS-based service discovery is centralized, and so are most services themselves (at the level of the operating organization, even if the servers themselves are distributed across geography or providers). Downloaded HTML also can't connect to a service that disables CORS[^1], unless you do additional work to serve the HTML from a spoofing server or to a spoofing client. It's typical for API services to disable CORS, and content delivery services to prevent hotlinking. HTML for a DApp, and IPFS, connect to a local Ethereum node. The local node uses a P2P (decentralized) connection[^3] to the Ethereum network. It therefore relies on the availability of the network, but not of any single org. (Your ISP can still disconnect you, though, at the physical layer or several other layers.) [1^]: https://en.wikipedia.org/wiki/Cross-origin_resource_sharing https://en.wikipedia.org/wiki/Cross-origin_resource_sharing [2^]: https://github.com/ethereum/wiki/wiki/JavaScript-API https://github.com/ethereum/wiki/wiki/JavaScript-API [3^]: https://github.com/ethereum/devp2p/blob/master/rlpx.md https://github.com/ethereum/devp2p/blob/master/rlpx.md
- baby 9y agoSo first, you cannot save the html of any website like this. A lot of websites generate the content you'r browsing dynamically via a backend. Others will query APIs that will only answer to their domain (CORS). What I'm saying is that a dapp can be contained into your .html and query the different APIs or the Ethereum network via your own clients/nodes.
- StreamBright 9y agoThis is exactly right. Most of the people who I asked the same question does not even understand the implication using any DNS names. I think decentralized if the new buzzword that everybody is throwing around especially crypto guys for no good reason.
- notheguyouthink 9y agoFwiw, in a hypothetical design, you could use DNS as a means to delivery for those who are not running IPFS. It would be fully decentralized via IPFS (ignoring any flaws there), but still be centralized for adoption and those not needing decentralization.
- j0hnM1st 9y agothe domain is not needed to access the content as the content is actually one the STEEM blockchain. 1. the content text and meta data is on the STEEM blockchain 2. Dtube is storing the videos etc on IPFS so by reading the STEEM blockchain, we can get the content even without DTUBE. Dtube is an app, just another one to talk to the STEEM blockchain and they make revenue by taking a small part of the revenue from the content creators.
- heimindanger 9y agoA good old website? No. We don't need the domain, you can take the https://github.com/dtube/production https://github.com/dtube/production repository, ipfs add -r it on ipfs, and use DTube this way -> https://ipfs.io/ipfs/QmRWPnY8h7Eg4v74GtKT6UBy2kUAN139QwYPUrgRUiDPMe/#!/ipfs/QmRWPnY8h7Eg4v74GtKT6UBy2kUAN139QwYPUrgRUiDPMe/ https://ipfs.io/ipfs/QmRWPnY8h7Eg4v74GtKT6UBy2kUAN139QwYPUrg... (few bugs but it works apart from /home not being rendered on first load, you need to click the logo) What is decentralised: - The website (its fully static and can be hosted on ipfs) - The video storage (IPFS) - The account system / commenting / voting / subscribing (when you do that, it directly creates the transaction on the blockchain) What isnt decentralised: - The upload endpoints (upldr*.d.tube). You can legitimately avoid it if you have a local IPFS node running and you add files yourself, however it's really not convenient for users. - The search endpoint (asksteem.com). This is used for the search, tags browsing, and related videos. - Server side rendering stuff for robots only (we enabled that recently) P.S: I am the founder of DTube
- themihai 9y agoipfs.io it's part of a centralised DNS system(.io cctld) so when ipfs.io goes down I assume your website will go down as well?
- heimindanger 9y agoipfs.io is the public gateway ran by Protocol Labs staff. There are dozens of other available gateways (we used like 8 gateways total before, and we decided to stick to the most performant ones). We still use infura.io for the videos too. We have our own gateway that we use for pictures (snap1.d.tube). These IPFS gateways are a bit like a CDN system. The same file will load through any gateway. example https://ipfs.io/ipfs/Qmb14Qr2Jk55SDu3dtUNccZw7GDpzCHa8VeoZokStW3VMr https://ipfs.io/ipfs/Qmb14Qr2Jk55SDu3dtUNccZw7GDpzCHa8VeoZok... is the same as https://snap1.d.tube/ipfs/Qmb14Qr2Jk55SDu3dtUNccZw7GDpzCHa8VeoZokStW3VMr https://snap1.d.tube/ipfs/Qmb14Qr2Jk55SDu3dtUNccZw7GDpzCHa8V... or through any IPFS gateway. Long term we plan to get rid of these gateways, by using js-ipfs in our player. Works, but not really stable as of my last try (memory leaks that cause the tab to crash after X minutes). With js-ipfs (native javascript IPFS node), we can load files directly from all nodes that have the file pinned, without going through gateways. Also if you run ipfs locally and use the localhost:8080 gateway, then it's also going full p2p.
- sneak 9y agoThe content is available in a dozen sites and apps that access the same Steem blockchain. The video content comes from ipfs - if you run a local node and install the browser extension to redirect requests from gateway.ipfs.io to your local node - then you have no dependence upon a single service.
- EGreg 9y agoCan't the same be said about apps? You download Google Chrome. For all you know it's phoning home all your passwords to Google in a way they can decrypt and they can empty your bank account.