Bitcoin Forum
May 04, 2024, 05:40:48 AM *
News: Latest Bitcoin Core release: 27.0 [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 16437 times)
justusranvier
Legendary
*
Offline Offline

Activity: 1400
Merit: 1009



View Profile
March 08, 2013, 01:32:47 PM
 #41

Sorry but thread title is misleading.
Right. There is an attack, but it's originating from the OP.
1714801248
Hero Member
*
Offline Offline

Posts: 1714801248

View Profile Personal Message (Offline)

Ignore
1714801248
Reply with quote  #2

1714801248
Report to moderator
1714801248
Hero Member
*
Offline Offline

Posts: 1714801248

View Profile Personal Message (Offline)

Ignore
1714801248
Reply with quote  #2

1714801248
Report to moderator
1714801248
Hero Member
*
Offline Offline

Posts: 1714801248

View Profile Personal Message (Offline)

Ignore
1714801248
Reply with quote  #2

1714801248
Report to moderator
"There should not be any signed int. If you've found a signed int somewhere, please tell me (within the next 25 years please) and I'll change it to unsigned int." -- Satoshi
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
misterbigg (OP)
Legendary
*
Offline Offline

Activity: 1064
Merit: 1001



View Profile
March 08, 2013, 02:27:13 PM
 #42

First, it's your subjective opinion what is "spam" and what is not "spam".

If you read the post, then you understand that these outputs can never be realistically spent, since they would cost more in fees than the amount received.

Quote
If the disk is scarce for you, do not store the whole blockchain.

Again, you do not understand that these transactions cannot be pruned. They must exist until the end of time, and yet the outputs cannot be spent.

Quote
Second, it's your subjective opinion regarding the "maturity" of the network.

No. The maturity can be measured objectively as the average fill rate of blocks (currently at roughly 25%).

Quote
Third, "startup capital" does not exist. As does not exist any "common good".

The block subsidy is a temporary incentive to reward miners as the system bootstraps itself. It also exists to handle the problem of the initial distribution of coins (Ripple developers take note). The "startup capital" refers to the current condition of low fees and lack of competition for space in the block chain.

Quote
You are basically calling for censorship based on your personal preferences, disguising them under "common good" myth.

No, I'm saying that we don't need fees to go up sooner than necessary just because of one bad actor on the network.

The problem of unspendable outputs can be fixed with dust collection algorithms in the clients. With every transaction the coin selection algorithm can check to see if any dust outputs can be included as an input without causing the transaction to require a higher fee.

If your proposed change was to go through, an attacker could cheaply flood the network by first creating a lot of dust, then sending it to himself, and finally creating many transactions that spend the dust as an input using the lower fee.

Miners are the ones with the voting power here. ...If the blocks start to become too large because of transaction volume, it could take minutes instead of seconds to push around all that data over networks...

The transaction volume wouldn't be a problem in the future since we will regularly reach the 1mb limit. It's only a problem now because the network is young. But the transaction volume is only one part of the problem. The other part is the unspendable.

Every time SatoshIDICE sends a losing bet transaction, every current node and every new node must keep a copy of the transaction until the end of time.

I don't see the problem. Raise the max block size limit and problem solved.

Raising the max block size would make the problem worse, since even more SatoshiDICE transaction spam would be permanently etched into the block chain, with no possibility of getting spent.
anarchy
Member
**
Offline Offline

Activity: 102
Merit: 10


View Profile
March 08, 2013, 03:08:50 PM
 #43

Misterbigg, first of all, let the programmers solve it (you have no authority on the matter)
Second, please stop spreading fear and panic
Third, banning *anything* will be the end of bitcoin
misterbigg (OP)
Legendary
*
Offline Offline

Activity: 1064
Merit: 1001



View Profile
March 08, 2013, 03:10:43 PM
 #44

banning *anything* will be the end of bitcoin

When did I ever suggest we "ban" anything? You're thinking about someone else's thread and patch. I never said ban.

You're right that developers need to address the issue. But for now the best us non-developers can do is try to raise awareness and use social pressure to encourage the actors on the network to act in it's best interests (although I concede that might be a long shot).
evoorhees
Legendary
*
Offline Offline

Activity: 1008
Merit: 1021


Democracy is the original 51% attack


View Profile
March 08, 2013, 03:33:35 PM
 #45


* Put pressure on SatoshiDICE to stop the transaction spam. The principals involved in SatoshiDICE are Erik Voorhees, Roger Ver, and Jon Matonis (board member and secretary of the Bitcoin Foundation. See a conflict of interest?


Neither Roger Ver nor Jon Matonis are principles of SatoshiDice.
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
March 08, 2013, 03:41:30 PM
 #46

I would point out that pruning doesn't have to be binary.  It can be probalistic.

For example the active transaction set could exclude all spent outputs and all unspent outputs below a certain threshold, it could even exclude very old outputs.  Essentially the active transaction set is acting like a cache and using probalistic functions to try and balance resource requirements vs cache hit rate.

If a transaction is created which uses an output not in the active set then the details could be fetched from the full unpruned database.   If is even possible that some nodes wouldn't maintain this locally and simply query other nodes by sending the tx id and requesting details.

SD inefficiently uses a critical resource.  Basically it comes down to you either believe in free markets or you don't.  If you really believe in free markets then the market will solve the problem of inefficiency.  More valuable transactions will crowd out SD ineffcient use of the resource.  SD will adapt either by raising min and thus collecting same revenue using less of the critical resource, or by moving transactions off blockchain.    If you don't believe in free markets then Bitcoin will fail eventually anyways.  SD isn't a problem, Bitcoin is.

Personally I believe free markets are the most efficient allocator of resources (including space in a block) and thus SD isn't a "problem" long term.
Bitobsessed
Sr. Member
****
Offline Offline

Activity: 291
Merit: 250



View Profile
March 08, 2013, 03:43:01 PM
 #47



So, for each output below 0.01BTC (threshold which depends on bitcoin value, currently ~$40), every time the output halves in value, the transaction fee must increase by TXFEE.



LOL
Bitcoin value for me is pricless now please put it in code....
Would be reviewed periodically by developers - much like the transaction fee, now at 0.0005BTC. If bitcoins jump to $100 or $200, the minimum transaction fee will probably be reduced to 0.0001BTC. What I mean is, with fiat currency, there is a minimum transaction - $0.01.  Actually, in Canada, isn't it CAD$0.02 ?  I gather some European countries don't even use €0.01 coins anymore.

So the devs would introduce a minimum recommended transaction output of 0.01 BTC. According as 1 BTC buys more and more potatoes, the minimum transaction should be reduced accordingly. In any case, the minimum transaction output should ALWAYS be greater than the minimum transaction fee, so that these spammy outputs can always pay for their own redeeming and be eventually pruned.

With fiat, $0.01 is the minimum transaction because that is the smallest unit created.  In Bitcoin the smallest unit is 0.00000001 and should be able to be spent just like a penny, but it is uneconomical because of the way Bitcoin is transferred you usually have to pay a txfee.  If you are just discovering this, you need to go back and read some more.  With that, you can still send Bitcoin without a txfee, good luck getting it included in a block though.  I used to send Bitcoin all the time without a fee and it was usually always included in the very next block.  The problem is not Satoshi Dice, the problem is that Bitcoin is still being developed and tested.  I think this needs addressed by the developers and is not so much of a problem now, but will be in the future if adoption and price continues to rise.   

That all being said, "can" Satoshi Dice do something about this to help the network short term? Yes.
Would it cut into their profits? Yes
Will they do anything? Probably not...
conv3rsion
Sr. Member
****
Offline Offline

Activity: 310
Merit: 250


View Profile
March 08, 2013, 03:44:04 PM
 #48

banning *anything* will be the end of bitcoin

When did I ever suggest we "ban" anything? You're thinking about someone else's thread and patch. I never said ban.

You're right that developers need to address the issue. But for now the best us non-developers can do is try to raise awareness and use social pressure to encourage the actors on the network to act in it's best interests (although I concede that might be a long shot).


The developers will address the issue and as we both know are already well aware of it. Your "raising awareness" is just your attempt to create FUD. Asking the actors to act in the network's best interest is the wrong approach. In the short term, a better solution would be for pool operators to detect this "abuse" and voluntarily decide to not include these types of transactions (matching this pattern) into their blocks rather than just "banning" certain addresses.  

Its economically unfeasible to spend a Satoshi today (and that affects pruning) because a Satoshi is less than the current standard transaction fee. No shit. That doesn't mean that it always will be. Guess what happens if the block size is never raised? It becomes economically unfeasible to spend a mBit or uBit because the transaction fee rises (in BTC) and a BTC's value drops (in USD or whatever). That makes this exact problem worse.

Your motivations become more transparent by the day.
WiW
Sr. Member
****
Offline Offline

Activity: 277
Merit: 250


"The public is stupid, hence the public will pay"


View Profile
March 08, 2013, 03:45:07 PM
 #49

I don't see the problem. Raise the max block size limit and problem solved.

Raising the max block size would make the problem worse, since even more SatoshiDICE transaction spam would be permanently etched into the block chain, with no possibility of getting spent.

So who gets to pick who gets to spend what they want however they want? Just because YOU and HIM don't like SDice means they don't get to use bitcoin??

I have an idea. How about you go print your own fiat and regulate all you want. If you're worried about SDice wasting satoshis or the blockchain getting large then you don't understand bitcoin. Neither of these are a "problem". Stop fear-mongering.
Timo Y
Legendary
*
Offline Offline

Activity: 938
Merit: 1001


bitcoin - the aerogel of money


View Profile
March 08, 2013, 03:45:15 PM
 #50

If anywhere this should be solved at the protocol level, not at the social level. The bitcoin system should be completely agnostic about the intention of a transaction.  All it should be concerned about is the total cost of a transaction, both to the miners and relay nodes.

If people start using patched clients to block transactions based on perceived intentions, we are going to get into a huge mess.  Players like Satoshidice are going to start obfuscating their intentions, resulting in arms race, and before long there will be collateral damage, and innocent people who's transactions look like their intention is X,Y and Z are going to have them blocked.

It's going to be a bit like the old financial system. After some players misbehaved, government introduced rules like 'trading X with the intention to speculate is prohibited'.  Of course, this didn't stop traders from speculating, it just encouraged them to repackage their financial instruments to make it look like it's not speculation.  

These intention-based rules only make the financial system more complex, less transparent, less fair, and less stable.  We really don't want to do the same to Bitcoin. Let's keep it simple please!

GPG ID: FA868D77   bitcoin-otc:forever-d
ShadowOfHarbringer
Legendary
*
Offline Offline

Activity: 1470
Merit: 1005


Bringing Legendary Har® to you since 1952


View Profile
March 08, 2013, 03:45:23 PM
Last edit: March 08, 2013, 04:04:47 PM by ShadowOfHarbringer
 #51

banning *anything* will be the end of bitcoin
raise awareness and use social pressure to encourage the actors on the network to act in it's best interests

Bullshit.

Not every user of the network is acting in its best interests. On the contrary: there are and there will be many people who will try to destroy the network or simply use it for their own means / their profits without caring about how this affects other users.

We need to be prepared for everything, not whine around because somebody is using a known vulnerability. Vulnerability needs to be fixed and that is end of discussion.

evoorhees
Legendary
*
Offline Offline

Activity: 1008
Merit: 1021


Democracy is the original 51% attack


View Profile
March 08, 2013, 03:45:52 PM
 #52

* Put pressure on SatoshiDICE to stop the transaction spam. The principals involved in SatoshiDICE are Erik Voorhees,

If he can spam Bitcoin network that means its a vulnerability. Vulnerability that needs to be fixed.

It is pointless to "put pressure" on anybody. On the contrary, its good that somebody shows us what needs to be improved. SatoshiDICE is not our enemy, just an opportunist using an opportunity.

If ever governments decide that they don't like Bitcoin after all, SatoshiDICE will be the least of our problems. A real enemy like that will use any means possible (including spamming the network) to harm BTC.

So perhaps let's grab this opportunity to harden the Bitcoin protocol instead of complaining.
.
.
Pressuring SatoshiDice is a band-aid, not a solution. The Bitcoin system is supposed to work, we're not supposed to ask people to do us a favor and not use it.

To solve the problem of unprunable small outputs, we need some form of output upkeep costs.

+1

+1

This is so obvious I'm astounded that people keep parroting SD as a "problem."  Let's say I shut down SatoshiDice tomorrow, has Bitcoin gotten stronger? More resilient? More impressive? More worthy of global commerce? Here's what would happen:

1) People would see that Bitcoin was so vulnerable that one of its leading advocates had to shut down one of the most profitable Bitcoin sites because the Bitcoin network "couldn't handle it."  Perhaps it would make it into the press with the headline, "Bitcoin too weak to support one small gambling site"

