Pages:
Author

Topic: WARNING! Bitcoin will soon block small transaction outputs - page 6. (Read 58538 times)

member
Activity: 82
Merit: 10
The amount of MISinformation and DISinformation in this thread is staggering.

It almost seems like the majority of posters haven't taken the time to read the original pull request (linked here), which is particularly unfortunate since it was actually linked in the OP. The discussion that follows the pull request is particularly enlightening, although the noise does get a bit loud towards the end.

Using a standard transaction, actually spending a dust output would cost more in fees than the dust is worth. Why should anyone create an output than cannot (economically) be spent?

What this patch does is make a transaction that does this kind of foolishness non-standard. Miners are free to include whatever transactions they wish, as they always have been.

BEFORE:
 Standard transaction: Possible to create dust outputs, on purpose or accidentally.
 Standard transaction: Not possible to spend dust outputs without paying more in fees than their value.
 Custom transaction: Possible to spend dust outputs providing a miner is found that will accept sub-standard fee.

AFTER:
 Standard transaction: Not possible to create dust outputs.
 Custom transaction: Possible to create dust outputs providing a miner is found that will include them.
 (spending dust outputs isn't changed)

Is this really an issue?
jr. member
Activity: 57
Merit: 1
BRING ON THE FORKS!

ITS PAST DUE WE FIX BITCOIN!

E-Mail [email protected] if you are interested in doing this.

I'll be starting a website in the near future dedicated to fixing BitCoin before self-righteous fucks destroy it with what 'they think' is best for BitCoin.

Why do you hate freedom?

Miners now (post 0.8.2) will have the CHOICE (but not requirement) to restrict uneconomical transactions to improve the efficiency of the network.

What about choice do you find so scary?

The default option is scary, it should be set to 1 satoshi by default if anything.
No it shouldn't. The end-user should read the release-notes, make a decision on what they want, and change the default if they feel the need to change it. If they don't bother with that they are essentially saying "we agree with whatever the publisher thinks", and the publisher of the most commonly used branch believes 5430 is the best default. If you are downloading new software but too lazy to look at what it does then you have no right complain about it.
sr. member
Activity: 364
Merit: 250
BRING ON THE FORKS!

ITS PAST DUE WE FIX BITCOIN!

E-Mail [email protected] if you are interested in doing this.

I'll be starting a website in the near future dedicated to fixing BitCoin before self-righteous fucks destroy it with what 'they think' is best for BitCoin.

Why do you hate freedom?

Miners now (post 0.8.2) will have the CHOICE (but not requirement) to restrict uneconomical transactions to improve the efficiency of the network.

What about choice do you find so scary?

The default option is scary, it should be set to 1 satoshi by default if anything.
sr. member
Activity: 448
Merit: 254
As much as I dislike SD's (and other's) abuse of the blockchain, this is a bad idea.  First, any idea that is admitted to be "temporary" should be suspected of being a bad idea.  Second, IMHO, it is philosophically wrong -- at best a band-aid for a bigger problem that needs a different solution.  Third, it's debatable whether or not this change will alter the behavior of those (ab)using the blockchain.  The motivation of gamblers is different.  I don't see how it will have any impact on them, other than to change the "dust" amount from 1 unit to 5430 units.  Those storing data in the blockchain will just move data around in units of 5430 Satoshi, rather than disposing of units of 1 Satoshi.  But fourth, I fear the technical issues have not been fully considered, and that's my main objection to this scheme...

Satoshi Dice has said they already send 5000 satoshi minimum, so they will probably be upping it to 5430.  I agree that the default limit will do little to discourage data-embedders, who recently spent a total of 0.32 BTC in fees to embed some porn-link text files (see here and here -- there were many other transactions around the same time, and I've heard rumors that the transaction fees ran up to several hundred $ in total, though I don't care to dig up any more data from the blockchain to confirm it.)  Real solutions to the data problem are going to be more complicated, and I'm not entirely sure why data-embedding has entered into this conversation as prominently as it has.

