Carrying out a faithful analysis of the exact components of a blockchain and knowing how to differentiate them from working parts can be daunting. Nodes, transactions, blocks, miners and cryptography are frequently categorized as blockchain components, though that assessment is not entirely accurate. We will take this opportunity to discuss the four main components of a blockchain, and will later develop on the other actors and participants [1].
Blockchain components
Nodes are the network of computers that run a blockchain. In blockchain, full nodes are constantly sharing information and updating separate ledgers. Alternatively, light nodes are connected to full nodes, but don’t keep a copy of the ledger. In the decentralized space, a blockchain improves its security as the network size increases. This is especially necessary at the infancy of the network, when it is most susceptible to 51% attacks (51% attacks are those carried out where hackers -or even colluding miners – take over half of the nodes in a network, therefore gaining the possibility to generate consensus on transactions).
For example, a type of node you might have heard of are miners. Miners support the network by maintaining a copy of the blockchain, and are responsible for creating new blocks. Miners run the equipment that helps create consensus among all participants on the order of transactions. They propose different versions of the history of transactions and then use their computing power to vote on their version.
Shared ledger. As we initially presented in our introductory article, blockchains’ distributed (shared) ledger is a data structure (database) that is managed inside the node application. Those running said application can view and even edit the respective ledger (blockchain) content [2]. Basically, running the software for the Ethereum application allows you to see and interact with its ledger according to pre-established rules.
What’s inside the shared ledger? Essentially, the blocks that are linked together have what are called transactions inside. In their most basic form, transactions are records of cryptocurrency exchanging hands (wallets). Before being approved, they must satisfy a number of rules pre-determined by the underlying blockchain. Usually, they have to:
- Check that the wallet initiating the transaction has enough funds to send the required amount.
- Be authorized (signed) by the one who’s submitting the transaction.
- Check that the destination account is valid
Consensus algorithm. The next logical component of any blockchain ecosystem is its consensus algorithm. Similarly to shared ledgers, the way in which blocks will be added to the blockchain must be coded as part of the node application. The method for obtaining consensus can differ depending on each blockchain. Most common ones include Proof-of-Work (PoW), better known as mining, and Proof-of-Stake (PoS) [3].
Virtual machine. When understanding the already complex concepts and features of blockchain, we find that perhaps the most difficult ones are those of States and Virtual Machines [4]. Basically, virtual machines record a series of transactions and accounts [5] at definitive points in time. These logs create deterministic states, where with the right inputs, certain outputs are guaranteed.
Conclusion
We hope this series of articles helps our readers better understand blockchain technology. Stay tuned, as the next pieces will involve a beginning to end process description. For more of what Scalable Solutions can help you do with blockchain technology, check out our Products and Services page.
References
[1] Schwirz, Karl. “The Anatomy of Blockchain.” Medium, Slalom Technology, 16 Nov. 2017, medium.com/slalom-technology/the-anatomy-of-blockchain-1ac40cfdc92c.
[2] In this context, editing refers to adding transactions and blocks to the chain, for it’s almost impossible to change previously accepted blocks.
[3] “Staking – A Powerful Feature .” Resources, Scalable Solutions, 3 Nov. 2020, scalablesolutions.io/news/staking-a-powerful-feature/.
[4] An introduction to both states and virtual machines is available in a previous blog entry: “How Are Smart Contracts Executed?” Resources, Scalable Solutions, 13 May 2021, scalablesolutions.io/news/how-are-smart-contracts-executed/.
[5] There are two main types of “accounts” on Ethereum, Externally-owned accounts (or EOA), better known as user controlled accounts, and those deployed as smart contracts. In blockchain, we address “transactions” as cryptographically signed instructions from accounts. Moreover, transactions can be initiated only by EOA, but once initiated, it allows smart contracts to emit instructions to one another.
Sources
“The Logical Components of Blockchain.” Medium, Neocapita, 21 Feb. 2017, medium.com/@neocapita/the-logical-components-of-blockchain-870d781a4a3a.