Ethereum is a decentralized, open-source blockchain with smart contract functionality. Ethereum allows anyone to deploy permanent and immutable decentralized applications onto it, with which users can interact. With Ethereum, aside from transferring a digital currency, you could also deploy your code and interact with any applications created by other users. Due to its flexibility, all sorts of sophisticated to a simple functions of programs can be launched on Ethereum.
This helps to deliver Ethereum's main idea, of which developers can create and launch code that is running across a distributed network instead of being centralized. Similar to Bitcoin, in theory, these applications cannot be shut down or censored. The program on Ethereum itself cannot be tampered with by other external parties, because the code runs across a distributed system, they’re added to Ethereum’s database and can be programmed so the code itself cannot be edited. In addition, with blockchain the database is visible to everyone, so users can audit the code before interacting with it. And the most interesting things are because Ether itself stores value, these applications can set conditions for how the value is transferred. These programs that make up applications are called smart contracts, and they’re capable of operating normally without human intervention, and it is known widely as “programmable money”.