Navin Kabra was on campus yesterday, to talk about blockchain. More specifically, game theoretic aspects of blockchain. The talk was excellent throughout, and lasted well beyond the scheduled 90 minutes (and I mean that as a compliment!)
What follows are my key takeaways of the talk (although I have cheated just a little bit):
- Navin began the talk with a brief summary of the prisoner’s dilemma, the Nash equilibrium, repeated games and iterative games
- He briefly touched upon the surprising success of the tit-for-tat algorithm
- He mentioned the Schelling point
The Use Case
- He then got into the need for a technology such as blockchain. He used land records and trust issues from this area as a use case.
- When I buy land, or an apartment, from somebody, the following issues emerge:
- How do I know that the land is yours to sell?
- How do I know that you are you?
- Of these, we focused more on the first one: how do I know that the land is yours to sell?
- Without blockchain, the idea is to go to a centralized repository, and check who owns the land. If it is indeed the person who wants to sell you the land, great. If not, ask the prospective seller to buzz off.
- But how do I make sure that the prospective seller is who she says she is?
- One way to prevent this from happening is by using modern cryptography to digitally sign these land records. Navin didn’t mention this in his talk yesterday, but here’s one recommendation to learn more about this topic: The Code Book.
- But what if the prospective seller has sold the land to somebody else, and gotten that transaction struck off the official record?
- Enter blockchain
The Basic Idea
- Take a block of transactions, and apply a seal to them. A digital seal, although the idea is the same as a mohar.
- But that’s not enough: what we then do is also use an identifier for this block of transactions, that is generated in a unique, but random way, from the previous block of transactions (this is called a hash).
- If somebody were to hack into this block of transactions and change something, it would therefore change the hash for the next block, rendering the next block untrustworthy.
- This dependency works across the entire chain of blocks, hence “blockchain”.
- Better still, this entire chain of blocks is not stored on one central server, but across many different servers – this is the distributed ledger concept.
The Distributed Ledger
- So why would these different servers (or rather, their owners) want to be a part of this?
- So here’s the incentive mechanism: servers solve an algorithm that isn’t difficult, but is time consuming. Whoever solves the next chunk of this algorithm gets to seal the next block, and alerts all other servers about having done so.
- Once all servers get this alert, they all update the chain of blocks so that everybody has the same version of events. This, of course, happens automatically.
- The server that sealed the latest block gets as reward: bitcoins.
- These bitcoins are, in essence, a reward mechanism for making blockchain work.
- Once folks start trading these bitcoins, especially in exchange for stuff from the real world, the value of bitcoins goes up.
- We didn’t explicitly speak about this yesterday, but here’s my understanding: It becomes, as with any other currency, a medium of exchange, and also a store of value. (The unit of account bit is more troublesome, and I won’t get into it right now)
- That reward mechanism is randomized, in the sense that any computer/server is equally likely to crack the next chunk of the algorithm. The more computing power you have, over time, the more you will get a higher share of bitcoins.
- The number of bitcoins that can be mined is limited, and the number that is released per chunk of algorithm solved may change as a function of the number of computers trying to compete. In other words, the incentive mechanism is built in (I was rather impressed with this)
- There are ridiculously large buildings in China stocked to the roof with servers whose sole objective is to mine bitcoins.
Game Theoretic Aspects of Blockchain
- This is as pure an experiment in game theory as one could hope for.
- You have people, necessarily anonymized, who can’t communicate with each other, who are trying to mine bitcoins
- Also, you have folks who are, again necessarily anonymized, trying to transact using bitcoins.
- Should they cooperate with each other or not? What are the implications? Since I’m already at around 750 words right now, I’ll outsource this part. Do read it, it is a very good summary of both game theory as well as its application to blockchain.
- I enjoyed the fact that the numbers 42 (check the last bullet point, especially. But also, see this), 1729 were used in the presentation. This had nothing to do with anything, but Easter Eggs are always fun.
- Also, yesterday I learnt (is YIL a thing? It should be)
- I (and I think I speak for all the students who were present yesterday) would love to learn more about applications of Bitcoin. If there are folks in Pune who would like to come talk about this at Gokhale Institute, please get in touch! ashish at econforeverybody dot com
Finally, a huge thank you to Navin! The talk was hugely informative, thought provoking and easy to understand – and that’s a very rare combination indeed.