AMA with Emin Gun Sirer: consensus mechanisms & Avalanche


Hey! We had an AMA with Emin Gun Sirer where we talked about consensus mechanisms, Avalanche, and what Satoshi did that nobody else before him.

Here are some of the highlights of our discussion.

1.Emin invented one of the earliest, decentralized, virtual currencies to confront the problem of leechers on P2P file-sharing systems.

Many of you will remember the days of LimeWire. One of the biggest problems was leechers; they would take resources from the community, but wouldn’t contribute back. They would download files, consume bandwidth, and not give any up.

At about the same time, BitTorrent emerged with its barter idea. BitTorrent has this thing called tit-for-tat where I’d give you a block if you give me a block. But barter only works if we both have something we want at the same time.

Instead, I thought wouldn’t it be so much better if we kept track of people’s contributions using something like a token. Of course, those tokens can’t be under the control of any single central entity so I came up with a system called Karma for minting tokens using proof of work and for keeping track of people’s contributions to peer-to-peer file sharing systems. This was 2002 and it was published in 2003.

That was one of the earliest instances of virtual currencies with a decentralized minting system. I believe it is the earliest implemented such system. It predates Bitcoin by six or seven years, and then I got turned on to it. It’s very well cited among academics but I didn’t push it as its own money. I did not push it as a replacement for cash. And the timing wasn’t right for it.

2. Emin hypothesizes that the two things that Satoshi did to make Bitcoin take off and where Karma failed was that Satoshi didn’t use classical consensus (he invented his own) and marketed it to the right people at the right time.

  1. Satoshi came up with a brilliant consensus protocol which I did not. I used the classical consensus protocol in karma. 2) Satoshi marketed it at the right time to the right audience. He marketed Bitcoin as a replacement for the financial establishment, and at the time when people were pretty embittered about the current state of the world.

3. Bitcoin was marketed as a better and immediate alternative to currencies, namely having 1) cheaper transactions, 2) borderless transactions, and 3) uncensorable transactions.

It wasn’t billed as a store of value. Nobody thought it would have value. Everybody was amazed that it had any value at all.

And it was built as a replacement to the current financial system. So part of the Bitcoin ethos was not that we would get Wall Street acceptance but that it would replace it. It would be an alternative. It would break down or bring down the USD. It would bring down sovereign currencies. Like it or not that was part of the vision that was being sold. And the early adopters all bought into this.

I was skeptical about the second part and I still am. USD is not going to come down in my opinion and I think the systems that try to take it on they’ll just kind of spin their wheels in place.

4. Emin says maximalism is only harmful when its used to support a specific agenda. He sees dogma as irrational passion. But what does bother him, however, is when the motivations and reasons to support one specific outcome.

I think if people are going to invest in a system and they’re going to really fight for it, you want them to be able to have the dogma. It’s perfectly okay by me if somebody’s really passionate. I love passionate people. I’m one myself.

What I don’t like is any kind of a universe where the outcome stays the same and the reasoning for it changes. The scientist in me cannot tolerate that. If you find for example that a group of people are pushing for a certain outcome and the reasoning for it is constantly changing then I’m out of that game. That’s just a big red flag for me that these people have a particular thing that they’re seeking and typically some economic incentive or financial incentive that they themselves have.

5. The breakthrough of Nakamoto consensus was that it didn’t make 100% guarantees of consensus safety like classical consenus mechanisms did; it offered a 99.999+% guarantee which in theory was different but in practice achieved the same goals.

We had maybe 35 years of distributed systems research on consensus protocols. They’re all fragile. There’s a reason why Satoshi did not use a classical consensus protocol. There’s a reason why he had to invent his own.

These classical protocols weren’t destined to go anywhere. Satoshi came in and he suddenly says, “I’m not going to give you a 100% guarantee like these classical people do.” They make really strong assumptions but they give you a bulletproof guarantee. When they say some transaction is final it’s really final. I’m not going to do that. I’ll give you a very high probability, one minus epsilon, like 99.999999% guarantee. That guarantee is equivalent to a 100% in practice. In theory it isn’t, and in practice it’s identical.