One technical problem noted somewhere in this thread is how do you deal with change that's under the limit.  If you are a "bitcoin millionaire", it's probably not much of a problem.  If you are just starting out, it might be a significant problem.  Say you have 0.01005429 BTC to your name.  One rule says you can't spend less than 0.01.  This new rule says you can't spend between 0.01000000 and 0.01005428.  (I haven't looked at the code.  Does the client fail?  Are you forced to overpay the recipient?  Are you forced to pay your change as part of your "fee"?)

[...]

Similarly, what if you have one account with just slightly more funds than needed for a transaction.  Does the client automatically choose a second account to make sure the change is at least 5430 Satoshis?  I thought one of the goals of the client was to avoid mixing payment sources as much as possible to maintain some "privacy".  Although this shouldn't happen often, if you are dealing with random amounts between a bitcent or two, it seems this would occur about 1 in 300 such transactions.  (Again, not a problem for "bitcoin millionaires", but a potential problem for those just starting out.)

You will not overpay, but if your transaction would have created dust change, the dust is added to the fee instead.  As TradeFortress and gmaxwell have pointed out, this is already happening in the current client.  Anyway, I really don't get the "this is an economic hardship for the poor bitcoiners" argument.  5429 satoshi is $0.00629764 at current prices (and the limit can be adjusted if the price skyrockets.)  What are you going to be doing with that little money?  If the bitcoin price goes up, it might barely be able to afford sending an SMS message.  I don't think the few satoshis lost this way will add up to anything significant, and larger amounts (0.0005 in gmaxwell's message) are already being forfeit under the current rules.  If you're "just starting out" and having problems with piddling around with small amounts for tests or whatever, use testnet!  You can get more than enough coins from faucets to play around with before you'll hit divisibility/dust problems.

Another technical problem noted (but dismissed as irrelevant by some developers) is the increased window for double-spends.  Deny it if you want, but when each mining pool (and each full node) can choose parameters to decide whether or not a transaction is to be relayed, I think the surface area for double-spends has increased significantly.

This only matters if the receiver doesn't wait for a confirmation, which has always been considered unsafe.  Nodes can already create uneven transaction flooding patterns for any reason, including collusion with the double-spender, slow network links, or disapproval of the parties/transactions involved.  The blockchain is the only authoritative and safe ledger of transactions.

Related to the above is the question of a node's "banscore".  I haven't examined the code.  If node B receives a transaction from node A, which node B thinks is non-standard, does node B bump node A's banscore?  I won't speculate on the implications until I look at the code, because this might be a red herring.

I could be wrong, but I don't think dust txs affect banscores.  My reasoning is the few lines around here.  Notice that failing IsStandard() (which now contains txout.IsDust()) is just "error", whereas the obviously-suspicious loose coinbase a few lines up has a DoS score associated.  But I could be misunderstanding.

Finally, in many respects, you are trying to achieve results similar to that of a "5430 to 1 reverse stock split".  Of course, I'm not actually proposing this!  But some of the things corporations and stock exchanges go through when handling a reverse stock split might be considered in handling this proposed change.  Do you want to consider making every transaction output a multiple of 5430 Satoshis?  If it were a more round number, such as 5000 Satoshis, this might actually make sense.  For your very small "stockholders", the way I see it, you are changing the value of very small balances from "economically unspendable" to "practically unspendable".  To avoid a perceived hit in public confidence, the Bitcoin Foundation should send up to 5429 Satoshis to every address now containing 1 Satoshi of "dust".  (Or whatever amount is necessary to bring every address up to the minimum spendable amount.)

Existing tiny outputs will continue to be as (un)spendable as they are now.  This change just discourages creation of more dust outputs, not the redemption of existing ones.  Topping-up 1-satoshi addresses to exactly 5430 will not be possible because the 5429 output will be discouraged (not relayed or mined by default), and I don't think it would help with the "practical spendability" either, because the definition of dust seems to err on the side of uneconomical: it's when "you'd pay more than 1/3 in fees to spend something".  If I'm understanding that definition (maybe not?), you'd have to give them quite a bit more than 5430, to overcome the fees for redeeming now two outputs (the 1-satoshi and the "compensation").  (Edit 2: If you could be sure everyone holding 1-satoshi outputs would spend them if you sent another couple of US pennies, this might actually be worth it to help prune the UTXO.  Or if they don't you're just throwing away money and further bloating the set...)
vip
Activity: 1316
Merit: 1043
👻
The client already does this, say you want to send 0.01 BTC and you have 0.01002 BTC, your change will be forfeited because that would trigger the 0.001 mandatory fee, and would cost you more.
newbie
Activity: 14
Merit: 0
As much as I dislike SD's (and other's) abuse of the blockchain, this is a bad idea.  First, any idea that is admitted to be "temporary" should be suspected of being a bad idea.  Second, IMHO, it is philosophically wrong -- at best a band-aid for a bigger problem that needs a different solution.  Third, it's debatable whether or not this change will alter the behavior of those (ab)using the blockchain.  The motivation of gamblers is different.  I don't see how it will have any impact on them, other than to change the "dust" amount from 1 unit to 5430 units.  Those storing data in the blockchain will just move data around in units of 5430 Satoshi, rather than disposing of units of 1 Satoshi.  But fourth, I fear the technical issues have not been fully considered, and that's my main objection to this scheme...

One technical problem noted somewhere in this thread is how do you deal with change that's under the limit.  If you are a "bitcoin millionaire", it's probably not much of a problem.  If you are just starting out, it might be a significant problem.  Say you have 0.01005429 BTC to your name.  One rule says you can't spend less than 0.01.  This new rule says you can't spend between 0.01000000 and 0.01005428.  (I haven't looked at the code.  Does the client fail?  Are you forced to overpay the recipient?  Are you forced to pay your change as part of your "fee"?)

If you overpay the recipient, I suspect there are some automated systems that either (1) won't accept the payment or (2) might attempt to send your change back.  You are requiring modification to any such automated system that now exists.  You are also requiring modification to every other standard bitcoin client (else some transactions that used to go through will not go through).  And you are requiring potential modification to every application that generates its own transactions.  This proposed modification has consequences far beyond the official Satoshi client, and as far as I can tell, there has been no general solicitation of comments.

Similarly, what if you have one account with just slightly more funds than needed for a transaction.  Does the client automatically choose a second account to make sure the change is at least 5430 Satoshis?  I thought one of the goals of the client was to avoid mixing payment sources as much as possible to maintain some "privacy".  Although this shouldn't happen often, if you are dealing with random amounts between a bitcent or two, it seems this would occur about 1 in 300 such transactions.  (Again, not a problem for "bitcoin millionaires", but a potential problem for those just starting out.)

Another technical problem noted (but dismissed as irrelevant by some developers) is the increased window for double-spends.  Deny it if you want, but when each mining pool (and each full node) can choose parameters to decide whether or not a transaction is to be relayed, I think the surface area for double-spends has increased significantly.

Related to the above is the question of a node's "banscore".  I haven't examined the code.  If node B receives a transaction from node A, which node B thinks is non-standard, does node B bump node A's banscore?  I won't speculate on the implications until I look at the code, because this might be a red herring.

Finally, in many respects, you are trying to achieve results similar to that of a "5430 to 1 reverse stock split".  Of course, I'm not actually proposing this!  But some of the things corporations and stock exchanges go through when handling a reverse stock split might be considered in handling this proposed change.  Do you want to consider making every transaction output a multiple of 5430 Satoshis?  If it were a more round number, such as 5000 Satoshis, this might actually make sense.  For your very small "stockholders", the way I see it, you are changing the value of very small balances from "economically unspendable" to "practically unspendable".  To avoid a perceived hit in public confidence, the Bitcoin Foundation should send up to 5429 Satoshis to every address now containing 1 Satoshi of "dust".  (Or whatever amount is necessary to bring every address up to the minimum spendable amount.)
donator
Activity: 1218
Merit: 1079
Gerald Davis
Yea, no bad news there but the bad reporting is pretty apparent. Smiley

More like ignorant reporting.  The conclusions reached by the author are just nonsense.
staff
Activity: 4284
Merit: 8808
Wait; "dust" in a wallet *can* be used as an input to a transaction.  If the only thing in a wallet is "dust" then as long as there is enough of it to add up to something greater than "dust" then it can be used.  What can "dust" be used to purchase?  *When* the exchange rate goes up enough then the size of "dust" can be change appropriately.
Exactly— and more subtly, that dust will usually cost you more to spend than its worth!

Quote
I fail to see the bad news here.
Yea, no bad news there but the bad reporting is pretty apparent. Smiley
hero member
Activity: 709
Merit: 503
Look what you have done.

"Meanwhile it comes out that a cabal of developers has de facto control over the Bitcoin network and is devaluing very small wallets. The net effect of this is to reduce the money supply, deflating Bitcoin to benefit those with large holdings."

http://www.redstate.com/2013/05/16/tech-at-night-bitcoins-central-bankers-kim-dotcom-censors-mega/

Wait; "dust" in a wallet *can* be used as an input to a transaction.  If the only thing in a wallet is "dust" then as long as there is enough of it to add up to something greater than "dust" then it can be used.  What can "dust" be used to purchase?  *When* the exchange rate goes up enough then the size of "dust" can be change appropriately.  I fail to see the bad news here.
full member
Activity: 120
Merit: 100
Look what you have done.

"Meanwhile it comes out that a cabal of developers has de facto control over the Bitcoin network and is devaluing very small wallets. The net effect of this is to reduce the money supply, deflating Bitcoin to benefit those with large holdings."

http://www.redstate.com/2013/05/16/tech-at-night-bitcoins-central-bankers-kim-dotcom-censors-mega/
legendary
Activity: 1498
Merit: 1000
I am really really done with this thread, so don't quote me anymore. I don't want to answer the same questions and have the same arguments/debates I had in the last 22 pages, so anymore comes with a new argument, documentation, or a new view, I may jump in but clearly it is the same circle just going around.
sr. member
Activity: 448
Merit: 254
What makes Gavin important is that he maintains a bitcoin client, and a whole bunch of people decide to use his bitcoin client. They could instead very easily decide to have their bitcoin client supplied by any other random person that decides to maintain their own client. If everyone started obtaining their bitcoin client from someone else then Gavin would no longer be important. Everyone is free to choose who they obtain their bitcoin client from. They can even start maintaining their own bitcoin client. You can find the sources here, no one is stopping you from having your own client. Good luck in convincing others to use your client!

While I'm with Gavin and the other developers on this, this is a bit of an oversimplification.  Yeah, he works on the client bitcoin-qt, but the same code is part of "bitcoind", which is the backbone of the Bitcoin network.  I'm not aware of anyone mining through any other server, and it's not recommended right now.  bitcoind therefore has a huge influence on what goes into blocks, which essentially defines what happens on the Bitcoin network.

That said, I agree with your essential point.  To expand: People have always been free to custom-patch bitcoind to their liking.  This change even makes it possible to configure more network parameters without your own code changes.  Configure/patch yours however you want, but don't whine when the rest of the network disagrees with you.  You've never had some right to force your wishes on the network.  If you want that, go somewhere else.

BRING ON THE FORKS!

ITS PAST DUE WE FIX BITCOIN!

E-Mail [email protected] if you are interested in doing this.

I'll be starting a website in the near future dedicated to fixing BitCoin before self-righteous fucks destroy it with what 'they think' is best for BitCoin.

Haha, I can't help but think you sound self-righteous yourself.  You're going to "fix it" with what you think is best, but they can't?  I'm sure you, with your 3-month old account and few apparent contributions, know more than Gavin who has been around and contributing since 2010.  But go ahead, fork Bitcoin, I think it's been a whole couple of days since the last altcoin was announced.  Have fun re-investing the collective blood, sweat, and tears that have made Bitcoin what it is today.  Bitcoin's a lot more than the code in bitcoind.
legendary
Activity: 1498
Merit: 1000
There is no censorship here.  You are still free to create and broadcast any transactions you want.  This patch just makes it easier for other people to decide whether to relay your garbage or not.

Obviously not if it will never be included in a block I am not free to do anything the miners choose how I spend my money. Thanks for posting the same thing the last 21 pages are about.

Miners have ALWAYS been free not to include your tx in a block.  Miners everyday routinely don't include tx in the next block (thus the unconfirmed list).

Initially the functionality of the bitcoind were so crude miners had little control over what tx got included.  Over time more functionality was added.  

Today miners can and do exclude transactions from every single block based on:
a) priority
b) block size
c) tx fees
and starting in 0.8.2
d) output size

