What is Tragedy of the Commons?
The tragedy of the commons is a well known economic problem governing any resource constrained system. In any socio-economic system, how would one prevent users of the system who behave in their own self- interests, so as to be detrimental to the common good of all users of the system? For example, consider a common grazing ground in a village where any cattle owner can graze. How would one prevent a few cattle owners from over-grazing, so that the grass can be proportionally shared amongst all cattle owners?
The Tragedy of the Commons in Blockchain
Economists such as Garret Hardin has suggested a) State ownership of the common good and b) dividing the common good into parcels that can be individually owned as solutions. However, with the blockchain when we have millions of nodes coordinating to attain a function e.g in the case of Bitcoin that of transaction validation, and, in case of Ethereum, validating the Turing completeness of the smart contract logic., both these approaches fall short. Of course, state ownership will completely defeat the purpose of the blockchain since the nodes and resources on which the system runs is global. Similarly, proportional assignment of things such as memory, processing power, etc. to all kinds of contracts running on the system would be very hard to ascertain and control, especially when we have smart contract application growing in double or triple digits.
More recently Elinor Olstrom, another economist proposed an approach of community controlled natural resources wherein the local communities assigned to protect and use certain natural resources also controlled the dissemination of the resource. This approach is again not suitable.
Mechanism to Prevent Tragedy of Commons
The solution being discussed in the Ethereum community is one where usage would be charged “proportional rents” as a mechanism to prevent the “tragedy of the commons”. In this approach smart contracts or ethereum-progams that issue tokens are charged a rent (fee) based on their usage of the network’s resources e.g. memory (data footprint) and/or processing power. There are many pros and cons of this approach. While renting can reduce fraudulent contracts (ICOs), they also introduce an entry barrier for large applications. Similarly, renting can lend itself to monopolization. Imagine a big application such as Facebook or twitter that dominates the marketplace, then they could rent out all the memory and space available, thereby making it impossible or proportionally harder for other smaller businesses to host their applications or smart contracts on the blockchain.
We have to wait and watch, what approach is adopted by the developers of the crypto-ecosystem. However, this problem needs to be solved. There is no disincentive for people to stop writing data onto the Bitcoin or ethereum blockchain. Today Bitcoin’s blockchain bloat is caused by individual users writing and storing all kinds of data into the transaction record; some just for fun….. This leads to a huge size bloat for the Blockchain, and, definitely a wastage in processing power for validating transactions.