User:Luke-Jr added an edit to this article calling it a DDoS attack in this revision. Since I found the edit opinionated and it had no citations to back the accusation, I edited it to a more neutral form in this revision. He later reverted my edit in this revision without revising the article. Since I have no intention of waging an edit war, I would like to hear Luke-Jr's opinion on the issue before making any further edits. Bitcoin doesn't need any more drama at this point. --Matoking (talk) 20:18, 5 December 2012 (GMT)
As to why I *don't* think SatoshiDice is a DDoS attack:
- SatoshiDice doesn't break any rules upheld by Bitcoin network since it pays transaction fees as seen in transactions such as this and that one. More over, the transaction fees meet or exceed the minimum amount as described in this article. How can you claim SatoshiDice to be a DDoS attack when almost all of the miners deliberately include the transactions in their respective mined blocks since they don't "break" any rules?
- How SatoshiDice handles its bets and transactions is explained here and the purported "transaction spam" is only a consequence of how the system works and how popular it has become, where the fault is more of poor design than malicious intent. The gamblers have knowledge of how the system works and just because it has become very active in terms of transaction throughput doesn't mean it has suddenly become a "DDoS attack" against the network. The same thing could be claimed about mixing services, which try to hide the transaction inputs' origins by shuffling them through multiple transactions, but since their effect on the size of blockchain is minimal at best, nobody seriously considers that they are malicious attacks.
- The reason why SatoshiDice works at the moment is because a lot of people legitimately use it for gambling and a lot of miners agree to include the created transactions in their blocks, since the inclusion of transaction fees make it viable. If most of people are okay with the service's existence, then why is it a DDoS attack? --Matoking (talk) 09:59, 6 December 2012 (GMT)
- SatoshiDice does break Bitcoin network rules: particularly the rule against flooding with spam transactions. By design, Bitcoin intended to counter such spam by requiring minimal transaction fees for spammy-looking transactions, so that eventually such a spammer would run out of funds. SatoshiDice, however, uses novel social engineering to exploit gamblers and force them to cover the cost of bypassing Bitcoin's anti-spam rules (SatoshiDice itself does not pay the transaction fees, they are always paid out of the gambler's pocket).
- SatoshiDice is abusing the good will of the miners by flooding 2 transactions for every action a user/gambler makes. This would be the equivalent of 2 transactions for every item you take off the shelf at Walmart (or any other store). Not even big networks like VISA could probably handle this kind of abuse, so it is absurd to suggest Bitcoin in its early stage should or could. While the total transaction volume might be within reason for what Bitcoin must handle some day, when that volume is a reasonable amount of transactions, there will also be far more users/peers, developers, etc, and Bitcoin will scale better than it does today.
- As implemented today, Bitcoin clients do an extremely poor job of passing around transactions and (especially) blocks. SatoshiDice's transaction spam has on multiple occasions been the direct cause of many miners losing their hard-earned Bitcoin blocks. This can be improved with development time and scaling, but it isn't a trivial overnight rewrite and involves a lot of complicated code to get it right.
- Despite knowing how it violates Bitcoin rules and disrupts the network, SatoshiDice continues to intentionally abuse the network. --Luke-jr (talk) 12:27, 6 December 2012 (GMT)
- As I said, SatoshiDice does not hide the facts behind the system, such as how the transaction fees are paid and it is stated on this page that the site will subtract bitcoins from the bet if it's necessary to pay the transaction fee. This is the case with a lot of other Bitcoin services too. I hardly think that is social engineering.
- Again, the "2 transactions" system is a design feature using which the gambler can know whether the bet was processed or not. The workings behind that is public information as stated on this aforementioned page, so you can't claim that the users "don't know about it."
- That's a problem with the Bitcoin client, not the service. It has been known for a long time that there is a lot of optimization that can be done with the Bitcoin client, something which had been largely ignored until the network started growing in terms of transaction throughput and blockchain in terms of file size. While it would be good if the Bitcoin network and the community could scale at the same pace, it isn't possible and instead of stomping out services just because they aren't ready for the prime-time yet, developers should focus on improving the current Bitcoin client.
- How is it violating the network? As far as I know, there are no "official" guidelines or rules set in place which define how many transactions a certain service can use during a certain time period, besides the rules that have been defined in the current Bitcoin-Qt client. --Matoking (talk) 14:02, 6 December 2012 (GMT)
- Oh, great, so I stumbled into the next Luke-jr edit war. Too bad. I promise I first removed stupidity and then read on the Talk page that I was in the wrong place again. Yeah, I hereby take side of SD not being a DDoS attack as the network should either not accept these transactions or it should deal with them. A P2P payment processor can't knowingly take transaction fees from a business and at the same time call it a DDoS attack. --Giszmo (talk) 20:52, 8 January 2013 (GMT)
Defining this as abuse or not isn't really relevant. Bitcoin must be able to deal with activity the community does not feel is productive for they network. The bloating of the blockchain is a problem, and SD is bloating the blockchain. I don't see this as a transaction fee problem, but a blocksize problem. We should have a smaller max blocksize so that there is true competition for space in the blockchain. It can scale up over time, but if it doesn't max out on a daily basis, than the max blocksize is not relevant, and what you have is an unlimited product which will sell by market forces at a near zero value.
- Bitcoin deals with flooding attacks by blocking them. Improving awareness via shaming also helps. Raising transaction fees does not help since SD doesn't pay any. The gamblers they fool into covering their expenses are psychologically going to be willing to pay higher fees than actual legitimate users of Bitcoin. --Luke-jr (talk) 10:58, 5 March 2013 (GMT)