A possible solution to problems caused by unlimited block sizes

Awhile back I wrote a post on Bitcoin Foundation forum on the possible solution to problems caused by unlimited block sizes. If anyone is a registered member, you can check out the original post from 2013 05 14 here.

A quick background on the problem. Each Bitcoin Block has a hard limit of 1MB, meaning that there is a finite amount of Transactions that can be included in each Block. To accommodate for more Transactions, one would need to increase that hard limit. However, at the same time increasing the limit is a short-term solution if we set a new limit (eventually the Bitcoin Network might outgrow that limit as well), while removing the limit entirely can be dangerous to the overall health of the Network.

Without further ado, here is a possible solution to those problems as proposed by me half a year ago:

So a few days ago ago I was discussing some Bitcoin stuff and the topic of block size came up - its expansion and so forth. This got me thinking about the potential implications when the size will be increased.

If we set a block size to any arbitrary limit, we probably will reach it sooner rather than later as Bitcoin adoption picks up. But since the blockchain is a shared resources we shouldn't allow for unlimited block size - it would open up a vulnerability to potential attacks (create a ton of microtransactions, bloat a block to 1GB size, kill the network). To counter that, we should introduce some cost for the miners to create big blocks. Preventing blocks from containing certain transactions (very small ones, very young ones, ones not seen by the client) would probably not go over well. Making the miner pay a part of the coinbase to generate a bigger block would also not work as it would screw with the coin generation schedule and not be sustainable in the long run.

On the other hand, there is a way we can make the miners "pay" for creating large blocks - by having to do more work. We already have the normal means - target adjustment every so often to keep the blocks generating at a steady pace. Building on that, we could require miners creating blocks bigger than 1MB to solve the work for higher difficulty - 2MB would require difficulty x2, 10MB - x10 and so forth. This approach would allow blocks of arbitrary size to be created without the fear of bloating up the blockchain uncontrollably - it would be prohibitively costly for a malicious miner to do so. Honest miners could increase the block size as needed to accommodate lucrative transactions that are coming in to offset the increased size. The downside is that a miner would need to commit to the size of a block before mining - if they find a solution to a normal difficulty, they would not be able to use that to publish the block.


Why fast maturing altcoins are doomed to fail, or why $30 dollars a day is not enough to secure Quarkcoin

Recently I came across Quarkcoin, a Bitcoin-based altcoin with a very fast maturation. The blocks start with 2048QRK reward and halve every 60480 blocks. Each block is set to take about 30 seconds, so this give us roughly 3 weeks of blocks between each halving event. Minimum block reward is 1QRK, and will be reached after 11 halving events, or about 6 months.

A lot of people consider Quarkcoin to be a pump-and-dump premined scamcoin. In some sense, they are right, but in some sense, we are stretching the definition a bit here. QC has been promoted by the likes of Bill Still and Max Keiser, driving its price up a lot. While not falling strictly under the definition of a premined currency (one in which all coins are created in genesis block and subsequent mining reward is insignificant if present at all), it certainly is reminiscent of such schemes.

Looking at the market price of QRK (at the time of writing, each coin is work about a cent, giving the entire market of about 250 million coins the value of $2.5M), a lot of people from the Bitcoin community will recognize it as a pump-and-dump scheme. The currency exists without much of a market - it appears to be traded on 3 small exchanges, there is a lack of tools or documentation for developers, and it appears to be accepted through one obscure payment processor, mainly by shops that will accept any currency. All in all, there is nothing that warrants the current price, asides some key individuals driving its popularity.

However, at the same time Quarkcoin can be an amusing case study for fast maturing altcoins. Just think about it - once blocks will have 1QRK rewards, that will essentially be the baseline of how secure the network is. At the current price, this would equate to $30 per day.

Any mining-based altcoin can essentially be brought to a standstill by a 51% attack. This means that the total computing power of an attacker would equal to the computing power of the entire network. As long as the miners on the network are rational according to game theory (they mine the coins for profit and stop mining when they are not making a profit), the cost to mine the block should be roughly equal to the amount of money earned by mining the block. Since the block reward will level out at 1QRK per block, or 2880QRK per day, this is about as much it would cost to perform a 51% attack on the network in electricity costs.At the current exchange rate of 1 cent per QRK, this is a cost of $30. This is all that will stand between someone being to transact in Quarkcoin, and having their coins sit idly for a day not getting confirmed. Imagine what could happen in that time...

A malicious party could spin up a lot of Amazon EC2 instances, or otherwise rent some server farm time to be able to efficiently mine Quarkcoin without having to pay high upfront costs. It might cost them more than $30 per day, but even spending $1000 would be nothing in comparison to bringing down $2.5M market. They could buy up some QRKs beforehand and position them at online exchanges that do not require KYC verification and are not AML compliant. They start the 51% attack, sell all of their coins and announce what is happening - Quarkcoin is under 51% attack. The attack will persist as long as QRKs have value. No transactions will be confirmed, so nobody will be able to get their money into the exchanges and sell them until it is too late. All the big players that don't hold their money on the exchanges essentially lose all of their money. Panicked people do their best to dump their coins. The attack persists for an hour, a few hours, a day or more as needed. Those that were not convinced at the start change their mind sooner or later.

People holding a lot of money in Quarkcoin would probably do their best to fight against the attack - perhaps sending transactions with high fees to incentivise miners to mine, getting as much computing power as they can onto the network to counter the attack. The question is - how prepared would such people be for this situation in comparison to the attackers? One would have as much time as they need to prepare themselves and streamline the process, the others would have to catch up if they haven't done their lesson in advance. One could also go after the exchanges, performing DDOS attacks on them to bring them down and cause more panic - even if someone was able to get their money in, they might not be able to trade.

Of course, the network could be hardened against such attempts by the people with a lot to lose running their own miners beyond profitability and artificially increasing the difficulty. This would make a 51% attack harder, but at the same time it would destroy the healthy network of miners that would otherwise be interested in profiting from the currency.

All in all, what a lot of people that use fast maturing altcoins don't understand is that unless adoption is driven as fast as the reward is dropping, the currency will develop a big vulnerability to 51% attacks. High transaction volume with appropriate fees would solve this issue, but this requires people to start using the currency, not just buying it and holding it.

As it stands, it looks like Quarkcoin is headed in one of two directions - either it will be just another pump and dump coin and will end up in a number of people losing their money, or it will be destroyed in a more spectacular 51% attack on the network. Anyone holding a grudge against the coin or people that have a lot of their assets tied to the currency can be a potential attacker. A Bitcoin or Litecoin purist could wish to destroy it to prevent people from diverting their money from their currency of choice. Anonymous might do it for the lulz.

We'll have to wait and see whether Quarkcoin will go out with a bang or a fizzle, or perhaps persist against all odds. We will probably see in the following few months what the future will bring.