0.8.2 simply gives miners the ability to better control the transactions they want to include.  If it wasn't in bitcoind miners could write custom patches to do the very single thing.  Satoshi always intended for miners to have the control over which tx to include.  Nothing has changed, the devs simply have given miners more control.

Now miners are "big boys" and if they see a lot of value in including 100 satoshi or even 1 satoshi transactions they can.  They simply need to change the configuration file.  Given miners already set a half dozen configuration values related to min fees, block size, priority, etc one more config value is hardly a burden for a miner.

If you think bitcoin is better off with 1 satoshi spam ... then convince enough nodes to mine them and you can spam away.  The reality is you KNOW miners don't want to include dust spam.  It makes their future jobs harder.  All those uneconomical outputs will likely NEVER be spent and thus they bloat the UXTO.  The UXTO governs the resources miners (and all full nodes) use to validate tx and blocks.  

It seems you are afraid of the free market.

Freedom is about choice.  You are free to create dust spam, nobody can stop you.  Miners are free to chose not to include that dust spam  ... and starting in 0.8.2 you won't be able to stop them.

I know exactly how the free market works and I know how mining works. This goes from a free market, to a dictatorship, plus they don't even have a good free market model for fees, so yeah. Also if I can only mine from the bitcoind, then a default value would most likely be the form of censorship.
legendary
Activity: 1176
Merit: 1005
Well if walks and sounds like a duck, it is.  What makes this Gavin person any more important the anyone else?

