Bitcoin Forum
November 21, 2017, 04:26:24 PM *
News: Latest stable version of Bitcoin Core: 0.15.1  [Torrent].
 
   Home   Help Search Donate Login Register  
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 [24] 25 26 27 28 29 »
  Print  
Author Topic: WARNING! Bitcoin will soon block small transaction outputs  (Read 57700 times)
scintill
Sr. Member
****
Offline Offline

Activity: 448


View Profile WWW
May 17, 2013, 08:40:11 AM
 #461

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...)

1SCiN5kqkAbxxwesKMsH9GvyWnWP5YK2W | donations
Join ICO Now A blockchain platform for effective freelancing
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
CasinoBit
Sr. Member
****
Offline Offline

Activity: 364



View Profile
May 17, 2013, 08:45:17 AM
 #462

BRING ON THE FORKS!

ITS PAST DUE WE FIX BITCOIN!

E-Mail BitHits.info@gmail.com 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.
qualalol
Jr. Member
*
Offline Offline

Activity: 57



View Profile
May 17, 2013, 09:25:25 AM
 #463

BRING ON THE FORKS!

ITS PAST DUE WE FIX BITCOIN!

E-Mail BitHits.info@gmail.com 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.
wheatstone
Member
**
Offline Offline

Activity: 82


View Profile
May 17, 2013, 10:46:14 AM
 #464

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?
1PFYcabWEwZFm2Ez5LGTx3ftz
Full Member
***
Offline Offline

Activity: 120


View Profile
May 17, 2013, 01:14:12 PM
 #465

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.
The bad news is, that you (not you personally) played right into the troll's trap, and helped create this 24 page long thread, which was then linked to in yet another article trying to spread FUD about bitcoin. This thread was started to do just that (create and spread FUD), and it worked flawlessly. My only wonder is, why Gavin himself didn't gave a clear answer, to stop the FUD from spreading?
1PFYcabWEwZFm2Ez5LGTx3ftz
Full Member
***
Offline Offline

Activity: 120


View Profile
May 17, 2013, 01:20:49 PM
 #466

The amount of MISinformation and DISinformation in this thread is staggering.
This thread was created only so it could later be linked to by http://www.redstate.com/2013/05/16/tech-at-night-bitcoins-central-bankers-kim-dotcom-censors-mega/

I understand that Gavin is a busy man, but IMHO, promptly and accurately responding to such disinformation and FUD attacks, should be given high priority, because it may damage bitcoin more than any technical attack could.

What does everyone else think about this?
marra
Full Member
***
Offline Offline

Activity: 180


View Profile
May 17, 2013, 05:37:48 PM
 #467

The amount of MISinformation and DISinformation in this thread is staggering.
This thread was created only so it could later be linked to by http://www.redstate.com/2013/05/16/tech-at-night-bitcoins-central-bankers-kim-dotcom-censors-mega/

I understand that Gavin is a busy man, but IMHO, promptly and accurately responding to such disinformation and FUD attacks, should be given high priority, because it may damage bitcoin more than any technical attack could.

What does everyone else think about this?

I also thought that fighting the FUDers in constructive manner is the way to go, but then realized that in btc's case FUD fails severely... although you can actually scare the latent new people from joining at the time being, you can't really scare the people that are already in, yet alone to scare the code itself, utp cable or the graphic card...

Code will proactively change to allow as much trashy transactions as the current price makes affordable... Eventually, when we reach 0 block reward, price is projected to be at the right level to support the miners with just a transaction fee...

$1 = 1 satoshi  ☰☱☲☳☷☷☳☲☰☰☱☲☳☷☳☲☰☰☱☲☲☳☷☷☳☲☳☱☷☷☳☲☰☰☰☰☲☳☳
☳☲☰☰☱☲☳☷☷☳☲☰☰☱☲☳☲☳☷☷☳☳☳☲☰☰☱☲☲☳☷☷☳☳☲☰☰☱☲☲☳☷☷☳☰☱☲☳
darkmule
Legendary
*
Offline Offline

Activity: 1176



