Pages:
Author

Topic: How to force a rule change by bloating the UTXO set (Read 3083 times)

legendary
Activity: 1120
Merit: 1149
Read my top few messages.
donator
Activity: 980
Merit: 1004
felonious vagrancy, personified
you can stick with your old client, and it will reject the "Bitcoin 2.0" blocks

Sure you can.  It just takes one or more miners to mine before transactions are included in a block and eventually confirm.

Unfortunately it could be up to 2016 blocks before the difficulty resets.  And even then it can only drop by a factor of 4x every 2016 blocks.  If the dropoff in hashrate is steep enough you could be stuck in one-block-per-week-land for a few years, effectively making the currency unusable (and therefore worthless).

While you make a good point, in the scenario where you don't have a full copy of the UTXO set it's irrelevant anyway. Without that UTXO set you just don't know what is or isn't a valid transaction, so mining is pointless and validates nothing.

Er, why wouldn't you have a full copy of the blockchain (from which you can get the UTXOs)?

Unless I'm mistaken the scenario being discussed here is where all the miners run off to some other fork.  There are plenty of non-mining clients that keep a copy of the whole blockchain.

SPV is great, but non-mining nodes like exchanges and high-value merchants need to do their own validation too.  Validation isn't just for miners.
legendary
Activity: 1120
Merit: 1149
Unfortunately it could be up to 2016 blocks before the difficulty resets.  And even then it can only drop by a factor of 4x every 2016 blocks.  If the dropoff in hashrate is steep enough you could be stuck in one-block-per-week-land for a few years, effectively making the currency unusable (and therefore worthless).

IIRC this happened on testnet as the result of some sort of prank by Artforz, which is why it has its own difficulty-adjustment rules.

While you make a good point, in the scenario where you don't have a full copy of the UTXO set it's irrelevant anyway. Without that UTXO set you just don't know what is or isn't a valid transaction, so mining is pointless and validates nothing.
donator
Activity: 980
Merit: 1004
felonious vagrancy, personified
you can stick with your old client, and it will reject the "Bitcoin 2.0" blocks, but you can't spend your money without miners, and you can't be a miner without the UTXO set.

Sure you can.  It just takes one or more miners to mine before transactions are included in a block and eventually confirm.  Just like after the hard fork occurred and v0.8 was ten blocks ahead, anyone could still mine on the v0.7 side even though it had just a fraction of the hashing capacity and the v0.8 side had the longest chain.

Unfortunately it could be up to 2016 blocks before the difficulty resets.  And even then it can only drop by a factor of 4x every 2016 blocks.  If the dropoff in hashrate is steep enough you could be stuck in one-block-per-week-land for a few years, effectively making the currency unusable (and therefore worthless).

IIRC this happened on testnet as the result of some sort of prank by Artforz, which is why it has its own difficulty-adjustment rules.
legendary
Activity: 1792
Merit: 1087
You suggest the current 1M limit will allow UTXO grows by 52GB per year at most, or about 600k per block at most.

So we can raise the 1M limit to 2M limit, while putting a limit on UTXO growth at 600k. That will allow more legitimate use of blockchain while kill spammy tx like this: http://blockchain.info/address/1PhKfcoFJbgfPcCPYih1RtWJWdYkmE2p4K, and your concern on UTXO bloat is completely solved.

The very idea that we'll just go off an change the limits without a demonstrated problem is why it's political. With the current 1MB hard limit, a 250KB UTXO limit makes sense. (what I would have proposed) Increasing the hard limit in exchange for a UTXO limit still runs into the more important issues about ensuring that miners can operate on low-bandwidth connections.

I hate UTXO bloating too. Although there could be a solution: https://bitcointalksearch.org/topic/utxo-set-size-does-not-increase-storage-costs-you-just-suck-at-computer-science-153662 , I think it's still better to allow people have their own UTXO set stored locally.

If we have block size limit and UTXO limit in the future, we should increase only one of them at a time.

The UTXO limit will also prohibit the use of the blockchain to store mp3 or jpg.

This is off-topic but I don't see why we should subsidize miners on 56k modem or GPRS phone FOREVER.
legendary
Activity: 1120
Merit: 1149
You suggest the current 1M limit will allow UTXO grows by 52GB per year at most, or about 600k per block at most.

So we can raise the 1M limit to 2M limit, while putting a limit on UTXO growth at 600k. That will allow more legitimate use of blockchain while kill spammy tx like this: http://blockchain.info/address/1PhKfcoFJbgfPcCPYih1RtWJWdYkmE2p4K, and your concern on UTXO bloat is completely solved.

The very idea that we'll just go off an change the limits without a demonstrated problem is why it's political. With the current 1MB hard limit, a 250KB UTXO limit makes sense. (what I would have proposed) Increasing the hard limit in exchange for a UTXO limit still runs into the more important issues about ensuring that miners can operate on low-bandwidth connections.
legendary
Activity: 1792
Merit: 1087
Don't get me wrong, I think there should be a specific UTXO growth limit just like there is a blocksize limit. However js2012 described it as a solution that would solve the problem totally, which it won't.

If the issue was less politically controversial, not to mention technically risky, I'd propose a patch creating such a limit for the May 15th hardfork. As it stands there's no way it'd happen though.

You suggest the current 1M limit will allow UTXO grows by 52GB per year at most, or about 600k per block at most.

So we can raise the 1M limit to 2M limit, while putting a limit on UTXO growth at 600k. That will allow more legitimate use of blockchain while kill spammy tx like this: http://blockchain.info/address/1PhKfcoFJbgfPcCPYih1RtWJWdYkmE2p4K, and your concern on UTXO bloat is completely solved.
legendary
Activity: 1120
Merit: 1149
Don't get me wrong, I think there should be a specific UTXO growth limit just like there is a blocksize limit. However js2012 described it as a solution that would solve the problem totally, which it won't.

If the issue was less politically controversial, not to mention technically risky, I'd propose a patch creating such a limit for the May 15th hardfork. As it stands there's no way it'd happen though.
sr. member
Activity: 461
Merit: 251
The idea isn't new.
That's unsurprising Smiley
Quote
It also doesn't help much because the UTXO growth limit has to scale with the overall blocksize limit or it becomes difficult to reliably get transactions confirmed.
But it only limits the kinds of transactions we want to regulate in the first place...  Same as a block size limit makes it difficult to reliably get big, space wasting transactions confirmed.  It's up to miners and users to conform to economically optimal usage patterns of scarce block space, so why shouldn't the same apply to scarce UTXO space?
Quote
Since it has to be a significant fraction it still doesn't solve the underlying scaling problem, only buys you time temporarily.
Cool, I know you agree that buying time seems to be the name of the game Smiley
legendary
Activity: 1120
Merit: 1149
As we increase the max block size, we may have a UTXO index, which is the total number of outputs in a block minus the total number of inputs in a block, and have a hard limit for it

Problem solved.
Some txouts are bigger than others, so maybe the sum of the sizes of the txouts created minus the sum of the sizes of the txouts spent would be more appropriate?

Very good!

Any comments from OP?  Roll Eyes

The idea isn't new. It also doesn't help much because the UTXO growth limit has to scale with the overall blocksize limit or it becomes difficult to reliably get transactions confirmed. Since it has to be a significant fraction it still doesn't solve the underlying scaling problem, only buys you time temporarily.
legendary
Activity: 2940
Merit: 1090
There are mechanisms known as regulators, so I think you maybe witch-hunted a bit on that one.

Might have to give you oleaginous though, have to think or even research more on that one.

Edit: seems to me like the very mechanisms in question are price as barrier to entry fixing/regulating mechanisms. Hmm.

-MarkM-

staff
Activity: 4172
Merit: 8419
If running a full node becomes impractical for home users, but millions of small, medium, and large businesses around the world are running them the system is still decentralized.
Who gives a hoot about "home users"? The concern there is that there is enormous invectives for freeloading— if running a full node is so costly that home users cannot run one what makes you think that "millions" of small, medium, and large businesses _will_ instead of just using SPV to accept coins?  It's easy to see how the system can be thoroughly decentralized when it is fairly inexpensive to operate, it's less obvious when you assume it will be a real cost center.
legendary
Activity: 1792
Merit: 1087
As we increase the max block size, we may have a UTXO index, which is the total number of outputs in a block minus the total number of inputs in a block, and have a hard limit for it

Problem solved.
Some txouts are bigger than others, so maybe the sum of the sizes of the txouts created minus the sum of the sizes of the txouts spent would be more appropriate?

Very good!

Any comments from OP?  Roll Eyes
sr. member
Activity: 461
Merit: 251
As we increase the max block size, we may have a UTXO index, which is the total number of outputs in a block minus the total number of inputs in a block, and have a hard limit for it

Problem solved.
Some txouts are bigger than others, so maybe the sum of the sizes of the txouts created minus the sum of the sizes of the txouts spent would be more appropriate?
legendary
Activity: 1792
Merit: 1087
As we increase the max block size, we may have a UTXO index, which is the total number of outputs in a block minus the total number of inputs in a block, and have a hard limit for it

Problem solved.
sr. member
Activity: 310
Merit: 250
I'll refer the religious capitalist wonks to my earlier post on the nature of Bitcoin:

Suffice it to say that such large, amazingly outperforming oligolies are extremely difficult to form on completely unregulated markets.

Bitcoin itself is an oligopoly. What are Bitcoins made of anyway? They're just bits, information, and by themselves information is incredibly, ridiculously cheap. Of course the incredibly low price of information is made possible by the free market itself, specifically the amazingly successful computer industry.

Bitcoin is a system by which every participant creates a shared oligopoly on a particular set of information, the blockchain. From day #1 Bitcoin was about taking information that, if subject to free market forces, would be so incredibly cheap that it'd be basically free and artificially making it expensive. This shared oligopoly, achieved through the rules set out by Satoshi, makes this information incredibly expensive, so much so that 32 bytes of information, a private key, can now be worth millions of dollars.

Basically the decision about how big our shared oligopoly should allow blocks to be is just a decision about what rules we'll follow to make our little bits of otherwise worthless information as valuable as possible. Myself, gmaxwell, and many others happen to think that if we limits blocks to 1MiB each, keeping the regulations as they are, our little oligopoly will maximize the value of that information. Gavin, Mike Hearn, and many others happens to think that if blocks are allowed to be bigger than 1MiB, thus changing the regulations, our little oligopoly will maximize the value of that information.

Don't for a second think any of this discussion is about free market forces. Bitcoin is about artificially subverting free market forces through regulation, for the benefit of everyone participating in the oligopoly that is Bitcoin. It just happens to be that the way to become part of this oligopoly isn't by, say, living in a certain part of the world that's mostly desert, it's by either buying entrance (buying some Bitcoins) or by doing a completely made up activity that has no purpose outside the oligopoly. (mining)

Step 1, start a new thread on the exact same topic that a significant number of other threads have been started on.
Step 2, make no real new points in new thread
Step 3, ignore any new contrary points raised in new thread
Step 4, refer all criticism in new thread to shit you said in other threads
Step 5, Huh?
Step 6, profit.


you're a guy who has openly argued for a world in which a bitcoin transaction costs $15-$20, when the actual costs to process a transaction are in the hundredths of a cent, and you are calling us capitalist wonks.
legendary
Activity: 1120
Merit: 1149
I'll refer the religious capitalist wonks to my earlier post on the nature of Bitcoin:

Suffice it to say that such large, amazingly outperforming oligolies are extremely difficult to form on completely unregulated markets.

Bitcoin itself is an oligopoly. What are Bitcoins made of anyway? They're just bits, information, and by themselves information is incredibly, ridiculously cheap. Of course the incredibly low price of information is made possible by the free market itself, specifically the amazingly successful computer industry.

Bitcoin is a system by which every participant creates a shared oligopoly on a particular set of information, the blockchain. From day #1 Bitcoin was about taking information that, if subject to free market forces, would be so incredibly cheap that it'd be basically free and artificially making it expensive. This shared oligopoly, achieved through the rules set out by Satoshi, makes this information incredibly expensive, so much so that 32 bytes of information, a private key, can now be worth millions of dollars.

Basically the decision about how big our shared oligopoly should allow blocks to be is just a decision about what rules we'll follow to make our little bits of otherwise worthless information as valuable as possible. Myself, gmaxwell, and many others happen to think that if we limits blocks to 1MiB each, keeping the regulations as they are, our little oligopoly will maximize the value of that information. Gavin, Mike Hearn, and many others happens to think that if blocks are allowed to be bigger than 1MiB, thus changing the regulations, our little oligopoly will maximize the value of that information.

Don't for a second think any of this discussion is about free market forces. Bitcoin is about artificially subverting free market forces through regulation, for the benefit of everyone participating in the oligopoly that is Bitcoin. It just happens to be that the way to become part of this oligopoly isn't by, say, living in a certain part of the world that's mostly desert, it's by either buying entrance (buying some Bitcoins) or by doing a completely made up activity that has no purpose outside the oligopoly. (mining)
legendary
Activity: 1400
Merit: 1009
The lower the barrier to entry that running a full node is, the less capacity the system can support overall. There has to be a balance, and decentralization as a core tenet will be persevered, just not to the degree that it is today with a fraction of overall capacity utilized.
Some people appear to be using "decentralization" to mean "I never want to have to upgrade my computer ever again" or worse, "I want to be able to decide who gets to join the club and who doesn't"

If running a full node becomes impractical for home users, but millions of small, medium, and large businesses around the world are running them the system is still decentralized.
sr. member
Activity: 310
Merit: 250
Non-mining Bitcoin businesses will need full nodes, and the costs of running one will be justified by the security gained by not needing to rely on a 3rd party for payment processing.

And the system will always have as many full nodes as it requires, because interested parties will contribute resources to maintain security. That doesn't mean that every user will or should run a full node.

The lower the barrier to entry that running a full node is, the less capacity the system can support overall. There has to be a balance, and decentralization as a core tenet will be persevered, just not to the degree that it is today with a fraction of overall capacity utilized.
sr. member
Activity: 310
Merit: 250
Someone explain to me why its ok that mining is now (almost) effectively a professional level only activity, and will become increasingly more so with ASICs, but that its not ok that larger block sizes could make mining effectively a professional level only activity if the block sizes ever grew faster than commodity bandwidth, which is currently at least 2 orders of magnitude greater than what the system requires.
1. Mining is at a hobbyist level and will always remain that way. Buy hardware with USD, run hardware. Vote with your hashpower for the best pool.


you are kidding yourself. eventually it will be dominated by companies and the only hobbyist miners will be the ones willing to lose money performing the activity. Its already the case that you can't mine on a CPU and it will soon be the case that you can't mine on a GPU. Once all mining is done by ASICs, companies will stop selling rigs and start larger consolidated mining operations themselves.

The original post was only taking about mining. Being able to run a full node is a separate discussion. My mining rigs are not running full nodes.
Pages:
Jump to: