The underlying technology behind cryptocurrencies is the blockchain. It allows every client in the network to reach consensus without ever having to trust each other.
The early days
The idea behind blockchain technology was described as early as 1991 when research scientists Stuart Haber and W. Scott Stornetta introduced a computationally practical solution for time-stamping digital documents so that they could not be backdated or tampered with.
The system used a cryptographically secured chain of blocks to store the time-stamped documents and in 1992 Merkle trees were incorporated to the design, making it more efficient by allowing several documents to be collected into one block. However, this technology went unused and the patent lapsed in 2004, four years before the inception of Bitcoin.
Reusable Proof Of Work
In 2004, computer scientist and cryptographic activist Hal Finney (Harold Thomas Finney II) introduced a system called RPoW, Reusable Proof Of Work. The system worked by receiving a non-exchangeable or a non-fungible Hashcash based proof of work token and in return created an RSA-signed token that could then be transferred from person to person.
RPoW solved the double spending problem by keeping the ownership of tokens registered on a trusted server that was designed to allow users throughout the world to verify its correctness and integrity in real time.
RPoW can be considered as an early prototype and a significant early step in the history of cryptocurrencies.
In late 2008 a white paper introducing a decentralized peer-to-peer electronic cash system - called Bitcoin - was posted to a cryptography mailing list by a person or group using the pseudonym Satoshi Nakamoto.
Based on the Hashcash proof of work algorithm, but rather than using a hardware trusted computing function like the RPoW, the double spending protection in Bitcoin was provided by a decentralized peer-to-peer protocol for tracking and verifying the transactions. In short, Bitcoins are “mined” for a reward using the proof-of-work mechanism by individual miners and then verified by the decentralized nodes in the network.
On the 3rd of January 2009, Bitcoin came to existence when the first bitcoin block was mined by Satoshi Nakamoto, which had a reward of 50 bitcoins. The first recipient of Bitcoin was Hal Finney, he received 10 bitcoins from Satoshi Nakamoto in the world's first bitcoin transaction on 12 January 2009.
In 2013, Vitalik Buterin, a programmer and a co-founder of the Bitcoin Magazine stated that Bitcoin needed a scripting language for building decentralized applications. Failing to gain agreement in the community, Vitalik started the development of a new blockchain-based distributed computing platform, Ethereum, that featured a scripting functionality, called smart contracts.
Smart contracts are programs or scripts that are deployed and executed on the Ethereum blockchain, they can be used for example to make a transaction if certain conditions are met.
Smart contracts are written in specific programming languages and compiled into bytecode, which a decentralized Turing-complete virtual machine, called the Ethereum virtual machine (EVM) can then read and execute.
Developers are also able to create and publish applications that run inside Ethereum blockchain. These applications are usually referred to as DApps (decentralized applications) and there are already hundreds of DApps running in the Ethereum blockchain, including social media platforms, gambling applications, and financial exchanges.
The cryptocurrency of Ethereum is called Ether, it can be transferred between accounts and is used to pay the fees for the computational power used when executing smart contracts.
Today blockchain technology is gaining a lot of mainstream attention and is already used in a variety of applications, not limited to cryptocurrencies.