Bitcoin Forum
May 02, 2024, 05:02:56 AM *
News: Latest Bitcoin Core release: 27.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 3082 times)
Peter Todd (OP)
Legendary
*
expert
Offline Offline

Activity: 1120
Merit: 1150


View Profile
March 14, 2013, 06:43:27 PM
 #1

So right now with 1MB blocks the most the unspent transactions (UTXO) set can grow is by 52GB per year. That's pretty small; you can fit a few years of maximum growth on a single cheap SSD with no problems. Because transactions aren't free due to competition it's pretty expensive to bloat the UTXO set and it's growing slowly.

But what happens if the limit is raised or lifted? We know that transactions will never become totally free - bandiwidth costs money - but at the same time if you are Google it's going to cost you orders of magnitude less money to process a transaction than a guy running a small mining pool on a virtual server. Google can also broadcast every block they find worldwide at very, very little cost and very fast. That means by including a transaction the marginal increase of their orphan rate is much less than for the small mining pool.

They can use that advantage to sell cheap block space en-mass. It's good if you want to do a bunch of on-chain bets, AKA SatoshiDice. It's also good if you want to timestamp files. In fact, they could even offer a backup service that just dumps data onto the blockchain itself - lets call it "Google Chain Storage", the only backup service in the world where you know your data is safe every time you perform a transaction.

But what happens to all this data? To mine you must have a full copy of all unspent transactions. So you the small pool operator have less revenue coming in, yet the same costs that Google does. Of course eventually you'll run out of money and go out of business - SSD's don't grow on trees after all. Obviously there is even a perverse incentive to deliberately bloat the UTXO set if you are in the game for the long run.

This cycle will repeat over and over again until there are only a small number of mining pools left. More importantly, to start a new mining pool is going to be very expensive. You may even find that even if you have the money to start a new pool actually getting the UTXO data is hard - the pools don't have to give you that data when you ask them for it.

With just a half dozen pools left, and no easy way to start a new one, it'd be very easy for those pool operators to get together and make a decision - not unlike how they got together when the recent fork happened and made the collective decision to switch to version 0.7 in just a few minutes.

Unfortunately, this time the decision can be to change the inflation schedule, and there is absolutely nothing you can do about it. Sure 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.

1714626176
Hero Member
*
Offline Offline

Posts: 1714626176

View Profile Personal Message (Offline)

Ignore
1714626176
Reply with quote  #2

1714626176
Report to moderator
1714626176
Hero Member
*
Offline Offline

Posts: 1714626176

View Profile Personal Message (Offline)

Ignore
1714626176
Reply with quote  #2

1714626176
Report to moderator
Once a transaction has 6 confirmations, it is extremely unlikely that an attacker without at least 50% of the network's computation power would be able to reverse it.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
grau
Hero Member
*****
Offline Offline

Activity: 836
Merit: 1021


bits of proof


View Profile WWW
March 14, 2013, 07:28:46 PM
 #2

What if blocks remain 1MB?: Profitable services like SD out price simple user from block space, who in turn go to Google offering Bitcoin 2.0 bigger block with cheaper transactions to Amazon. SD loses customer and also moves to Bitcoin 2.0 at Google. Same outcome.
Peter Todd (OP)
Legendary
*
expert
Offline Offline

Activity: 1120
Merit: 1150


View Profile
March 14, 2013, 07:31:23 PM
 #3

What if blocks remain 1MB?: Profitable services like SD out price simple user from block space, who in turn go to Google offering Bitcoin 2.0 bigger block with cheaper transactions to Amazon. SD loses customer and also moves to Bitcoin 2.0 at Google. Same outcome.

I suggest Litecoin remove the blocksize limit immediately so we can test your theory.

grau
Hero Member
*****
Offline Offline

Activity: 836
Merit: 1021


bits of proof


View Profile WWW
March 14, 2013, 07:32:43 PM
 #4

Is there a profitable service on Litecoin?
Peter Todd (OP)
Legendary
*
expert
Offline Offline

Activity: 1120
Merit: 1150


View Profile
March 14, 2013, 07:42:32 PM
Last edit: March 14, 2013, 08:03:37 PM by retep
 #5

Is there a profitable service on Litecoin?

I dunno - I don't follow alt-currencies as much as I should. Litecoin has a SatoshiDice-like thing doesn't it? I've noticed the market cap of Litecoins is reasonably high.

I'd be happy to write the patch required and submit it as a pull request. Lets follow Mike Hearn's suggestion of just removing the limit and we can make it enable itself at some defined block # in the future. We can do that by just making the limit double every month, to give miners some time to adjust, and have the limit start growing in 4 months to give everyone time to upgrade.

It'd be a great experiment and could really set Litecoin apart. They've always wanted to be the "silver" to Bitcoin's "gold": fast cheap and convenient transactions. Hey, I'd love to be proven wrong about this blocksize thing.

markm
Legendary
*
Offline Offline

Activity: 2940
Merit: 1090



View Profile WWW
March 14, 2013, 10:18:12 PM
Last edit: March 15, 2013, 02:33:34 AM by markm
 #6

I wonder if even BBQcoin would consider such a fun experiment to be their kind of fun..

Consider the politics too! Whose shill / sockpuppet are you!?!?! How much are the Bit-enders paying you to incite this attack upon the Lite-enders' currency? Don't you know that incitement to riot is a crime?

In fairness though, GRouPcoin was created specifically to try out some ideas for feasibility prior to deploying them "for real", and has in some ways somewhat flimsy arguments for whatever it currently claims to be for or about, so maybe we do have a coin sitting by that could be argued into volunteering to be the victim - uh, subject - in such a study, and, by the way, LiTeCoin already has four times as much space to fill each ten minutes as BiTCoin does thus is already clearly superior to BiTCoin's puny throughput thus would be four times harder to actually impact even though it is patently obvious why the bit-enders would single it out to target, being with good reason jealous of the obviously superior coin, whereas GRouPcoin just has plain old just-like-BiTCoin blocks at the just-like-BiTCoin target rate of one every ten minutes.

GRouPcoin already stands as an ongoing test of some groups' claims that lowering block rewards over time is stupid, so why the heck not also show its forward-thinking and heroic willingness to take what some might regard as risk, for the greater good of the entire blockchain based data / blockchain based applications movement?

Oh I know what detractors are going to say... Who is this worthless GRouPcoin upstart and how can its worthless coins possibly propose to stand in for truly valuable coins such as LiTeCoins, or even jealous scheming underhanded incitement-artists' coins such as BiTCoins?

But that is a straw-man argument! Why? Oh come on, surely it is obvious... If any coin actually has any value at all then merely by exercising its freedom to buy stuff it itself can by simple exercise of its own right of free exchange impart value to any coin it chooses, by the simple act of buying some! Thus no matter how previously-worthless it might regard some other coin, it itself is free to impart to any other coin any amount of value it deems it necessary for the victim of this proposed attack to have to have in order for such victim to qualify as an attackee!

Heck we could spawn a whole new coin, a Crunchy Berry Coin of the Day if you will, specifically for the purpose of the proposed "experiment" and merely by exercise of the vaunted "value" of the bit-ender's own coin of choice impart to it as much value as any family could ever need! Heck, give each coin 640k-RAM of value if you want! Or a pair of socks per coin! It is all within your own power as bit-enders to impart value to anything you yourselves choose to value! So go ahead, value some other coin! Lets get this show on the road! Any other volunteers step right up, the bit-enders are handing out value, get yours now!

Oh wait, they could do that to their own darn testnet! OMG what if they made their own testnet's coins more valuable than our very own dear to our hearts' Crunchy Berry Coin of the Day?!?!?! Woe woe and thrice woe!

It could also be argued that as second-most-valuable of the blockchain-based coins, LiTeCoin's miners might well be those most likely to have the infrastructure and motivation to weather such an "experiment", so might not even be as vulnerable to such an "attack" as other altcoins.

But wait! Maybe we can hoist the bit-enders by their own petard! Suppose LiTeCoin actually did volunteer itself as the "victim" chain for this little "experiment" and ended up scaling up to massively Googillianesque scales, becoming so valuable and so huge that not only does it lure the Fortune 100 into adopting it but also only the most technologically pre-prepared of the Fortune 100 could even begin to consider hosting its gigapetabytes of UTXOs let alone its petapetabytes of actual blockchain? Wouldn't it have "won"? Wouldn't that show the bit-enders a thing or two about who is really the most super, most-dooper, most uber uber-chain of them all?!?!

