Bitcoin Forum
April 30, 2024, 12:11:09 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Transaction / spam flood attack currently under way  (Read 5192 times)
jgarzik (OP)
Legendary
*
qt
Offline Offline

Activity: 1596
Merit: 1091


View Profile
November 19, 2010, 07:02:38 PM
Merited by ABCbits (2)
 #1

Someone is apparently "testing" the main bitcoin network by flooding it with 0.01 BTC transactions from A->A and B->B, where A and B are two random public keys.  You can watch at http://theymos.ath.cx:64150/bbe

We've hit the free transaction limit on each block, for many blocks now -- appears to be ~219 free transactions per block.  "real" transactions do not appear DoS'd at this time, presumably due to logic that prioritizes, in part, based on transaction value.

<soapbox>
Free TX's are just asking for permanent level of spam.  There should be a cost to each TX, even if it's only 0.001 BTC or so.
</soapbox>

Jeff Garzik, Bloq CEO, former bitcoin core dev team; opinions are my own.
Visit bloq.com / metronome.io
Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
Every time a block is mined, a certain amount of BTC (called the subsidy) is created out of thin air and given to the miner. The subsidy halves every four years and will reach 0 in about 130 years.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714479069
Hero Member
*
Offline Offline

Posts: 1714479069

View Profile Personal Message (Offline)

Ignore
1714479069
Reply with quote  #2

1714479069
Report to moderator
1714479069
Hero Member
*
Offline Offline

Posts: 1714479069

View Profile Personal Message (Offline)

Ignore
1714479069
Reply with quote  #2

1714479069
Report to moderator
FreeMoney
Legendary
*
Offline Offline

Activity: 1246
Merit: 1014


Strength in numbers


View Profile WWW
November 19, 2010, 07:05:21 PM
 #2

http://bitcointalk.org/index.php?topic=1842.0

Play Bitcoin Poker at sealswithclubs.eu. We're active and open to everyone.
jgarzik (OP)
Legendary
*
qt
Offline Offline

Activity: 1596
Merit: 1091


View Profile
November 19, 2010, 07:13:29 PM
 #3

I'm not so ready to blame this on MrBurns.

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

Activity: 1246
Merit: 1014


Strength in numbers


View Profile WWW
November 19, 2010, 07:31:06 PM
 #4

I'm not so ready to blame this on MrBurns.

Oh, right he did it earlier for sure, same address I sent the coins to. I assume he split it up and is now using multiple computers.

Go back about 1 day and you can see a bunch of .06 trades to and from the address MrBurns put in his thread.

Play Bitcoin Poker at sealswithclubs.eu. We're active and open to everyone.
ByteCoin
Sr. Member
****
expert
Offline Offline

Activity: 416
Merit: 277


View Profile
November 19, 2010, 07:54:04 PM
Merited by ABCbits (2)
 #5

The .06 in 17yhRAYKJvVmBh14HMxYRHp2Z4erWgk1ne which was MrBurns old spam eventually was transferred to 1GcbuFVxrjstRoGzChn5t2xJnm2HKoDBSE 0.05 and
15JzKgaSoW5nX3qJKh6ze1uCojn9WVVnDE 0.01
in transaction c37dd025e8b7329989ab9ac378604d015895e4ec630c863620a90f3a12f73e76
in block 92767 (2010-11-18 22:51:36)

It got 0.05 back from 1GcbuFVxrjstRoGzChn5t2xJnm2HKoDBSE in block 92767
which was transferred to 14mUbjiofYY2F6h3ZGUSoTo3kxdqtajVTp in 92875

There has been a lot of spamming with 14mUbjiofYY2F6h3ZGUSoTo3kxdqtajVTp but also with
1NNVFX7SiJF44fkqB27QbARXojhRSotF2o which was created from 14mUbjiofYY2F6h3ZGUSoTo3kxdqtajVTp
via 1H2aPofjULC65MBeojs3eVpPvdScV8H9ou
in block  92877 (2010-11-19 15:12:33)

So it's the same person.

ByteCoin
jgarzik (OP)
Legendary
*
qt
Offline Offline

Activity: 1596
Merit: 1091


View Profile
November 19, 2010, 07:56:04 PM
 #6

That's a good point about fee competition, but I'm wondering about near-term implications of this spam flood, too, like

  • What happens to the transactions that don't make it into the current block?  (somewhat rhetorical question... the answer is "they keep piling up in memory" AFAICS, but that raises a bigger question -- how to deal with ever-larger TX cache?)
  • Will this create a de facto situation where TX fee is required for "normal" bitcoin users?
  • Would it make sense to introduce a consensus blacklist, of abusive bitcoin addresses? ie. miners could -- at their discretion -- simply drop TX's with the blacklisted addresses.


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

Activity: 5180
Merit: 12900


View Profile
November 19, 2010, 08:07:30 PM
Merited by ABCbits (1)
 #7

What happens to the transactions that don't make it into the current block?

The network forgets about them over time. Queued transactions are forgotten when Bitcoin shuts down (or when it crashes because it's using too much memory...). The attacker probably won't rebroadcast their spam transactions, but real users will.

Quote
Will this create a de facto situation where TX fee is required for "normal" bitcoin users?

Yes. This has always been inevitable.

Quote
Would it make sense to introduce a consensus blacklist, of abusive bitcoin addresses? ie. miners could -- at their discretion -- simply drop TX's with the blacklisted addresses.

This would be easy to bypass unless you also follow a transaction's history, and if you do that the attacker can "infect" people by sending them bitcoins.

1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD
FreeMoney
Legendary
*
Offline Offline

Activity: 1246
Merit: 1014


Strength in numbers


View Profile WWW
November 19, 2010, 08:11:34 PM
Last edit: November 19, 2010, 08:16:21 PM by satoshi
 #8

...

Oh, I agree. Well, I'm not going to praise him, we were already aware of the possibility. Apparently, "no incentive" isn't good enough and we need an actual cost of some sort. Well... actually there is some tiny cost to him, so I guess we need a little bit bigger cost. An increasing marginal cost really would be good.

I mentioned a minimum required [age]*[size] could be required by miners in the other thread. Maybe with a portion (10-20 transactions?) with no requirement.


Play Bitcoin Poker at sealswithclubs.eu. We're active and open to everyone.
FreeMoney
Legendary
*
Offline Offline

Activity: 1246
Merit: 1014


Strength in numbers


View Profile WWW
November 19, 2010, 08:12:22 PM
 #9

MrBurns is probably just checking to see what happens before he buys 100,000 coins.

Play Bitcoin Poker at sealswithclubs.eu. We're active and open to everyone.
MoonShadow
Legendary
*
Offline Offline

Activity: 1708
Merit: 1007



View Profile
November 19, 2010, 08:29:12 PM
Merited by ABCbits (3)
 #10

Perhaps in addition to the age priority rule recently implimented, there should be a minimum age rule without a transaction fee.  Said another way, perhaps a generation rule that says that a free transaction must be 3 blocks deep before it can be transfered again for free.  This will still allow real users to immediately spend new funds if they have to, while still permitting real users to reshuffle funds to suit their needs without an overhead cost.  I think that this would significantly inhibit the type of spamming attack that is currently underway.

"The powers of financial capitalism had another far-reaching aim, nothing less than to create a world system of financial control in private hands able to dominate the political system of each country and the economy of the world as a whole. This system was to be controlled in a feudalist fashion by the central banks of the world acting in concert, by secret agreements arrived at in frequent meetings and conferences. The apex of the systems was to be the Bank for International Settlements in Basel, Switzerland, a private bank owned and controlled by the world's central banks which were themselves private corporations. Each central bank...sought to dominate its government by its ability to control Treasury loans, to manipulate foreign exchanges, to influence the level of economic activity in the country, and to influence cooperative politicians by subsequent economic rewards in the business world."

- Carroll Quigley, CFR member, mentor to Bill Clinton, from 'Tragedy And Hope'
Timo Y
Legendary
*
Offline Offline

Activity: 938
Merit: 1001


bitcoin - the aerogel of money


View Profile
November 19, 2010, 08:30:14 PM
 #11

In a free market for transaction fees,
spamming the network will have the effect of increasing transaction fees for everybody.

Maybe Mr Burns is more than just a common griefer. Maybe he is a miner with more rational motivations.

A miner has more to gain than to lose by spamming. Yes, eventually a spam equilibrium will be reached where the marginal amount you lose in your spam to the transaction fees of competing miners equals the marginal amount gained from your own transaction fees.  But that is still a macroeconomically subobtimal situation.

To escape this http://en.wikipedia.org/wiki/Social_trap social trap, more than a market is needed.

Some simple but effective rules should be hardcoded into the Bitcion protocol/specification itself, to discourage the excesses of spamming.

I know that this approach probably sounds too "top-down" for the free market enthusiasts in this forum, but the rules should of course be purely voluntary and consensus based, like the 21M rule we have already.



GPG ID: FA868D77   bitcoin-otc:forever-d
MoonShadow
Legendary
*
Offline Offline

Activity: 1708
Merit: 1007



View Profile
November 19, 2010, 08:43:39 PM
 #12

Perhaps in addition to the age priority rule recently implimented, there should be a minimum age rule without a transaction fee.  Said another way, perhaps a generation rule that says that a free transaction must be 3 blocks deep before it can be transfered again for free.  This will still allow real users to immediately spend new funds if they have to, while still permitting real users to reshuffle funds to suit their needs without an overhead cost.  I think that this would significantly inhibit the type of spamming attack that is currently underway.

That could make people get tied up in their funds again. Think MtGox or even the bitcoin faucet. Faucet can only send out a nickel every 3 blocks, because each time it sends a nickel, it sends the change to a new address, tying up transaction fee free for 3 blocks.

Only a little.  If the rule is generally known, and the reason for it, I think that those like the bitcoin faucet could adjust.  I'm talking about limiting based upon the coins movement, if that's possible, not a three block ban upon a particular address.  The new client has 100 addresses, correct?  If bitcoin faucet has more than BTC .05 in each address, and simply rotates the addresses as the requests come it, then it can service 100 requests in half an hour without delay, and more with delays.  I'm not saying that transactions can't be created, just that generators will not put them into blocks until the transaction that they depend upon is three blocks deep without a fee.  With a fee, they can do whatever they want; and the generators probably wouldn't honor a 3 block delay upon a fee paying transaction anyway.  This leaves the possibility of free transactions an open possibility, while inhibiting spamming.  If there is a technical reason that this rule cannot work, I wouldn't know about that.

EDIT:  Markets that are trying to service withdraw requests would know how many requests have been sent in the previous 30 minutes, and could choose to warn the requester that such requests may be delayed by this rule, or they can choose to pay a fee out of it.

"The powers of financial capitalism had another far-reaching aim, nothing less than to create a world system of financial control in private hands able to dominate the political system of each country and the economy of the world as a whole. This system was to be controlled in a feudalist fashion by the central banks of the world acting in concert, by secret agreements arrived at in frequent meetings and conferences. The apex of the systems was to be the Bank for International Settlements in Basel, Switzerland, a private bank owned and controlled by the world's central banks which were themselves private corporations. Each central bank...sought to dominate its government by its ability to control Treasury loans, to manipulate foreign exchanges, to influence the level of economic activity in the country, and to influence cooperative politicians by subsequent economic rewards in the business world."

- Carroll Quigley, CFR member, mentor to Bill Clinton, from 'Tragedy And Hope'
satoshi
Founder
Sr. Member
*
qt
Offline Offline

Activity: 364
Merit: 6723


View Profile
November 19, 2010, 11:50:24 PM
Last edit: November 20, 2010, 01:04:28 AM by satoshi
 #13

Perhaps in addition to the age priority rule recently implimented, there should be a minimum age rule without a transaction fee.  Said another way, perhaps a generation rule that says that a free transaction must be 3 blocks deep before it can be transfered again for free.  This will still allow real users to immediately spend new funds if they have to, while still permitting real users to reshuffle funds to suit their needs without an overhead cost.  I think that this would significantly inhibit the type of spamming attack that is currently underway.
I'm doing something like that.  Priority is a more formalised version of the concept you're describing.

As it stands now 3.15 has a lot of free transaction space and that space is given first to transactions with the highest [age]*[value]/[size] correct? Would it be reasonable to make some arbitrary portion of the free space require [age]*[value]/[size] > C ?

Maybe set C so that a standard 1BTC transaction can get into the main free area on the next block. And a .1 can get in after waiting about 10 blocks. And make the area which allows [age]*[value]/[size] < C to let in about a dozen transactions or so.
Yes, like this.  And the no-priority-requirement area is 3K, about a dozen transactions per block.

I just uploaded SVN rev 185 which has a minimal priority requirement for free transactions.  Transaction floods are made up of coins that are re-spent over and over, so they depend on their own 0 conf transactions repeatedly.  0 conf transactions have 0 priority, so free transactions like that will have to wait for one transaction to get into a block at a time.

Version 0.3.15 doesn't write transactions using 0 conf dependencies unless that's all it has left, so normal users shouldn't usually have a problem with this.

I think this is a good compromise short of making the default fee 0.01.  It's not so much to ask that free transactions can only be used to turn coins over so often.  If you're using free transactions, you're taking charity and there has to be some limit on how often you can use it with the same coins.

We've always said free transactions may be processed more slowly.  You can help ensure your transactions go through quickly by adding -paytxfee=0.01.
MoonShadow
Legendary
*
Offline Offline

Activity: 1708
Merit: 1007



View Profile
November 20, 2010, 12:06:58 AM
 #14

Outstanding!

"The powers of financial capitalism had another far-reaching aim, nothing less than to create a world system of financial control in private hands able to dominate the political system of each country and the economy of the world as a whole. This system was to be controlled in a feudalist fashion by the central banks of the world acting in concert, by secret agreements arrived at in frequent meetings and conferences. The apex of the systems was to be the Bank for International Settlements in Basel, Switzerland, a private bank owned and controlled by the world's central banks which were themselves private corporations. Each central bank...sought to dominate its government by its ability to control Treasury loans, to manipulate foreign exchanges, to influence the level of economic activity in the country, and to influence cooperative politicians by subsequent economic rewards in the business world."

- Carroll Quigley, CFR member, mentor to Bill Clinton, from 'Tragedy And Hope'
wumpus
Hero Member
*****
qt
Offline Offline

Activity: 812
Merit: 1022

No Maps for These Territories


View Profile
November 20, 2010, 12:33:55 PM
 #15

We've always said free transactions may be processed more slowly.  You can help ensure your transactions go through quickly by adding -paytxfee=0.01.
Good solution.
And it would be even better to expose this clearly in the GUI! Instead of hiding it as a command line option Smiley

Bitcoin Core developer [PGP] Warning: For most, coin loss is a larger risk than coin theft. A disk can die any time. Regularly back up your wallet through FileBackup Wallet to an external storage or the (encrypted!) cloud. Use a separate offline wallet for storing larger amounts.
Anonymous
Guest

November 20, 2010, 02:01:53 PM
 #16

MrBurns is probably just checking to see what happens before he buys 100,000 coins.

Maybe he is planning on buying back the Springfield nuclear plant?

 Tongue
Pages: [1]
  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!