Blockchain is the technology that powers Bitcoin, allowing for a decentralized digital currency. Ethereum builds on this concept by enabling decentralized applications and smart contracts to be built and run on its blockchain. In Ethereum, smart contracts are written in the Solidity programming language and deployed to the Ethereum Virtual Machine, where they can store data and transact in the native cryptocurrency, Ether. Developers must be careful when writing smart contracts due to the potential for bugs to have costly consequences.