As far as I know, when someone confirm send bitcoin, it immediately registered at blockchain, and waiting for confirm status, right?
Huh?
Make up your mind.
Are you asking about "when someone confirm" or are you asking about "waiting for confirm"?
When someone sends bitcoins, the transaction is shared with all the other peers on the network. It is
NOT immediately registered in the blockchain. At that time, it is still waiting for confirm status.
Then, eventually, a miner includes the transaction in a block that they solve. The miner shares their block with all the peers on the network. As each peer adds the block to their blockchain, the transaction is seen as having 1 confirmation by that peer.
Then from there, always 100% it will be confirmed after 10 around minutes?
No.
The transaction remains unconfirmed until it is included in a block in the blockchain. A new block is added to the block chain on average every 10 minutes, but it can sometimes be much faster (even just a few seconds) or much longer (even more than an hour). The amount of time between blocks is completely random with the
average over many blocks being approximately 10 minutes.
If the transaction is included in the block, then it is confirmed when the block is added to the blockchain. If the transaction is NOT included in the block, then it must continue to wait.
I heard about orphaned block, how often frequently it happens?
A few times per week.
And when it happens, that transaction will not be confirmed and bitcoin will return back to sender?
No.
When a block is orphaned, the transaction might ALSO be in the new block. In that case, it is still confirmed.
When a block is orphaned, if the transaction is not in the new block, then it must continue to wait for confirmation.
As long as the transaction is valid, it can still be confirmed. There is no way to stop a valid transaction from being confirmed. The bitcoins never "return to the sender".
However, if the transaction is not yet confirmed, then it is sometimes possible for the sender to send a new transaction that spends the same bitcoins. Since a transaction output can ONLY be spent once, it is not possible for BOTH of the transactions to confirm. When one of them confirms, then the other will be invalid.