Maybe the only real question here is, are the bit-enders scaredy-cats, that they would hand over such an opportunity to prove a chain's uberness to some other chain instead of jumping at the opportunity to prove their own uberness by making their own test-net chain more valuable than any altchain could ever hope or dream of becoming?

</tongueincheek>

-MarkM-

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

Activity: 2506
Merit: 1010


View Profile
March 15, 2013, 02:06:54 AM
Last edit: March 15, 2013, 02:27:05 AM by Stephen Gornick
 #7

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.

It isn't the miners who decide.   It is the economic majority who will buy the miner's coins that decides.  

If this happened today and the very next block were to be a fork as you describe as 80% of the hashing power ganged up and switched over to a client that followed your protocol change, the decision facing users, merchants and exchanges would be .... do we follow, or do we boycott?

Probably what would happen is that payment processing for much of the bitcoin economy would be immediately halted (i.e., there would be no recognition of confirmations on either side of the fork) until some discussions occur.  But if those who buy coins (the economic majority) were to boycott the protocol change, it would only be a matter of time (minutes to hours) before individual miners would leave the pools that pulled that stunt and the chain for the original protocol would gain and extend beyond the height for the chain with the changed protocol.

[Update: And the difference between your scenario and this weeks' hard-fork was that users, merchants and exchagne were already using software that unknowingly accepted the rule change (no more 10K BDB locks, and reverting to v0.7 was compatible with both v0.7 and v0.8 clients.  i.e., it didn't require everyone to have to change their software to something that understood a change to the protocol rules.]

Unichange.me

            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █


Sunny King
Legendary
*
Offline Offline

Activity: 1205
Merit: 1010



View Profile WWW
March 15, 2013, 02:23:59 AM
 #8

Is there a profitable service on Litecoin?

I dunno - I don't follow alt-currencies as much as I should. Litecoin has a SatoshiDice-like thing doesn't it? I've noticed the market cap of Litecoins is reasonably high.

I'd be happy to write the patch required and submit it as a pull request. Lets follow Mike Hearn's suggestion of just removing the limit and we can make it enable itself at some defined block # in the future. We can do that by just making the limit double every month, to give miners some time to adjust, and have the limit start growing in 4 months to give everyone time to upgrade.

It'd be a great experiment and could really set Litecoin apart. They've always wanted to be the "silver" to Bitcoin's "gold": fast cheap and convenient transactions. Hey, I'd love to be proven wrong about this blocksize thing.

They'd need to move to bitcoin v0.8 first and then hard fork otherwise it's pointless as it would hit the BDB limit.
Peter Todd (OP)
Legendary
*
expert
Offline Offline

Activity: 1120
Merit: 1150


View Profile
March 15, 2013, 04:47:59 AM
 #9

I wonder if even BBQcoin would consider such a fun experiment to be their kind of fun..

Consider the politics too! Whose shill / sockpuppet are you!?!?! How much are the Bit-enders paying you to incite this attack upon the Lite-enders' currency? Don't you know that incitement to riot is a crime?

Well this is why I'm perfect for the job: it's already clear to many (if not all) that I am hell-bent on destroying Bitcoin and likely any other crypto-coin. Tongue

But wait! Maybe we can hoist the bit-enders by their own petard! Suppose LiTeCoin actually did volunteer itself as the "victim" chain for this little "experiment" and ended up scaling up to massively Googillianesque scales, becoming so valuable and so huge that not only does it lure the Fortune 100 into adopting it but also only the most technologically pre-prepared of the Fortune 100 could even begin to consider hosting its gigapetabytes of UTXOs let alone its petapetabytes of actual blockchain? Wouldn't it have "won"? Wouldn't that show the bit-enders a thing or two about who is really the most super, most-dooper, most uber uber-chain of them all?!?!

Maybe the only real question here is, are the bit-enders scaredy-cats, that they would hand over such an opportunity to prove a chain's uberness to some other chain instead of jumping at the opportunity to prove their own uberness by making their own test-net chain more valuable than any altchain could ever hope or dream of becoming?

