Code

What is blockchain and what is it used for?

Back to the blog

Blockchain, where does this technology come from, what is it and what is it used for? The purpose of this article is to introduce you to these concepts, so that you can understand how blockchains work, but also what problems they try to solve.


The blockchain

On January 3, 2009, in the midst of a global economic crisis, the developer(s) known only by the name Satoshi Nakamoto created the Genesis Block, the very first block of the Bitcoin cryptocurrency, encoding a headline in the English edition of The Times newspaper: "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks.".

By the end of 2021, 700,000 blocks later, the identity of Satoshi Nakamoto has still not been revealed, and the debate over the significance of this sentence in the first block of Bitcoin is still ongoing. In 12 years, the value of this cryptocurrency has blown up, approaching $70,000 during the fall of 2021, and hundreds of cryptocurrencies have emerged in its wake, each improving on the blockchain technology initiated by Bitcoin, making it faster, more programmable and less power hungry.

Blockchain is now a world in full swing, where new projects are born and die every day, millions of dollars are invested on barely conceived ideas and hackers regularly steal astronomical sums. It is also one of the most fertile research sectors for innovative ideas, which are propelling several fields such as cryptography or decentralized networks forward at full speed.

Not surprisingly, blockchain has also been one of the most talked-about buzzwords in recent years, a magic formula that is supposed to solve all problems, to the point where, as we see with our clients, it is often considered with a legitimate distrust.

From our perspective, the best way to know if you need a technology is to understand it. Bitcoin introduced revolutionary and exciting technical concepts that made it possible for the first time for a truly decentralized currency to work, concepts that have since been refined and improved by new cryptocurrencies.

What is blockchain in practical terms?

The first concept to understand when talking about blockchain is the way data is stored and secured, in a chain of blocks which is what gave this technology its name.

Blocks

In the blockchain, a block is a single unit of data. It contains information, such as the date and time it was created, a packet of transactions, and above all a digital signature of the previous block. This signature, created thanks to a cryptographic function called hash function, is unique with respect to the content of the block. If its content changes, even by a single bit, the signature changes completely. Its presence in all the blocks of the chain makes it impossible to change the content of a block in the past without making all the successive signatures of this block wrong.

fonctionement-blockchain-signatures.png

Information set in stone

The purpose of this mechanism is to make writing in the blockchain definitive. Once a piece of data is embedded in a block, there is no way to change it. The interest is obvious when we talk about financial transactions, because we obviously don't want it to be possible to go and edit a transaction retroactively, but there are countless other applications in various fields as well. If we know that it is technically impossible for data to be modified by malicious actors, it becomes possible to securely store it without needing to trust a single actor to store and maintain it. Notarized deeds, supply chain tracking, voting systems... all data that requires a high level of trust are ready-made candidates for blockchain.

It's all about consensus

But how do you define what data can legitimately be written to the blockchain? The problem might seem simple, at least until you take the time to think about it. When I pay a bill, the money is taken from my account and paid to the issuer's account. My bank guarantees that the transaction is done once and only once, from and to the right accounts and in the right amount. So I use a central authority to ensure that my financial transaction runs smoothly.

Decentralization of transactions

The goal of Bitcoin, and other cryptocurrencies, is to create a currency that can do without banks, and without any centralized validation of transactions. But if anyone can validate transactions, how do you prevent cheating and ensure that only legitimate transactions are entered into the blockchain? Cryptocurrencies solve this problem through consensus mechanisms.

The Proof-Of-Work principle & mining

In the case of Bitcoin, the consensus mechanism used is called Proof-Of-Work. In simple terms, the concept is that any interested person can run a mining program on their computer. These miners accumulate the transactions issued by Bitcoin users and collect them in a block. Then, every 10 minutes or so, they try to solve a computer problem that requires a huge amount of calculation, the proof of work. The first one to do so signs his block with the result of the calculation and sends it to the other miners for validation. They validate that the transactions in the block are correct, add it to their copy of the blockchain and then move on to the next block. The miner who finds the proof of work and signs the block earns not only the fees for the transactions in the block, but also a certain amount of bitcoins. This amount decreases steadily over time, and regulates the arrival of new bitcoins on the market.

The security of blockchain transactions

Thanks to this system, integrating fraudulent transactions into the blockchain becomes (almost) impossible. This would require the ability to rewrite a block already inserted in the blockchain, which would require recalculating its proof of work, as well as those of all the more recent blocks, and obtaining the necessary validations from other miners for these blocks. Theoretically, this only becomes possible if a single actor has more than half of all the computing power dedicated to mining bitcoins, which would give him control over the content of the blockchain. An attack called "51% attack" which is totally impossible today, given the number of active miners in the world.

Computing power & mining farms

Proof-Of-Work gives the advantage to the miners who have the most computing power, because they have the best chance to validate new blocks. Today, the mining software that used to run on the computers of early enthusiasts has been replaced by mining farms, in which thousands of computers using specifically designed processors run in parallel. The overall power consumption of Bitcoin mining can only be estimated, but it is clearly huge. In the context of global warming and the energy transition, this is a significant problem, which newer cryptocurrencies have addressed by inventing new consensus mechanisms, such as proof-of-stake, that do not require such a large amount of computation.

Ethereum and programmable blockchains

A few years after Bitcoin's appearance, in 2013, a young programmer named Vitalik Buterin signed a white paper presenting the foundations of a new type of blockchain and its associated cryptocurrency: Ethereum. Vitalik's idea is to offer a programmable blockchain, on which anyone could publish software called smart contracts. Once in the blockchain, like all the data stored there, it would no longer be possible to edit their code, but it would be possible to interact with them, a bit like our computers interact with servers when we connect to services on the internet.

Two years later, in 2015, Ethereum was born. The possibilities offered by this new type of blockchain are innumerable, and a large community of developers quickly starts to develop smart contracts. It becomes possible, for example, to create one's own cryptocurrency very simply, by writing a contract defining the rules of its circulation and transactions, to invent new types of digital goods, such as NFTs (Non-Fungible Tokens) that are revolutionizing the art market today, or even to create completely decentralized finance platforms. Where Bitcoin was thought of almost solely as a currency, Ethereum is a global computer and drastically pushes the limits of what is possible.

Building on a blockchain today

Following the path opened by Ethereum, many programmable blockchains have appeared since then, each one bringing its own improvements: new consensus system, performance improvement, transaction cost reduction... so much so that simply choosing a blockchain to develop a project today can be a headache. Some are compatible with Ethereum, such as Avalanche, Polygon or Fantom, making it easier to migrate contracts from one to the other. Others do not offer this compatibility, but are extremely promising technically, like Solana, Cardano or Polkadot. All this without mentioning private blockchain technologies, such as Hyperledger Fabric or Quorum, specifically designed for the corporate world.

In the end, as is often the case in IT, the choice of a technology will depend mainly on the specificities of the project and will have to be carefully researched.

Author

Published on the 24 March 2022

Associate · Technical Director