Bitcoin Forum
May 14, 2024, 02:41:20 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2]  All
  Print  
Author Topic: Dust Collection  (Read 2649 times)
d'aniel
Sr. Member
****
Offline Offline

Activity: 461
Merit: 251


View Profile
March 09, 2013, 07:53:05 PM
 #21

doesn't this depend on how much Bitcoin appreciates assuming of course that as that appreciation occurs fees are reduced?
Yes, absolutely.  This would mean the UTXO set size scales roughly with the number of users, as it should, ideally.

seems to me that as # users increases, Bitcoin price increases, fees decrease, and UTXO decreases.
Um...  Bitcoin price increases -> fees decrease -> smallest economical txout value decreases -> more UTXOs can be created -> UTXO set size increases.
Every time a block is mined, a certain amount of BTC (called the subsidy) is created out of thin air and given to the miner. The subsidy halves every four years and will reach 0 in about 130 years.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715654480
Hero Member
*
Offline Offline

Posts: 1715654480

View Profile Personal Message (Offline)

Ignore
1715654480
Reply with quote  #2

1715654480
Report to moderator
1715654480
Hero Member
*
Offline Offline

Posts: 1715654480

View Profile Personal Message (Offline)

Ignore
1715654480
Reply with quote  #2

1715654480
Report to moderator
cypherdoc
Legendary
*
Offline Offline

Activity: 1764
Merit: 1002



View Profile
March 09, 2013, 08:04:59 PM
Last edit: March 09, 2013, 08:18:11 PM by cypherdoc
 #22


smallest economical txout value decreases

doesn't the .00000001 BTC become more valuable if the price goes up thus causing more ppl to want to spend them and thus decreasing UTXO?
markm
Legendary
*
Offline Offline

Activity: 2940
Merit: 1090



View Profile WWW
March 09, 2013, 08:09:25 PM
 #23


smallest economical txout value decreases

doesn't the .00000001 BTC become more valuable?

Okay then, lets just hurry up and make bitcoin exchange rates go up to about a million bucks a coin and we'll be set.

(Except for the trifling matter of how much a 0.0005 fee would be in dollars but thats not a hard fork to change.)

-MarkM-

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

Activity: 461
Merit: 251


View Profile
March 09, 2013, 08:28:44 PM
 #24

Your reasoning would make sense to me if UTXO set size was the only scarce resource being rationed, but block space needs to be rationed at the same time.
True at the moment, but in the long term block space does not need to be rationed. It's not even strictly necessary for anyone to keep every transaction all the way back to the Genesis block.

The only data that absolutely must persist forever for the network to function is the UTXO set.
Permanent storage isn't the (significant) scarce resource that requires block space to be rationed, bandwidth is.
justusranvier (OP)
Legendary
*
Offline Offline

Activity: 1400
Merit: 1009



View Profile
March 09, 2013, 08:30:48 PM
 #25

Permanent storage isn't the (significant) scarce resource that requires block space to be rationed, bandwidth is.
Downloading an amount of transactions equal to Visa, based on today's bandwidth costs, would be less than $20/day.
d'aniel
Sr. Member
****
Offline Offline

Activity: 461
Merit: 251


View Profile
March 09, 2013, 08:38:25 PM
 #26

Permanent storage isn't the (significant) scarce resource that requires block space to be rationed, bandwidth is.
Downloading an amount of transactions equal to Visa, based on today's bandwidth costs, would be less than $20/day.
So you agree that bandwidth is a scarce resource?

High frequency trading especially uses up a lot of it...
gmaxwell
Moderator
Legendary
*
expert
Offline Offline

Activity: 4172
Merit: 8420



View Profile WWW
March 09, 2013, 08:42:56 PM
 #27

True, it doesn't require any protocol changes... but it does require miners to care.
Not just care, but care enough to forgo some income for it when they take a txn consuming more utxo paying lower fees per byte over one consuming less utxo paying more.
markm
Legendary
*
Offline Offline

Activity: 2940
Merit: 1090



View Profile WWW
March 09, 2013, 08:43:31 PM
 #28

So lets say $20 per day per node, compare that to the number of dollars available to be mined each day and you have the number of nodes the network can support I guess, yes?

-MarkM-

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

Activity: 1400
Merit: 1009



View Profile
March 09, 2013, 08:52:50 PM
 #29

So lets say $20 per day per node, compare that to the number of dollars available to be mined each day and you have the number of nodes the network can support I guess, yes?
If we're talking about a Bitcoin economy that is generating 2000 transactions per second there's a bit more to it than just the block reward.

Don't forget to scale the existing fee revenue by three orders of magnitude.

Then make sure to add in the nodes operated by Bitcoin-dependent businesses that absorb that cost into their overhead.
d'aniel
Sr. Member
****
Offline Offline

Activity: 461
Merit: 251


View Profile
March 09, 2013, 08:59:00 PM
 #30