Ha. I remember a discussion I had with someone on IRC awhile back where we were joking that we should port SatoshiDice to one of the alt-coins to kill it in a flood of spam: "Of course, we couldn't just run bots, we'd have to let anyone make real bets. We could even fund the effort from the profit generated! In fact, it might kickstart the alt-coin's adoption, raise the price, and before long we'll be implementing off-chain transactions to ensure we don't kill our golden goose!"

They'd need to move to bitcoin v0.8 first and then hard fork otherwise it's pointless as it would hit the BDB limit.

Of course. An easy task probably given that there aren't many differences between Litecoin and Bitcoin technologically.

It isn't the miners who decide.   It is the economic majority who will buy the miner's coins that decides.  

Re-read my post. I'm well aware the economic majority argument and wrote it specifically to demonstrate how it doesn't always apply.


While we're at it consider how database protection laws (IE "copywrite-like" for databases) could apply to blockchains. Keeping a UTXO set will be very expensive, so it's easy to see how full nodes with that data will want to find some way to be paid to maintain it. Directly paying for access is one option for instance, but the other is for miners to offer free access. For the latter scenario even if the miners don't ask for exclusivity contracts in return, IE you agree to only send your transactions to this mining pool, there are good reasons for a miner to try to ensure that no-one can do a whole-sale copy of their UTXO database, as allowing that, even if paid for, allows for competitors to start up. Violating those agreements can be seen as violating database protection laws in jurisdictions where they exist, in addition to violating the contracts themselves. (note the very similar concepts outlined in the "red balloons" paper)

The transactions included with each block form another source of UTXO data, albeit a source that requires one to stay online constantly. Now you have yet another perverse incentive: if a competitor experiences some downtime for whatever reason you have no reason to want to give them the UTXO data that allows them to start mining again. Of course, they have the option of trying to pay for it, but ultimately the mining pool as a business has to ask the question "Do you accept $x from a competitor, when if you don't accept the payment they may be forced out of business?"

Finally when you create a block you do have an incentive to distribute the transactions associated with that block so as to allow your competitors to build upon that block. But your incentive is for only >50% of the hashing power to have that data, because it's that >50% who will inevitably create a longer chain. Of course, including measurement errors and variance you'll want to target a higher percentage, but the point is miners have incentives to ask other miners for proof they control a certain amount of hashing power, and just not bother relying solved blocks to players who only control a tiny amount of hashing power. Again when the number of miners is sufficiently small this can all be done as legal agreements backed by contract law and database protection laws.

tl;dr: A rational miner has a incentive to deliberately withhold transaction and UTXO data when the cost of maintaining that data is high and the overall number of miners low, and that incentive perversely leads to even further centralization.

markm
Legendary
*
Offline Offline

Activity: 2940
Merit: 1090



View Profile WWW
March 15, 2013, 04:56:11 AM
 #10

And that, kids, is why every hobbyist wants at least one Google-style portable datacentre-in-a-container in his garage, just in case...

-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: 1150


View Profile
March 15, 2013, 05:08:02 AM
 #11

And that, kids, is why every hobbyist wants at least one Google-style portable datacentre-in-a-container in his garage, just in case...

Plot for a cyberpunk story: The UTXO set "hording" happened, followed by a tech revolution that suddenly made storage space/network bandwidth a lot cheaper and P2P sharing of it feasible again. Given the enormous incentives remote hackers, physical thieves, and insiders launch an all-out attempt to steal that UTXO set data. Whomever succeeds has done something not dissimilar to stealing the gold out of the national reserve, albeit in this case the "gold" is a constantly perishing commodity and the attempt would also require a co-ordinated launch of enough hashing power to make the new UTXO set actually useful. (maybe done by remotely hacking water heaters around the world?)

markm
Legendary
*
Offline Offline

Activity: 2940
Merit: 1090



View Profile WWW
March 15, 2013, 05:10:41 AM
 #12

Just collecting a few portable datacentres from time to time isn't so unfeasible though, is it, for the average hobbyist? I mean, like, how many Satoshis can those things actually cost, really?

-MarkM-

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

Activity: 1792
Merit: 1093


View Profile
March 15, 2013, 05:20:25 AM
Last edit: March 15, 2013, 05:47:14 AM by jl2012
 #13

I think we should think out of the box.

The block size limit could be determined by more factors, not just the absolute size.

I have a rough idea:

Let's denote:

