I'm afraid this might not have been a spam attack (whatever you might mean by this). Yesterday, there were quite a few blocks that had a lot free space in them (note, I didn't consider empty blocks), and this is in striking contrast with what miners are doing today and what they had been doing just before yesterday. Whoever might want to strongly disagree, may also want to check the blockchain for
themselves...
So, it looks more like some miner attempting at getting more fees than someone spamming the network
Well someone from the mining world has to clear this up so I'll explain.
What you are seeing from miners is a combination of clunky optimisations and bad configuration; it is not completely out of malice. Believe it or not, miners often do things without knowing they're doing them and are uninformed. There are two major patterns to the blocks that are not full sized.
One is the "empty blocks" where there is only the generation transaction done as SPV (light wallet) mining without full validation of the block - these are done by many Chinese pools as a speed optimisation where they mine off the header of the previously found block temporarily from another pool until they can finish the validation completely and eventually switch to a fully validated block. They claim it is a way to save themselves from the delay inherent in the great firewall of China, though it is purely an optimisation to work around their less-scalable choice of pool software and setups. Most pools outside China do not use this. Some pooled mining software has been hacked to mine empty blocks even without use of header-only mining to speed up getting out block changes to its miners as well - there are other options though that are fast on block changes without this cludge but you can't force people to choose what software they run and how they run it.
See this for more discussion of empty blocks:
https://bitcointalksearch.org/topic/empty-blocks-1085800Second is purely a badly configured bitcoind either because they left it at the default or they configured it smaller by choice thinking it will provide them with a speed up to minimise their risk of orphans. The default in bitcoind is actually set to 750k and you can see many smaller "pools" or entities mining blocks of that size. Yes it's true, there are entities with millions of dollars worth of mining gear that don't know how to configure bitcoind. Additionally some pooled miners chose to actually set it lower simply to speed up work generation - notably p2pool users.
Yes the blocks would ALL be full if the miners configured their set ups correctly. The reality is these choices do speed up block generation and block propagation slightly and do decrease the risk of orphans, but with each next version of bitcoind these get smaller and smaller, and I maintain pooled mining software that is designed to be quick for fully validated and full sized block but of course I can't force everyone to use my software (even though it's free.)
Remember that fees are the long term incentive for miners to mine transactions into their block, but since the bulk of the fees on each block can be obtained by miners without actually filling the blocks, there is actually no major incentive for them to ensure each block is full unless they care about bitcoin transactions at large. Many miners DO care and choose their pools accordingly, but there are massive farms/entities that do not care or aren't even informed. They think they just need to get as much profit as quickly as possible from mining since the margins are now slim, and they are not aware of how their choices are affecting the network and bitcoin health. That doesn't mean their choices are actually leading to better profits by the way.