Here are my questions:
Because miners can choose which transaction will be added in block by themselves, so what if two miners broadcast two blocks almost at the same time, one is bigger(has more transactions), another is smaller. Which of the two blocks will be accepted?
When miner creating blocks, transactions in that block affect the result? For example, if miner A is creating a block, but now there is a new transaction is broadcasted on network, will A stop current work then add new transaction as one of the input then recreate block? If above is the case, then I think because transactions will happen at anytime, so some miner will creating block, before the block is created, there is a new transaction on network, so they abort current work, take the new transaction as one of the input, start create block again, then there is another new transaction on network, miner stop current work ....... so they will never finish...
Say if at current time there exist spilt of block chain, we call them A and B. A is "longer" then B, as the result B will be eventually forgotten, but what happened about the transactions in blocks on B? The block which is different between A will be unpacked, reconfirm the transaction then create new block, add new block on A?
The new block will be create approximately 10 min, but I saw on blockchain.info why the time between these two blocks are just 2 min?