Filecoin – Data storage network and crypto-currency based on Bitcoin
filecoin.io
filecoin.io
If the price gets higher, I'll want to buy more hard drives for more people to pay me to use my space. Is that how this works, or am I misreading?
If it works like that, it's pure genius. You'd be able to get a lot of use out of it without ever converting it. This is a weird thought, but: could filecoin prop up the value of bitcoin, because the only way to convert filecoin to and from hard currency would be through bitcoin?
edit: Could I boot from this? Could my phone boot from this?
edit2: I'm assuming that the race to claim the proof reward will encourage low latency retrievals. Would I be able to tune my client in order to choose my own balance between latency and security, for example only rewarding quick responders but paying them highly to encourage a more low latency mix? Would that open this new cloud disk space market to quant trading strategies?
edit3: If latency matters, then network topology matters. Different places on the network would be more lucrative than others.
edit4: I'm seeing a workflow where I buy a hard drive, partition it into a local partition and a filecoin partition, then open it up to the network. After a few days, my filecoin partition is full, and I've generated a lot of filecoin. I use that filecoin to start copying files into a mounted virtual filecoin filesystem. I can rsync between local filesystems and filecoin filesystems.
I could actually delegate all of that activity to a single fileserver at the edge of my home network, and have all of my home computers mount files from that (and phones and home automation could call home to it too.)
- Filecoin is not a filesystem. The whitepaper doesn't even talk about the technical implementations of storage. Filecoin focusses on "how to retribute peers" more than "how to store data".
- Filecoin is supposed to be used on the network
- Filecoin is supposed to be used in a cluster of mutually distrusting peers, who by the power of the oldest and most effficient incentive ever (aka money) can come to an agreement that is beneficial to everyone.
Given these, I wouldn't advise you replace your hard drives with it, not even your home computers; high latency should be expected. OTOH, Filecoin is the way to go if you want to backup your whole TBs of data without paying thousands of dollars each month.
Note: I only speak from a very quick glance at the whitepaper. When I see something like that I always rush to the technical explanations, and I was a little bit sad that it only talked about the coin aspect...
You can think of it as Git + BitTorrent + Web as a file system. A talk describing it will be up soon.
Oh, and:
> The whitepaper doesn't even talk about the technical implementations of storage.
It does talk about the storage of pieces. Not at a file system level, but at piece storing + distribution.
I wasn't thinking that Filecoin was a filesystem, but that a filesystem could be built on top of filecoin. It turns out that what I'm thinking is probably what MaidSafe[1] is doing.
>high latency should be expected.
Unless you can reward low latency with more coin.
This is a long way of me saying I am not sure how much lower than S3 pricing they can realistically accomplish.
For your second point, we need to keep in mind the free space might be empty but it is not free as in beer. Using the disk will cost extra electricity and CPU cycles. Plus we shouldn't forget that disks are still the most common piece of hardware to fail inside a computer. Increasing usage of that disk increases the risk of failure.
The pricing is left fluid precisely to avoid this. The price can change over time. 1 Filecoin / N time today. 0.1 / N tomorrow.
> Using the disk will cost extra electricity and CPU cycles.
Similar to how mining works today, but more useful. Filecoin today still wastes some CPU. But, we've got more surprises coming soon ;)
That makes sense from an economic perspective but how does that work from a customer service perspective? Is the price pegged to a different currency? How would a user be able to predict the cost of the service if the price is not pegged to anything?
Although in fact the decline of the value of the dollar is relatively predictable because of the Federal Reserve's policy goal of keeping inflation relatively low and the law of large numbers as applied to the generation of the real rate of inflation.
At my local deli a dollar used to buy a bagel with the works; and now buys less than half of a plain bagel. That's over the course of 20 years. Any unit of exchange is valued anew in each transaction; the persistence and trends in value exist mostly due to social pressure and the cost of bargaining. I don't make offers and counter offers on each bagel I buy; I just look at the sign and accept the price or leave without a bagel.
That's a crucial point. If the Fed didn't pledge to keep inflation under control, the dollar wouldn't be such a great store of value or medium of exchange. It's the stability promised by central banks that allow you to "predict the value of a dollar" in the immediate future.
That certainly hasn't dampened the investment possibilities in actual, government-issued currencies.
You can't peg a decentralized currency. You need to be able to control supply in order for the peg to work (ie. to sell more into the market to lower the price, if needed), and then it wouldn't be decentralized.
This appears to be truly disintermediated (P2P) secure file sharing?
Most businesses won't touch anything related to bitcoin and things lacking a reliable SLA.
While a lot of people have unused storage space, many lack usable upload bandwidth and have low availability, so I would assume a lot of copies would be needed.
It's gonna be very interesting to see if stuff like this or storj, which was posted earlier today, can compete with current services.
But as someone with a lot of servers with unused space I sure hope so.
Freenet offers P2P file sharing as well, but much like this project there's no guarantee the data will survive for long.
Good UX is unbelievably, grindingly hard. If you want to make a product with a good user interface and overall experience, 90% of the work is going to take you about 25% of the time and the remaining 10% is going to take you 75% of the time. Most hackers decide a product is done when it works, but in reality they're not even half way there.
Apple is probably the overall king of UX. If you look at their process and their culture, they obsess and obsess over tiny little details that are irrelevant to core functionality as understood from a purely technical point of view.
Closed silos have a clear revenue model. That enables them to invest in pushing product quality and user experience the rest of the way, past where hackers and enthusiasts would take it and into the realm of polished usability that real customer bases demand.
Who's going to pay entire teams of designers to obsess over the filecoin.io client's "experience"?
The devs seem to hope that by making the rare pieces valuable, they will somehow avoid having low redundancy. But what happens when everyone joins a large pool like Ghash.io, and every file has only a single point of failure?
I would not trust my data to Filecoin, it seems too easy for files to get permanently lost. There are no guarantees that every file piece will be managed by at least N nodes.
You might end up with multiple competing pools, but it puts the barrier-to-entry of being a new pool at a high price. Everyone will mine for the cheapest pool, and the 1 pool that can provide all the storage at the lowest cost is the 1 pool that will control all of the data on the network.
It seems like a fragile solution.
If there are a lot of storage nodes competing on price each copy should end up on a different node, and none would be able to afford a centralized storage service.
- Pick something to base you currency on. Bit-, Name-, and File- are taken, but some might be left.
- First letter, two stripes, here's a logo!
- Publish a whitepaper. You must use LaTeX to typeset it.
- No names or credit anywhere. Stay anonymous.
Joking aside, this looks like something I will try. Have a spare 1TB connected to fast internet, and assume many others have as well.
http://download.wpsoftware.net/bitcoin/wizards/2014-07-17.ht...
There are other issues— e.g. arbitrary data can be censored and the only harm is lost mining revenue proportional to the censored data. (e.g. you could censor 0.1% of all data, and probably make every file unreadable (just by censoring the first word of it) but only be unable to answer 0.1% of the file queries).
I don't really see the point— having a file storage service that you can pay for with cryptocurrency make sense, but integrating it in this manner seems to serve no technical purpose other than to fuel investment speculation and otherwise just makes the system worse.
And, to answer your question, I didn't cite permacoin here because I would have to address a whole range of things like how they overlap/differ/which one is good for what parts. Perhaps I should've, but I think it's best left to a future paper (hinted at in the discussion). Stay tuned! :)
"The expected reward per unit of work is approximately constant, even for very small investments of computational effort. This prevents large participants from monopolizing the system and driving out ordinary participants."
Maybe I don't have a deep understanding how filecoin works, but as far as I know if you don't have the storage capacity which can even reach the current difficulty then you have an expected reward of 0. Maybe it's a non-issue and the difficulty will never reach let's say 10MB, but if it reaches 1TB then it will be really hard to hop in the mining business.
- Erasure coding (over the whole dataset) guarantees that you can't just drop some of the filed and make them unrecoverable.
- Preprocessing the entire dataset to be full entropy guarantees that it isn't cheaper to store one portion of the dataset than another (for example a segment with just all zeroes).
- Outsource resistance: it would be a shame if someone just runs a cloud service to store the file, which would be more efficient than using local hard drives. Arguably this is already happening with Bitcoin cloud mining. Permacoin and the follow up work on nonoutsourceable puzzles address this.
Without these features, the concern is that selfish miners might find ways to earn more filecoins without actually providing the useful service. Incentives are correctly aligned only when there's no way to game or cheat the system.
Filecoin provides a richer interface (get and put for individual files) than Permacoin (which only guarantees recovery of the whole dataset at once). We would have supported this interface if we could figure out how to, while maintaining the same standard security properties! This is difficult (but hopefully possible) future work.
On the other hand:
- Maybe it will be a long time before practical ways to game filecoin catch on.
- if filecoin builds a community that values altruistic participation like Tor (and even Bitcoin to some degree) it will be useful anyway
- it could be possible to improve filecoin with features from Permacoin
- there's a lot to learn from the actual launch of a system like this with real users
The thing about proof-of-work is that it is a proof. Assuming that sha256d is unpredictable, you will on average have use a certain amount of energy to find a low hash value.
With proof-of-retrieval, the name itself is lying. There is no way to prove that a piece of data went from one person to another. It should be called invoking-trust-in-retrieval-and-proof-of-having-the-file.
Along with that, because hashes have the property of being irreversible, blocks can be hashed and the winner cannot change the block without doing work again.
Because of these properties, filecoin must use PoW (which their whitepaper states they do).
According to their whitepaper, you must first construct the proof of ownership in the file, then you perform the PoW with that seed.
This leads to huge economies of scale because the startup cost of mining at equilibrium will include storing an abundance of files (probably all of them).
I was following until that line. Why 'all of them'?
Actually, you can prove that a piece of data went from one person to another, but others in the network must also have a copy. I was thinking a few months back about applying a similar idea to Bit-Torrent / P2P sharing. It was possible to prove that the file was sent given that all nodes had a copy of the file; so the idea is more feasible for file sharing than it is personal file storage.
It's neat to see this concept popping up now, http://storj.io/ is another platform that popped up recently.
On outsourceability, Filecoin today makes no effort against it. But see Permacoin for a great (and compatible) solution.
The difference with traditional bitcoin is that, we're not talking about an absolutely limited resource here. While bitcoin will stop growing at a certain point, no matter what happens, storage space on earth will always grow. So will the overall bandwidth, overall computational power etc.
And that is why these things are not going to work on the long term. You cannot build a currency based on reward.
I see the future of "resource coins" as being efficient mechanisms for p2p resource distribution. Conventionally, a customer would use their credit card to pay some cloud hosting company. The conventional hosting company is a business which operates as a privately managed bureaucracy. A P2P coin operates as standard protocol acting as a meta-company, aka a DAC/DAO - Digital Autonomous Company/Organization.
In a conventional business, a private bureaucracy manages a resource uses it to provide a service (bandwidth, disk space, and CPU as managed by a hosting company). P2P coins replace that centrally-operated middle man with a decentralized algorithm and account database. Bitcoin is like a meta-company which operates a distributed ledger internet payments. Why stop at payments? If its efficient, we should *coin all the things.
I'm still not convinced that you could actually use that revenue as a value in itself, like, storing it for later use. To be fair, I did not read the paper. If you would get existing coins for sharing a resource, that could work ... if you only rely on the mining process to earn value, it won't.
Since users can put small arbitrary byte data in a transaction that gets included in the block chain (AFAIK), isn't it possible that an attacker could insert illicit / illegal data that everyone using Bitcoin replicates?
Copyrighted materials, sensitive personal information such as SSNs, and moreover, child pornograpy immediately come to mind as things that could forever be persisted.
If this is possible, wouldn't that make everyone using the bitcoin blockchain criminally liable for storing and/or transmitting that information? (In the US and similar jurisdictions.)
I assume lightweight clients that only store a hash would be unaffected. But still, this seems like a serious issue.
File storage services though have the added concern that they're specifically designed to distribute files. Filecoin addresses this by (a) encouraging everyone to pre-encrypt before adding, and (b) creating a fluid market based on incentives. Nodes aren't required to store every file, only strongly incentivized to do so. Nodes are free to follow strong counter incentives (say, a well-known list of "illegal hashes" published by authorities).
In reality, the way many courts handle things like this is to target the entry points: the websites advertising which are the illegal hashes and how to get them. (e.g. the piratebay instead of bittorrent inc.)
And classified ads in the news-paper.
It certantly easier to make a complicated case the broader the data channel is— so this is just one reason (along with scalability and cost-of-decentralization) that Bitcoin is pretty stingy with sidechannels.
It wouldn't be too expensive, given there are <6kb stubs that are detected by many antivirus companies.
[1] http://blockexplorer.com/address/1ujTAfEQh2obwdt72GrmXonakx2...
Rather than waste CPU power on mindless hashing, you could accomplish real computation tasks.
This is pretty cool too though.
Reading the whitepaper one thing isn't clear: will the pieces of data be encrypted before sending them to the network?
Filecoin actually addresses the technical challenges in building something like this, and maybe Storj will end up using it in their stack.
Soon will have simpler explanation. :)
In this case and in storjcoin case the actors behind it all remain anonymous
FWIW, we aren't really anonymous. Neither in the storj case (you can find who they are in their website), nor in the Filecoin case. (hi!)
If this filecoin does take off and does what is being promised I will personally add hundreds of terrabytes of storage from our storage servers.
But seeing what Storj are doing I am extremely sceptical so please understand where I am coming from.
And, by the way, see http://static.benet.ai/t/ipfs.pdf -- https://github.com/jbenet/ipfs -- Filecoin's sister protocol.
In any case, congrats on the launch. I've only skimmed the white paper so far, but the filecoin.io concept looks promising.
^ https://en.wikipedia.org/wiki/Illegal_prime
Now what?