Author

Topic: Making Bitcoin ready for the future (Read 432 times)

sr. member
Activity: 263
Merit: 250
March 15, 2013, 10:18:09 AM
#1
At some point the entire world may look to Bitcoin for answers to a massive currency crisis, and if it happened today, I believe the world would dismiss us quickly and just keep looking.  The Bitcoin protocol needs the ability to quickly scale and instantly become the world's currency when the right moment arrives.  At this point we are simply not ready.

The existing protocol cannot support the required volume of transactions.  The protocol restricts us to an average of one new block every 10 minutes, and blocks are limited to 256K for now.  An average transaction takes 500 bytes, so we're currently limited to about 1 transaction per second (tps).  By comparison, the credit card networks can handle peak loads up to 10,000 tps!  We need to be ready to beat that!

The limits we face are self-imposed and arbitrary.  They can be lifted, but not quickly enough for us to rapidly scale to handle a sudden increase in popularity.

There is a valid argument that if we allow much larger blocks, someone could bring down the system by generating a huge number of bogus transactions, like constantly moving a lot of minuscule amounts among millions of accounts.  However, there are ways of preventing that without forcing Bitcoin to stay trivial forever.  You just add a rule that the larger the block, the higher the minimum transaction fees in the block.  A 256k block could include free transactions, but maybe a 1M blck would be limited to transactions with at least 0.01 BTC fees, and a 10M block would require even more.  The harder you attack the system, the more expensive it would get. 

Today we're like a fire department that has test-driven a bunch of different trucks, tried on a bunch of gear, but we're not ready to put out the any fires.

Remember when Joey Tribbiani says, "This is the break I've been waiting for all my life.  Why haven't I been preparing for it!"

Lets get ready to rumble!
Jump to: