But the question is, can bitcoin really substitute dollar or other currency sometime soon?
Not until the confirmation issue is resolved. I wouldn't want to buy a chocolate bar and have to wait 10-30 minutes until my payment was confirmed. I want to pay and go instantly.
Until this problem is resolved. And it can't be solved easily without harming bitcoin security in the process. Confirmation time is security parameter, lowering it makes the system fundamentally less secure for a lot of reasons, including giving an advantage to large, centralised pools and in result they can monopolize bitcoin.