Pages:
Author

Topic: Economically Unspendable Outputs: A Problem On The Radar - page 9. (Read 16492 times)

legendary
Activity: 1064
Merit: 1001
This would be taking action against a problem who is only a problem due to how to network currently operates. If you remove SDice from operation, another company will take its place.

I'm okay with that, at least we get some peace during the time in between and spare us the block chain bloat even if temporarily. And if the developers fix it before another company takes its place, all the better! But the idea that "it's okay if I do it because if I didn't, then someone else would" is morally bankrupt.

I'm all for libertarian ideals but they can only work when actors behave ethically. Sure, someone who finds a severe security hole in theory has the "right" to reveal the information right away, the "freedom of speech" to tell everyone about the flaw, but the morally correct action is to follow vulnerability reporting best practices. Inform the developers, and then after sufficient time has passed to fix the defect, reveal it to the public.

I hope this example makes it clear that even if we have the opportunity to do something, it doesn't make it right.

legendary
Activity: 1002
Merit: 1000
Bitcoin
This would be taking action against a problem who is only a problem due to how to network currently operates. If you remove SDice from operation, another company will take its place. We should be happy that SDice has made this flaw apparent and take action not against SDice, but at the source rather than the "cause".

+1

I'm not against SD activities at all.  Did'nt play SD, because mathematicaly, it's a lost over time.  I dont care if peoples/bots are using SD.  If not SD, few other could take their place.  It's just pointing out an issue that must/will be resolved.

Always search for solution in regards to the source of the problem.  SD using the network is'nt the source of the problem.  The Bitcoin have to be upgraded to cope with the scaling up that is incomming.  SD helped Bitcoin by showing this scaling issue soon.  It's best like it, as it gives us time to find a solution, in a civil way, to an issue that is nice to have : Bitcoin must adapt to higher volume.  Is'nt very nice issue to cope with already ? Smiley

I'm confident that we will arrive to a very good solution, for the best of the Bitcoin futur !

Meanwhile, I've increased max block size of the full node I run since late 2010 !

Happy life to all Smiley
legendary
Activity: 1064
Merit: 1001
If I have other coins, say 4 BTC, and want to spend 1.25 BTC, it's trivial to create a transaction with 4 BTC + 1 or more single-satoshi inputs, that pays 1.25 + 2.7500000x BTC change as outputs, and pay no fees.

So not only can they be spent, they can even be spent and pruned for free.  Yes, I've done it myself.

First of all your trick only works once, if the 4 BTC come from a transaction output that is sufficiently aged. So it's not "free", you're consuming the limited resource (old coins in this case). You could not, for example, use the same 4 BTC again to combine another single satoshi input for "free".

Second, assuming that you did not have aged coins you would have to pay a fee. The 36 bytes for the additional input (the 1 satoshi) will drive the fee up by more than one satoshi. This is what we mean by "economically unviable to spend."
donator
Activity: 668
Merit: 500
So not only can they be spent, they can even be spent and pruned for free.  Yes, I've done it myself.
you have a missing incentive structure. A gambler doesn't care about the technological implications of dust output. His main concern is economic.

To get a fee of 0.01 you need at least 10^6 satoshi inputs. So there's no economic incentive. The only thing which would help is an intelligent client which "sweeps" the satoshi output and throws it in as a fee. However, as pointed out before, in a crowded blockchain, that little bit of required extra space may cause another important transaction to be left out, so there's no free lunch.

Overall transactions which have no intent of being spent (for economic or other reasons), pollute the blockchain. We need an incentive structure to discourage that - or at least make it expensive to do so.
He's paying the fee implicitly becauser SD are paying it!  And they're making money.

Further, your mega-gambler has to bet right?  Each bet can take a prior losing satoshi, so even a gambler with a lot of bad luck needn't be building up the satoshis.  Think a little bit, this is a non-problem.

Yes the standard client software might need updating.  I mainly use electrum which makes it easy to specify what outputs to use, but any client updated to spend dust is all you need, and adding such logic is very easy.
donator
Activity: 994
Merit: 1000
So not only can they be spent, they can even be spent and pruned for free.  Yes, I've done it myself.
you have a missing incentive structure. A gambler doesn't care about the technological implications of dust output. His main concern is economic.

