Bit451 – Decentralized, distributed anonymous P2P media network
bit451.org
bit451.org
This would be a hash of an index file that describes the data, broken into small chunks. Now your client goes back onto the network and finds the cheapest way to retrieve all these chunks. You could set a default, "5 cents per GB" that you're willing to pay.
Servers could monitor the network and see what's being requested often, and pay to download (and re-serve) these chunks themselves in the hopes of profiting. When files become rare, servers could charge a premium.
Bitcoin is not a micropayment system, so paying per chunk would be expensive. You could pre-pay, say 1GB at a time at first, and slowly build up a trusted reputation where you only pay afterwards (by reusing a bitcoin address as your "identity" that you always send from). You'd work out a "contract" (signed with your sending address), give it to the server, and if you skip out on paying they could use it as proof of nonpayment which they would share with other servers. (Maybe all servers have a blacklist file they share for free). They could try to send you bogus data, but since you can verify by-the-chunk you wouldn't request more chunks from them once you've received a piece that fails a hash.
Once you've got this network in place, you could build any of the things the author in this link is describing. My hope, a Usenet 2.0 style protocol. The whole thing is very exciting. But first you need a simple, generic, data-for-bitcoin network.
Everything I've seen so far in the bitcoin/storage area (maidsafe, storj) sounds overly complicated and downright scammy. I don't want to back up my data to a p2p network. I don't want to have to purchase a new altcoin to use your network. I just want to, for starters, type "serve [file]" or "fetch [hash]" on the CLI and have it all magically work behind the scenes. First place I'd see this taking off is sharing porn - yay! From there, after time, it could become the backbone of "web 3.0".
And besides the "altcoin" problem, MaidSafe does this. You pretty much provide a hash to the API, and it fetches your files using chunks from a decentralized system. It's genius. All the hard work they're doing is the "magic work behind the scenes" that implements that.
As for the altcoin, the word "altcoin" connotates a "copy" of bitcoin or something negative. It's not fair to call SafeCoin an "altcoin", since it has nothing whatsoever to do with any other coins. It's completely original (and does not use a blockchain), and it deserves a chance to prove itself. But I understand all the bitcoin evangelists don't even want to consider that another digital currency can make it to the top.
Can you explain why "Safecoin" is needed and more importantly, how it is superior to Bitcoin? It sounds like a reinvention of something that already exists, done to raise funds (they wouldn't have received millions of USD$ in funding otherwise). I've never seen a good technical explanation, it's all very hand-wavy and vague.
Secondly, Maidsafe seems to be trying to solve a problem that does not exist - backing up personal data to a p2p network. It's a flawed idea because there is no way to know if your data is sitting on a botnet that could disappear any moment. There is a financial incentive to pretend to be multiple clients and use as little hardware as possible. Maidsafe cannot know if your 10 copies of data are on 10 hard drives or 1.
On to your safecoin questions. They're inventing a new digital currency that aims to get rid of the problems that exist with bitcoin. Namely, scalability. If you're familiar with bitcoin, you'll know that every full node is aware of every transaction. The current limit is 7 transactions per second (though there are talks of lifting it, which has other implications, but that's another matter). Bitcoin also requires specialized hardware to mine and keep the network secure. Miners service no purpose except this end.
Safecoin has no blockchain, therefore not everyone is aware of all other transactions. Transaction are 100% free and unlimited, and the "miners" are nodes that provide storage and bandwidth on the network, thus adding actual value (and this is how the network AND safecoin is to be bootstrapped, answering your first question). Also, app-builders are also rewarded safecoins for people using their apps, adding further incentive to build on the network (yes, you can earn money just by building a useful app people love). Since all nodes don't need to know about every transaction, scalability is not an issue. DDOS protection is already built into the network.
I can go on, but in reality, if it works, it'll blow everything else out of the water and truly change the networking landscape. I'm actually planning to write a blog post explaining how it works since questions like yours come up all the time.
Edit: oh, and feel free to ask questions and browse posts on the forum at maidsafe.org.
At that point, why not setup escrow processes where the sender has to provide proof to release the payment?
This could probably go on and on, as I'm not sure there is a complete answer to centralized vs. decentralized. You likely just have to pick based on what attributes are most important at the time.
> At that point, why not setup escrow processes where the sender has to provide proof to release the payment?
There is no way to prove you've sent a file to someone. In the BBS days, there was a program called Leech Zmodem that lied about getting the last chunk of data, so that you didn't have to pay file points for your download.
I can think of a way around this, sort of: you could break the transfer up and require the receiver to sign a message for each piece they've received, before you send the next piece. But, they can lie and say they never got the last piece, and that's tricky because some data is worthless without the entire thing. Maybe they're not lying, and you've disconnected - should they have to pay for 90% of a file? There's lots of little edge cases I can think of.
If this whole idea ever happened, I think large data warehouses would form (using cheap amazon/google storage) and the whole thing might become centralized anyway.
This can be solved with encryption. Just send them an encrypted version of the file. By requesting the key the receiver confirms possession of all chunks.
Consider this: Each completed transaction is rated by each participating party.
How much your rating affects your opponents reputation in determined by your own reputation. A higher reputation enables privileges such as more peers willing to trade with you, faster downloads, etc.
These reputation systems don't work in common P2P networks because everyone can just generate fake identities and boost their own reputation at will.
However, if you tie the reputation system to bitcoin so that the creation of an identity puts actual money on the line then this kind of cheating doesn't work anymore.
I have yet to see a system where up-front UML design really works.
Then again, when I was at university, I've seen a few professors teach that as a way of doing "quality software development".
On a side note: Interesting to see OrientDB. I've always had a place in my heart for that project.
Webmasters would pay the network (and have an API to generate download links, upload authorization for users to upload directly to the network), giving users the ability to use it for free or can pay directly to the network too, or even get a premium account on the website for convinence.
I don't care about the other ideas bit451 has suggested (playlists, hashtags, etc), I think the network should be for resilient file storage and for videos people can build an application on top of that network.
I'd love to switch to a network rather than rely on a single datacenter which can be raided over night. A 'Usenet for HTTP'.
If I'm wrong, and other people provide storage with Tahoe-LAFS, how are you recieving money for it? Storage is expensive when done on enterprise scale, we can't rely on peoples open internet idiology for something as expensive as that.
The writeup that is linked to is only a summary of which technologies should be tied together, without any proper explanation on how that should be done. The GitHub repository is from July, contains only a few weird UML diagrams, and doesn't have updates thereafter.
If you like the genre of fantasy, it's a fun writeup though. Especially the 'contribute' part.
<Insert megalomaniacal moustache twirling here>