I am writing it for my father, or at least that is the idea. Explaining complex concepts, to someone that does not necessarily have the same background or technical acumen. I got a lot of questions about my line of work, mostly related to tech or logistics of how I operate daily (aka, “yes, you are paid, but what is that you do exactly? how is your day at work?”). So I’ve decided to write about those. Disclaimers about the technical validity or accuracy of my affirmations.

My dad, the gentleman in the middle

What is proof-of-stake (POS)?

It is a safety mechanism to prevent abuse of a system. The most popular application is to cryptocurrencies. It is actually a solution to a somehow faulty solution, Proof-of-work (POW). Proof-of-work is a similar mechanism, based on increasing the cost of interacting with the system artificially. In PoS, instead of demanding a costly computation to participate, participants stake the coins they hold. The more coins they hold, the higher the possibility for them to interact (validate).

Lets’s take a step back. How do we prevent people from interacting maliciously with a system where said interaction has friction closer to zero? By adding friction artificially. Asking to solve a problem that is difficult to find, but easy to verify. It adds the right amount of effort to dissuade malicious attacks, keeping it functional.

The idea Cynthia Dwork and Moni Naor come up with in 1993 were quite beautiful. It was adopted in the famous foundational Bitcoin paper by Satoshi Nakamoto in 2008.

How does proof-of-work work?

Bitcoin is a distributed ledger. Information is stored in blocks, where every piece can be viewed by all participants in the network. It has a caveat though, without a central authority to verify if a transaction is real or fraud, how can you trust it? It needed a mechanism at its core to resolve this validation process in a decentralised way.

So, we have a blockchain (a distributed database), miners (nodes in that network, computers) and transactions we want to record in a way we can trust. When a new transaction occurs, a puzzle is given to miners. Miners compete to resolve it. Once the first one to solve the puzzle, the others verify the solution is right. If it is okay, the transaction is recorded and only that miner is rewarded. We have a system decentralised (multiple verification nodes), autonomous (as soon as the incentives are economically efficient miners will keep operating) and trustable.

How is the puzzle? It is a mathematical problem. The kind that can only be solved by trying one solution after another. They try to guess a 64-digit hexadecimal number, called a hash, that is less than or equal to a target hash in SHA-256, Bitcoin’s PoW algorithm. Not a hard problem, but one that allows for no shortcuts. Speed of processing is more important than being “smart”. This is an oversimplification and there are TONS of nuances around it (how the difficulty of the problem increases over time, probability of reward, POW algo…).

What is the issue then?

On one side POW is by definition costly. In terms of energy, hardware, infrastructure. It has raised real concerns about it being the best possible use of that energy. On the other side, participants (miners) are prone to maximise profits, regardless of the network. There is no incentive to improve the network. Bitcoin or Litecoin are still running on a PoW method.

Proof-of-stake is the proposed solution. Instead of having all participants compete, it assigns the option to create the block randomly. The amount of mining power depends on the amount the participant holds, assuming the more coins you hold, the higher the incentive to keep the system running. Miners or validators are rewarded as well, but they have to lock their tokens up in order to participate. Risking losing them if they are being malicious agents.

I hope it is clear enough. It passed the Dad test. Quite literally.