Bitcoin Forum
July 29, 2021, 05:59:11 PM *
News: Latest Bitcoin Core release: 0.21.1 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 5 [6] 7 8 9 10 11 12 13 14 »  All
  Print  
Author Topic: Economically Unspendable Outputs: A Problem On The Radar  (Read 16348 times)
notig
Sr. Member
****
Offline Offline

Activity: 294
Merit: 250


View Profile
March 09, 2013, 12:53:45 AM
 #101

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?
1627581551
Hero Member
*
Offline Offline

Posts: 1627581551

View Profile Personal Message (Offline)

Ignore
1627581551
Reply with quote  #2

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

Posts: 1627581551

View Profile Personal Message (Offline)

Ignore
1627581551
Reply with quote  #2

1627581551
Report to moderator
stdset
Hero Member
*****
Offline Offline

Activity: 572
Merit: 500



View Profile
March 09, 2013, 01:01:34 AM
 #102

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.

00null
Full Member
***
Offline Offline

Activity: 148
Merit: 100


View Profile
March 09, 2013, 01:21:53 AM
 #103

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.

thebaron
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250



View Profile
March 09, 2013, 01:26:22 AM
 #104

Satoshi Dice is helping to drive the price of Bitcoin up.

Pros....cons...
alexkravets
Full Member
***
Offline Offline

Activity: 209
Merit: 100



View Profile WWW
March 09, 2013, 01:31:34 AM
 #105

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

Alex Kravets         http://twitter.com/alexkravets
doobadoo
Sr. Member
****
Offline Offline

Activity: 364
Merit: 250


View Profile
March 09, 2013, 01:37:05 AM
 #106

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.

"It is, quite honestly, the biggest challenge to central banking since Andrew Jackson." -evoorhees
zebedee
Donator
Hero Member
*
Offline Offline

Activity: 668
Merit: 500



View Profile
March 09, 2013, 02:07:03 AM
 #107

"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.
stdset
Hero Member
*****
Offline Offline

Activity: 572
Merit: 500



View Profile
March 09, 2013, 02:23:16 AM
 #108

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.

Jutarul
Donator
Legendary
*
Offline Offline

Activity: 994
Merit: 1000



View Profile
March 09, 2013, 02:33:39 AM
 #109

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.

The ASICMINER Project https://bitcointalk.org/index.php?topic=99497.0
"The way you solve things is by making it politically profitable for the wrong people to do the right thing.", Milton Friedman
zebedee
Donator
Hero Member
*
Offline Offline

Activity: 668
Merit: 500



View Profile
March 09, 2013, 03:09:25 AM
 #110

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.
misterbigg
Legendary
*
Offline Offline

Activity: 1064
Merit: 1001



View Profile
March 09, 2013, 03:24:23 AM
 #111

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."
DoomDumas
Legendary
*
Offline Offline

Activity: 1001
Merit: 1000


Bitcoin forever !


View Profile WWW
March 09, 2013, 03:39:00 AM
 #112

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
misterbigg
Legendary
*
Offline Offline

Activity: 1064
Merit: 1001



View Profile
March 09, 2013, 03:40:33 AM
 #113

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.

Explodicle
Hero Member
*****
Offline Offline

Activity: 950
Merit: 1001


View Profile
March 09, 2013, 03:57:56 AM
 #114

What exactly is wrong with this "bloat?"
Blocks won't go over the size cap, so it's fair to clients.
SD is paying enough in fees for miners to accept, so it's fair to miners.
Speculators get slightly richer from lost coins and increased popularity.
The only people who are worse off are other senders because they now have to pay a market price instead of tips.

Isn't this what we signed up for? Transaction fees go up, subsidy goes down?
zebedee
Donator
Hero Member
*
Offline Offline

Activity: 668
Merit: 500



View Profile
March 09, 2013, 04:12:53 AM
 #115

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".
Yes, that's the currently agreed ruleset.  So what's the problem again?

You've gone from saying they can't be spent, to they can't be spent for 6 hours?  Come on.  And not every bet is a losing bet.  And you can spend 3 or 4 satoshis at a time.

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

No, you can easily get a total of combined inputs and outputs of 6 or more without raising the cost from free.  Have you looked at what's happening in the actual blockchain, or the logic for free transactions?  And if you're paying the 0.0005 "minimum" anyway you can get away with a lot more inputs and outputs.
solex
Legendary
*
Offline Offline

Activity: 1078
Merit: 1000


100 satoshis -> ISO code


View Profile
March 09, 2013, 04:21:58 AM
Last edit: March 09, 2013, 04:45:36 AM by solex
 #116

