How does the blockchain function?
Describe a blockchain.
Unlike other databases, data in a blockchain can only be added (and not removed or changed). A blockchain periodically adds transactions inside discrete units known as blocks (made up of transaction information and other important metadata).
Because each block’s metadata contains a piece of information connecting it to the one before it, we refer to the structure as a chain. It contains a hash of the previous block, which can be compared to a special digital fingerprint.
A hash function’s result from two different bits of data having the same value is infinitesimally unlikely. As a result, if an older block were to be modified, its hash would change, which would change the hash of the subsequent block, and so on. Because all the blocks that follow it would need to be modified as well, it is evident if a block has been changed.
Network participants download the entire blockchain. Recall how we said that public-key cryptography allows anyone to verify transactions and signatures. A node makes a number of tests after receiving a block. The block is disregarded if anything in it is invalid.
A valid block is received by a node, which then copies it and sends it on to other nodes. They continue doing this until the block has reached every node in the network. Unconfirmed transactions, or those that have been broadcast but have not yet been added to the blockchain, also go through this process. (How Does the Blockchain Function?)
How is data added to a blockchain as blocks?
The integrity of a blockchain is compromised if incorrect financial data may be recorded. How can we make sure that players are acting honestly when there isn’t an administrator or leader to maintain the ledger in the distributed system?
Anyone was able to recommend a block to add to the blockchain under Satoshi’s Proof of Work mechanism, which allowed anyone to participate. Users must give up their computational capacity to make an educated guess at a challenge that the protocol has set in order to submit a block.
The most tried-and-true method of reaching user consensus is called Proof of Work, but it is by no means the only one. Alternatives like Proof of Stake are being investigated more and more, although they have not yet been properly implemented in their actual form (though hybrid consensus mechanisms have been around for some time).
How does cryptocurrency mining work?
Mining refers to the process mentioned above. If the miner discovers a solution, the chain would be extended by the block they built. As a result, they would get a payment in the cryptocurrency used by the blockchain.
The cryptographic conundrum that miners must crack is repeatedly hashing data to obtain a result that is less than a specific threshold. When hashing with a one-way function, it is nearly hard to guess the input from the output. However, it is simple to check the output given the input. Any participant can then confirm that the miner has created a “proper” block and discard any that are invalid. In this instance, attempting to fabricate an incorrect block resulted in no reward for the miner and resource loss.
The intriguing game theory that emerges, as a result, makes it expensive for a player to try to deceive yet lucrative for them to act honestly. No malevolent entity possesses the resources necessary to continuously attack a robust network. Therefore, we anticipate people with means to profit from their investment by appropriately participating.
Scalability of cryptocurrencies
Distributed networks aren’t particularly effective, as you can undoubtedly see. Unfortunately, synchronizing a copy of the blockchain across all nodes is a requirement for cryptocurrencies to be secure and censorship-resistant. The easier it is for individuals to join, the fewer standards to keep up.
You can see why, in this case, a blockchain with a small block addition rate every 10 minutes is preferable to one with a large block addition rate every five minutes. For the latter to work, nodes would need to run powerful computers, which would force less powerful ones offline. Due to the decrease in the number of network peers, there would be a larger centralization as a result.
But we can’t have a lot of transactions per second with smaller blocks (TPS). That also implies that it can take some time for transactions to be added to the blockchain during busy times. Although it is difficult if you need to send money quickly, decentralization comes at a cost.
We refer to this problem as a scaling dilemma. A system that scales well is one that can quickly and with few drawbacks adjust to increase throughput. As we’ve discussed, merely increasing throughput with larger blocks defeats the fundamental point of the distributed network, which is why blockchains do not scale effectively.
Off-chain scaling seems to be a workable solution to boost TPS without compromising the network’s decentralization. This includes a wide range of controlled and decentralized technologies that enable transactions to be completed without being recorded on the blockchain.
Who decides what cryptocurrency software will be used?
Networks for cryptocurrencies are opt-in. You are not being forced to use any software that you do not want to. A good protocol will have all of its code open-sourced so that users can be confident in the security and fairness of the system.
In general, anyone can take part in the development of cryptocurrencies. A community of developers reviews new features or code changes before they are accepted and made public. Users can then examine the code for themselves and decide whether or not to run it.
There will be some changes that are backward-compatible, allowing updated nodes to still talk to older ones. Others won’t be backward-compatible; nodes that are outdated won’t be able to continue using the network and will instead be “kicked off” it. To learn more about this, read Hard Forks and Soft Forks.