Pages:
Author

Topic: Bitcoin As An Eternity Service - page 2. (Read 5477 times)

newbie
Activity: 57
Merit: 0
May 12, 2011, 11:41:02 PM
#2
I can see many uses for this, but consider this if you will (You'll need your tin foil hat)

if you can encode images into the blockchain, and everyone downloads the whole blockchain, then, by causality, if an illegal image were to be written to the blockchain (you all know what I'm talking about), and we download the data, would this be grounds for govt action against any user of bitcoin?
full member
Activity: 327
Merit: 124
May 12, 2011, 11:03:07 PM
#1
I've been pondering ways of layering useful things on top of Bitcoin, and was thinking of something along the lines of Ross Anderson's Eternity Service, which Adam Back did a Perl Implementation of a number of years ago layered on top of Usenet.

Now Usenet is a pretty persistent backing store, but it's nothing compared to the bitcoin block chain, protected by tens of millions of dollars in stored value.  You can imagine the resistance if a TLA ordered a block chain takedown.  Also, every single client has the entire block chain, giving total plausible deniability for anything encoded inside it, just like an NNTP server taking a full feed.

Now I imagine that there are probably some developers who feel that Bitcoin should be a currency-only system, and who will threaten to have a cow at the thought of Bitcoin being used for file storage.  However, new uses are found every day for Internet protocols, and ordering people not to store small high value data sets in Bitcoin is about as practical as demanding people not download copyrighted content with Bittorrent.

So lets look at the economics of file storage in the Bitcoin block chain.

We probably want to keep blocks under 10,000 bytes in length.  The obvious place to put arbitrary data is the address fields of outputs.  If we pay a fee of 0.01 BTC, we can make the output values less than 0.01 BTC, and have as many of them as we want.  Picking 280 outputs as a nice round number,  and setting their values to 0 BTC, we encode 5800 bytes of arbitrary data in a block of approximately 9712 bytes in length for a cost of 0.01 BTC.

This works out to an encoding efficiency of just slightly over 57% and a cost of just under 1.79 BTC per megabyte.

As a proof of concept, I have two transactions in the queue which stego one of the Bitcoin logos into the block chain, at a cost to me of 0.02 BTC.

Append all the address fields in these two transactions together, and do a yEnc decode, and you will get back a file called "bitcoin.jpg".

Perhaps I could offer this as a service, at 5 BTC per megabyte, and make a small profit.



Pages:
Jump to: