Bitcoin Forum
April 24, 2024, 07:29:20 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, 12:52:47 AM
Last edit: March 08, 2013, 10:57:52 PM by psy
 #1

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.


If you are a miner you may wish to use Luke-jr's patch that may be found here and is more complete and probably not as radical as the one above by Gmaxwell: http://codepad.org/7RQZIkhd
1713943760
Hero Member
*
Offline Offline

Posts: 1713943760

View Profile Personal Message (Offline)

Ignore
1713943760
Reply with quote  #2

1713943760
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
Vernon715
Full Member
***
Offline Offline

Activity: 182
Merit: 100



View Profile
March 08, 2013, 01:10:14 AM
 #2

And why would we want to do that. Huh Huh Huh

Please donate: 1FfJzfpGCXD6saKqmMs8W1qt9wouhA98Mj

http://bitcoinpyramid.com/r/1642

100101011010100100101010010111001010010101010100101001000100101010101010101010
wachtwoord
Legendary
*
Offline Offline

Activity: 2324
Merit: 1125


View Profile
March 08, 2013, 01:11:32 AM
 #3

And why would we want to do that. Huh Huh Huh

Indeed.
Raoul Duke (OP)
aka psy
Legendary
*
Offline Offline

Activity: 1358
Merit: 1002



View Profile
March 08, 2013, 01:14:21 AM
 #4

And why would we want to do that. Huh Huh Huh

I don't know... maybe you want to save 80% of the bandwidth your bitcoin client spends and 80% of the CPU cycles used to verify TX's...

I know I do. Don't care about gambling, and don't want to carry out their transactions. It's enough being forced to carry them on my HDD when they get included in a block.

Free market, baby. SD is free to spam the blockchain, I'm free to block them from my computer and network and not help them in any way I see fit.

BTW, this isn't a war against SD, it only a matter of having the option.
If you guys don't like me and everyone else having the option to block TX's we consider spam or prejudicial, who's trying to censor who after all?
Killdozer
Full Member
***
Offline Offline

Activity: 203
Merit: 100



View Profile
March 08, 2013, 01:32:31 AM
 #5

This seems pretty pointless. Even if the time goes and you actually manage to make that big number of users to run a modified client, which is not very believable in the first place (they will need to know how to patch/recompile the client, or download the modified version from somewhere), the satoshidice is just going to modify their transactions to not being catched by that patch, and you will have to make a new patch and make everyone use that, etc...
It does not seem viable to make a patch that would somehow detect satoshidice transactions, if they really wanted to hide them...
But for your personal benefit of saved bandwidth and CPU power (does it really take that much though?), this seems like a pretty solid solution.

Nemesis
Sr. Member
****
Offline Offline

Activity: 462
Merit: 250


View Profile
March 08, 2013, 01:47:50 AM
 #6

Use reward system to fix the problem, not censorship and controlling freak like this.

If the fees are too high for SatoshiDice's TX then they have to change their model.
Raoul Duke (OP)
aka psy
Legendary
*
Offline Offline

Activity: 1358
Merit: 1002



View Profile
March 08, 2013, 01:49:10 AM
 #7

This seems pretty pointless. Even if the time goes and you actually manage to make that big number of users to run a modified client

I don't want to make anyone use it. The patch is here. Who wishes to use, go for it.
Did I say everyone should use it? No, I just said people who think SD is blockchain spam have a solution here.

They are also free to try and bypass the patch by changing the way they do business, but that would mean the patch works as predicted, wouldn't it?

Use reward system to fix the problem, not censorship and controlling freak like this.

If the fees are too high for SatoshiDice's TX then they have to change their model.

I don't want to fix SD problem. I want to fix MY problem, and being perfectly aware I'm not special, I would almost bet others have the same problem, hence starying this thread to put the patch in front of everyone, not just miners or whoever is following that other thread.

BTW, the control freaks here are you guys who seem to be offended by this thread...
drawingthesun
Legendary
*
Offline Offline

Activity: 1176
Merit: 1015


View Profile
March 08, 2013, 01:51:24 AM
 #8

And the beginning of the end starts here.

Maybe a node needs to be distributed over 2+ computers based on your internet speed and HDD space, because individuals being entire nodes is not scalable is it?

