I know miner is a generator who finds nonce which provides hash value starting with a bunch of 0's. I have a question who the miner is. Suppose Alice wants to send one dollar to Bob. In this case is Alice a miner? I dont understand yet.
Yes. Miners are the ones who generate new blocks on the blockchain. But in your example, Alice and Bob act as
receiver, neither is considered a miner.
When Alice sends Bob $1 (0.0002384 BTC), their transaction gets added to the blockchain's memory pool or
mempool of still pending transactions. From there miners compete to see who can find the correct solution
nonce to solve the math problem, validate a
block of mempool transactions, and receive the 12.5 BTC mining reward.
Once Alice and Bob's transaction is validated by a miner it is considered
confirmed. 6 confirmations (the original, plus the next 5 blocks) is considered to be irreversible and safe to classify as complete.
Additionally, it's important to notice that there is no way to find out or expect who will be the next miner due to the nature of mining (proof-of-work) which is based on randomness. Indeed, randomness provides robustness to the network. For example, an attacker won't be able expect from where the next block will be generated. Here is nice paper on that.
A miner can be anyone who is running a full bitcoin node (with the mining flag enabled). However, because of how difficult it is to solve the math problem, the majority of miners choose to pool their resources into a mining pool. The pool's participants then collectively share the 12.5 BTC reward proportionally to how much work (read computing power) each miner contributes to finding the solution.
To gain an advantage, most of today's miners use specialized hardware called ASICs.
An application-specific integrated circuit (ASIC) /ˈeɪsɪk/, is an integrated circuit (IC) customized for a particular use, rather than intended for general-purpose use.
Asics are designed to maximize the efficiency of the problem solving process and have basically made
GPU mining pointless for Bitcoin. However, GPU mining is still extremely popular with several Altcoins, which were specifically designed to thwart ASICs and level the playing field.
Take a look at this Reddit thread for more info on which coins you can still GPU mine effectively.