Blockchain technology establishes a distributed consensus model that allows digital events and transactions to be recorded in an immutable public ledger. It solves the problem of ordering transactions in a distributed peer-to-peer network by grouping transactions into blocks and linking the blocks through a blockchain. Miner nodes verify transactions and add them to blocks by solving a mathematical puzzle. The network accepts the longest blockchain as the valid one, making it extremely difficult for fraudulent transactions to be introduced. Blockchain technology is finding applications in both financial areas like banking as well as non-financial areas by enabling the automatic execution of smart contracts.