This document provides an overview of blockchain technology. It discusses the evolution from centralized ledgers to distributed ledgers and blockchains. Blockchains can be used to create distributed databases for various applications. Examples of real-world blockchain uses include the Brazilian government processing petitions on Ethereum and banks transferring money between each other using cryptocurrency. However, blockchains also face issues regarding scalability, transaction costs, and high energy consumption. Alternative technologies like IOTA and Hashgraph aim to improve upon blockchain limitations.