Bitcoin Forum
April 25, 2024, 10:03:58 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 »  All
  Print  
Author Topic: Do you think SatoshiDice is blockchain spam? Drop their TX's - Solution inside  (Read 12858 times)
Raoul Duke (OP)
aka psy
Legendary
*
Offline Offline

Activity: 1358
Merit: 1002



View Profile
March 08, 2013, 06:12:13 PM
 #81

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.
The Bitcoin network protocol was designed to be extremely flexible. It can be used to create timed transactions, escrow transactions, multi-signature transactions, etc. The current features of the client only hint at what will be possible in the future.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
misterbigg
Legendary
*
Offline Offline

Activity: 1064
Merit: 1001



View Profile
March 08, 2013, 06:14:07 PM
 #82

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

Activity: 756
Merit: 501


There is more to Bitcoin than bitcoins.


View Profile
March 08, 2013, 06:16:04 PM
 #83

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
Full Member
***
Offline Offline

Activity: 162
Merit: 100



View Profile
March 08, 2013, 06:16:18 PM
 #84

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 Offline

Activity: 1400
Merit: 1009



View Profile
March 08, 2013, 06:22:12 PM
 #85

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 Offline

Activity: 1358
Merit: 1002



View Profile
March 08, 2013, 06:25:06 PM
 #86

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 Offline

Activity: 1064
Merit: 1001



View Profile
March 08, 2013, 06:32:20 PM
 #87

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

Activity: 615
Merit: 500



View Profile
March 08, 2013, 06:42:31 PM
 #88

No, it's not spam.
ShireSilver
Sr. Member
****
Offline Offline

Activity: 382
Merit: 253



View Profile WWW
March 08, 2013, 06:51:37 PM
 #89

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.

Shire Silver, a better bullion that fits in your wallet. Get some, now accepting bitcoin!
marhjan
Full Member
***
Offline Offline

Activity: 215
Merit: 105


Poorer than I ought to be


View Profile
March 08, 2013, 06:54:24 PM
 #90

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 Offline

Activity: 1400
Merit: 1009



View Profile
March 08, 2013, 06:57:47 PM
 #91

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

Activity: 588
Merit: 500


Coinabul - Gold Unbarred


View Profile WWW
March 08, 2013, 07:04:14 PM
 #92

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.

Coinabul.com - Gold Unbarred
Website owners, let me put my ads on your site! PM me!
cypherdoc
Legendary
*
Offline Offline

Activity: 1764
Merit: 1002



View Profile
March 08, 2013, 07:09:28 PM
 #93

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 Offline

Activity: 1358
Merit: 1002



View Profile
March 08, 2013, 07:10:04 PM
 #94

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 Offline

Activity: 2282
Merit: 1050


Monero Core Team


View Profile
March 08, 2013, 09:13:38 PM
 #95

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.

Concerned that blockchain bloat will lead to centralization? Storing less than 4 GB of data once required the budget of a superpower and a warehouse full of punched cards. https://upload.wikimedia.org/wikipedia/commons/8/87/IBM_card_storage.NARA.jpg https://en.wikipedia.org/wiki/Punched_card
misterbigg
Legendary
*
Offline Offline

Activity: 1064
Merit: 1001



View Profile
March 08, 2013, 09:28:22 PM
 #96

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 Offline

Activity: 1792
Merit: 1008


/dev/null


View Profile
March 08, 2013, 10:17:58 PM
 #97

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!

Code:
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#msg1595281

EDIT: u still process winnings because gmaxwell's patch only blocks losses.

[GPG Public Key]
BTC/DVC/TRC/FRC: 1K1773RbXRZVRQSSXe9N6N2MUFERvrdu6y ANC/XPM AK1773RTmRKtvbKBCrUu95UQg5iegrqyeA NMC: NK1773Rzv8b4ugmCgX789PbjewA9fL9Dy1 LTC: LKi773RBuPepQH8E6Zb1ponoCvgbU7hHmd EMC: EK1773RxUes1HX1YAGMZ1xVYBBRUCqfDoF BQC: bK1773R1APJz4yTgRkmdKQhjhiMyQpJgfN
Raoul Duke (OP)
aka psy
Legendary
*
Offline Offline

Activity: 1358
Merit: 1002



View Profile
March 08, 2013, 10:50:15 PM
 #98

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!

Code:
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#msg1595281

EDIT: 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.
Code:
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 Offline

Activity: 1792
Merit: 1008


/dev/null


View Profile
March 08, 2013, 11:04:46 PM
 #99

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.
Code:
if (txout.nValue <= 10000)
+            return error("CTransaction::IsStandard : ignoring transaction with dust output");
you could set it to
Code:
if (txout.nValue <= 1)
since SD losses are 1 satoshi.

[GPG Public Key]
BTC/DVC/TRC/FRC: 1K1773RbXRZVRQSSXe9N6N2MUFERvrdu6y ANC/XPM AK1773RTmRKtvbKBCrUu95UQg5iegrqyeA NMC: NK1773Rzv8b4ugmCgX789PbjewA9fL9Dy1 LTC: LKi773RBuPepQH8E6Zb1ponoCvgbU7hHmd EMC: EK1773RxUes1HX1YAGMZ1xVYBBRUCqfDoF BQC: bK1773R1APJz4yTgRkmdKQhjhiMyQpJgfN
misterbigg
Legendary
*
Offline Offline

Activity: 1064
Merit: 1001



View Profile
March 08, 2013, 11:06:27 PM
 #100

you could set it to
Code:
if (txout.nValue <= 1)
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.
Pages: « 1 2 3 4 [5] 6 7 8 9 »  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!