Must see detailed explanation of Bitcoin
improgrammer.net