Bitcoin mining process Can someone please explain these fuzzy understanding?
I am trying to implement my proper demo application of blockchain, but now I discover that many concepts are not that clear..

1- how do miners in a network learn that there is a new transction added in one block? is there some party responsible for notifications or something? after getting this information, must a miner re-copy the whole blockchain to his local computer?

2- As I understand, mining is done on blocks in bitcoin. So if someone add a transaction to a valid block, does this mean that the block has to be re-mined?

3- finally who decide to create a new block? is there some conditions on the size of the block or is it unconditional unlimited process?
1- how do miners in a network learn that there is a new transction added in one block?


When a node recognizes a new block, it sends it to all the other nodes directly connected to it. It is very important for miners to build on top of the newest blocks they possibly can and to get their own blocks to as many other miners as quickly as they can (or they lose money) so miners, at least, go to extraordinary lengths to make this fast and efficient.

For new transactions not yet in blocks, more or less the same thing happens. Nodes in the bitcoin network distribute the transactions.


  is there some party responsible for notifications or something?


Anyone who wants notifications is responsible for making sure that they get them. Since pretty much everyone in the network does, this is not difficult. Nodes just share new transactions and new blocks.


  after getting this information, must a miner re-copy the whole blockchain to his local computer?


No. They just need to adjust their current state slightly.


  2- As I understand, mining is done on blocks in bitcoin. So if someone add a transaction to a valid block, does this mean that the block has to be re-mined?


If you modify a block, it's a different block entirely and not the block that was mined. If you try to produce a block by any process other than mining, you will simply fail to produce a valid block.


  3- finally who decide to create a new block?


Pretty much every miner is trying as hard as they can to create a new valid block all the time because they want the block reward that they will get if they are successful.


  is there some conditions on the size of the block or is it unconditional unlimited process?


There is a block size limit. If a miner produces a block that others will not consider valid, his block will just be ignored by the network and he will lose money. So miners must create blocks that comply with all the rules that other node operators enforce.