Today’s media and social networks are full of news, posts, and articles about Bitcoin and other cryptocurrencies, NFTs and similar topics. This increasing popularity of Bitcoin and other cryptocurrencies made me wonder what exactly lies behind it, and how these things actually work. It is apparent that Bitcoin is one of the most popular cryptocurrencies – it allows us to pay for stuff, we can trade it for other currencies and vice versa but not everyone knows what exactly is behind it. We do not have real coins or paper that can represent its value. It is just a digital record somewhere on the Internet. What kind of magic enables instant cryptocurrency transactions, how is it secured and what kind of authority stands behind it all?
Well, there is no single authority behind it. There actually is a ledger, but not a centralized single ledger or a database that holds digital records of, let’s say, Bitcoin ownership. This is a distributed, digital ledger that holds records of all transactions, which are immutable. This means that they cannot be altered, at least not without the consensus of all participants. There lies an answer as to why a central authority such as a bank or any other institution is not needed. The validation of every record in that distributed ledger is in the hands of all network participants. It can be said that those participants are witnesses of the transaction; they must confirm that the transaction is correct. Transactions are organized in blocks, and blocks form a chain of information. Simply said, the technology that lies behind it is called Blockchain!
In this blog series I will try to explain what blockchain is and how it actually works.
I would like to start with a simple analogy to something that most people are familiar with. Blockchain, in its core, is actually a software protocol used on the Internet, similar to a SMTP protocol that we use to transfer emails. Instead of transferring emails, Blockchain allows us to transfer money or other digital assets.
Blockchain can be defined in a variety of ways. We can find resources on the Internet that collect all the different definitions of blockchain.
But, in my opinion, the following definition is well-formed, simple and covers the most important aspects of blockchain: “Blockchain is a peer-to-peer, distributed ledger that is cryptographically secure, append-only, immutable (extremely hard to change), and updateable only via consensus or agreement among peers.” (Bashir, Imran (2017-03-17). Mastering Blockchain.)
We can see that the author of this definition uses several buzzwords to explain blockchain. Let’s examine these technical terms in more detail.
Peer-to-peer, or P2P is basically a network term that describes a network or communication model where communication between peers (devices, nodes, individuals, etc.) is managed directly and the process is not controlled centrally. In other words, the network is decentralized, and all peers have equal power and perform the same tasks. With P2P, blockchain can be decentralized and distributed equally between peers without any central administration involvement. By central administration we assume, for instance, a bank or any other centralized authority. It’s thanks to this concept that blockchain is highly available (when one peer goes down, others are still present). Thanks to that, blockchain is very hard to take down. Apart from that, P2P generally offers greater security compared to traditional client-server systems.
However, there are a few concerns about this concept. Because of this distribution, every single node must be updated. Any new transaction requires greater computational power, which results in more delays and more energy spent, significantly reducing efficiency – especially with mass adoption of blockchain.
A distributed ledger is in essence a kind of database that is shared across the network between peers. A peer or a participant can access this database records and can also have identical copy of that database. Any change made to this ledger (database) is distributed (copied) between peers so that all peers can witness that change. This is a very important feature of blockchain because it allows for a consensus between peers (nodes), meaning that peers must be aware and approve all changes made to the ledger. This contrasts with centralized ledgers where a single (central) authority approves all changes. We can see that the concept of a distributed ledger is goes hand-in-hand with the P2P concept.
A distributed ledger is also in contrast to a centralized ledger which is generally more prone to cyberattacks and fraud because centralization means that it basically has a single point of failure.
The above-mentioned distributed ledger is available between peers but transactions or records in that ledger must be secured. This is done as usual, with cryptography. Normally peers must have their own private keys assigned to ledger records of transactions, to be precise. Those keys are used as signatures for transactions; if someone tries to alter the transaction on one node, the signature will not be valid anymore and the entire transaction will be invalid, not approved by other peers and thus discarded. From a security standpoint, this means that cryptography has been used to provide security services that make this blockchain secure against tampering.
Theoretically ambitious hackers or group of hackers might try to alter transactions simultaneously and trick at least 51% of peers so that they can verify this transaction, but because of the P2P concept and distributed ledger this is almost impossible, especially with bigger networks.
Append-only means that data can only be added to the blockchain in a time-sequential order. This implies that once data is added to the blockchain, it is almost impossible to change that data and it can be considered practically immutable. In other words, blocks added to the blockchain cannot be changed, which allows blockchain to become an immutable and tamper-proof ledger of transactions.
The most critical attribute of a blockchain is that it is updateable only via consensus. A consensus mechanism refers to any number of methodologies used to achieve agreement, trust, and security between peers across a decentralized computer network. Consensus gives the power of decentralization where all participants agree on a consensus on the status of the ledger. In this scenario, no central authority is in control of updating the ledger. Instead, any update made to the blockchain is validated against strict criteria defined by the blockchain protocol and transactions are added to the blockchain only after a consensus has been reached among all participating peers/nodes on the network.
Ok, while this is nicely defined and very detailed, how exactly does this whole Blockchain stuff work in real life? Stay tuned for part two of this blog series.