This is important in two ways. Because in theory it’s different then you can use looser techniques, more robust techniques to suddenly solve the problem. The classical folks they couldn’t have gone to where Satoshi went. But in practice they achieved the same result.

6. Hybridization efforts that try to combine Nakamoto consensus with classical consensus end up achieving the worst of both worlds.

One problem with Nakamoto is you can’t have idle miners. The miners have to be continually working. And so because of that the whole thing is continually consuming energy. We can quibble about how much energy is that and is it worth it. The bottom line is that energy needs to be consumed and your coin needs to somehow pay the power bill. There’s value leaking out of your system continually. That’s a terrible thing to happen to any system. If you hybridize Nakamoto with anything you just can’t get rid of this.
And the second thing is classical protocols are fragile. And if you start hybridizing them then you start having systems that don’t actually work all that well. You end up having systems that maybe give you a very strong theoretical guarantees but in practice are strictly worse than simpler solutions.

6. Avalanche combines the best of both Nakamoto consensus and classical consensus. Avalanche achieves consensus through metastability. Whereas other consensus mechanisms communicate extensively between nodes to find what the correct consensus value is, Avalanche does not.

Avalanche works by creating a system out of the participating nodes where the system is inherently unstable, kind of like trying to balance the stick on your nose. It’s possible for you to sort of shake your head just right so as to keep the stick vertical, but it’s inherently unstable. It will tend to fall to one side or the other.

In this consensus game the trick is to get everybody to agree. You don’t care which side. Essentially what happens is the network sets up a dynamic system that is unlikely to remain in the middle. It’s going to fall to one side or the other very, very quickly it turns out. This all happens without everybody having to talk to everybody else. That’s a fascinating part of this.

7. Emin argues that Bitcoin’s success isn’t guaranteed and that new coins can compete with Bitcoin on several different fronts: 1) Lower transaction fees, 2) Anonymity, 3) Censorship resistance, 4) Energy consumption, 5) scalability.

As a payment system Bitcoin has enormous fees. If somebody were to come along and provide much better, much lower friction for payments that will be one leg up.

The second leg up would be better anonymity, better functionality. Bitcoin today is at the mercy of companies like Chainalysis, and there is a crowdsourced effort even as we speak trying to find what happened to the Quadriga funds. That’s not a good situation to be in.

The censorship resistance of that coin, third problem, is also terrible. The fourth one has to do with the value that’s constantly leaking out of the system. If Bitcoin’s price drops quite a bit then the system is going to be in trouble.

The final thing is if your scale is fundamentally limited then there will be absolutely no mission-critical adoption for your coin or system. If you go to any kind of a company that builds real products and you tell them that they should use your system as a back-end, and you’re offering them ten transactions per second they’re going to laugh at you. It’s not going to go anywhere.

8. Emin says tradeoffs are overrated; tradeoffs do exist but they don’t always need to do, particularly when a new invention comes along that is just better in every regard.

I hear this all the time. It’s a bit of a wise kind of a thing to say. There are wise things you say to people.

This kind of wise sounding advice, I really don’t have much faith in particular, especially in distributed systems. It is not always a case of trade-offs. It is not always the case that to get something better you need to give up on something else.

It sometimes is. And if you’re in the same family, if you and I are both using Nakamoto consensus and you want to tweak some parameter up, you probably have to tweak some other parameter down. You improve latency but you give up throughput.

Scientifically speaking it’s not always a zero-sum game. Steam shovels were around. And if you came up with a new steam shovel, it’s lighter but carries less weight. Then you’re making trade-offs within that family. And then somebody comes in with a bulldozer and it’s just much better, and you don’t see any steam shovels anymore.

I have to disagree with the fundamental premise there. There’s always a trade-off.