Pages:
Author

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

full member
Activity: 200
Merit: 104
Software design and user experience.
"Transaction spam" is the largest issue threatening the fledgeling currency called Bitcoin.
(...)
Miners have a love and hate relationship with this transaction spam. They love the fees, but hate that they need to store every one of these transactions on the hard drive, FOREVER. They cannot be pruned since they are unspent outputs.
(...)
We do not have a mature network, and we're in the bootstrapping phase. SatoshiDICE is consuming the "startup capital" (current state of low fees, high subsidy, and lots of free space in blocks)

What a load of nonsense. I myself do not care about SatoshiDice at all, but seeing people making a drama about it makes me itchy.

First, it's your subjective opinion what is "spam" and what is not "spam". Miners voluntarily include transactions they want and voluntarily accept blocks from other miners. They account for their storage costs themselves without asking your opinion. If the disk is scarce for you, do not store the whole blockchain. My phone disk space is valuable for me, so I don't keep the whole blockchain there. Maybe I should complain to the Pope or Mr. President that there are too many transactions out there for my phone to handle?

Second, it's your subjective opinion regarding the "maturity" of the network. For me Bitcoin is not even "beta", but already proven and working protocol. You may disagree, but I don't see how my opinion should block your transactions and your opinion should block mine. It's up to actual miners and every other single user to decide whether to verify/include/relay/store/prune transactions. And everyone will decide for themselves individually. I may prune some transactions from the blockchain, you may choose to have block headers only. Or we can store random 1% of all transactions and download more only when needed from the peers around.

Third, "startup capital" does not exist. As does not exist any "common good". Good is always evaluated subjectively and individually. There is no "society" entity acting on its own. It is just a name for a bunch of people acting in their own self-interest. SatoshiDice consumes only the resources that somebody is willing to sell and others are willing to pay for. There is no "danger" whatsoever. 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.




legendary
Activity: 1708
Merit: 1020
Is there a particular reason fees higher than the transaction value are allowed?

What about imposing this:

Smallest output must be at least 10 times the fee.

It would always ensure that it is possible to spend output, thus allow pruning.
legendary
Activity: 1526
Merit: 1134
I've never heard of anyone except evorhees being involved with SatoshiDice. You should really be careful with throwing names around like that.
legendary
Activity: 1470
Merit: 1006
Bringing Legendary Har® to you since 1952
* 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
hero member
Activity: 924
Merit: 1001
Unlimited Free Crypto
@fergalish

Su you are saying lets start giving specific individuals powers to control aspects of Bitcoin and change things as "they see fit"....... remind me again why do we believe Bitcoin is different than the other crap outthere?

- Edit, Just noticed you mean periodically change the "recommended" fees. Sorry that would be totally okay IMO.
sr. member
Activity: 440
Merit: 250


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.
full member
Activity: 161
Merit: 100


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....
full member
Activity: 161
Merit: 100
sr. member
Activity: 440
Merit: 250
How about a solution like this. A transaction can include outputs that anyone can spend, without requiring a private key to unlock; let's call them "free" outputs. So, the smaller any single output is, the more free outputs the transaction must have, with each free output equal to the standard transaction fee.

Obviously the free outputs will be claimed by clients that relay or mine the transaction. Some clients might not relay the transaction if all the free outputs are already taken, therefore in the interest of propogation, a single relaying client will not be tempted to immediately claim all the free transactions.

However -- I'm not sure about a technical aspect of this. Suppose I send a transaction with two free outputs. The first relay claims one and leaves another blank. The transaction is then mined, so the miner claims the second. However: could the miner also *erase* the claim on the first free output, and insert a new claim on it?  In other words, can the original transaction be derived from the one in which the first free output is claimed?



An alternative solution is this. At the moment, the fee is TXFEE * TXSIZE, where TXFEE is 0.0005BTC and TXSIZE is measured in kB, right?  And the fee must be applied if: a) the priority is low b) TXSIZE > 1 or c) any output < 0.01 BTC. How about changing the fee to:  TXFEE*TXSIZE + SUM_{OUTPUTS<0.01}(TXFEE*log2(0.01/outputvalue)).  Let me explain:

TXFEE*TXSIZE is the same as before.

0.01/outputvalue = 1.0 if outputvalue=0.01
                        = 2 if outputvalue=0.005
                        = 8 if outputvalue=0.000125
and so on.

log_2(...) = 0 if outputvalue=0.01
              = 1 if outputvalue=0.005
              = 3 if outputvalue=0.000125
and so on

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.

So, a 750Byte transaction with outputs (0.5, 0.01, 0.009, 0.001, 0.00000001) will require a fee on the last three outputs only:   TXFEE*[log2(0.01/0.009) + log2(0.01/0.001) + log2(0.01/1e-8)] = TXFEE*[0.15 + 3.32 + 19.93] = 23.4 * TXFEE.

As you can see, the 1 satoshi output really costs alot of fees.

The problem is that this will merely make the transaction more expensive benefiting the miner - it will not reward non-miners for having to store, relay and validate the output (though that might be impossible anyway).
legendary
Activity: 1176
Merit: 1001
This topic is a good reason for bears to be bears.
full member
Activity: 238
Merit: 100
> 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?