View Profile
May 17, 2013, 09:07:32 PM
 #468

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.

All good points.  Another reason this should not be permanent, at least without some more thought, is that over the long term, while these "lost" dust amounts are insubstantial, there could ultimately be substantial (and unnecessary) permanent loss of BTC.  There should, perhaps, be some way of recombining these lost amounts into something useful (without costing more than they're worth).
David Rabahy
Hero Member
*****
Offline Offline

Activity: 705



View Profile
May 17, 2013, 09:19:21 PM
 #469

My son, PRab, and I were discussing this and he described a notion; the idea in this posting springs from that source; as dust ages eventually it should be reclaimable by a miner.  For example, 1 Satoshi might be claimable after 1 week of being idle, 10 at 2 weeks, 100 at 4 weeks and 1000 at 8 weeks.  Perhaps that is too aggressive but you get the idea -- just has to be tuned.  Anything greater than dust would have to be idle for a long enough time to be sure enough that it is never coming back into circulation.  Maybe there's a threshold above which idle Bitcoins are never reclaimable.
scintill
Sr. Member
****
Offline Offline

Activity: 448


View Profile WWW
May 17, 2013, 09:38:03 PM
 #470

Some of the recent posts seem to believe dust will be unspendable.  That's not correct, it will continue to be as spendable as it is today (that is, at high fees if you're not careful.)  Those high fees should perhaps be addressed, but it's outside the scope of this solution.  If you believe this solution should not be adopted if it won't address that, that would actually be a reasonable objection as opposed to "this is censorship!"  Personally I think it's reasonable to first slow the creation of dust before turning your attention to getting rid of the existing dust.

I understand that Gavin is a busy man, but IMHO, promptly and accurately responding to such disinformation and FUD attacks, should be given high priority, because it may damage bitcoin more than any technical attack could.

What does everyone else think about this?

He has responded here, here, here, here, here (good one IMO).  gmaxwell has responded here, here, here, here, here, here, here, here, here, here (good one IMO), here (to name the most recent ones; I believe there's plenty more.)  jgarzik has responded here, here, here, here, here, here, here, here (good one IMO) , here (again these are the most recent; there are more.)  What more can you ask for?  There are only so many ways and so many times they can explain the same things over and over before they get sick of it.  And I doubt anybody has made any point the developers haven't already considered, so there's no reason they need to be deeply engaged in the multitude of threads there are about this.

Bottom lines: a) this change is voluntary and adjustable, b) there have always been ways to discriminate against transactions, and there have long been transactions that have been discriminated against by default (non-standard scripts, zero-value outputs), c) you never had any enforced right to have your transactions processed, so complaining that this will now lead to your tx not being processed is nonsensical (offer a large fee for the best chance), d) this change is trying to prevent the sending of amounts so small it costs more to spend them than they are worth (how is it sane to want to keep this property?!).

