Filecoin – A Cryptocurrency Operated File Storage Network
filecoin.io
filecoin.io
(I am the founder of Sia)
Sia's key distinguishing feature is that it's the only platform today which is fully/properly decentralized. If the MaidSafe devs today disappear, I believe all the servers running MaidSafe go with them. If the Storj team disappears, payments stop entirely and anyone using the Storj bridge (most of their users) will not be able to access files. If the Sia devs disappear, everything will continue to work as it currently does (though, bugfixes and feature adds will stop)
Sia distinguishes in two other major ways as well. First, we are the only platform that allows hosts to put up collateral - if a host loses your data, they don't just lose revenue they also lose collateral money that they put up as a promise to keep the data safe. Second, Sia is the only network that gives you full control over which machines your data ends up on. This is good if you want to run a CDN, need to comply with data laws, or have some other reason for favoring a particular region or set of hosts.
I encourage you to dive deep in the technical details, I think you'll find that Sia is pretty far ahead of everyone else.
The master branch client has a command 'siac renter prices' that will look at the network and estimate the costs. This feature hasn't been released yet because it's very recent.
My client is saying $0.50 to create a set of contracts (needs to be done once every six weeks), $0.60 per TB to download from the network, $1 / TB / Mo to store data on the network, and $0.30 per TB to upload to the network.
These prices include a redundancy of 3x in the upload and storage costs.
Long term I expect prices to not be more than about 2x what they are today, though it really depends on how the supply-demand mechanics play out. It's a fully open and competitive marketplace.
How are you even supposed to get started using Sia if there's no way to do it except to go and spend money. The point of being able to host files is that I'll offer up some storage on my NAS, earn coins, then be able to backup some of my own important documents on the network. Seems like if I have to dish out money to get started I doubt I'd ever be able to maintain the service without continuously spending money. So many other syncing technologies seem easier than this.
> You need to have at least 50,000 SC to begin hosting, and you can't earn SC until you start hosting.
This is one of the ways that we address churn on the network. It's actually really bad for the network for a host to get started, be around storing files for a day or two, and then leave. If you are going to be a host on the Sia network, it's important that you are committed.
> The point of being able to host files is that I'll offer up some storage on my NAS, earn coins, then be able to backup some of my own important documents on the network.
Sia is not designed as a tit-for-tat network. The economics are supposed to work much like Bitcoin + Bitcoin mining. That is, you have a dedicated set of specialists who work hard to provide a high quality service at a very good price. If you are hosting, the goal is to make money, not to be able to afford to back up your own data.
> So many other syncing technologies seem easier than this.
Yes but none of them are offering storage at $1 / TB / Mo. But also, Sia is still an early product and we're still iterating heavily on both the core algorithms and on the user experience.
Sia's core user market is people who are willing to pay for cloud storage. This would include businesses and enterprises. Sia's long term game is to offer a cloud storage platform that competes with the likes of Amazon S3 at less than 10% of the price, all while offering the security, privacy, decentralization, and open source codebase of a blockchain project.
Basics are data stored for each. Storj: ~1400 TB, Sia: ~100 TB, Filecoin: Not Functional, Maidsafe: Not Functional.
Prices on Sia:
- siapulse.com contains some information about pricing
- running `siac renter prices` on client on the master branch (yet unreleased) will give you a price estimate given the set of hosts you know about. This feature will be available in the next release.
- Storage cost: about $1 / TB / Mo (for 10-of-30 redundancy)
- Bandwidth cost: about $0.60 / TB
Prices on Storj:
- Not sure how the prices get set, but the prices are advertised on their website
- Storage cost: $15 / TB / Mo
- Bandwidth cost: $50 / TB
Prices on MaidSafe:
- No price given, but the claim is that it will adjust according to supply and demand. Should be within a small factor of Sia if that is the case (Sia's prices are also set by supply + demand).
Bitcoin is IPv4. There is lots of research into the next, better version.
(I'm jbenet, of IPFS, Filecoin, & Protocol Labs)
While Filecoin isn't available yet, IPFS and libp2p have been functional for more than two years, and can be used independently of Filecoin: https://github.com/ipfs/ipfs && https://github.com/libp2p/libp2p
(IPFS dev here)
[1]: http://ipfs.io/
A missing piece is decentralized compute at scale. That's hard, especially for security reasons.
It's too bad Amazon branded "serverless" because lambda is not serverless. It's one big mainframe server. This stuff is serverless.
If I'm writing a mobile app that needs heavy compute (too heavy for small mobile devices) can I distribute that compute across larger peers like desktops, NAS boxes, etc.? Not easily and not if it involves anything that anyone might ever want to attack or spy on.
Or is there another way to outsource computation in a secure manner?
might be worth asking there
First, you don't get something for nothing. So you need computers (surprise). Now, how do you share code? You can share code directly via IPFS. Now, admittedly, binary is the fastest, but limits your architecture rather greatly. So an interpreted language seems better.
I'm looking at Erlang, given its functional attributes and ability of swapping code with no downtime. It also works in a cluster.
I also look at Tor for entry points to get requests on these machines. We already can interact with IPFS for files, but it has no logic capability. And Ethereum is a joke in many ways (and it simply can't interact outside its blockchain).
The idea: IPFS filestore for storing functions, and chaining IPFS hashes to be ran by a Erlang cloud connected by Tor Onion links.
It's not completely serverless computation, but you can ideally abstract out the server so it doesn't matter where it is, or who handles it.
Other ways to go about this would be homomorphic encryption (way too computationally expensive at this time)... Or some sort of trusted computing (shudder).
Look at the DAO. It's more than enough reason to dismiss this as a libertarian capitalist's experiment, with straight up dictatorialism if they don't get their way.
Do you support Ethereum Classic and consider "being hacked by the DAO hack" == "things not going [their] way"?
Just curious.
Yes, it sucks that they did not write tighter code and allowed a gotcha.... But when that happens in the legal world, people do pay for it.
Instead, because one of founders put up a lot of ETH, they changed the rules of the game. Now, the question is, "How close to the CEO of ConsenSys do you need to be to roll out bad contracts?".
That's what makes it worthless.
The change in Ethereum was "voted" for by a majority of hash power (but of course as influenced by the Ethereum leadership, so people had the popup in the client along with a recommendation what to vote for). So isn't that correction also in the spirit of Ethereum? Miners decide.
How about fixing obvious bugs, but otherwise upholding contracts?
To elaborate, it's especially hard to trust ETH code because it's not provable in any way. Bugs will hide, and people will find them. If ETH wasn't turing-complete this would be less problematic (because static analysis would be much easier, and possible), but as it stands there's no way to trust Ethereum contracts.
The rules aren't: "the code is the contract".
The rules are: "the code that is accepted by a majority of hashing power is the contract."
As someone who has tried to build a simple DAPP on bitcoin, my god, this is not what bitcoin was meant to do. I mean I love bitcoin, but building smart contracts on bitcoin is like using a screwdriver to implement a calculator.
Bitcoin took a route which isn't suited for things which Ethereum wants to achieve. A great example of this is Augur vs Truthcoin/Hivemind. The team behind former looked at Bitcoin first, but realized how much difficult it would be for them to build this on bitcoin so they went Ethereum route and now they are very close to their alpha, where as Truthcoin/Hivemind went nowhere.
Ethereum is/was pretty interesting; but as with all blockchains, it's solving a globally-distributed byzantine/trustless problem, at the expense of being massively inefficient.
It's a good idea for that domain, but such constraints don't apply to the majority of computing problems. For example, Web app A might want its events to appear in the same order to all of its clients, and Web app B might want the same for its events, but there's no reason to enforce that all clients of all apps see all events of all apps in the same interleaved order, in an open world where new apps can be created without any central authority, and where no app or client trusts any other app or client.
Regarding a practical language, I think something like Morte/Annah/Dhall would be nice as a way to:
- Use pure functional computation as a powerful 'sandbox' against causing nasty effects or having results affected by outside interference
- Use IPFS URLs as function names
- Use Church (et al) encoding and strong normalisation as a form of statically-checkable duck-typing (i.e. if it encodes to a duck, then it's a duck)
* JavaScript function to run, stored on IPFS
* Input data stored on IPFS
* Result of the execution gets stored on IPFS and hash written as contract fulfillment
Is it simply a matter of mining rewards not being able to compensate for the cost of injection?
As for Filecoin, I believe that it has several significant issues, both with the game theory (super linear returns when investing in hashrate and storage simultaneously - a massive centralization pressure), and with data withholding attacks (to mine on Filecoin, you need to have the Filecoin data. What if the existing miners decide not to give it to you?).
"Altering the reward scheme must include careful analysis of the resulting market equilibria. For instance, if the currency is too inflationary, then attackers may benefit from adding large amounts of “dummy data” that they can easily reproduce without incurring the cost of storage (e.g., the outputs of a pseudorandom function for which they know the secret key), and thereby gain a net advantage in the challenge reward system over the long term."
Edit: Might want to put 2014 in the title.
Seriously though, that is a likely outcome, but most good ideas do not sound like good ideas to begin with.
My bigger concern here is the types of files people use this service for, and as distributed host of these files, what are the legal ramifications on me for doing this?
What is the fastest and cheapest way in doing so?
Just so you can put "cryptocurrency" on your website to get marketing exposure.
That's about the only value I see with the current crypto business. Hype.