2) Bitcoin's usefulness for mini- or micro-transactions, or even "numerous transactions" would be abolished. There'd be significant in-fighting over what constituted "microtransactions" and "transaction spam."

3) Any other person or company could and would create new services (like SD or totally different) that also creates many transactions. The "problem" would then be back, perhaps much bigger. Any "progress" gained by exiling SD would be very swiftly lost.

But at least Luke-Jr, misterbigg, and their cohort of whining babies would be happy because they "saved Bitcoin"  Roll Eyes

evoorhees
Legendary
*
Offline Offline

Activity: 1008
Merit: 1021


Democracy is the original 51% attack


View Profile
March 08, 2013, 03:47:17 PM
 #53

You are basically calling for censorship based on your personal preferences, disguising them under "common good" myth. This strategy is very dishonest and reminds me of shitload of propaganda that is poured on every single person all around the world for the last several thousand years.



If anywhere this should be solved at the protocol level, not at the social level. The bitcoin system should be completely agnostic about the intention of a transaction.  All it should be concerned about is the total cost of a transaction, both to the miners and relay nodes.

If people start using patched clients to block transactions based on perceived intentions, we are going to get into a huge mess.  

You guys have restored my faith in the forum community, very well said Smiley
misterbigg (OP)
Legendary
*
Offline Offline

Activity: 1064
Merit: 1001



View Profile
March 08, 2013, 03:52:11 PM
 #54

Let's say I shut down SatoshiDice tomorrow

I think that's going a little too far. How about just not sending dust to notify losing bets?
Jutarul
Donator
Legendary
*
Offline Offline

Activity: 994
Merit: 1000



View Profile
March 08, 2013, 03:52:56 PM
 #55

SD inefficiently uses a critical resource.  Basically it comes down to you either believe in free markets or you don't. ... Personally I believe free markets are the most efficient allocator of resources (including space in a block) and thus SD isn't a "problem" long term.
this.

What doesn't kill you makes you stronger. SD is a business model which is viable because it kinda enjoys a free ride. The moment gambler's have to spend 50% irreversible fee on a 50:50 bet, they're going to say, WTF.

So in essence SD competes only with a zero-transaction fee market. I have no problem with miners using social criteria on a zero-transaction fee market, because it's altruistic anyway. (also note the distinction between propagation vs. validation, https://bitcointalk.org/index.php?topic=149668.msg1600289#msg1600289)

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

Activity: 518
Merit: 500



View Profile
March 08, 2013, 03:53:44 PM
 #56

After reading OP all I have to say is....da fuuuuuuuuuq?

I think I might just through a few bets into SD just to cleanse myself from all the FUD you just posted.

Offering Video/Audio Editing Services since 2011 - https://bitcointalk.org/index.php?topic=77932.0
evoorhees
Legendary
*
Offline Offline

Activity: 1008
Merit: 1021


Democracy is the original 51% attack


View Profile
March 08, 2013, 03:56:51 PM
 #57

Let's say I shut down SatoshiDice tomorrow

I think that's going a little too far. How about just not sending dust to notify losing bets?


That would reduce the SD transactions by about 25%. Will that satisfy you and solve the "problem"? Or will this discussion flare up again when SD grows by a subsequent 33% a month later?
misterbigg (OP)
Legendary
*
Offline Offline

Activity: 1064
Merit: 1001



View Profile
March 08, 2013, 03:58:20 PM
 #58

More valuable transactions will crowd out SD ineffcient use of the resource...Personally I believe free markets are the most efficient allocator of resources (including space in a block) and thus SD isn't a "problem" long term.

It's true that SD isn't a problem long term but as of this very moment, SD transaction spam accounts for upwards of 80% of all transaction volume. There is so much of it (likely due to betting bots) that it is driving up transaction fees. Eventually fees will go up anyway but we don't need fees to increase so much yet. The block subsidy is more than enough to incentivize mining. What the SD transaction spam is doing is prematurely raising the costs of transactions at a time when Bitcoin is in it's early stage and doesn't need the burden.

We need to be prepared for everything, not whine around because somebody is using a known vulnerability. Vulnerability needs to be fixed and that is end of discussion.

Yeah, I don't think anyone is disputing that the vulnerability needs to be fixed but until we have a robust technical measure in place that discourages the bad behavior (instead of just blocking any address that starts with "1dice") I think that raising awareness is the best we can do. You're more than welcome to propose solutions in the Development and Technical Discussion forum.
conv3rsion
Sr. Member
****
Offline Offline

Activity: 310
Merit: 250


View Profile
March 08, 2013, 03:59:09 PM
 #59



If you read the post, then you understand that these outputs can never be realistically spent, since they would cost more in fees than the amount received.


That's only true today. Maybe in the future a bitcoin becomes divisible to 16 places. Either way, who cares?

Quote
Again, you do not understand that these transactions cannot be pruned. They must exist until the end of time, and yet the outputs cannot be spent.

So what? If disk space is a problem for you, don't run a full node. I have 10x the current size of the Bitcoin blockchain available on one thumb drive I got for $30. And guess what, it turns out that storage gets cheaper over time. Crazy huh?


Quote
No, I'm saying that we don't need fees to go up sooner than necessary just because of one bad actor on the network.

We should be thankful for this "bad actor". He is helping to understand how to deal with a larger issue by working within the system as it currently exists at a stage that is early enough to correct the problem.

Quote

Every time SatoshIDICE sends a losing bet transaction, every current node and every new node must keep a copy of the transaction until the end of time.

Yup, that's how Bitcoin works. So what? SD paid a transaction fee to do that.


misterbigg (OP)
Legendary
*
Offline Offline

Activity: 1064
Merit: 1001



View Profile
March 08, 2013, 04:01:21 PM
 #60

...How about just not sending dust to notify losing bets?
That would reduce the SD transactions by about 25%. Will that satisfy you and solve the "problem"? Or will this discussion flare up again when SD grows by a subsequent 33% a month later?

Again it's not the volume of transactions that is the sole problem, it's the unprunable and unspendable outputs that are sent for losing bets. They will be carried around in every copy of the block, in perpetuity, and can never be realistically spent (since it would cost more in fees than the actual amount).

The volume is making fees go up in the short term which isn't the best but that problem will go away as we get more "legitimate" transactions. But the unprunable and unspendable outputs have a permanent effect.

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!