#I: number of inputs in a transaction
S0, S1,.....,Sn: Amount of Satoshis of the output 0, 1 ..... n.
ST: Total Satoshis would ever exist, i.e. 2,100,000,000,000,000
Size: size of the transaction in kB.

The adjusted transaction size is defined as:

Size * (log(ST - S0) + log(ST - S1) + ..... + log(ST - Sn)) / #I

The maximum block size will be calculated by the adjusted transaction size, not the absolute size.

Many problems are solved with a system like this:

1. Block size is still scare, although not stick to an absolute number
2. Miners will have an incentive to exclude dust outputs, because that will increase the adjusted block size
3. Miners will love transactions with many inputs, because that will decrease the adjusted block size. So the UTXO set could be reduced.
4. People trying to send dust outputs and/or inflate UTXO set have to pay more miner fee
5. The block size, which costs bandwidth and disk space, is still accounted.

EDIT: There is some defect in this part: (log(ST - S0) + log(ST - S1) + ..... + log(ST - Sn)), because it doesn't really discriminate dust outputs. I will think about it again

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

Activity: 310
Merit: 250


View Profile
March 15, 2013, 03:06:14 PM
 #14

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.

The bottom line is that if there is money in it, it will become more centralized (to some degree) simply because it will begin to create competition, which will increase startup costs for new participants. That's how the fucking world works. Everyone ignores that it used to be the case that bitcoin could be effectively mined on CPUs, and will very soon require speciality single purpose hardware, but makes a huge deal that you might also need reasonable bandwidth and storage resources to be a miner.

Understand this very clearly, difficulty already makes mining become increasingly more centralized. It has the entire time that Bitcoin has existed.

If Bitcoin becomes so popular that mining becomes very expensive, just from the bandwidth and storage reasons arising from a slowly growing max block size limit where sufficient transaction fees are being paid (as they are in the case of SD), we'll all be very happy with the value of our coins, and how freaking useful they are.
mintymark
Sr. Member
****
Offline Offline

Activity: 286
Merit: 251


View Profile
March 15, 2013, 03:31:51 PM
 #15

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.

The bottom line is that if there is money in it, it will become more centralized (to some degree) simply because it will begin to create competition, which will increase startup costs for new participants. That's how the fucking world works. Everyone ignores that it used to be the case that bitcoin could be effectively mined on CPUs, and will very soon require speciality single purpose hardware, but makes a huge deal that you might also need reasonable bandwidth and storage resources to be a miner.

Understand this very clearly, difficulty already makes mining become increasingly more centralized. It has the entire time that Bitcoin has existed.

If Bitcoin becomes so popular that mining becomes very expensive, just from the bandwidth and storage reasons arising from a slowly growing max block size limit where sufficient transaction fees are being paid (as they are in the case of SD), we'll all be very happy with the value of our coins, and how freaking useful they are.

I agree.

[[ All Tips gratefully received!!  ]]
15ta5d1N8mKkgC47SRWmnZABEFyP55RrqD
Prattler
Full Member
***
Offline Offline

Activity: 192
Merit: 100


View Profile
March 15, 2013, 03:44:33 PM
 #16

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 (hashing) 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.
2. You are mixing mining pools and full nodes. Those are very different! Full nodes don't get any reward for mining, but they carry the expenses.

Some people say "screw full nodes, who needs them". Well it's a matter of opinion, but, IMHO, a network with a low number of full nodes would not be decentralized in the full sense. It would be a closed system with a huge barrier of entry.
justusranvier
Legendary
*
Offline Offline

Activity: 1400
Merit: 1009



View Profile
March 15, 2013, 03:48:05 PM
 #17

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.
conv3rsion
Sr. Member
****
Offline Offline

Activity: 310
Merit: 250


View Profile
March 15, 2013, 03:51:48 PM
 #18

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.
conv3rsion
Sr. Member
****
Offline Offline

Activity: 310
Merit: 250


View Profile
March 15, 2013, 04:01:11 PM
 #19

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

Activity: 1400
Merit: 1009



View Profile
March 15, 2013, 04:08:03 PM
 #20

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

Activity: 1120
Merit: 1150


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: 1093


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: 1093


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: 4158
Merit: 8382



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: 2940
Merit: 1090



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: 1150


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: 1150


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: 1093


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: 1150


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: 1093


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: 1150


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: 1150


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!