User avatar
TomZ
Nickel Bitcoiner
Nickel Bitcoiner
Posts: 111
Joined: Thu Oct 29, 2015 5:28 pm
Contact: Website Twitter

UTXO Growth

Tue Jan 10, 2017 11:23 am

Over the last year we have seen quite a lot of people that get worried about the UTXO growth. Lets find out why.

For those catching up; the UTXO is the Unspent Transaction Ouput database. The essential database that is needed to find out if a new incoming transaction is actually spending money that exists.

The growth is explained well in this blog from Gavin Andresen, the blog is already older, so the growth has continued.

There are some reasons why people claim this is an issue. Lets address each of them in turn.
  1. The UTXO needs to be in memory completely. It will grow faster than internal memory can.
    Answer: The implementation in all Bitcoin full nodes is that the entire database is stored on disk. With a smart memory-cache to speed up lookups. The memory-cache is configurable and the default is 300MB. (its the dbcache config option) The entire database is significantly larger than 300MB, as the above blog states.

    The claim that it has to be in memory is weird because none of the full node implementations actually do that. Sure, miners can adjust their settings to allow a bigger cache, and be different from everyone else. But this doesn't mean the UTXO should stop growing...
  2. Bigger blocks make the UTXO grow faster!
    Answer: The UTXO is a database of where money is stored. With more people using and holding Bitcoin, this will grow. The UTXO will not grow based on more transactions, the UTXO will grow because we get more customers. Which can only be done when we have bigger blocks.

    So the argument isn't directly false, it is misleading. It is missing the fact that UTXO growth is based on more people using Bitcoin. Maybe the people making this accusation are aware that saying they do not want more customers will make them look stupid.
  3. UTXO on disk will make miners lose money because of slow block validation.
    Answer: This may have been true in the past, but is no longer true since we introduced xthin blocks. This technology allows any node to communicate a new block with only the header and some meta-data. The receiving node will then use the transactions that are in his memory pool to reconstruct the block.
    The direct result of this is that when a new block is mined miners will not validate the vast majority of transactions again because the transactions in their mempool were already validated. This means that there is no bottleneck any more for miners using xthin (available in BU and Classic).
Bottom line is; its a database. MySql/PostgreSQL/MongoDB etc. have had decades to perfect database technology. Being scared of a database growing on todays hardware is unfounded and not a very intelligent thing to say.

iFixBTCmemoryIssues
Gold Bitcoiner
Gold Bitcoiner
Posts: 2682
Joined: Tue Nov 24, 2015 9:03 pm

Re: UTXO Growth

Tue Jan 10, 2017 7:00 pm

Over the last year we have seen quite a lot of people that get worried about the UTXO growth. Lets find out why.

For those catching up; the UTXO is the Unspent Transaction Ouput database. The essential database that is needed to find out if a new incoming transaction is actually spending money that exists.

The growth is explained well in this blog from Gavin Andresen, the blog is already older, so the growth has continued.

There are some reasons why people claim this is an issue. Lets address each of them in turn.
  1. The UTXO needs to be in memory completely. It will grow faster than internal memory can.
    Answer: The implementation in all Bitcoin full nodes is that the entire database is stored on disk. With a smart memory-cache to speed up lookups. The memory-cache is configurable and the default is 300MB. (its the dbcache config option) The entire database is significantly larger than 300MB, as the above blog states.

    The claim that it has to be in memory is weird because none of the full node implementations actually do that. Sure, miners can adjust their settings to allow a bigger cache, and be different from everyone else. But this doesn't mean the UTXO should stop growing...
  2. Bigger blocks make the UTXO grow faster!
    Answer: The UTXO is a database of where money is stored. With more people using and holding Bitcoin, this will grow. The UTXO will not grow based on more transactions, the UTXO will grow because we get more customers. Which can only be done when we have bigger blocks.

    So the argument isn't directly false, it is misleading. It is missing the fact that UTXO growth is based on more people using Bitcoin. Maybe the people making this accusation are aware that saying they do not want more customers will make them look stupid.
  3. UTXO on disk will make miners lose money because of slow block validation.
    Answer: This may have been true in the past, but is no longer true since we introduced xthin blocks. This technology allows any node to communicate a new block with only the header and some meta-data. The receiving node will then use the transactions that are in his memory pool to reconstruct the block.
    The direct result of this is that when a new block is mined miners will not validate the vast majority of transactions again because the transactions in their mempool were already validated. This means that there is no bottleneck any more for miners using xthin (available in BU and Classic).
Bottom line is; its a database. MySql/PostgreSQL/MongoDB etc. have had decades to perfect database technology. Being scared of a database growing on todays hardware is unfounded and not a very intelligent thing to say.
In my own words, a scam is being peddled by Blockstream Core telling people a lie so that the block-size isn't increased. Blockstream Core has a plan of which is to completely change Bitcoin so that they have access to your digital cash.
Image

If you are running a version of Bitcoin Core, stop using it. Upgrade to Bitcoin Unlimited or Classic immediately.

Fix Your Unconfirmed Transaction.

Vote for the future of our Bitcoin network!

User avatar
rogerver
Founder
Founder
Posts: 1864
Joined: Thu Sep 10, 2015 6:55 am

Donate BTC of your choice to 1PpmSbUghyhgbzsDevqv1cxxx8cB2kZCdP

Contact: Website Twitter

Re: UTXO Growth

Wed Jan 11, 2017 7:25 am

So this could also be summed up as saying that growth in the UTXO set is a good thing because it means that more people are using Bitcoin?

That's my take on it.
Help spread Bitcoin by linking to everything mentioned here:
topic7039.html

Return to “Development & Technical Discussion”

Who is online

Users browsing this forum: No registered users and 3 guests