Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: allten on November 03, 2011, 10:21:48 PM



Title: BIP - Capitilizing on Bitcoin's Block Space.
Post by: allten on November 03, 2011, 10:21:48 PM
BIP - Bitcoin Improvement Proposal by AllTen.

If I understand correctly the block size can be as large as 1MB with the current version of the Bitcoin client.
a simple modification would probably allow for larger block sizes.
Also, there are no limitations on what can be put in a block. you can put whatever you want if you are a miner.

Bitcoin's greatest feature IMO, other than for currency, is storage of data in the most secure and highly distributed database this world has ever seen. The countless market applications for this are hard to fathom.
However, if the block chain becomes bloated with all this non-currency transaction data it could have a negative impact on bitcoin and I'm sure it would make miners unhappy in the long run as disk space fills up.

So here's my (incomplete) proposal: All non transaction data in the block chain would require two fees. One fee to the miner for KB usage (same as before) and another fee that would go into a type of savings owned by no one that would be used to compliment miner rewards after all 21 million bitcoins have been mined. Obviously there's a lot of detail missing, but that is the gist of my proposal that I look to the bitcoin community for help in critiquing it.

With your input, I will be updating this post as needed.

Thanks

--------------- Update: 10/08/2011 -----------
Well, looks like my proposal needs a complete overhaul.
Thank you for your comments. I thought I had a better understanding of Bitcoin Technology, but maybe not.
Anyways, Here are some questions I've been pondering before I scrap this idea or re-write it entirely.

1) How exactly is arbitrary data stored in the block chain?
   Is there more than one way?
   My current understanding is that it has to be part of a transaction signature and this is the only way. True?
   If so, what is the maximum size?

2) I'm still having difficulty understanding the economics of transaction fees.
   why does a miner care how big a transaction is in kb? seams trivial. Does it require more processing power to authenticate and verify?
   what metrics can a miner use to calculate a reasonable fee to accept or reject transactions?

your answers and/or links to previous topics is much appreciated.


Title: Re: BIP - Capitilizing on Bitcoin's Block Space.
Post by: genjix on November 03, 2011, 10:29:47 PM
Unenforceable.

Miners would all need the same fee structure. An artificial limitation on the scripting system.


Title: Re: BIP - Capitilizing on Bitcoin's Block Space.
Post by: Tuxavant on November 03, 2011, 10:36:41 PM
Dont see how this would work as the data would be stored in the block (and a burden to all blockchain processors) for the rest of history.

I have wondered about the introduction of "super blocks" that would contain summaries of all previous bitcoin address balances so that the blockchain could be truncated from time to time. For instance, every million blocks, a summary is computed for all known addresses and balances so that all previous blocks could be removed and the blockchain shortened.


Title: Re: BIP - Capitilizing on Bitcoin's Block Space.
Post by: ribuck on November 03, 2011, 10:37:39 PM
Miners need to keep the whole transaction history. Although the transaction fees that miners require are nominally tied to the block being generated, in the future miners will set those fees to a level that covers the costs of handling the entire transaction history, not just the mining of the current block.

Therefore, although the current transaction fee mechanism may not produce the economically optimum result, it's "good enough". It's viable, self-sustaining and self-regulating.


Title: Re: BIP - Capitilizing on Bitcoin's Block Space.
Post by: allten on November 03, 2011, 10:58:02 PM
Unenforceable.

Miners would all need the same fee structure. An artificial limitation on the scripting system.

What exactly is Unenforceable? Need help understanding.


Title: Re: BIP - Capitilizing on Bitcoin's Block Space.
Post by: allten on November 03, 2011, 11:08:09 PM
Miners need to keep the whole transaction history. Although the transaction fees that miners require are nominally tied to the block being generated, in the future miners will set those fees to a level that covers the costs of handling the entire transaction history, not just the mining of the current block.

Therefore, although the current transaction fee mechanism may not produce the economically optimum result, it's "good enough". It's viable, self-sustaining and self-regulating.

"handling the entire transaction history"
Are you saying it become more processor intensive as the blockchain becomes longer to verify transactions?


Title: Re: BIP - Capitilizing on Bitcoin's Block Space.
Post by: theymos on November 04, 2011, 01:26:40 AM
What exactly is Unenforceable? Need help understanding.

You can put data into the block chain using standard transactions in ways that are undetectable. It's impossible to prevent people from putting arbitrary data into the block chain.


Title: Re: BIP - Capitilizing on Bitcoin's Block Space.
Post by: allten on November 04, 2011, 02:04:46 AM
What exactly is Unenforceable? Need help understanding.

You can put data into the block chain using standard transactions in ways that are undetectable. It's impossible to prevent people from putting arbitrary data into the block chain.

That is interesting. I was unaware of that.
How does that work? How could I, for example, create a transaction with arbitrary data?

thanks.


Title: Re: BIP - Capitilizing on Bitcoin's Block Space.
Post by: theymos on November 04, 2011, 02:13:02 AM
There are many ways, but here's one suggested by Satoshi:

why not make it easier on everyone and just allow say, 64 or 128 bytes of random data in a transaction?
That's already possible.  <pubkey> OP_CHECKSIG.  <pubkey> can be 33 to 120 bytes.


Title: Re: BIP - Capitilizing on Bitcoin's Block Space.
Post by: ByteCoin on November 04, 2011, 02:16:38 AM
You can put data into the block chain using standard transactions in ways that are undetectable.
How does that work?
For the most efficient method that doesn't waste any coins, read about  the subliminal channel in (EC)DSA (http://en.wikipedia.org/wiki/Subliminal_channels). Also my posts on the subject 1+ years ago.

ByteCoin


Title: Re: BIP - Capitilizing on Bitcoin's Block Space.
Post by: BeeCee1 on November 05, 2011, 01:55:05 AM
Dont see how this would work as the data would be stored in the block (and a burden to all blockchain processors) for the rest of history.

I have wondered about the introduction of "super blocks" that would contain summaries of all previous bitcoin address balances so that the blockchain could be truncated from time to time. For instance, every million blocks, a summary is computed for all known addresses and balances so that all previous blocks could be removed and the blockchain shortened.

People have talked about using "balance sheets" to do exactly this.  See https://bitcointalk.org/?topic=473.0 and https://bitcointalk.org/?topic=505.0 for a more complete discussion.


Title: Re: BIP - Capitilizing on Bitcoin's Block Space.
Post by: Mike Hearn on November 05, 2011, 02:09:28 PM
The block chain is a fairly pointless place to put your data. There are much better tools for this type of thing that are actually designed for it. Consider FreeNet for instance.


Title: Re: BIP - Capitilizing on Bitcoin's Block Space.
Post by: wareen on November 05, 2011, 03:20:05 PM
Consider FreeNet for instance.
I have put some thought into a Bitcoin powered Freenet, where storage and degree of replication of content is not only guided by popularity, but by some Bitcoin payments. The devil is of course in the details but I still think it could work and it certainly would be a neat thing.


Title: Re: BIP - Capitilizing on Bitcoin's Block Space.
Post by: Luke-Jr on November 12, 2011, 02:18:29 AM
Use a parallel block chain like Namecoin's merged mining...