Are you fucking kidding?  He is the lead developer.  That means he actually produces things of value.  You think he isn't important to Bitcoin?  Well, go and do something better than he's doing and maybe you'll be lead developer and have something worth saying on the subject.
hero member
Activity: 709
Merit: 503
Does it matter if one already has "dust"?  How can one tell if they have "dust" in their wallet?
donator
Activity: 1218
Merit: 1079
Gerald Davis
BRING ON THE FORKS!

ITS PAST DUE WE FIX BITCOIN!

E-Mail [email protected] if you are interested in doing this.

I'll be starting a website in the near future dedicated to fixing BitCoin before self-righteous fucks destroy it with what 'they think' is best for BitCoin.

Why do you hate freedom?

Miners now (post 0.8.2) will have the CHOICE (but not requirement) to restrict uneconomical transactions to improve the efficiency of the network.

What about choice do you find so scary?
legendary
Activity: 1498
Merit: 1000
There is no censorship here.  You are still free to create and broadcast any transactions you want.  This patch just makes it easier for other people to decide whether to relay your garbage or not.

Obviously not if it will never be included in a block I am not free to do anything the miners choose how I spend my money. Thanks for posting the same thing the last 21 pages are about.
jr. member
Activity: 57
Merit: 1
Gavin Andresen has changed the Bitcoin code to block any output with a value of less than 54uBTC:

