Bitcoin Forum
May 08, 2024, 01:01:44 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2]  All
  Print  
Author Topic: Treat dust outputs as non-standard, un-hardcode TX_FEE constants  (Read 3414 times)
TierNolan
Legendary
*
Offline Offline

Activity: 1232
Merit: 1083


View Profile
April 30, 2013, 06:41:17 PM
 #21

The changes make sense. Right now Bitcoin has a large variety of what we call "magic numbers". They're just arbitrary choices that may have made sense at some point but aren't guaranteed to make sense in future. For the case of fees, Gavin's change is the first step towards removing these magic numbers and making them more dynamic.

It also adds a minimum transaction output "magic number".  That is an additional rule.  It doesn't exist at the moment right ?

1LxbG5cKXzTwZg9mjL3gaRE835uNQEteWF
1715130104
Hero Member
*
Offline Offline

Posts: 1715130104

View Profile Personal Message (Offline)

Ignore
1715130104
Reply with quote  #2

1715130104
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715130104
Hero Member
*
Offline Offline

Posts: 1715130104

View Profile Personal Message (Offline)

Ignore
1715130104
Reply with quote  #2

1715130104
Report to moderator
1715130104
Hero Member
*
Offline Offline

Posts: 1715130104

View Profile Personal Message (Offline)

Ignore
1715130104
Reply with quote  #2

1715130104
Report to moderator
1715130104
Hero Member
*
Offline Offline

Posts: 1715130104

View Profile Personal Message (Offline)

Ignore
1715130104
Reply with quote  #2

1715130104
Report to moderator
Gavin Andresen
Legendary
*
qt
Offline Offline

Activity: 1652
Merit: 2216


Chief Scientist


View Profile WWW
April 30, 2013, 06:48:07 PM
 #22

It also adds a minimum transaction output "magic number".  That is an additional rule.  It doesn't exist at the moment right ?

Minimum transaction output is (conservatively) calculated from the minimum relay fee setting.  It did exist before, it was just set to '1 satoshi'.

We made 0-satoshi outputs non-standard a couple of releases ago, but consensus is that was a mistake-- 1-satoshi is not the right number, because the marginal cost of spending a 1-satoshi output is greater than its value.

Again, eventually it might be economical to spend 1-satoshi outputs. When it is, the minimum relay fee will be on the order of a satoshi or two, and this code will do the right thing.

How often do you get the chance to work on a potentially world-changing project?
Gavin Andresen
Legendary
*
qt
Offline Offline

Activity: 1652
Merit: 2216


Chief Scientist


View Profile WWW
April 30, 2013, 06:51:14 PM
 #23

RE: NODE_RELAYCOST :

I'm generally against any "take my word for it" settings.  What would stop somebody Up To No Good from setting NODE_RELAYCOST and then lying about what they will relay?  Miners might decide to try to increase fees by Sybil-attacking the network and lying about NODE_RELAYCOST....

How often do you get the chance to work on a potentially world-changing project?
TierNolan
Legendary
*
Offline Offline

Activity: 1232
Merit: 1083


View Profile
April 30, 2013, 07:00:06 PM
 #24

Minimum transaction output is (conservatively) calculated from the minimum relay fee setting.  It did exist before, it was just set to '1 satoshi'.

Fair enough.  However, what is the issue with a 2 input, 2 output transaction that pays fees in bitcoin?  How does that cause spam?

1LxbG5cKXzTwZg9mjL3gaRE835uNQEteWF
Peter Todd
Legendary
*
expert
Offline Offline

Activity: 1120
Merit: 1150


View Profile
April 30, 2013, 07:23:06 PM
 #25

Fair enough.  However, what is the issue with a 2 input, 2 output transaction that pays fees in bitcoin?  How does that cause spam?

Start with a 1 input 2 output transaction that looks like both outputs are of a reasonably high value.

TierNolan
Legendary
*
Offline Offline

Activity: 1232
Merit: 1083


View Profile
April 30, 2013, 07:37:13 PM
 #26