To get a fee of 0.01 you need at least 10^6 satoshi inputs. So there's no economic incentive. The only thing which would help is an intelligent client which "sweeps" the satoshi output and throws it in as a fee. However, as pointed out before, in a crowded blockchain, that little bit of required extra space may cause another important transaction to be left out, so there's no free lunch.

Overall transactions which have no intent of being spent (for economic or other reasons), pollute the blockchain. We need an incentive structure to discourage that - or at least make it expensive to do so.
hero member
Activity: 572
Merit: 506
So not only can they be spent, they can even be spent and pruned for free.  Yes, I've done it myself.

Good point. But an SD gambler is likely to have some thousands of single satoshi outputs. How much time it will take to spend them this way? It's like a pool with two pipes. Through one water gets in, through another gets out. And it will always be more water getting in than getting out.
donator
Activity: 668
Merit: 500
"Transaction spam" is the largest issue threatening the fledgeling currency called Bitcoin. A brief synopsis of the problem:

"SatoshiDICE" notifies gambling addicts of losing bets by sending them a transaction containing 1 satoshi back to their original address. A regular transaction fee is also included in this transaction. The problem is that this produces an unspendable and unprunable output. The output is unspendable because it is so small that it would cost more in fees than it would to send. It cannot be pruned because it has to stay around in fast storage to detect double spends, even though ironically it cannot be spent (developers, let me know if this description is technically accurate).
You see, you don't really know what you're talking about and that's leading you to draw the wrong conclusions.

If I have other coins, say 4 BTC, and want to spend 1.25 BTC, it's trivial to create a transaction with 4 BTC + 1 or more single-satoshi inputs, that pays 1.25 + 2.7500000x BTC change as outputs, and pay no fees.

So not only can they be spent, they can even be spent and pruned for free.  Yes, I've done it myself.
sr. member
Activity: 364
Merit: 250
This is definitely a flaw.  The BTC protocol should reject any output less than the block's tx fee, or the median tx fee for the last 60 or so blocks.
full member
Activity: 209
Merit: 100
Once hedge funds can funnel cash through Coinlab starting on March 22nd, THAT will become the price driver ... all this retail coin tossing around won't matter
sr. member
Activity: 434
Merit: 250
Satoshi Dice is helping to drive the price of Bitcoin up.

Pros....cons...
full member
Activity: 148
Merit: 100
The thing is that when you lose at SD, you lose twice. First you lost the bet, and second you have to pay good money to get rid of the SD spam dust.
But I guess this will never be fixed, because Erik has too much influence on TBF and as a result on Gavins work. And with those ever raising profits he can already pay Gavin with pocket change from SD.
hero member
Activity: 572
Merit: 506
out of curiosity... is a reason why they wouldn't fix this because they don't think people will want to go through an extra step in creating an account, then sending funds to their site to play with?
As far as I understand, the system now is provably honest to certain degree.
It is still possible to do some fraud IMO. Lets imagine we are SD. We want people to see, that on average say a 50% bet wins in half the times. But still, we can do some bets from our own speciall addresses which always win, therefore we are able to decrease winning rate for normal gamblers.
Correct me if I'm wrong.
sr. member
Activity: 294
Merit: 250
out of curiosity... is a reason why they wouldn't fix this because they don't think people will want to go through an extra step in creating an account, then sending funds to their site to play with?
hero member
Activity: 572
Merit: 506
misterbigg +1 for discussing this important issue in peaceful, patient and respectful way.

Title is a bit misleading though, but attracts much attention  Wink

And btw, it's hard not to notice, that HDDs capacity growth rate significantly decreased last years. As far as I remember, the last HDD I bought, I bought in the first quarter of 2010. It was a 2Tb HDD for about $100. Now, 3 years later, price of a 2Tb HDD is about the same. And, well, we have 4Tb ones for $300. So, I wouldn't count now on incredibly cheap future storage space.

