The security of blockchain technology
Sergio Velasco||Blockchain|5 min read
The aim of this article is to present a high level definition of Blockchain and discuss why it is often associated with the concept of security.
What is Blockchain?
Blockchain is a distributed database in which only information can be consulted and added. In this database, what is stored are records of transactions that are grouped in blocks. In this distributed record, there is also an explicit link between a block (set of transactions) and the previous one, thus reaching the first block commonly known as the genesis block. In Bitcoin, for example, this block appeared on January 3, 2009.
Why is information immutable in Blockchain?
As mentioned above, no information can be modified or removed from this database. For this reason, it is often commented that in Blockchain, the information stored is immutable, or what is the same, that it does not change. To obtain this property, different techniques are used that belong to different fields related to technology, such as the following:
- Distributed systems: Distributed network "peer-to-peer".
- Cryptography: Digital signatures and hashes to preserve the integrity and non-repudiation of information.
- Economic theory: Game theory and economic system of incentives to reach consensus among the different participants in the network.
What are the public Blockchain networks?
We will focus on public Blockchain networks, for example: Bitcoin or Ethereum. These networks have the peculiarity, in addition to fulfilling the three previous points, that any person or entity can connect or disconnect to the network without the approval of a third party.
This means that the distributed network (3) has a variable number of servers (nodes) at different moments in time. For this reason, it is also commonly commented that a public Blockchain network is resistant to censorship.
What is the difference between a public Blockchain network and the Internet?
By way of comparison, we could say that the Internet is also a distributed network. The difference between a public Blockchain network and the Internet is that in the Internet there are many records that associate a server with a person or a company, but in the Blockchain network this does not exist, so it is almost impossible to censor or stop the network. This is how the concept and complexity when censoring Blockchain networks is better understood.
When we say that a Blockchain network is safe, we must qualify what we mean, because, in the security issue, there is no such thing as a 100% safe system. To say that a Blockchain network is safe, is a mistake.
Properties that help to increase the security in Blockchain
Blockchain has properties that help to increase the safety or reduce the risk of the following points:
- The decentralized network does not have a single point of failure, so it is more complicated to have a service stop. The Bitcoin network, for example, has not stopped working since the first block, so we can say that it has been more than 10 years without having a fall.
- The use of hashes ensures the integrity of the information stored in the distributed database and through consensus establishes the rules for knowing what new information will be added to the network (block of transactions).
- Through the use of digital signatures, the network is able to demonstrate that only the person who has the private key of the signature is the one who has carried out a certain transaction (non-repudiation).
- By means of consensus and synchronisation of the nodes, it is ensured that the information stored in the registry is not modified, i.e. that it is immutable.
Therefore, if we have to build an information system that has the following requirements:
- Which parts of the information have integrity and non-repudiation.
- That the network is resistant to censorship and tolerant of failures.
- That the information, once written, cannot be modified.
A system based on a public Blockchain will provide us with a very good level of security when it comes to fulfilling these requirements.
In any case, it is important to note that an information system that has a Blockchain layer, will surely have more layers, such as, for example, relational databases, web applications, mobile apps. The security of the system will be the sum of the security of the parts and as always happens, this will depend on the weakest link in the chain.
As a conclusion, Blockchain is a set of technologies that can help build more secure systems, but in the end, everything will depend on the implementation and the resources that are invested in increasing the security of the whole system.