In proof-of-stake, nodes are selected for mining in proportion to the blockchain currency each node is holding as opposed to the computation power in proof-of-work. In proof-of-stake protocol, any node which holds blockchain based currency can become a miner by depositing its currency to the blockchain. Selecting the validator can be done in several ways, such as:
Randomized block selection: Here, the algorithm randomly selects the miner from the set of miners who have deposited their currency. This miner bears the sole responsibility of creating a new block and providing a pointer to some previous block which is typically the last block of the longest chain.
Coin age-based selection: In this protocol, the selection takes into account not only the quantum of currency held but also the duration for which the currency is held. Once these currencies are used for validating the block, the age of the currency is reset to 0. The proof-of-stake protocol is significantly more efficient over proof-of-work protocol in terms of energy consumption, however, this protocol suffers from other disadvantages like nothing at stakeand long range attacks which are briefly described below.
Nothing at stake: Since in proof-of-stake, the miners are not spending any computational effort, it is in best interest of the miner to mine on every competitive chain. This ensures that no matter which chain wins in the future, the miners will be rewarded for sure. Thus, if all miners behave in a rational way, then even if there are no attackers there will be no consensus at all
Long range attacks: In proof-of-stake, a miner can create a fork many blocks back as opposed to proof-of-work. This is because, in order to compete with the longest chain, a miner in proof-of-work will need to do lot of computation work whereas in proof-of-stake, only holding of currency needs to be shown.
2.2.3 Mining Pools
As we have already seen, mining with a proof-of-work protocol needs tremendous amount of energy and computation hardware. Consequently, mining is expensive and even requires one to constantly update hardware (due to the fact that the mining difficulty is always increasing) along with paying off the electricity bills. Even if a miner were to invest such a large amount of money, it is not guaranteed that the miner will actually be successful in mining the block. The mining process results are highly uncertain, as the likelihood of mining a block as compared to the cost of hardware and the cost of electricity is quite low.
Let us consider the probability of successfully mining the block. Since block generation time is fixed and is independent of whether the miner successfully mined the block or not, the distribution is well approximated using the Poisson distribution. To understand this, consider coming up with a nonce value as an independent random trial and the probability with which this nonce will in fact result in successful mining of the block is given by \lambda/N where N tends to infinity indicating the number of nonces to be tried by the miners and \lambda depends on the hardness parameter of the puzzle. Thus, if one computes the probability of not being able to mine any block in a limited time period (say a year), it could be quite high, leaving no earnings. However, a miner may still be doing okay in expectation (for example, by mining more than two blocks in the next year), but the uncertainty could be frustrating for the miner.
To overcome this problem, more and more miners are joining mining pools. Pool mining acts as the insurance to the miners, i.e., even though the miners do not get the full reward of mining a block (quite high but high variance), they get lower rewards (but with certainty) for attempting to mine a block (low reward but low variance). In pool mining, each miner connects mining equipment with a pool server after creating an account on the server. This server synchronizes the efforts put in by the miners so as to share their efforts. Thus, pool server can ensure that the two miners are trying out distinct values of nonces so that the effort of no miner gets wasted.
Even though pool mining seems to be a good option, there are many research questions that arise on the implementability of pool mining. One fundamental question is how to distribute the mining reward amongst the miners associated with the pool. There should be some measure to automatically compute how much effort each miner has put in to find the valid block. Constant reward scheme will not work as it will promote free riding and the performance of overall pool will only reduce.
3 Blockchain Technology: Key Features
The unique value proposition of blockchains is that they enable the creation of digital solutions with built in economics. This capability traces its roots to the first applications of blockchains: bitcoins as a digital currency. A necessary condition for a digital currency is the existence of a trusted ledger which can maintain the balances of the account holders. No-one except the account owner should be able to reduce the account balance; not even the entity responsible for maintaining the ledger.
3.1 Asset Ledger
At its very core, this is what a blockchain is – a trusted ledger. As we explained in the previous section, the technological innovation of blockchains is that the trust in the ledger is ensured using a combination of cryptography and distributed consensus.
It turns out that this simple idea of a trusted ledger has multiple economic applications. First and foremost, a shared, trusted ledger enables everyone involved to agree on a single version of the truth. Let us take an asset like land. As economists have argued, land serves the dual purpose in any economy. At the physical layer, land is an asset which can be used for building a house, growing crops, or building a workplace. However, many assets lead a second life beyond the physical world: as collaterals in the financial world. Land and property are the most common assets used as collateral to secure a loan.
A critical requirement to enable land to be used as a collateral is a trusted ledger which acts as a shared registry across the financial system recording details about different properties. In the absence of such a registry, there is no way for a loan issuing agency to verify whether or not a particular asset is owned by the loan application, or for example, whether or not the same property has already been used as a collateral for a previous loan. Today, the financial system relies on manual processes and paper-based documentation to verify these details. This makes the system slow and liable for manipulation. Several financial frauds exploit exactly these limitations: by exploiting the lack of a shared, trusted asset registry, a fraudster is potentially able to “doublespend” the same asset as a collateral.
One interesting question in creating a blockchain based asset registry relates to privacy. The true value of an asset registry is realized when it is shared among every participating agent in the system – does this infringe on individual privacy? Does storing asset ownership on a public registry imply that everyone knows who owns what? Public blockchains like Ethereum and Bitcoin blockchains solve this system by using pseudo-anonymity. Every agent in the system is recognized by its account address (public key) but the blockchain does not store a mapping between this account address and the real-world identity of the agent. With these blockchains, thus, the mapping of assets to account addresses is common knowledge but the mapping between the account address and real-world identity may be kept private (known only to the individual agent). In the context of blockchains being used as an asset registry for crypto-currencies, it is this pseudo-anonymity property which poses challenges to governments and law enforcement agencies worldwide.
With permissioned blockchains (more about these in Section 4), the issue is less pronounced but still exists. With permissioned blockchains who all can become a part of the blockchain network is controlled by an administrator, so information sharing (of the asset registry) is within a group. Often, however, there may be cases where two (or more) agents in the network may want to undertake a transaction privately. Here again is the requirement for privacy. Interesting solutions to this challenge continue to be explored: cryptographic techniques like zero-knowledge proofs, ring signatures, and hash functions can be combined in interesting ways to achieve privacy while still ensuring trust in the underlying ledger.
3.2 Token Ledger
A second class of economic applications enabled by blockchain is closer to its original use – the ability to create new currencies a.k.a. tokens or coins. If we think about currency as yet another asset, then the big picture begins to emerge. Fundamentally, blockchains are