Ethereum is an open-source, public, blockchain-based distributed computing platform featuring smart contract (scripting) functionality. It provides a decentralized Turing-complete virtual machine, the Ethereum Virtual Machine (EVM), which can execute scripts using an international network of public nodes. Ethereum also provides a cryptocurrency token called “ether”, which can be transferred between participants and is used to compensate participant nodes for computations performed. It is a part of the vision of a fully decentralized web.
First of all, it is a non sense to call Ethereum the Bitcoin rival. If both are crypto currencies built on blockchains, Ether will be used more as a mean of exchange as it is at the heart of the smart contract system. Bitcoin can thus be viewed more as a store of value.
Bitcoin is a digital currency which was originally created as an alternative monetary system. On the other hand, Ethereum is created as a blockchain 2.0 platform that can be used to create and execute smart contract applications over blockchain. Bitcoin platform’s crypto token is called bitcoin (which can get confusing) and Ether is the crypto token used on Ethereum platform. Ethereum is essentially Bitcoin with a Turing-complete scripting language. A Turing complete code means that given enough computing power and enough time. Ethereum has its own Turing complete internal code, when Bitcoin has not this form of flexibility.
Smart contracts are applications with a state stored in the blockchain. They can facilitate, verify, or enforce the negotiation or performance of a contract. Ethereum contracts can be implemented in various Turing complete scripting languages. The Ethereum system has been described by the New York Times as “a single shared computer that is run by the network of users and on which resources are parceled out and paid for by Ether.”
Both Swarm and Whisper are complementary technologies contributing to the vision of Ethereum as a “world computer”. When imagining Ethereum as a metaphor for a shared computer, it should be noted that computation alone is not enough. For a computer to be fully useful, it also needs storage to “remember” things and bandwidth to “communicate” them. This could be summarised as such:
Contracts: decentralized logic
Swarm: decentralized storage
Whisper: decentralized messaging