Raoul Duke (OP)
aka psy
Legendary
Offline
Activity: 1358
Merit: 1002
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 08, 2013, 06:12:13 PM |
|
Please explain to me why anyone would spend 10,000 satoshi to send 1 satoshi? They wouldn't, but that's not what he was talking about. If I'm spending half of a 10 BTC output and have a 1 satoshi output laying around I could add it as a second input to the transaction and send 5.00000001 to the change output instead of 5.00000000 Do this enough and the dust problem is solved. Only problem is you need a big enough transaction so the bigger outputs cancel the fee for the smaller ones.
|
|
|
|
misterbigg
Legendary
Offline
Activity: 1064
Merit: 1001
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 08, 2013, 06:14:07 PM |
|
If I'm spending half of a 10 BTC output and have a 1 satoshi output laying around I could add it as a second input to the transaction and send 5.00000001 to the change output instead of 5.00000000 No that doesn't work. Adding the 1 satoshi output as a second input would require more than 1 satoshi in fees. So you would end up with 4.9998999991 in the change output instead of 5.0, for a net loss. Still, thanks for adding signal to the dialog instead of noise. If there was a simple technical measure for dealing with this problem, you can rest assured that it would have gone into the client already. This is why I brought the issue to the forum, because it's a difficult problem.
|
|
|
|
niko
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 08, 2013, 06:16:04 PM |
|
Please explain to me why anyone would spend 10,000 satoshi to send 1 satoshi? They wouldn't, but that's not what he was talking about. If I'm spending half of a 10 BTC output and have a 1 satoshi output laying around I could add it as a second input to the transaction and send 5.00000001 to the change output instead of 5.00000000 Do this enough and the dust problem is solved. If this works - great, everybody happy. If not, then Articmine proposal makes sense: Then at least set the min tx value to the transaction fee. It will have the desired effect. My proposal is to deal with transactions which create one or more addresses that contain only dust leading to blockchain bloat that is very difficult if not impossible to prune. A bona fide send many transaction that creates dust as a byproduct can deal with this by adding the dust to the TX fee.
|
They're there, in their room. Your mining rig is on fire, yet you're very calm.
|
|
|
NEO2012
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 08, 2013, 06:16:18 PM |
|
ANYBODY WHOS NOT A DUMMY
SATOSHI DICE IS A BUSINESS
AKA MAKING MONEY IN TRASANCTIN FEES
AND MOST IPORTANTLY BLOCK CHAIN DILUTION FOR MAKING IT HARDER TO TRACE TRANSANCTIONS
INDUCING MORE NOISE IN THE CHAIN FOR CURIOUS DUCHES WHO LIKE TO TRACE SHEAT
|
|
|
|
justusranvier
Legendary
Offline
Activity: 1400
Merit: 1013
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 08, 2013, 06:22:12 PM |
|
Only problem is you need a big enough transaction so the bigger outputs cancel the fee for the smaller ones. I'm not familiar enough with the minimum fee and priority rules to know where the cutoff is. I'm pretty sure I've sent no-fee transactions with two inputs before though. How big would the output need to be? No that doesn't work. Adding the 1 satoshi output as a second input would require more than 1 satoshi in fees. So you would end up with 4.9998999991 in the change output instead of 5.0, for a net loss. What if I was already planning to include a fee for the 5 BTC transaction to get faster processing? Would I need to increase it because of this extra input?
|
|
|
|
Raoul Duke (OP)
aka psy
Legendary
Offline
Activity: 1358
Merit: 1002
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 08, 2013, 06:25:06 PM |
|
ANYBODY WHOS NOT A DUMMY
SATOSHI DICE IS A BUSINESS
AKA MAKING MONEY IN TRASANCTIN FEES
AND MOST IPORTANTLY BLOCK CHAIN DILUTION FOR MAKING IT HARDER TO TRACE TRANSANCTIONS
INDUCING MORE NOISE IN THE CHAIN FOR CURIOUS DUCHES WHO LIKE TO TRACE SHEAT
OK smartass, tell us where does SatoshiDice makes money in TX fees... Also, your caps lock is broken it seems. Only problem is you need a big enough transaction so the bigger outputs cancel the fee for the smaller ones. I'm not familiar enough with the minimum fee and priority rules to know where the cutoff is. I'm pretty sure I've sent no-fee transactions with two inputs before though. How big would the output need to be? You need to do some math. It goes somewhat like this: 1 BTC input can be spent as a 1 BTC output with 0 fees 24hrs after you receive it. Now do the math for 1 satoshi... This is only a simplifed explanation, there may be other rules involved.
|
|
|
|
misterbigg
Legendary
Offline
Activity: 1064
Merit: 1001
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 08, 2013, 06:32:20 PM |
|
What if I was already planning to include a fee for the 5 BTC transaction to get faster processing? Would I need to increase it because of this extra input? Yes, because the calculation of required fees and the miner's calculation of transaction priority based on fee, uses "fees per kilobyte" (or fees per byte). In general, increasing the size of the transaction will require more in fees.
|
|
|
|
sinner
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 08, 2013, 06:42:31 PM |
|
No, it's not spam.
|
|
|
|
ShireSilver
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 08, 2013, 06:51:37 PM |
|
I've been trying to figure out what all the fuss is about, and the only thing that makes sense is that some people really want to drive the price of S.DICE shares down. All the talk about spam and the like is either purposeful manipulation or economic misunderstanding, and perhaps those against Satoshi Dice that aren't in on the price manipulation scam should read Economics in one Lesson and think about it a bit.
|
|
|
|
marhjan
Full Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 215
Merit: 105
Poorer than I ought to be
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 08, 2013, 06:54:24 PM |
|
I think satoshiDICE is providing a valuable service. If one little gambling website can bring Bitcoin to it's knees (hyperbole), then Bitcoin is clearly not ready for the levels of adoption some, including myself, hope for.
satoshiDICE - stress testing Bitcoin since April 2012.
+100,000,000 satoshis This sD issue is one of the main reasons I remain bearish in the medium term. Bitcoin is NOT yet ready for primetime until we find ways to make microtransactions feasible.
|
Donations happily accepted @ 15qxNsc7pBiz5kXpAJykw4etzMbZitm2mk
|
|
|
justusranvier
Legendary
Offline
Activity: 1400
Merit: 1013
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 08, 2013, 06:57:47 PM |
|
Bitcoin is NOT yet ready for primetime until we find ways to make microtransactions feasible. At least Gavin is committed to getting it ready for primetime.
|
|
|
|
Coinabul
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 08, 2013, 07:04:14 PM |
|
Yeah, then we can blacklist Silkroad, and then maybe Wikileaks! And at that point we'll finally be the evil we set out to destroy.
|
|
|
|
cypherdoc
Legendary
Offline
Activity: 1764
Merit: 1002
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 08, 2013, 07:09:28 PM |
|
Bitcoin is NOT yet ready for primetime until we find ways to make microtransactions feasible. At least Gavin is committed to getting it ready for primetime. well if Gavin thinks its a good idea, i do too.
|
|
|
|
Raoul Duke (OP)
aka psy
Legendary
Offline
Activity: 1358
Merit: 1002
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 08, 2013, 07:10:04 PM |
|
Yeah, then we can blacklist Silkroad, and then maybe Wikileaks! And at that point we'll finally be the evil we set out to destroy.
Adapt or die!
|
|
|
|
ArticMine
Legendary
Offline
Activity: 2282
Merit: 1050
Monero Core Team
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 08, 2013, 09:13:38 PM |
|
The problem here is that this leads to blockchain bloat and it defeats pruning the blockchain https://en.bitcoin.it/wiki/Scalability since 1 satoshi does not equal zero. As to why S.Dice is doing this it is simple they are using the blockchain not to transfer funds but to send a message namely that the player has lost. Furthermore no one involved has any incentive to clean up the dust since this leads to a long term but not immediate problem. The big cost here is the long term storage of each 1 satoshi output for the life of Bitcoin.
|
|
|
|
misterbigg
Legendary
Offline
Activity: 1064
Merit: 1001
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 08, 2013, 09:28:22 PM |
|
Bitcoin is NOT yet ready for primetime until we find ways to make microtransactions feasible. Microtransactions are feasible now, you can easily send pennies. But is it really fair to say that Bitcoin isn't ready because it is problematic to send $0.00000045?
|
|
|
|
K1773R
Legendary
Offline
Activity: 1792
Merit: 1008
/dev/null
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 08, 2013, 10:17:58 PM |
|
As per my request, Gmaxwell wrote a patch to apply to the Bitcoin client that will drop all transactions to SatoshiDice and simply not relay or verify them. It will also drop all transactions that are less than 10,000 satoshis in value, so you might want to change that value to 1 or 2 satoshis, to only drop SD's losing bets tx's. Let's show them how the free market works and that not only miners have a say on this subject! diff --git a/src/main.cpp b/src/main.cpp index 9a06dbf..d3fba73 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -384,8 +384,16 @@ bool CTransaction::IsStandard() const BOOST_FOREACH(const CTxOut& txout, vout) { if (!::IsStandard(txout.scriptPubKey)) return false; + if (txout.scriptPubKey.size() > 6 + && txout.scriptPubKey[0] == OP_DUP + && txout.scriptPubKey[3] == 0x06 + && txout.scriptPubKey[4] == 0xf1 + && txout.scriptPubKey[5] == 0xb6) + return error("CTransaction::IsStandard : ignoring transaction with 1dice output"); if (txout.nValue == 0) - return false; + return error("CTransaction::IsStandard : ignoring transaction with 0 value output"); + if (txout.nValue <= 10000) + return error("CTransaction::IsStandard : ignoring transaction with dust output"); } return true; }
You may not be interested in the if (txout.nValue <= 10000) test, though it also gets the dice you-lost transactions and other UXTO set bloating flood. This will make the node not relay or mine these transactions. It will, of course, still accept them in blocks. you should get the patch of Luke-Jr, this only ignores tx's TO SD, payments back arent being ignored and as we know there will always be 2 tx's for each gamble try. reference: https://bitcointalk.org/index.php?topic=149668.msg1595281#msg1595281EDIT: u still process winnings because gmaxwell's patch only blocks losses.
|
[GPG Public Key]BTC/DVC/TRC/FRC: 1 K1773RbXRZVRQSSXe9N6N2MUFERvrdu6y ANC/XPM A K1773RTmRKtvbKBCrUu95UQg5iegrqyeA NMC: N K1773Rzv8b4ugmCgX789PbjewA9fL9Dy1 LTC: L Ki773RBuPepQH8E6Zb1ponoCvgbU7hHmd EMC: E K1773RxUes1HX1YAGMZ1xVYBBRUCqfDoF BQC: b K1773R1APJz4yTgRkmdKQhjhiMyQpJgfN
|
|
|
Raoul Duke (OP)
aka psy
Legendary
Offline
Activity: 1358
Merit: 1002
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 08, 2013, 10:50:15 PM |
|
As per my request, Gmaxwell wrote a patch to apply to the Bitcoin client that will drop all transactions to SatoshiDice and simply not relay or verify them. It will also drop all transactions that are less than 10,000 satoshis in value, so you might want to change that value to 1 or 2 satoshis, to only drop SD's losing bets tx's. Let's show them how the free market works and that not only miners have a say on this subject! diff --git a/src/main.cpp b/src/main.cpp index 9a06dbf..d3fba73 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -384,8 +384,16 @@ bool CTransaction::IsStandard() const BOOST_FOREACH(const CTxOut& txout, vout) { if (!::IsStandard(txout.scriptPubKey)) return false; + if (txout.scriptPubKey.size() > 6 + && txout.scriptPubKey[0] == OP_DUP + && txout.scriptPubKey[3] == 0x06 + && txout.scriptPubKey[4] == 0xf1 + && txout.scriptPubKey[5] == 0xb6) + return error("CTransaction::IsStandard : ignoring transaction with 1dice output"); if (txout.nValue == 0) - return false; + return error("CTransaction::IsStandard : ignoring transaction with 0 value output"); + if (txout.nValue <= 10000) + return error("CTransaction::IsStandard : ignoring transaction with dust output"); } return true; }
You may not be interested in the if (txout.nValue <= 10000) test, though it also gets the dice you-lost transactions and other UXTO set bloating flood. This will make the node not relay or mine these transactions. It will, of course, still accept them in blocks. you should get the patch of Luke-Jr, this only ignores tx's TO SD, payments back arent being ignored and as we know there will always be 2 tx's for each gamble try. reference: https://bitcointalk.org/index.php?topic=149668.msg1595281#msg1595281EDIT: u still process winnings because gmaxwell's patch only blocks losses. Winning payments don't bug me and there is no reason to drop them. But the loss transactions will be blocked from relaying by the following rule, which in this case drops every transaction that is equal or less than 10,000 satoshis. I edited this part to only drop tx's with 5 or less satoshis. Still need to install all the deps to compile it now and see how well it works. if (txout.nValue <= 10000) + return error("CTransaction::IsStandard : ignoring transaction with dust output"); But anyway, I will include Luke-jr's patch in the OP and people can choose between them.
|
|
|
|
K1773R
Legendary
Offline
Activity: 1792
Merit: 1008
/dev/null
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 08, 2013, 11:04:46 PM |
|
But the loss transactions will be blocked from relaying by the following rule, which in this case drops every transaction that is equal or less than 10,000 satoshis. I edited this part to only drop tx's with 5 or less satoshis. Still need to install all the deps to compile it now and see how well it works. if (txout.nValue <= 10000) + return error("CTransaction::IsStandard : ignoring transaction with dust output"); you could set it to since SD losses are 1 satoshi.
|
[GPG Public Key]BTC/DVC/TRC/FRC: 1 K1773RbXRZVRQSSXe9N6N2MUFERvrdu6y ANC/XPM A K1773RTmRKtvbKBCrUu95UQg5iegrqyeA NMC: N K1773Rzv8b4ugmCgX789PbjewA9fL9Dy1 LTC: L Ki773RBuPepQH8E6Zb1ponoCvgbU7hHmd EMC: E K1773RxUes1HX1YAGMZ1xVYBBRUCqfDoF BQC: b K1773R1APJz4yTgRkmdKQhjhiMyQpJgfN
|
|
|
misterbigg
Legendary
Offline
Activity: 1064
Merit: 1001
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
March 08, 2013, 11:06:27 PM |
|
you could set it to since SD losses are 1 satoshi. I heard the developers mumbling that after some mining pools began dropping tx with 1-satoshi outputs, SatoshiDICE responded by including a random amount of satoshis (from 2 to 9) instead of a 1-satoshi input. Regardless, from an economic standpoint there is no difference between a 1 or 10 satoshi output.
|
|
|
|
|