I'm a lifelong member with regrets at having joined but for the fact that Gavin gets paid. It's the only reason I didn't press for the return of my bitcoins.

Email them if you're so inclined:

For Press Inquiries

    Executive Director Peter Vessenes: [email protected]
    Secretary Jon Matonis: [email protected]

Individual Member Class Questions

    Secretary Jon Matonis: [email protected]
    Chief Scientist Gavin Andresen: [email protected]

Corporate Member Class Questions

    Vice Chairman Charlie Shrem: [email protected]
    Board Member Mark Karpeles: [email protected]

Legal Questions / Contact

    Chief Counsel Patrick Murck: [email protected]

General Questions

    Assistant Director Lindsay Holland: [email protected]




What is your source on Jon Matonis owning SD ?
sr. member
Activity: 284
Merit: 250
If the network can't handle the load from SD then we should all just pack it in and go home.  You ain't seen nothin' yet.
legendary
Activity: 1064
Merit: 1001
The principals involved in SatoshiDICE are [...] and Jon Matonis

source?

Currently it is hearsay.
legendary
Activity: 873
Merit: 1000
The principals involved in SatoshiDICE are [...] and Jon Matonis

source?
legendary
Activity: 1078
Merit: 1006
100 satoshis -> ISO code
Fantastic OP. I agree 100% with it.

Don't forget that even if SD starts internalizing all its business, like Mt. Gox and other major sites, that SD-clones could kick-off at any time and do similar long-term damage to Bitcoin.

The solution is employing even smarter anti-spam filtering for miners which reduces this type of transaction flow to a maximum percentage of "normal" flow, at most 50%, probably a lower target, perhaps 20% is best.
hero member
Activity: 742
Merit: 500
Circle gets the Square
Elsewhere, I brought up the issue of consent. I didn't consent to host a gamebot's traffic when I run the client, I was consenting to hosting Bitcoin's traffic. If Bitcoin traffic is now a subsidiary of SD's load, perhaps SD can be persuaded to start its own blockchain and stop taking advantage of the implied consent of others on this blockchain.

I doubt that SD can be shamed into stopping what they're doing but perhaps some users of the network can be persuaded into not giving them anymore business.

I didn't "consent to host" a pot smoker's traffic, so we should figure out a way to block Silk Road's transactions.

I didn't consent to host traffic for a site selling adult toys, so we should block Bitcoinin.com's transactions.

I didn't consent to host traffic related to adult content, so we should block transactions from all the porn sites.

I know somebody that is a luddite, so out of deference to him we should block transactions from electronics resellers like bitcoinstore.com.

I've never used SatoshiDice, but I'm not sure I like vilifying certain types of transactions. That said, I wouldn't mind if SD could figure out a way to lower their load on the network.

Well put. What's the point of this whole experiment if we're just going to pull a VISA and block any entity we don't agree with.
newbie
Activity: 50
Merit: 0
Elsewhere, I brought up the issue of consent. I didn't consent to host a gamebot's traffic when I run the client, I was consenting to hosting Bitcoin's traffic. If Bitcoin traffic is now a subsidiary of SD's load, perhaps SD can be persuaded to start its own blockchain and stop taking advantage of the implied consent of others on this blockchain.

I doubt that SD can be shamed into stopping what they're doing but perhaps some users of the network can be persuaded into not giving them anymore business.

I didn't "consent to host" a pot smoker's traffic, so we should figure out a way to block Silk Road's transactions.

I didn't consent to host traffic for a site selling adult toys, so we should block Bitcoinin.com's transactions.

I didn't consent to host traffic related to adult content, so we should block transactions from all the porn sites.

I know somebody that is a luddite, so out of deference to him we should block transactions from electronics resellers like bitcoinstore.com.

I've never used SatoshiDice, but I'm not sure I like vilifying certain types of transactions. That said, I wouldn't mind if SD could figure out a way to lower their load on the network.
legendary
Activity: 2114
Merit: 1040
A Great Time to Start Something!
...
If SDice is considered an attack on Bitcoin, Then Bitcoin itself is flawed.

Uh-oh, uhoh has a good point.
hero member
Activity: 742
Merit: 500
Circle gets the Square
If a small website that 99.9999999% of the world population don't even know about is causing a problem for Bitcoin, then what hope do we have. You don't fix a problem in a p2p payment network by politely (or impolitely in this case) asking them to please stop. That's, of course, assuming that this even IS a problem. I agree with Mike. They're the only site that's really testing the real world (as in wide adoption) stability of the network.

If SDice is considered an attack on Bitcoin, Then Bitcoin itself is flawed.

EDIT: I will add, I cannot for the life of me understand why people are willing to play a negative EV game, with a currency that was worth $13 2 months ago and $42 today... It defies all logic. 
legendary
Activity: 1064
Merit: 1001
If it's not SatoshiDice that's generating "transaction spam", it'll be something else, and then something after that, and so on. Are you going to launch a new campaign against each?

It's a good point. This campaign is only an interim measure until robust technical solutions are rolled out. These solutions should not single out SatoshiDICE but rather, focus on the undesired behavior (unspendable low value transaction outputs). This will solve the problem network wide instead of just fixing it for one vendor.
Pages:
Jump to: