You need to put the speed as a global variable.
When you encounter the event that makes it speed up (for example every X seconds indeed) aff a certain value to the content of that variable.
VariableSpeed = VariableSpeed + Value
Then add also the same content to the current bullet speed of existing blocks.
Block.Bullet.Speed = Block.Bullet.Speed + Value
Possibly to modify the distance of block creation, according to the new speed, you can act on "NextBlock" value.
Possibly something like :
NextBlock = NextBlock + Value * dt
It is up to you to see if multiplying by dt (Delta Time) will fit or not and if not adding it won't make the game impossible.
Finally make it so that on creation, block's speed will be based on the variable's value.
Block.Bullet.Speed = VariableSpeed
This should, every 20 seconds raise up the overall speed of blocks and their distance of creation.
As to what condition exactly use instead of every 20 seconds, it is up to you and what you want to happen in the game.