All good points.  Another reason this should not be permanent, at least without some more thought, is that over the long term, while these "lost" dust amounts are insubstantial, there could ultimately be substantial (and unnecessary) permanent loss of BTC.  There should, perhaps, be some way of recombining these lost amounts into something useful (without costing more than they're worth).

How are they lost?  You have always been able to spend dust (if at high fees because of large tx size), and this change doesn't change that.  I do agree that it would be nice to be able to recombine dust without high fees.  I think this would be best handled by the market -- pools could announce they will accept low-fee dust-combining transactions even if they're large, as long as they have the effect of shrinking the UTXO to some degree.  I am not sure all the existing dust outputs can be efficiently gathered though.  It seems like you would have to pay people quite a bit more than the dust is worth to get them to bother adding their outputs/signatures to a big tx that consumes all the dust.

1SCiN5kqkAbxxwesKMsH9GvyWnWP5YK2W | donations
scintill
Sr. Member
****
Offline Offline

Activity: 448


View Profile WWW
May 17, 2013, 09:47:50 PM
 #471

My son, PRab, and I were discussing this and he described a notion; the idea in this posting springs from that source; as dust ages eventually it should be reclaimable by a miner.  For example, 1 Satoshi might be claimable after 1 week of being idle, 10 at 2 weeks, 100 at 4 weeks and 1000 at 8 weeks.  Perhaps that is too aggressive but you get the idea -- just has to be tuned.  Anything greater than dust would have to be idle for a long enough time to be sure enough that it is never coming back into circulation.  Maybe there's a threshold above which idle Bitcoins are never reclaimable.

IMO this sounds like a terrible idea in general, but would require a hard fork, as it would mean miners would be allowed to claim funds they didn't have the private key for.  I don't think any substantial portion of the network would adopt that fork.

1SCiN5kqkAbxxwesKMsH9GvyWnWP5YK2W | donations
ManaUser
Jr. Member
*
Offline Offline

Activity: 30


View Profile
May 17, 2013, 10:45:39 PM
 #472

You know what the biggest reason this is a terrible idea is? It doesn't even accomplish anything. Consider SatoshiDice, the biggest "offender" when it comes to noneconomic translations. All they've got to do is have people send an extra 0.001 BTC with their bet and send it back either with the winnings or alone if they lose. They could even throw in an extra satoshi for tradition sake.
wheatstone
Member
**
Offline Offline

Activity: 82


View Profile
May 18, 2013, 03:47:17 PM
 #473

You know what the biggest reason this is a terrible idea is? It doesn't even accomplish anything. Consider SatoshiDice, the biggest "offender" when it comes to noneconomic translations. All they've got to do is have people send an extra 0.001 BTC with their bet and send it back either with the winnings or alone if they lose. They could even throw in an extra satoshi for tradition sake.

The assumption that this is directed at SatoshiDice, or any other single entity, is fallacious.

The postulation that this doesn't accomplish anything is simply incorrect.

This patch removes the ability to CREATE outputs (using standard transactions) that cannot be economically spent. It also removes a "magic" number from the source code and introduces greater configurability for miners.

The result is that far fewer people (newcomers especially) will end up with a wallet full of outputs that they cannot spend without incurring a fee greater than their value.

In other words, the change addresses a real, existing problem and enhances the experience for newcomers.
ShireSilver
Sr. Member
****
Offline Offline

Activity: 383



View Profile WWW
May 18, 2013, 03:58:24 PM
 #474

d) this change is trying to prevent the sending of amounts so small it costs more to spend them than they are worth (how is it sane to want to keep this property?!).

Who decides what a transaction is worth? Value is subjective, and even if you can't think of a reason why someone might be willing to pay a lot to send a transaction that doesn't mean they don't exist.

Shire Silver, a better bullion that fits in your wallet. Get some, now accepting bitcoin!
wheatstone
Member
**
Offline Offline

Activity: 82


View Profile
May 18, 2013, 07:01:49 PM
 #475

Who decides what a transaction is worth? Value is subjective, and even if you can't think of a reason why someone might be willing to pay a lot to send a transaction that doesn't mean they don't exist.

The user experience is horrendous. You can still do it, if you want to. There will undoubtedly be miners who are willing to include such a non-standard transaction for a fee (or maybe even without). As always, miners are free to accept whatever (valid) transactions they want. This simply changes the default to something more sane, improving the general user experience.
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218


Gerald Davis


View Profile
May 18, 2013, 07:15:08 PM
 #476

d) this change is trying to prevent the sending of amounts so small it costs more to spend them than they are worth (how is it sane to want to keep this property?!).

Who decides what a transaction is worth? Value is subjective, and even if you can't think of a reason why someone might be willing to pay a lot to send a transaction that doesn't mean they don't exist.

The fees do.  Lets say the only way to spend USD was to mail them to a recipient.  A stamp costs $0.46 obviously paying $0.47 ($0.01 + $0.46) to make a $0.01 payment is UNECONOMICAL.  The fact that you could make a $0.01 payment (literally mail a US penny to a creditor) doesn't change the fact that it is UNECONOMICAL.  Right now transactions below ~5000 satoshis are uneconomical.  They won't be spent because the cost to spend them is greater than the value gained in spending them. 