Those, who don't even know, that low priority transactions pay fees proportional to their size (in kilobytes) should rather read more and post less.
legendary
Activity: 1064
Merit: 1001
So if someone wants their 1 Satoshi they can just send it as a free transaction. Once it is of a sufficient age they will be sent.

Yeah for a 1-satoshi amount it would have to age for one or two thousand years. During that time, every miner that ever lives has to store a copy of the transaction even though it can't be spent.

Plus, by that time nodes will no longer relay free tx because miners wont include them in blocks (since there's no fee). This will happen well before the subsidy drops to zero.
legendary
Activity: 3598
Merit: 2386
Viva Ut Vivas

Free transactions are only relayed or included in a block if the coins are of sufficient age, to prevent attackers from flooding the network with messages.


So if someone wants their 1 Satoshi they can just send it as a free transaction. Once it is of a sufficient age they will be sent.

Problem solved.
full member
Activity: 168
Merit: 100
So for the currency who prides itself on being "cheaper than credit/debit" you foresee and look forward to when transaction fees are so high it is actually prohibitive to high volume usage? Bitcoin is a neat concept and I'm enjoying learning about it/getting into the whole scene but reading some of the stuff you guys post makes my head hurt. I'm not sure half of you understand the concepts you hold in such high esteem when talking about the benefits of bitcoin in the first place. Seems like most of you are having trouble reconciling the fact that basically everything which helps bitcoin reach its worldwide goals actually hurts you as a single user of low financial power. You will be the same ineffective actor that you are in the fiat world because people who are more skilled and have grasped more power and made more money will push you to the side just like they do now. The vision you all seem to have of how this Satoshi "problem" should be handled is a not-so-free market once it negatively impacts you or you fail to be the one benefiting from a position of advantage over others.

Just keep hitting the reset button until you land on top right? I mean statistically it has to happen sometime huh? No, probably not.
full member
Activity: 209
Merit: 100
+1 for MisterBigg's last post
legendary
Activity: 1792
Merit: 1008
/dev/null
I think calling the amounts "unspendable" is not technically correct - provided an unspent output is old enough even one that contains a single Satoshi can be spent (at least that is the case currently AFAIA).


I don't see why these are unspendable? Couldn't you just have more incoming bitcoins land on that address, and then spend them as a group?
u could, but the TX is getting big and you would have to pay a higher fee for it, altough u still can do it for free. scroll up or click here: https://bitcointalksearch.org/topic/m.1601755

If you can send transactions for free, is there any reason you would not be able to send a big transactions with a reduced fee?

Just wondering: Is the size of the bitcoin transactionss cumulative, or does it reset after each transaction? What I mean is if I take a bunch of small amounts and send them to one address, that would be a big transaction, but if I then send the coins from the one address to somewhere else, does that also make a big transaction or does it become a small transaction because it is from only one address now?
i once did send a TX which was around 53KB if remember this correct with 0 satoshis as feed, i could have set the fee to 0.0005 and it would still work. altough u would need to use the rawtx API, otherwise u cant do that.
legendary
Activity: 1064
Merit: 1001
I don't see why these are unspendable? Couldn't you just have more incoming bitcoins land on that address, and then spend them as a group?

Okay, you'll have to forgive me if my technical analysis is incorrect but I believe that when you spend an aggregation of coins, there needs to be a separate input coming from the chain of each separate coinbase. That means that when you combine the single satoshi with some other coins there will be at least two txin (I think). The problem is that the extra txin will incur additional per-byte transaction fees which can only be greater than the size of the input (1 satoshi in this case).

It seems that no matter what you do, the added fees required to process the single satoshi will always be larger than one satoshi. Considerably larger, even a 10 satoshi output cannot be spent.

In fact I believe that SD changed the amount it sends from 1 to a small random number between 1 and 5 because some of the mining pools dropped transactions with just one satoshi output.

If you can send transactions for free, is there any reason you would not be able to send a big transactions with a reduced fee?

Free transactions are only relayed or included in a block if the coins are of sufficient age, to prevent attackers from flooding the network with messages.
Pages:
Jump to: