Vladimir Sedach

Have Emacs - Will Hack

January 9, 2012

Bitcoin mining pools as a payment scheme for p2p hosting and mirroring

Topic: Distributed systems

Having a purely p2p private messaging and file sharing network works up to a tradeoff between the number of nodes, the aggregate average availability and bandwidth of all nodes, and the file sizes being shared. The larger a p2p network becomes, the less trusted and private it is going to be. But for example a torrent with a small number of seeders with low upload speeds does not work very well for huge files.

It would be nice to share a large number of large files securely with your friends over a high-bandwidth link. As well, having a reliable server on a high-bandwidth link would make replication and backup of your data more convenient.

A large number of companies offer storage services that can do that. Dropbox is the most popular, but it does not provide convenient sharing features because it focuses on replicating and syncing your private files. Ubuntu One is similar. These services are also insecure - Dropbox and Ubuntu One can read your files.

The service that is most convenient for private and easy to share storage on remote hosted servers was Allmydata. Allmydata may be gone, but the people behind and software behind it (Tahoe-LAFS) are still there. Tahoe-LAFS is Free Software, and the techniques and algorithms behing it are well documented.

But storage and bandwidth are not free. How would the economic model behind a secure, private mirroring service work?

Very few people want to pay cash for mirroring. Can't have the mirror show you ads - that would defeat the privacy aspect (besides, how would these ads be served and where would they be viewed?).

But your computer is going to be on a lot of the time to participate in the p2p network. Why not have it mine bitcoins? Then you can pay for mirroring storage/bandwidth with the bitcoins gained from contributing work to a mining pool.

Metcalfe's law hypothesizes that each node brings value to the network when it joins. A logical conclusion is that not only the network, but the node itself should be able to realize that value in monetary terms. Cryptographic currency mining enables this.

Another long sought-after idea that may be enabled by the mining approach is micropayments, but that is a problematic and unrelated area.