What exactly is wrong with this "bloat?"
Blocks won't go over the size cap, so it's fair to clients.
SD is paying enough in fees for miners to accept, so it's fair to miners.
Speculators get slightly richer from lost coins and increased popularity.
The only people who are worse off are other senders because they now have to pay a market price instead of tips.

Isn't this what we signed up for? Transaction fees go up, subsidy goes down?

Everyone who has accepted the spirit of Bitcoin wants a new, peer regulated currency independent of central-banks and civil-liberties-crushing government control. The next thing is they want is for Bitcoin to take some market share from the existing fiat dominated world.

Applications like SD are generating new business within the Bitcoin domain, business which could never have existed before. This is fine to a degree, but this new, internal, business is not replacing general fiat usage or taking market share from paypal or mastercard, yet it is close to 70% of Bitcoin's transaction flow. This means that only 30% of Bitcoin's processing is replacing existing real-world fiat&payments. Even this might be fine, but Bitcoin has a finite capacity at the moment, the max block size, and a further unknown block size limit which is set by the network block propagation latency and verification time (remember, only 10 mins between blocks).

There is a potential risk, which looks to me a big risk, that SD-like applications will grow to consume nearly 100% of Bitcoin's capacity. At that point the "improve the world" dream will be on life-support. There is also the problem of unspendable outputs bloating the blockchain.

We are asking that SD optimize itself to at least buy some time.

Explodicle
Hero Member
*****
Offline Offline

Activity: 950
Merit: 1001


View Profile
March 09, 2013, 04:56:38 AM
 #117

Everyone who has accepted the spirit of Bitcoin wants a new, peer regulated currency independent of central-banks and civil-liberties-crushing government control. The next thing is they want is for Bitcoin to take some market share from the existing fiat dominated world.
Quote
There is a potential risk, which looks to me a big risk, that SD-like applications will grow to consume nearly 100% of Bitcoin's capacity. At that point the "improve the world" dream will be on life-support.
When did the spirit of Bitcoin tell you which applications are most important? Some of my dreams involve weird new inventions that weren't possible before, why should they take a backseat to direct conflict over occupied territory? If we both want the same shared resource for different ends, bidding on it seems like the fairest way to resolve our disagreement. Who knows, maybe provably fair gambling is the "killer app" for Bitcoin.

Quote
There is also the problem of unspendable outputs bloating the blockchain.
That "bloat" when maxed out will increase chain size linearly, while the cost of storage goes down exponentially. It's really an anomaly of young bitcoin that we had blocks below the cap this long - for most of bitcoin's future, the blocks should be nearly full.
salfter
Hero Member
*****
Offline Offline

Activity: 651
Merit: 501


My PGP Key: 92C7689C


View Profile WWW
March 09, 2013, 05:14:48 AM
 #118


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.

You most likely wouldn't send 1 satoshi by itself. One of the free-bitcoin sources has been sending 1-satoshi payments. I combine them with mining income and other income with my CheapSweep script (google this forum for the thread). It can take a few hours for the transaction to get accepted, but I've not had one not go through yet.

Tipjars: BTC 1TipsGocnz2N5qgAm9f7JLrsMqkb3oXe2 LTC LTipsVC7XaFy9M6Zaf1aGGe8w8xVUeWFvR | My Bitcoin Note Generator | Pool Auto-Switchers: zpool MiningPoolHub NiceHash
Bitgem Resources: Pool Explorer Paper Wallet
solex
Legendary
*
Offline Offline

Activity: 1078
Merit: 1000


100 satoshis -> ISO code


View Profile
March 09, 2013, 05:15:36 AM
 #119

Who knows, maybe provably fair gambling is the "killer app" for Bitcoin.

And I thought Bitcoin was a fiat-killer, the most powerful idea for the internet since the WWW.
I do hope some other people share this view...

tvbcof
Legendary
*
Offline Offline

Activity: 3640
Merit: 1196


View Profile
March 09, 2013, 05:45:12 AM
 #120

That "bloat" when maxed out will increase chain size linearly, while the cost of storage goes down exponentially. It's really an anomaly of young bitcoin that we had blocks below the cap this long - for most of bitcoin's future, the blocks should be nearly full.

My thought too.  As long as things are predictable I'm not terribly worried.  At least in terms of bloat, and as long as it is possible to be an infrastructure operator without spending huge amounts of money and thus limiting Bitcoin to be reliant on a handful of well capitalized entities.

Seems to me that as long as the community does not choose to fiddle with the block size, the fees will start to take care of SatoshiDice-class problems and it should remain practical for the system to be operational on the backs of a wide class of operators. 

Start monkeying with the block size and all bets are off.  Possibly this is why things are coded as they are?


sig spam anywhere and self-moderated threads on the pol&soc board are for losers.
Pages: « 1 2 3 4 5 [6] 7 8 9 10 11 12 13 14 »  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!