Blockchains were first conceptualized in a white paper by an anonymous programmer or group of programmers, called Satoshi Nakamoto in 2008. There, Nakamoto describes how blockchains could serve as a new type of secure and transparent public transaction ledger by hashing data through the process of cryptography. He then proved the viability of such a system by launching Bitcoin in 2009, .It’s important to note that blockchains are only one type of distributed ledger. All distributed ledgers are decentralized digital databases that are duplicated and stored across a number of computers, known as nodes. A popular example of a distributed ledger are torrent sites, which allow users to both download and seed content to other users through various torrent platforms. What distinguishes blockchains from other forms of distributed ledgers, is their use of cryptograhphy in the storing and distribution of data.
So what is Cryptography?
Cryptography was first described by Stuart Haber and W. Scott Stornetta in 1991, where they described using a Merkle-tree system to ensure that data could be stored, without fear of the data being tampered with by bad actors or be corrupted. Basically, cryptography is the way in which inputted data is encrypted in order to make it more difficult for bad actors to decipher and exploit. Blockchain’s do not use the Merkle tree method, but have rather adapted this principal to a more secure and trustworthy system.
How is this Applied in Blockchains?
Nodes are responsible for authenticating new data in a chain. This entails validating the new data by comparing it to existing data in the blockchain. Once verified, the data will be hashed into the system. The way in which a block is hashed is determined by the protocol that the blockchain is based on. In turn, this protocol will govern the algorithms used to generate new puzzles. For instance, bitcoin adopts a proof-of-work (PoW) protocol to authenticate the bitcoins that are produced during the Bitcoin mining process.
This basically involves the mining nodes processing an autonomously generated puzzle, whereby the resolution of the puzzle results in new bitcoins being produced as proof of its being solved, and to serve as an incentivization for the miners. These bitcoins are then recorded as data in the chain, which are then stored across the nodes. This is something like a sudoku puzzle that needs to be solved. Once all the numbers are filled in, the sudoku puzzle is complete. It then gets put aside and you can move on to the next puzzle. Each solved puzzle is locked into place sequentially, with each solved puzzle creating a new block in the chain. There are many other consensus protocols, including proof-of-stake (PoS) and byzantine-fault-tolerances (BFT). But, that is beyond the scope of this piece. What is necessary to know, is that these protocols are responsible for dictating the ways in which each block is created and completed. However, they are not responsible for the storage of the data itself. This responsibility lies with the blockchain network’s nodes.
What is a Node?
Nodes are those computers in the network that are responsible for storing the network’s transaction data that is hashed by the miners. The scope of the storage depends on the type of node.
- Full Nodes:
These nodes These are nodes that volunteer to store a copy of the entire transaction history of a particular blockchain. These nodes generally need hard-drive capacity of over 100G. The Bitcoin blockchain database currently requires 145G of disk space, and 2G of RAM. They are often not rewarded unless they participate in the mining process, although there are certain cloud-storage service and similar blockchains that are structured differently.
- Pruning/Lightweight/Partial Nodes:
These nodes only store a portion of the blockchain, as storing the entire database consumes a great deal of processing power and disk-space. They typically only download and store the portions of the blockchain’s database that is relevant to their needs and cryptocurrency holdings. While this does have some benefit to the overall network, the Full Nodes obviously do a greater service to the network. This is because the more nodes there are in the network that are storing the database, the greater the extent of the authentication and validation process, and therefore the higher the overall level of security.
These are the nodes that are responsible for encrypting and hashing new data into the chain. They also generally double as full-nodes, as it is otherwise difficult for them to effectively authenticate the existing data and therefore authenticate and encrypt new data.
- Full Nodes:
So, What Makes Blockchain Technology so Great?
The major points that appeal most to blockchain enthusiast are the following:
- Transparency: All data and transactions ever conducted on the blockchain are publicly available for viewing.
- Anonymity: Users engage with each-other through their e-wallets. These e-wallets show the user’s e-wallet address, which serves as their user name, as well as all of the cryptocurrencies contained in the wallet and the e-wallets transaction history. This means that no real personal data is made accessible to other users. Similarly, the user could choose to store their cryptocurrency in a hardware wallet, thereby ensuring that even their true holdings are not known to the public.
- Traceability: All transactions conducted through an e-wallet are completely visible. This provides immutability of proof that transactions occurred, thereby eliminating false-charges are failure of payments.
- Trustless: The fact that users can verify each-other’s holding through the transparency of e-wallets, coupled with their transactions being conducted through autonomous smart-contracts means that users won’t have to worry about failure to deliver when sending cryptocurrencies or data to other network users.