Start with a 1 input 2 output transaction that looks like both outputs are of a reasonably high value.

At the moment, miners only have an incentive to charge per MB, since that is the limited factor.

You could have a maximum UTXO expansion rule.  1MB @ 350 bytes means around 3k transactions per block. 

What about adding a rule that the number of outputs is limited to 500 more than the number of inputs.  This means that the UTXO set would increase by at most 500 per block.  Also, miners might actually pay to include transactions which have more inputs than outputs.  I assume the protocol doesn't allow negative fee transactions?

Ofc, it would be adding another MAX_BLOCK_xxx like rule.

Having said that, you would need the rule to only apply to UTXOs from blocks that came in the rule, or you get massive bloat in the run-up.

1LxbG5cKXzTwZg9mjL3gaRE835uNQEteWF
ManaUser
Newbie
*
Offline Offline

Activity: 30
Merit: 0


View Profile
May 01, 2013, 03:21:03 AM
 #27

Stupid idea. I'm not going to use this.
keystroke (OP)
Hero Member
*****
Offline Offline

Activity: 900
Merit: 1014


advocate of a cryptographic attack on the globe


View Profile
May 05, 2013, 08:06:24 PM
 #28

Y'all read the pull request, yes?

So: if you have a better suggestion for fixing the problem of new users wasting lots of time gathering tiny drips and drabs of bitcoins, and then getting upset when they can't spend them (because it costs more in fees that they are worth), I'm open to suggestions.

RE: "what about when bitcoins are worth a million dollars apiece"

Umm, that's what the "un-hardcode TX_FEE constants" part is all about?

RE: trolling about Foundation setting the fee:

Go back under your rock, please. This pull request is the first step towards a market between miners (who want higher fees) and merchants/users (who want lower fees, but also want their transactions confirmed). Miners can already control what fees they accept, this pull lets users control (very clumsily, improvements on the road map) the fee they are willing to pay.

He has a road map for future changes:

"Road map:

Re-implement the memory pool, and keep statistics on transactions that enter and then leave by being included in a block. Protect CTransaction::nMinFee/nMinRelayFee with a mutex, and modify those by that memory pool code.

So IsDust() will be based on what is actually being accepted into blocks, and will adjust appropriately.

Do the same for free transactions (estimate priority needed to get included in block).

Modify the RPC code to either send for free (if priority is high enough, based on estimate) or send with reasonable fee (based on fee estimate).

And modify GUI code to either just send for free or recommend sending with a fee."

"The difference between a castle and a prison is only a question of who holds the keys."
evoorhees
Legendary
*
Offline Offline

Activity: 1008
Merit: 1021


Democracy is the original 51% attack


View Profile
May 06, 2013, 01:22:30 AM
 #29

I await SatoshiDice's response.

SatoshiDice never sends transactions under 5000 satoshis, though almost everyone forgets this, or never learned it. This new patch may require SD to increase the 5000 satoshi txs to 5430 satoshis.
felipelalli
Full Member
***
Offline Offline

Activity: 229
Merit: 103



View Profile
May 06, 2013, 01:25:06 AM
 #30

Now I have 11 GB to keep the entire blockchain in my computer. I am not a miner. Would I earn any revenue to keep theses GB into my HD? That would be nice!

Thanks.
scintill
Sr. Member
****
Offline Offline

Activity: 448
Merit: 254


View Profile WWW
May 06, 2013, 05:26:14 AM
 #31

SatoshiDice never sends transactions under 5000 satoshis, though almost everyone forgets this, or never learned it. This new patch may require SD to increase the 5000 satoshi txs to 5430 satoshis.

Oh dear, so $0.0064 instead of $0.0059?  Not feeling much sympathy.

Are any of your addresses compressed form?  Maybe you can cut a deal with pools to mine your sub-5000-satoshi txns if you switch to compressed addresses, which save 32 bytes per spend.