https://github.com/bitcoin/bitcoin/pull/2577

Many Bitcoin users are going to be affected and see their funds blocked. For instance ASICMiner share payments, BitHits faucet payments, anyone depending on microtransactions. If you depend on small payments you need to change your business model now or find yourself shutdown overnight.

Gavin: It's sad that you aren't willing to speak about this publicly on the forums, rather than hiding away all the debate on GitHub away from the general public.

edit: To be clear, I like the patch: https://github.com/bitcoin/bitcoin/pull/2577#issuecomment-17138223

What I don't like is when I realized not once had Gavin or anyone else in the development team made a public statement that this change was coming down the line. If I hadn't made this post, for all I know it would have been hidden away in the next Bitcoin-QT with no warning at all, right when we all have to upgrade before May 15th.

Why isn't think on your blog or someone else so people have time to change the way their businesses operate? Why the secrecy?

For the record, the forums no longer count as "public" as in "well informed public" but "public" as in "mob". I can understand why this wouldn't have been done on the forum. No offense, but you're a user with 28 Posts and you're essentially accusing one of the most important guys in bitcoin of some sort of underhanded secrecy. That doesn't mean that you can't be right, but still, it's a mob mentality down here, and there are thousands of us down here ready to tear anything apart.


Well if walks and sounds like a duck, it is.  What makes this Gavin person any more important the anyone else?  I am willing to bet he profits from this somehow. Maybe all us unwashed masses should revolt. Down with the king
What makes Gavin important is that he maintains a bitcoin client, and a whole bunch of people decide to use his bitcoin client. They could instead very easily decide to have their bitcoin client supplied by any other random person that decides to maintain their own client. If everyone started obtaining their bitcoin client from someone else then Gavin would no longer be important. Everyone is free to choose who they obtain their bitcoin client from. They can even start maintaining their own bitcoin client. You can find the sources here, no one is stopping you from having your own client. Good luck in convincing others to use your client!
member
Activity: 66
Merit: 10
Gavin Andresen has changed the Bitcoin code to block any output with a value of less than 54uBTC:

