This course introduces basic concepts and technologies of blockchain from engineering perspectives, such as Bitcoin architecture, consensus protocol of Bitcoin, proof of work, Ethereum, Hyperledger and smart contracts, as well as the blockchain applications. The course also covers the limitations and possible improvements of the blockchain system.