Hello, new and have some questions - Bandwidth and Sharing

  • Hello everybody, just got setup with the Sia Wallet.

    I had 3 Questions,

    1, Is there any possible way to link to a file stored on Sia's cloud from the actual internet?
    2, When using hosting services, does bandwidth cost? Does it cost per download? How does the bandwidth usage come into play?
    3, If bandwidth costs (i.e. every download costs some coin), is there a way to make it so no matter who downloads the file (owner or not), the owner pays for the download cost, making it free to end-user?

    1. If you want to share your Sia file, the receiver needs to be using Sia as well. There is no way to directly download files from the Sia network without Sia. You could use a 3rd party service, such as Sunfish (https://siafiles.com) to share a file with users than don't use Sia. Its still early days, so other 3rd party service will surface eventually that will simplify sharing.

    2. No, you are not charged for bandwidth. You pay only for storage space on the hosts.

    3. Not relevant as users are not charged for bandwidth.

  • Thank you for the full answer to my question! This clears up just about everything I was wondering :D

    So, the Sunfish file browsing service can only pull links, but you can't download via them. I'm wondering, since there is no bandwidth, could a 3rd party just connect a web front-end to their Sia client, and let the downloads come via their web-based client?

    Since there is no cost to download a file, there'd be no need for someone to have to even have an actual wallet with a balance of their own, right?

  • Basically I mean pipe the files from Sia Client through a 3rd party's website, like one of those Proxy via Webpage sites, but for files instead of webpages

  • Global Moderator

    Yes, you could build a web-portal, with a Sia backend, for downloading files from the Sia network. You would download content that isn't your's either with a user supplied .sia file or the equivalent Sia ASCII code. You can try this with Sunfish and the wallet UI (Files -> Add File -> .sia file / .sia ASCII). The file must have some blocks remaining for this to work, i.e. if the file is expired on the network it no longer exists on any host and hence cannot be downloaded. Once the file has been added to your renter, your web-portal could (via Sia) proceed to download the file. The simplest solution would require you to first store the file on the web-server, and then allow end-users to download from there. Some clever programming is required to pipe the download directly to a user of the web-portal, since Sia can only download directly to the local file system.

    I am pretty sure you would not be required to pay anything for adding someone elses Sia file to your renter.

  • Hmm. So in essence something like Sunfish is a system sort of like a BitTorrent Tracker then, rather than a direct download, and instead of BitTorrent Client you can use Sia Client.

    I wonder then if it is possible to stream files from it like with bt streaming, and I also wonder if, say, I'm a software dev like Ubuntu, and use 100TB of Bandwidth a month if it would hold to the same max-download speeds as their data centers.

    Would a place like Sunfish be in a legal grey area if anyone can upload .sia's as if they were torrents, kind of like PirateBay? Or are you more or less legally responsible for content that ends up being linked to by .sia files?

  • Global Moderator

    I think serving files from Sia over HTTP is doable at this point. I was actually thinking-out-loud on slack about this a while ago. You just need to write some smart byte streaming code to pipe the file from disk to a HTTP client. It would work similar to the "tail -f" command, just listen for changes, and when they occur send them to the client.

    If everything works as I expect I may be able to have a working demo after 4 hours of coding or something. Just need to find some time for it.

  • Awesome yeah I was just talking in IRC about this problem, my idea is use a PHP or some other web scripting language on the web server to automate pulling a file from Sia and send it to end user, either with some kind of download manager built on web server language (like php), or something like that.

    in example
    Owner of files has web domain "mydomain.com", wants to distribute file MyVideo.mpg

    To use sia's file system the script would look like this in the URL:


    using the .sia file argument as its variable to use with SIA somehow. I am not great at programming though, maybe you guys could help. Would definitely improve the value of the coin if all of a websites resources besides the html and server side scripts could be stored here. Would save many company's overall millions of dollars at the current rate of SC.

    Not to mention this is the only way for a company like netflix to incorporate this technology, without integrating sia itself into its software.

  • Global Moderator

    I'd do this in Java ;). In the servlet container (java web app) there is an object called HttpServletResponse which gets passed to your code when a user makes a request. You can pipe raw binary data directly into this object and the webserver (like Tomcat) will take care of delivering it to the client.

    Meanwhile in the background we can use this code: http://stackoverflow.com/questions/557844/java-io-implementation-of-unix-linux-tail-f to read the file and sending it to the response. You also need to set some HTTP headers like content type and length, that might be the most tricky part actually since Sia doesn't make is available through the API: https://github.com/NebulousLabs/Sia/blob/master/doc/API.md#renterfileslist

  • admins

    @in-cred-u-lous said:

    1. No, you are not charged for bandwidth. You pay only for storage space on the hosts.

    Please note that this is only going to be true for the beta. When 1.0 hits, users will be charged for bandwidth. Hosts will set the price, just like with uploading, and the renter will intelligently select the cheapest/fastest hosts, just like with uploading. When this happens, there will not be an easy way to pay for end-users bandwidth, but if you make a special client that sends around transaction information, you can get it to work.

    I think serving files from Sia over HTTP is doable at this point.

    I think so too. Especially if we add some extra API controls so that you can support streaming.

  • Ok, so if the webpage was able to serve the files, and interact with your daemon, then your daemon would use your account to pay bandwidth though.

    Does this also mean that farmers may earn more, due to bandwidth being charged for as well?

  • I just wanted to say that even though StorJ and others are still in the making, I have tried HDD mining with Burst and it sucks. Wasting HDD space rather than using it somehow was a bad move on their part.

    I know 1 SC only costs 4 satoshi right now, but I really do have a feeling that when the first large company trusts Sia's network enough to at least use it to backup a data center, the price is going to jump dramatically because all of our combined HDD space will be used pretty quick.

    I just wanted to say that I love this project and so far has proven to be the absolute most useful coin I have found so far :D Good work!

  • Ok, we're moving a bit off topic.... But, some things you ought to know.

    Sia miners currently produce ~$40 million Siacoins each day. Most miners probably hold on to their coins at present, because of the low price and the fact there simply isn't much demand for them. So, once SC goes up I would get ready for a massive dump of SC on Polo. I think this will put a lid on any sudden jumps in Siacoin price.

    I agree with your future projections of Sia. Storage capacity is of course a concern for Sia to grow, but it will come in hand with increase uploads since I project most new users to both want to host files, as well as use Sia to securely keep a copy of their own files.

    There is currently a cap on 500 (or 1000?) SC per/gb, hardcoded into Sia. So, even if nearly all hosts have been exhausted, you will never pay more than that. So, your assumption (if I understand you correctly) that price will increase with storage demand (and supply) may be incorrect. I personally think this is the wrong way to go, and think that the storage market should be free of any such limits.

    Critical to Sia success in the short term is user experience and automatic renewals (which will come in 0.5.0, due soon I think).

    Siacoins might not get any cheaper than what they are now, and once demand picks up will probably be valued well above today's price. But as always, don't put all your eggs in one basked and all that :-)

  • Oh I wasn't even mentioning that it was profitable to sell the HDD space, but my 3 PCs are all crypto-computers.

    I mine my GPUs to get Ether, I mine 25% cpu on Axiom (needing new coin to mine, maybe gridcoin), I was mining BURST with my HDD space, but now it is 50% of shared HDD space goes to StorJ beta, and 50% is now here. I am also looking for ways to utilize ram to mine(? somehow), but for now I sell basic 512MB Ram Minecraft Server Hosting to utilize the rest of my PCs, and it still plays League of Legends and stuff that I do without any lag XD.

    But that is definitely off-topic. My point wasn't that it is profitable to mine SC, what I'm saying is that from a business perspective, if I could host my website's files using Sia's network instead of private amazon cloud, I would (at sia coins current 4 satoshi rate) save 99% on costs, which at the moment are mostly due to bandwidth, not file size.

    Since then though I learned that Sia Network will charge SC for bandwidth as another part of the Hosting tab's options after Beta. This will change the dynamic, but I feel like it will still be about 5% the cost of Amazon's cloud IF and only if you can access sia's filesystem via HTTP, which I don't think would be too hard, but haven't looked at the source and wouldn't understand most of it if I did XD

    It would be any online businesses best friend. Cheaper hosting than registering a domain name is all I mean :P

  • Does the list of your files dissapear every time you reload the wallet?

  • No, that is not supposed to happen. What do you mean by 'reloading' the wallet? Opening and closing the Sia UI? Locking/unlocking the wallet?

  • admins

    @ryancstl23 said:

    Does the list of your files dissapear every time you reload the wallet?

    Definitely not, unless you've opened Sia from a different folder or have deleted some things. (or maybe you found a bug)

  • Ok will check it out further. I closed the Sia GUI, but it seems the daemon is one in the same, and when I re-opened, my wallet was locked (expected), but my files list was cleared, will try a few things to see about it.

  • admins

    Is it possible that you are not giving the program enough time to load? On slower computers (especially HDD computers), Sia can take multiple minutes to load. Before it has finished loading, the UI will be blank and will not show any files. (we are reducing load times as one of the primary goals of 0.5.0)

  • Yeah my PC has an i5 4670k and 16gb of ram, it never loaded overnight or when reloading the app. But anyways I'm trying to get the .sia file so I can store the link to my backups tangibly on my desktop but all I can get is the Hashed code for it, and that text box won't close.

    I may be using an old version XP, I'm on windows and didn't compile it myself.

  • admins

    Can you post a screenshot?

    The version number on the 'about' page should read '0.4.8'.

    It's possible that one of the files corrupted, I was having trouble with that earlier (though I run unstable versions of our software)

Log in to reply