True, it doesn't require any protocol changes... but it does require miners to care.
Not just care, but care enough to forgo some income for it when they take a txn consuming more utxo paying lower fees per byte over one consuming less utxo paying more.
I think there needs to be a mining manual called "Responsible Blockchain Stewardship" Smiley

If it does turn out to be a tragedy of the commons type situation, then I would think that miners would enact block discouraging rules to solve the problem, once it becomes painful enough.  Hopefully they don't end up acting like idiots in the aggregate, though...
cypherdoc
Legendary
*
Offline Offline

Activity: 1764
Merit: 1002



View Profile
March 09, 2013, 09:01:22 PM
 #31

So lets say $20 per day per node, compare that to the number of dollars available to be mined each day and you have the number of nodes the network can support I guess, yes?
If we're talking about a Bitcoin economy that is generating 2000 transactions per second there's a bit more to it than just the block reward.

Don't forget to scale the existing fee revenue by three orders of magnitude.

Then make sure to add in the nodes operated by Bitcoin-dependent businesses that absorb that cost into their overhead.

how do you arrive at 3?
justusranvier (OP)
Legendary
*
Offline Offline

Activity: 1400
Merit: 1009



View Profile
March 09, 2013, 09:04:07 PM
 #32

how do you arrive at 3?
Blockchain.info is down again so I couldn't get exact numbers but I know the current transaction rate is less than 10 tps. 10->2000 is three orders of magnitude. If we are less than 2 on average now it should be 4 orders of magnitude.
justusranvier (OP)
Legendary
*
Offline Offline

Activity: 1400
Merit: 1009



View Profile
March 09, 2013, 09:10:24 PM
 #33

Not just care, but care enough to forgo some income for it when they take a txn consuming more utxo paying lower fees per byte over one consuming less utxo paying more.
They don't necessarily need to forgo income. At high enough transaction rates there must be some economic value in keeping the UTXO set small enough to fit in RAM. Presumably miners are smart enough to analyze their capital equipment costs and determine the correct magnitude of the incentive.
cypherdoc
Legendary
*
Offline Offline

Activity: 1764
Merit: 1002



View Profile
March 09, 2013, 09:16:47 PM
 #34

if i want to combine dust inputs into a tx, how much does it cost in fees to add say 1 vs 100 of them and assuming they are recent?
misterbigg
Legendary
*
Offline Offline

Activity: 1064
Merit: 1001



View Profile
March 10, 2013, 05:05:50 AM
 #35

The only information that miners absolutely must keep on hand is the set of unspent outputs (UTXO set) because it's possible to allow them to discard all the rest of the historical transaction data using optimizations that have been discussed but not yet implemented. The UTXO set is what some people refer to as unprunable data.

Right now that set is a few hundred megabytes, but if we imagine a billion Bitcoin users all playing Satoshi Dice it would get very large unless there is an incentive for users to limit the number of outputs in their wallet. Especially when the transaction rate is very high miners are probably going to want to keep the UTXO in RAM to speed up verification, which means as the set gets larger their capital equipment costs go up.

So if they effectively subsidize transactions which reduce the UTXO set by requiring a lower fee in the number of outputs is less than the number of inputs they lose a bit in fee revenue but gain in terms of lower hardware requirements.

Once miners start doing this, client developers will have an incentive to include dust collection into their coin selection algorithms and the dust will be cleaned up automatically.

I understand now. Here's the problem, a very long time could pass before the dust carrying cost crosses miners' comfort threshold. And, every miner will have a different threshold so they will start prioritizing at different times. By the time it is in enough miners' best interests to prioritize the transactions in the manner you suggested, we will have incurred a significant and permanent penalty to CPU burden. If only some of the miners prioritize these transactions, they still end up paying the cost for any blocks produced by miners that don't prioritize.

There is too little coupling of the financial incentive to the desired behavior. When I first read your description I thought that there would be some active system of reward. Ideally we would think of something that rewards miners today for taking transactions that collect outputs. Although it's not clear how that could be done, if at all.

misterbigg
Legendary
*
Offline Offline

Activity: 1064
Merit: 1001



View Profile
March 10, 2013, 05:37:40 AM
 #36

One way it could be done: if all outputs are above the dust cutoff, and if N inputs are below the dust cutoff, prioritize the transaction as if it included N*the minimum fee in addition to fees which are actually present.

Thinking about this idea further, it's a great idea. It would probably work best if we add a tunable command line / config file parameter ranging from 0 to 1 where 0 gives us the current behavior (no prioritizing) and 1 gives us the full "N". Intermediate values would scale N down appropriately. Even better if 1 is the default. This way each miner could use the economic information available to them to decide how important dust collection is to their bottom line.

As I said before, too much SD toxic waste could accumulate in the block chain before sufficient miner action takes place but this is still a good change regardless because it provides the option to do something about it now for miners that don't mind sacrificing a small amount of potential fees, especially since there isn't enough legitimate transaction volume to fill a whole block anyway.


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!