Bitcoin Forum
May 26, 2024, 05:25:44 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)
solex
Legendary
*
Offline Offline

Activity: 1078
Merit: 1002


100 satoshis -> ISO code


View Profile
March 08, 2013, 06:52:05 AM
 #61

Unfortunately, the patch is not much more effective than turning the radio up to drown out a strange noise from the car.

I wouldn't be so sure. Having Bitcoin users get into the habit of understanding and applying client changes is a good way to raise awareness. Ultimately, it is only through informed decisions about what changes to accept or reject that we can have a healthy network of decentralized nodes.


Yes, in the general sense you are absolutely right. It is this specific case which has me worried. As you say "not good".
Even if SD starts behaving, several similar applications could kick off at any time...

Jouke
Sr. Member
****
Offline Offline

Activity: 426
Merit: 250



View Profile WWW
March 08, 2013, 08:17:35 AM
 #62

It is really easy for satoshidice to implement an other way of confirming transactions. They are not doing so because they have no incentive to do so, with this I have a vote in it!

Thanks Psy.

Koop en verkoop snel en veilig bitcoins via iDeal op Bitonic.nl
Herbert
Hero Member
*****
Offline Offline

Activity: 488
Merit: 500



View Profile WWW
March 08, 2013, 10:35:37 AM
 #63

SatoshiDICE is taking advantage of the early stage of Bitcoin, at a time when transaction volume is too low to fill the blocks and bring fees up to a level that would make up for the drop in subsidy. If Bitcoin was fully mature, it will not be vulnerable to this type of transaction spam and no one would be talking about it let alone suggest patches, because fees would make the dust spam economically unviable.

The problem is that 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) to profit without bringing a corresponding increase in growth of Bitcoin adoption. The simple fact is that a relatively small handful of gambling addicts and bots are flooding the block chain with 70%+ of its transactions.

This is not good.


Well put. I would like to point out that the number of transactions itself is not the real problem. I believe in bitcoin and hope it becomes mainstream sometime. When this point is reached the number of SDice transactions will not be significant anymore, so we have to deal with these scaleability issues. But I DO care about those "1 Satoshi bet result information" transactions. As pointed out by others, these Satoshis are effectively unspendable. So SDice is burning money with their ignorance.

www.bitcoinmonitor.net - Free payment notification via email, newsfeed, xpmm/jabber, url callback and full API access!
Send SMS with www.txt4coins.net! No registration, pay-per-use, full API access, bulk messages - All inclusive!
kerogre256
Full Member
***
Offline Offline

Activity: 161
Merit: 100


View Profile
March 08, 2013, 10:47:34 AM
 #64

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.

Are you for real ? IS NOT SPAM its transaction, if bitcoin will be sucess 99,99% transaction will be in satoshi..
kerogre256
Full Member
***
Offline Offline

Activity: 161
Merit: 100


View Profile
March 08, 2013, 10:53:28 AM
 #65

Anyway how I know who is using this 'fork'?, i dont want have anyting to do with it. (I use giminer ) where I can learn how patching, system is working??
nyusternie
Full Member
***
Offline Offline

Activity: 211
Merit: 100


"Living the Kewl Life"


View Profile
March 08, 2013, 11:06:17 AM
 #66

Anyway how I know who is using this 'fork'?, i dont want have anyting to do with it. (I use giminer ) where I can learn how patching, system is working??

view the txs for the solved blocks of your mining pool. shouldn't be too hard to tell if they're including 1dice txs

1SDoTrAWQnbJ2ZHvLs3a2XxazqNSishn1
GPG A1638B57 | OTC nyusternie
ab8989
Full Member
***
Offline Offline

Activity: 209
Merit: 101


FUTURE OF CRYPTO IS HERE!


View Profile WWW
March 08, 2013, 11:22:32 AM
 #67

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.

I think the patch for dropping satoshiDICE TXs is providing a valuable service. If one little patch 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 TX dropping patch - stress testing Bitcoin since March 2013.
Killdozer
Full Member
***
Offline Offline

Activity: 203
Merit: 100



View Profile
March 08, 2013, 12:06:51 PM
 #68

Quote
I think the patch for dropping satoshiDICE TXs is providing a valuable service. If one little patch 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 TX dropping patch - stress testing Bitcoin since March 2013.

Great view of the problem Smiley
Actually, I think that one good thing might come out of this: people will learn to make their transactions and addresses truly anonymous, and make it impossible to filter them on any arbitrary parameters, like addresses starting with "1dice".

Raoul Duke (OP)
aka psy
Legendary
*
Offline Offline

Activity: 1358
Merit: 1002



View Profile
March 08, 2013, 03:31:45 PM
 #69

SatoshiDice is broken, and this patch proves it.
misterbigg
Legendary
*
Offline Offline

Activity: 1064
Merit: 1001



View Profile
March 08, 2013, 03:37:54 PM
 #70

people will learn to make their transactions and addresses truly anonymous, and make it impossible to filter them on any arbitrary parameters, like addresses starting with "1dice".

SD will have to have certain fixed addresses. Whether they use a vanity name or not, it will always be possible to hard-code the list of their addresses in the code.

This having been said, the OP's patch is a temporary hack designed to provide immediate relief but it is not viable in the long term. The correct technical solution is to punish the bad behavior (economically unviable outputs) no matter who it comes from.

Note that SatoshiDICE is not the only entity that put unprunable spam in the block chain. ASICMiner recently sent a 1-satoshi dividend to all it's shareholders. A good technical solution would filter that as well.
dserrano5
Legendary
*
Offline Offline

Activity: 1974
Merit: 1029



View Profile
March 08, 2013, 03:45:34 PM
 #71

The only utility I see in this patch is for new clients. I guess the initial blochain downloading/validation would be sped up somewhat with it applied. Wrapping it into a command-line switch would make that a possibility.
Raoul Duke (OP)
aka psy
Legendary
*
Offline Offline

Activity: 1358
Merit: 1002



View Profile
March 08, 2013, 03:50:13 PM
 #72

people will learn to make their transactions and addresses truly anonymous, and make it impossible to filter them on any arbitrary parameters, like addresses starting with "1dice".

SD will have to have certain fixed addresses. Whether they use a vanity name or not, it will always be possible to hard-code the list of their addresses in the code.

This having been said, the OP's patch is a temporary hack designed to provide immediate relief but it is not viable in the long term. The correct technical solution is to punish the bad behavior (economically unviable outputs) no matter who it comes from.

Note that SatoshiDICE is not the only entity that put unprunable spam in the block chain. ASICMiner recently sent a 1-satoshi dividend to all it's shareholders. A good technical solution would filter that as well.


If you don't modify the patch it will drop all tx's that are equal or less than 10,000 satoshis, so those ASICMiner dividends would also be dropped, not relayed and only verifyed when they got into a block.
ArticMine
Legendary
*
Offline Offline

Activity: 2282
Merit: 1050


Monero Core Team


View Profile
March 08, 2013, 03:50:54 PM
 #73

Why not simply refuse to relay transactions where any of the outputs is less than the transaction fee?

The client can be modifed so that any "dust" left over is added to the transaction fee. Of course one could send "dust" with a 0 transaction fee but then one needs a miner willing to add it to the blockchain.

No need to Wikileak S.Dice or anyone else a la VISA, MasterCard PayPal etc.

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
Raoul Duke (OP)
aka psy
Legendary
*
Offline Offline

Activity: 1358
Merit: 1002



View Profile
March 08, 2013, 03:57:43 PM
 #74

Why not simply refuse to relay transactions where any of the outputs is less than the transaction fee?

What? And drop most of sendmany transactions with it? No thanks!
I only want to drop SD transactions, The dust filter to drop tx less than 10k satoshis is just a add-on and can be modified to only drop tx's equal or less than 2 satoshis, which woud drop all of SD "you lose" messages and not many more tx's.
jgarzik
Legendary
*
Offline Offline

Activity: 1596
Merit: 1091


View Profile
March 08, 2013, 04:29:38 PM
 #75

Lets make sure Bitcoin is transaction neutral!

Bitcoin was never transaction-neutral. Transactions with the highest fees per kilobyte will always "win", while transactions with no fees and new coins will always "lose". The rules exist to protect the network

Much more than that -- miners have always had the power to choose which transactions to include in blocks, which transactions to exclude from blocks.

The "censorship" is an intentional part of the system.  Miners should be free to ignore transactions they do not feel worth mining.


Jeff Garzik, Bloq CEO, former bitcoin core dev team; opinions are my own.
Visit bloq.com / metronome.io
Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
ArticMine
Legendary
*
Offline Offline

Activity: 2282
Merit: 1050


Monero Core Team


View Profile
March 08, 2013, 04:30:18 PM
 #76

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.  

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
cypherdoc
Legendary
*
Offline Offline

Activity: 1764
Merit: 1002



View Profile
March 08, 2013, 05:25:06 PM
 #77

i've come around to the idea that SD tx's are not spam.  they're paying fees after all which are contributing to miners bottom line.  and the dust can be dealt with by including them as an input to a subsequent tx.
misterbigg
Legendary
*
Offline Offline

Activity: 1064
Merit: 1001



View Profile
March 08, 2013, 05:28:44 PM
Last edit: March 08, 2013, 06:15:03 PM by misterbigg
 #78

and the dust can be dealt with by including them as an input to a subsequent tx.

Did you not read? Sure, the dust COULD be included as an input in a subsequent tx but the fee required for that tx will be higher than the amount of the dust. For example, a 1 satoshi input with a 10,000 satoshi fee. Please explain to me why anyone would spend 10,000 satoshi to send 1 satoshi?

why, Why, WHY Won't it READ?!

greyhawk
Hero Member
*****
Offline Offline

Activity: 952
Merit: 1009


View Profile
March 08, 2013, 05:40:17 PM
 #79


why, Why, WHY Won't it READ?!


Welcome to the Bitcointalk Forums.
justusranvier
Legendary
*
Offline Offline

Activity: 1400
Merit: 1009



View Profile
March 08, 2013, 06:02:58 PM
 #80

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.
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!