Cryptocurrencies are a form of digital currencies. If we simply look at this connotation, we could be able to find numerous examples of digital currencies which have not experienced the same success of Bitcoin, the most famous Crypto. So, what is the key difference between cryptocurrencies and the other ones?
The answer resides in the so called “blockchain”, which is the innovative technology introduced to the world of digital money by Bitcoin. A blockchain is effectively a set of data, a list of records continously growing.
In order to better understand the blockchain, we have to take a step back. Before blockchain adoption, digital currencies suffered the so called “double spending” problem. This consisted in the possibility that a digital coin could be spent two times. A digital coin consists indeed of a digital file, which can be subject of duplication or impairment.
This problem could be solved with a central authority in charge of validating transactions. However, this would remove the advantages of security and transparency typical of cryptocurrencies. There is no thing such a Central Bank for cryptos and no one is actually missing that kind of influence on the system.
The blockchain invention solves the double spending problem with the use of the so called “blocks”. Those are a set of data recording transactions.
Transactions are not only stored but also recorded with a timestamp, which takes note of when the transaction occurs. Blocks are then linked between them in a chain with a hash pointer, which can be thought as the virtual “address” of the previous block of the chain.
The hash pointer of a block is the result of the combination of all the hash pointers relative to each transaction.

The blockchain
Even without being able to master the technical features of the blockchain, it is already clear that the structure is the one of a series of linked data. In order to make this series useful to determine transactions, blockchain need to find a way to make all the agents agree to the same data, i.e. eliminate discrepancies.
From a temporal point of view, if every agent of the system agrees to the same timeline the timestamp is able to provide the order of all the transactions. In order to obtain a complete and homogeneous database, the missing part is how the system determines that each transaction is valid and can be part ofthe series. This is done exploiting the nodes constituting the network of the system and a so called “consensus method”. Different consensus methods will be analysed in a different section, here we describe just the so called “proof-of-work”, which is the one adopted by Bitcoin.
All transactions coming in a block are transmitted to the whole network, with each node processing it. In order to determine if the transaction is valid, the node has to solve a problem. Solving it proves that the node is able to process the transaction and that the latter satisfies the requirements of the system. This is the so called “proof-of-work”.
The first node solving the problem then makes the transaction public and the transaction is added to the blockchain. All the nodes now agree to the same “version” of the blockchain given that all the info about every new transaction are made public and that the node is considered reliable.
The first node solving the problem then makes the transaction public and the transaction is added to the blockchain. All the nodes now agree to the same “version” of the blockchain given that all the info about every new transaction are made public and that the node is considered reliable.
What we have is therefore a ledger of transactions ordered in time and validated by nodes operating together with the same methodologies. An eventual double transaction would be refused by such a system because of the presence of the timestamp, which would signal that the transaction has already occurred.
In order to cheat the system, which is based on consensus, the majority of the nodes would have to agree on a fraud to the system itself. Apart from the structural decentralisation that makes this difficult, there are also incentives for the nodes to behave honestly. The first transaction in a block, in fact, creates a new coin which is the reward for the creator of the valid block. Additionally, the decision on the validity of the transaction depends also on the amount of past proof-of-work for each node. The nodes with the longest chain and associated proof-of-work will have more influence in the decision, thereby rewarding the nodes which have act honestly for longer.
We have depicted above a system in which transactions are processed and validated by multiple agents, which are rewarded for their work with coins. Also, the system is capable of storing, identifying and ordering all transactions, eliminating eventual duplicates.
Blockchain system as described is not only able to solve the double payments problem but also to provide an effective infrastracture to store data of any kind. Its usefulness is therefore not only limited to digital currencies but can be applied to different fields. This feature is properly the one which originated the whole spectrum of cryptocurrencies that we can already observe today.