In the future (if/when exchange rate rises significantly) the threshold on economic transactions will decline.  That is all "dust" is.  Dust is the threshold where an output isn't economical to spend.  Prior it 0.8.2 you could create outputs that due to economics likely would never be spent after 0.8.2 you can't.  Remember the dust threshold is now a variable.  The default value makes it 5430 satoshis however miners are free to set it to whatever they want.   

Miners have an incentive to both:
a) not exclude economical (meaning will be respent in the future) transactions because that would be turning away paying customers
AND
b) exclude non-economical transactions as they bloat the UXTO and raise miner's costs perpetually.

Thus miners have no incentive to set the dust threshold incorrectly.  Too high means less revenue and too low means excessive future cost.  0.8.2 lays the foundation for a more comprehensive system to balance the needs of small transactions with the cost paid by everyone

There is cost to bitcoin, there will ALWAYS be a cost to Bitcoin.  Now today that cost is partially "hidden" because the block subsidy is so large but the cost still exists.  Bitcoin is an efficient payment mechanism because it is p2p and there are no natural monopolies so (economic theory tells us)  the cost of transactions will be low.  Low doesn't mean zero.
scintill
Sr. Member
****
Offline Offline

Activity: 448


View Profile WWW
May 19, 2013, 12:36:03 AM
 #477

Who decides what a transaction is worth? Value is subjective, and even if you can't think of a reason why someone might be willing to pay a lot to send a transaction that doesn't mean they don't exist.

By "amounts so small it costs more to spend them than they are worth" I mean it costs more BTC in fees to re-spend than the mathematical value of the output*.  In other words, there is no economic reason to ever spend that output, unless the fees model changes or you manage to spend it without a fee.  It's like seeing a penny on the ground and knowing it will cost 10 cents worth of food to "pay" for the energy expended reaching down and picking it up (probably exaggeration, of course.)  What economic motivation is there to do that?  In Bitcoin, miners and other full nodes have to carry those pennies that people thought it was fun to throw around with no motivation to pick up, for the foreseeable future.  Miners have never been obligated to accept this abuse, and it's looking like many of them will put an end to it now.

Yes, I suppose sending 1 satoshi to one of Satoshi's addresses may have more subjective value to you than to the cold, hard 1-satoshi literal value.  If so, express that burning desire by paying a premium in fees and maybe someone will mine it for you.

Sorry if this feels brusque.  I find the attachment to 1-satoshi divisibility silly as it's just as arbitrary as 5430 satoshis.  I'm disappointed the network has been censoring my attempts at spending 0.1 satoshis. Wink

*By the way, if I'm understanding the 1/3 fraction in the patch, 5430-satoshi outputs are still quite uneconomical to spend.

1SCiN5kqkAbxxwesKMsH9GvyWnWP5YK2W | donations
TimJBenham
Sr. Member
****
Offline Offline

Activity: 266


View Profile
May 19, 2013, 01:45:08 PM
 #478

I understand that Gavin is a busy man, but IMHO, promptly and accurately responding to such disinformation and FUD attacks, should be given high priority, because it may damage bitcoin more than any technical attack could.

What does everyone else think about this?

I think the technical people should be focused on technical stuff, not PR.

You are a warlord in the outskirts of the known world struggling to establish a kingdom in the wild lands.
Theraty
Member
**
Offline Offline

Activity: 98



View Profile
May 20, 2013, 05:18:59 PM
 #479

Is this really going to happen or has it already happened. I'm just curious to see if it did or did not.
And do any of yous know what the new minimum limit is?
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218


Gerald Davis


View Profile
May 20, 2013, 05:24:23 PM
 #480

Is this really going to happen or has it already happened. I'm just curious to see if it did or did not.
And do any of yous know what the new minimum limit is?

It is in version 0.8.2 of the QT client.  0.8.2 is sill l RC and not final yet.
There is no hard minimum however the default value for dust is 5430 Satoshis (~0.6 US cents at current exchange rate).


Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 [24] 25 26 27 28 29 »
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!