Bitcoin Forum
December 13, 2024, 11:12:12 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2]  All
  Print  
Author Topic: How to force a rule change by bloating the UTXO set  (Read 3136 times)
Peter Todd (OP)
Legendary
*
expert
Offline Offline

Activity: 1120
Merit: 1164


View Profile
March 15, 2013, 04:46:39 PM
 #21

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)

conv3rsion
Sr. Member
****
Offline Offline

Activity: 310
Merit: 250


View Profile
March 15, 2013, 05:35:14 PM
 #22

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.
jl2012
Legendary
*
Offline Offline

Activity: 1792
Merit: 1111


View Profile
March 16, 2013, 12:57:46 AM
 #23

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.

Donation address: 374iXxS4BuqFHsEwwxUuH3nvJ69Y7Hqur3 (Bitcoin ONLY)
LRDGENPLYrcTRssGoZrsCT1hngaH3BVkM4 (LTC)
PGP: D3CC 1772 8600 5BB8 FF67 3294 C524 2A1A B393 6517
d'aniel
Sr. Member
****
Offline Offline

Activity: 461
Merit: 251


View Profile
March 16, 2013, 02:00:36 AM
 #24

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?
jl2012
Legendary
*
Offline Offline

Activity: 1792
Merit: 1111


View Profile
March 17, 2013, 03:15:44 PM
 #25

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

Donation address: 374iXxS4BuqFHsEwwxUuH3nvJ69Y7Hqur3 (Bitcoin ONLY)
LRDGENPLYrcTRssGoZrsCT1hngaH3BVkM4 (LTC)
PGP: D3CC 1772 8600 5BB8 FF67 3294 C524 2A1A B393 6517
gmaxwell
Moderator
Legendary
*
expert
Offline Offline

Activity: 4298
Merit: 8818



View Profile WWW
March 17, 2013, 04:08:46 PM
 #26

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.
markm
Legendary
*
Offline Offline

Activity: 3052
Merit: 1134



View Profile WWW
March 17, 2013, 06:20:09 PM
 #27

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-


Browser-launched Crossfire client now online (select CrossCiv server for Galactic  Milieu)
Free website hosting with PHP, MySQL etc: http://hosting.knotwork.com/
Peter Todd (OP)
Legendary
*
expert
Offline Offline

Activity: 1120
Merit: 1164


View Profile
March 17, 2013, 07:56:44 PM
 #28

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.

d'aniel
Sr. Member
****
Offline Offline

Activity: 461
Merit: 251


View Profile
March 17, 2013, 09:28:19 PM
 #29

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
Peter Todd (OP)
Legendary
*
expert
Offline Offline

Activity: 1120
Merit: 1164


View Profile
March 17, 2013, 09:54:36 PM
 #30

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.

jl2012
Legendary
*
Offline Offline

Activity: 1792
Merit: 1111


View Profile
March 18, 2013, 01:22:13 AM
Last edit: March 18, 2013, 02:47:01 AM by jl2012
 #31

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.

Donation address: 374iXxS4BuqFHsEwwxUuH3nvJ69Y7Hqur3 (Bitcoin ONLY)
LRDGENPLYrcTRssGoZrsCT1hngaH3BVkM4 (LTC)
PGP: D3CC 1772 8600 5BB8 FF67 3294 C524 2A1A B393 6517
Peter Todd (OP)
Legendary
*
expert
Offline Offline

Activity: 1120
Merit: 1164


View Profile
March 18, 2013, 02:57:39 AM
 #32

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.

jl2012
Legendary
*
Offline Offline

Activity: 1792
Merit: 1111


View Profile
March 18, 2013, 03:44:02 AM
 #33

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://bitcointalk.org/index.php?topic=153662.0 , 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.

Donation address: 374iXxS4BuqFHsEwwxUuH3nvJ69Y7Hqur3 (Bitcoin ONLY)
LRDGENPLYrcTRssGoZrsCT1hngaH3BVkM4 (LTC)
PGP: D3CC 1772 8600 5BB8 FF67 3294 C524 2A1A B393 6517
eldentyrell
Donator
Legendary
*
Offline Offline

Activity: 980
Merit: 1004


felonious vagrancy, personified


View Profile WWW
March 18, 2013, 07:39:44 AM
 #34

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.

The printing press heralded the end of the Dark Ages and made the Enlightenment possible, but it took another three centuries before any country managed to put freedom of the press beyond the reach of legislators.  So it may take a while before cryptocurrencies are free of the AML-NSA-KYC surveillance plague.
Peter Todd (OP)
Legendary
*
expert
Offline Offline

Activity: 1120
Merit: 1164


View Profile
March 18, 2013, 07:45:25 AM
 #35

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.

eldentyrell
Donator
Legendary
*
Offline Offline

Activity: 980
Merit: 1004


felonious vagrancy, personified


View Profile WWW
March 18, 2013, 10:30:23 AM
 #36

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.

The printing press heralded the end of the Dark Ages and made the Enlightenment possible, but it took another three centuries before any country managed to put freedom of the press beyond the reach of legislators.  So it may take a while before cryptocurrencies are free of the AML-NSA-KYC surveillance plague.
Peter Todd (OP)
Legendary
*
expert
Offline Offline

Activity: 1120
Merit: 1164


View Profile
March 18, 2013, 12:57:08 PM
 #37

Read my top few messages.

Pages: « 1 [2]  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!