What if a node could be a pool, a single computer, a hundred computers? And you get to chose what type of node to be apart of?

This type of flexibility needs to be built otherwise Bitcoin has no chance, even Satoshi saw 100GB's of transactions per day when he devised Bitcoin.

The solution is not to target every single user that generates a lot of transactions. (Also doesn't SD pay double the minimum fee anyway?)
nikkisnowe
Member
**
Offline Offline

Activity: 105
Merit: 10


View Profile
March 08, 2013, 01:51:36 AM
 #9

Yeah, that would send a great message to get bitcoin adopted by other potential businesses.  "Hey come use bitcoin!  Don't get too successful though, otherwise we'll block any of your transactions."  Can you imagine the kind of reaction this would have?  What kind of asinine suggestion is this? If you're so concerned about your precious bandwidth, don't use the full client.  There are other ways to use bitcoin than to be running the full client.  You are fucking idiot.  
Nemesis
Sr. Member
****
Offline Offline

Activity: 462
Merit: 250


View Profile
March 08, 2013, 01:53:45 AM
 #10

This seems pretty pointless. Even if the time goes and you actually manage to make that big number of users to run a modified client

I don't want to make anyone use it. The patch is here. Who wishes to use, go for it.
Did I say everyone should use it? No, I just said people who think SD is blockchain spam have a solution here.

They are also free to try and bypass the patch by changing the way they do business, but that would mean the patch works as predicted, wouldn't it?

Use reward system to fix the problem, not censorship and controlling freak like this.

If the fees are too high for SatoshiDice's TX then they have to change their model.

I don't want to fix SD problem. I want to fix MY problem, and being perfectly aware I'm not special, I would almost bet others have the same problem, hence starying this thread to put the patch in front of everyone, not just miners or whoever is following that other thread.

BTW, the control freaks here are you guys who seem to be offended by this thread...

Sure you can do whatever you want, but asking others to do the same is stupid.

Raoul Duke (OP)
aka psy
Legendary
*
Offline Offline

Activity: 1358
Merit: 1002



View Profile
March 08, 2013, 01:57:58 AM
 #11

Sure you can do whatever you want, but asking others to do the same is stupid.

For the last time: I'm not asking anyone to do anything. I'm informing. People will have to make up their own minds and act accordingly. Deal with it!

If you guys wish to discuss the validity of this solution, there are already threads to do that. This is an informative thread with a solution to a known problem.
nikkisnowe
Member
**
Offline Offline

Activity: 105
Merit: 10


View Profile
March 08, 2013, 02:01:55 AM
 #12

This solution is the equivalent of a tourniquet around the neck to stop a bloody nose.
Littleshop
Legendary
*
Offline Offline

Activity: 1386
Merit: 1003



View Profile WWW
March 08, 2013, 02:02:25 AM
 #13

Sure you can do whatever you want, but asking others to do the same is stupid.

For the last time: I'm not asking anyone to do anything. I'm informing. People will have to make up their own minds and act accordingly. Deal with it!

If you guys wish to discuss the validity of this solution, there are already threads to do that. This is an informative thread with a solution to a known problem.

I agree.  You have a right to speak and inform.  Others have a right to say why it is a bad idea.  

I personally will include SD transactions with my miners.  If my pool says they will SPECIFICALLY omit them I will leave the pool.  If my pool decides to set a fee structure or rules (limits) that reduces them or collects a reasonable free I am fine with that.

Buffer Overflow
Legendary
*
Offline Offline

Activity: 1652
Merit: 1015



View Profile
March 08, 2013, 02:09:16 AM
 #14

I can't help but feel this thread was born due to some deep underlying jealousy of SD's success issues rather than the claimed bandwidth wastage reason.

MysteryMiner
Legendary
*
Offline Offline

Activity: 1470
Merit: 1029


Show middle finger to system and then destroy it!


View Profile
March 08, 2013, 02:10:07 AM
 #15

It takes only 1 miner accepting Satoshi Dicke transactions and collecting transaction fees and the block is in blockchain with all the bloat. Of course rest of network can refuse to accept blocks containing Satoshi Spam transactions and then blockchain fork is introduced.

I love Satoshi Spam Dicke. It made me rich, I know when to pull out from gamble.

bc1q59y5jp2rrwgxuekc8kjk6s8k2es73uawprre4j
paraipan
In memoriam
Legendary
*
Offline Offline

Activity: 924
Merit: 1004


Firstbits: 1pirata


View Profile WWW
March 08, 2013, 02:11:57 AM
 #16

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.


Thanks psy, already looking for an easy way to patch bitcoin-qt.

BTCitcoin: An Idea Worth Saving - Q&A with bitcoins on rugatu.com - Check my rep
Nemesis
Sr. Member
****
Offline Offline

Activity: 462
Merit: 250


View Profile
March 08, 2013, 02:13:23 AM
 #17

Sure you can do whatever you want, but asking others to do the same is stupid.

For the last time: I'm not asking anyone to do anything. I'm informing. People will have to make up their own minds and act accordingly. Deal with it!

If you guys wish to discuss the validity of this solution, there are already threads to do that. This is an informative thread with a solution to a known problem.

This doesnt save your HD space, and CPU power.... LOL

You do things stupid and expect to inform others ?

We also have a right to inform others about.... being "informed" by you.
Nemesis
Sr. Member
****
Offline Offline

Activity: 462
Merit: 250


View Profile
March 08, 2013, 02:16:21 AM
 #18

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.

Exactly,

OP must have stuck his head up his ass for too long, and now he stinks everyone by opening his mouth.
Raoul Duke (OP)
aka psy
Legendary
*
Offline Offline

Activity: 1358
Merit: 1002



View Profile
March 08, 2013, 02:18:32 AM
 #19

Sure you can do whatever you want, but asking others to do the same is stupid.

For the last time: I'm not asking anyone to do anything. I'm informing. People will have to make up their own minds and act accordingly. Deal with it!

If you guys wish to discuss the validity of this solution, there are already threads to do that. This is an informative thread with a solution to a known problem.

I agree.  You have a right to speak and inform.  Others have a right to say why it is a bad idea. 

I personally will include SD transactions with my miners.  If my pool says they will SPECIFICALLY omit them I will leave the pool.  If my pool decides to set a fee structure or rules (limits) that reduces them or collects a reasonable free I am fine with that.

I understand you. But you, being a miner, are being rewarded for those transactions. Me, being just a regular node and a non-miner, I'm being ripped of my resources with no reward whatsoever.
In fact all I have are disadvantages: Higher fees, delayed transactions and resource hogging.
Not wanting to hurt them, only wanting them not to hurt me.

This doesnt save your HD space, and CPU power.... LOL

You do things stupid and expect to inform others ?

We also have a right to inform others about.... being "informed" by you.


The only stupid things I'm seing here are your replies... Roll Eyes

No, It doesn't save HD space, and I never said it would. You have the reading skill of a kindergartten baby. I said BANDWIDTH and CPU CYCLES. And yes, those will be saved by not relaying the transactions and by not verifying their signatures.
Stop making a fool of yourself, Nemesis... And BTW, take YOUR head out of YOUR ass as it seems to affect your reading, mmmmkay?
niko
Hero Member
*****
Offline Offline

Activity: 756
Merit: 501


There is more to Bitcoin than bitcoins.


View Profile
March 08, 2013, 02:21:41 AM
 #20

And why would we want to do that. Huh Huh Huh

I don't know... maybe you want to save 80% of the bandwidth your bitcoin client spends and 80% of the CPU cycles used to verify TX's...

If you want to save 80% of the bandwidth and CPU cycles, you could choose to block all transactions with hashes not ending in {insert some random string here}, or all transactions worth below 14.71662334 and above 0.00014455 coins, or just block transactions first heard from an IP originating in the U.S., or any other criterion. SD transactions, just like most other TX today, include TX fee, and adhere to the rules of the protocol.

Your choice to block them over any other arbitrary group of transactions, under the false pretense of "avoiding blockchain bloat," is retarded. Seriously, if you want to play cops and impose your moral views on others: the U.S. (unlike S.D.) is responsible for millions of deaths worldwide. Why not block all U.S.-originating transactions?

Fortunately, clicking the "ignore" button under your smokin' avatar is even easier then applying this retarded patch. I don't give a shit about gambling, but I think I'll roll a few dice tonight...

They're there, in their room.
Your mining rig is on fire, yet you're very calm.
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!