1SCiN5kqkAbxxwesKMsH9GvyWnWP5YK2W | donations
gmaxwell
Moderator
Legendary
*
expert
Offline Offline

Activity: 4158
Merit: 8411



View Profile WWW
May 06, 2013, 08:36:52 AM
 #32

Are any of your addresses compressed form?  Maybe you can cut a deal with pools to mine your sub-5000-satoshi txns if you switch to compressed addresses, which save 32 bytes per spend.

I recommend using this compressed key:

Address: 1diceineSzVPNQnCZB7mZz2Sjp5UpjnPR
Privkey: L1fSLx5RBKakdM8LqHXNMwbDAQTc8zevJxgG23uPryogxUmCyYbQ

(I've modified vanitygen to generate compressed keys, but only the cpu code as I no longer have any GPUs… it's even faster than uncompressed key searching. But I can't really justify putting in the time to do gpu support or test it out well enough to publish it. Tongue)
scintill
Sr. Member
****
Offline Offline

Activity: 448
Merit: 254


View Profile WWW
May 12, 2013, 08:43:10 AM
 #33

SatoshiDice never sends transactions under 5000 satoshis, though almost everyone forgets this, or never learned it. This new patch may require SD to increase the 5000 satoshi txs to 5430 satoshis.

Oh dear, so $0.0064 instead of $0.0059?  Not feeling much sympathy.

I feel bad for being snarky here, sorry.  Perhaps there's still time to lobby for the default to go down to 5000 (nice round number?), or maybe enough pools and other node operators would support you on a small change like this.  But if not, there are worse cost-of-business increases than this, and the changeover cost should be negligible.

1SCiN5kqkAbxxwesKMsH9GvyWnWP5YK2W | donations
solex
Legendary
*
Offline Offline

Activity: 1078
Merit: 1002


100 satoshis -> ISO code


View Profile
May 12, 2013, 09:03:08 AM
 #34

... This pull request is the first step towards a market between miners (who want higher fees) and merchants/users (who want lower fees, but also want their transactions confirmed). Miners can already control what fees they accept, this pull lets users control (very clumsily, improvements on the road map) the fee they are willing to pay.

Great work Gavin and team. I support this approach 100%.

leijurv
Member
**
Offline Offline

Activity: 63
Merit: 10


Vires in Numeris


View Profile WWW
May 12, 2013, 04:45:07 PM
 #35

Just confirming, I can send from unspent outputs worth less than 54.3uBTC each, right? So if I've already received several transactions that were worth 54.3uBTC or less each, I can then spend those outputs?

Firstbits 1Leijurv. Or, if you like cats, Firstbits 1Kittens and 1catcat as well. If you're a chemist, also 1Helium, 1Erbium, 1Copper, 1Cerium, and 1Nickel. If you like numbers, 123four, 12234,  12three.
Keybase and onename user: leijurv.
Come-from-Beyond
Legendary
*
Offline Offline

Activity: 2142
Merit: 1009

Newbie


View Profile
May 12, 2013, 04:51:09 PM
 #36

Just confirming, I can send from unspent outputs worth less than 54.3uBTC each, right? So if I've already received several transactions that were worth 54.3uBTC or less each, I can then spend those outputs?

Yes.
ktttn
Full Member
***
Offline Offline

Activity: 126
Merit: 100


Capitalism is the crisis.


View Profile WWW
May 17, 2013, 12:08:37 PM
 #37

Dust is tasty, throwaway dumpsterfood. To constantly google away on my little smartphone looking for ways to dumpsterdive for free btc is beneficial to my wallet while not fucking with Murican poisonmoney ever at all ever.
BAM! The minimum standard size for "a box of bruised apples" has increased? Oh Joy!
Imma find larger minimum payouts now.
Metaphors? Metaphors!
Also, arbitrary optional stopgap default settings are cool.

Wit all my solidarities,
-ktttn
Ever see a gutterpunk spanging for cryptocoins?
LfkJXVy8DanHm6aKegnmzvY8ZJuw8Dp4Qc
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!