https://github.com/bitcoin/bitcoin/pull/2577

Many Bitcoin users are going to be affected and see their funds blocked. For instance ASICMiner share payments, BitHits faucet payments, anyone depending on microtransactions. If you depend on small payments you need to change your business model now or find yourself shutdown overnight.

Gavin: It's sad that you aren't willing to speak about this publicly on the forums, rather than hiding away all the debate on GitHub away from the general public.

edit: To be clear, I like the patch: https://github.com/bitcoin/bitcoin/pull/2577#issuecomment-17138223

What I don't like is when I realized not once had Gavin or anyone else in the development team made a public statement that this change was coming down the line. If I hadn't made this post, for all I know it would have been hidden away in the next Bitcoin-QT with no warning at all, right when we all have to upgrade before May 15th.

Why isn't think on your blog or someone else so people have time to change the way their businesses operate? Why the secrecy?

For the record, the forums no longer count as "public" as in "well informed public" but "public" as in "mob". I can understand why this wouldn't have been done on the forum. No offense, but you're a user with 28 Posts and you're essentially accusing one of the most important guys in bitcoin of some sort of underhanded secrecy. That doesn't mean that you can't be right, but still, it's a mob mentality down here, and there are thousands of us down here ready to tear anything apart.


Well if walks and sounds like a duck, it is.  What makes this Gavin person any more important the anyone else?  I am willing to bet he profits from this somehow. Maybe all us unwashed masses should revolt. Down with the king
legendary
Activity: 1498
Merit: 1000
I still agree that this a censorship.

Honestly I'm not even necessarily arguing against that anymore.  Someone is putting barriers to you expressing yourself in certain ways; you can call that censorship if you want.  But gweedo is trying to use precedent and Satoshi's supposed intentions to paint this as some first-time grave departure from the fundamentals of bitcoin.  I've shown there's already precedent for something similar done by Satoshi himself years ago, and it hasn't killed us yet.  If that doesn't persuade you, fine, but I hope you at least believe what you do for sound reasons.

There's also the fact, mentioned by several people several times, that nobody has to mine or relay anything.  That's the way it's always been.  Tweaking some default settings doesn't change that.  It may nudge a lot of people in a certain direction, but they have just as much of a choice as they always had.

If you want a payment system with strictly-defined parameters under which a payment must be accepted or you have some power to impose consequences, then use legal tender and courts to force your payment to be accepted.  Or maybe see if you can come up with an altcoin with similar properties.

Your talking about scripting, that is a different subject, it has nothing to do with dust. I have proven everyone of your argues to be wrong, what else do I need to do, have Satoshi show you it is wrong.

I love how people are arguing against me instead of going "Hey this guy has proven everyone else to be wrong with documentation." But most people are followers and don't see it that way. That is the sad part.
Pages:
Jump to: