Bitcoin Forum
July 27, 2024, 04:51:14 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Unstoppable blockchain bloat attack?  (Read 1661 times)
etotheipi (OP)
Legendary
*
expert
Offline Offline

Activity: 1428
Merit: 1093


Core Armory Developer


View Profile WWW
October 24, 2011, 09:08:02 PM
 #1

My understanding is that transactions fees are not enforced at the protocol level, they are enforced at the network/node/miner level.  Therefore, if you try to make 1,000,000 tx of 0.000001 BTC each, no node on the network would accept those transactions without fees.  But what is stopping the attacker from using his own miner to include these million transactions in a block?  

Can't he use an altered version of the software to accept Tx's without fees, and work on creating a block with these 1,000,000 tx?  Sure, it might take him a few days/months depending on his hardware, but he would eventually get a block into the chain like that, and all nodes/miners will perceive the 1,000,000 transactions as valid.  Is this correct?
Similarly, can't the attacker make a tx with 1000 outputs, as long as they kept it within the max (500 kB?) and include that in the chain in the same manner?  

If this is true, that would seem to be a "vulnerability" in the network.  You'd only need a couple people devoting their resources to this to really bloat the hell out of the blockchain.

EDIT:  I forgot to mention this would be a networking inconvenience too, as the network tries to circulate all the new blockdata





Founder and CEO of Armory Technologies, Inc.
Armory Bitcoin Wallet: Bringing cold storage to the average user!
Only use Armory software signed by the Armory Offline Signing Key (0x98832223)

Please donate to the Armory project by clicking here!    (or donate directly via 1QBDLYTDFHHZAABYSKGKPWKLSXZWCCJQBX -- yes, it's a real address!)
Syke
Legendary
*
Offline Offline

Activity: 3878
Merit: 1193


View Profile
October 24, 2011, 09:17:49 PM
 #2

That is mostly correct. There are transaction and block size limitations, so there won't be any million-transaction blocks flying around. But you are right, fees are not enforced, and someone can spam the blockchain if they include the transactions in their own generated blocks, or by connecting to other miners that also run no-fee miners.

Buy & Hold
theymos
Administrator
Legendary
*
Offline Offline

Activity: 5278
Merit: 13170


View Profile
October 24, 2011, 09:18:15 PM
 #3

Blocks can't be larger than 1MB, so an attacker can't bloat the chain too much.

1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD
FreeMoney
Legendary
*
Offline Offline

Activity: 1246
Merit: 1015


Strength in numbers


View Profile WWW
October 24, 2011, 09:44:16 PM
 #4

Blocks can't be larger than 1MB, so an attacker can't bloat the chain too much.

Is there a current consensus on this limit going forward?

It always worried me a bit. Miners may not want to increase later. I see all kinds of pressures in play, hard for me to work out.

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

Activity: 5278
Merit: 13170


View Profile
October 24, 2011, 10:22:04 PM
 #5

Is there a current consensus on this limit going forward?

It always worried me a bit. Miners may not want to increase later. I see all kinds of pressures in play, hard for me to work out.

The size limit will probably be removed from clients once clients stop downloading any full blocks by default. This won't be possible for a few years, I'd guess. If necessary, the max block size could increase to perhaps 10-25 MB while clients are still downloading blocks to detect transactions.

Miners are always free to reject blocks that are above a certain size. They can do this now, in fact. This is always extremely unprofitable if most of the mining power is not doing it. If the majority does reject large blocks in order to justify raising fees, then low-fee transactions will accumulate, creating an ever-growing incentive for miners to overpower the majority, create larger blocks, and accept the unclaimed fees.

1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD
MysteryMiner
Legendary
*
Offline Offline

Activity: 1512
Merit: 1049


Death to enemies!


View Profile
October 27, 2011, 02:09:54 AM
 #6

The Bitcoin idea is again brilliant. The greed for tx fees are more atractive than possibility of lulz when the blockchain is injected with 500kb of garbage after long time of mining with modified no-fees miner.

And yes, the vote of majority. As long as majority runs non-malicious bitcoin clients, they are free to reject the invalid or malformed transactions or blocks above preset limit.

bc1q59y5jp2rrwgxuekc8kjk6s8k2es73uawprre4j
dree12
Legendary
*
Offline Offline

Activity: 1246
Merit: 1077



View Profile
October 31, 2011, 07:54:41 PM
 #7

The Bitcoin idea is again brilliant. The greed for tx fees are more atractive than possibility of lulz when the blockchain is injected with 500kb of garbage after long time of mining with modified no-fees miner.

And yes, the vote of majority. As long as majority runs non-malicious bitcoin clients, they are free to reject the invalid or malformed transactions or blocks above preset limit.
A miner can, at almost no extra cost, fill in blocks with undisclosed transactions while still doing the ones with tx fees. In fact, this is an minor advantage for the miner - there is more time needed for the other miners to download the full block, during which time this miner can keep mining.
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
October 31, 2011, 08:24:21 PM
 #8

The Bitcoin idea is again brilliant. The greed for tx fees are more atractive than possibility of lulz when the blockchain is injected with 500kb of garbage after long time of mining with modified no-fees miner.

And yes, the vote of majority. As long as majority runs non-malicious bitcoin clients, they are free to reject the invalid or malformed transactions or blocks above preset limit.
A miner can, at almost no extra cost, fill in blocks with undisclosed transactions while still doing the ones with tx fees. In fact, this is an minor advantage for the miner - there is more time needed for the other miners to download the full block, during which time this miner can keep mining.

That is an interesting attack.  Eventually I think min fees will need to be enforced by clients.  Just like a client that sees a block w/ coinbase transaction of 100,000 BTC generated is considered invalid a block w/ transactions which violate minimum fee rules would be considered invalid.
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!