back to indexCharles Hoskinson: Cardano | Lex Fridman Podcast #192
link |
The following is a conversation with Charles Hoskinson, founder of Cardano, co founder
link |
of Ethereum, and a mathematician who is one of the most well read and knowledgeable people
link |
on the technical side of cryptocurrency that I've ever spoken to.
link |
Quick mention of our sponsors, Galila Games, Allform, Indeed, ExpressVPN, and Asleep.
link |
Check them out in the description to support this podcast.
link |
As a side note, let me say that Charles is not just a mathematician or cryptocurrency
link |
innovator, but also a Colorado based farmer of bison and mushrooms, a gamer, a fisherman,
link |
and a world traveler.
link |
When I asked him if he has a nice professional picture of himself, he sent me a picture of
link |
him in Mongolia with a hawk on his shoulder, meeting the Mongolian president.
link |
That to me pretty much says it all, speaking to the humor and the intelligence of a man
link |
who is bold, innovative, and does not shy away from a bit of fun and a bit of controversy,
link |
which makes him a fascinating human being to explore ideas with.
link |
I do want to say in terms of ideas that, at least to me, cryptocurrency is much bigger
link |
than just a way for a few Americans to make a quick buck through meme driven speculation.
link |
It is technology that enables freedom from oppression, from suffering in the world, because
link |
Mongolia, for example, was a reminder of that for me.
link |
Next day, after talking with Charles, I spoke with Wyoming Park, who is a North Korean defector,
link |
and who spent time in Mongolia, as many defectors do, in her and their escape from North Korea.
link |
Her story, the story of North Korea, the story of atrocities throughout the 20th century
link |
committed by Hitler, Stalin, and others, is a reminder that the world is full of darkness,
link |
but it is also full of beauty and love, and it is a world worth fighting for, in every
link |
This is the Lux Friedman podcast, and here is my conversation with Charles Hoskinson.
link |
self evolve, almost like gnomic.
link |
And then you have Wolfram running around saying,
link |
hey, we can come up with these like very simple rules
link |
and we can reconstruct all of reality
link |
at some arbitrary point.
link |
So I have absolutely no idea what's right.
link |
You know, I look at it kind of like a formal system
link |
and I say, well, if you're stuck within the system,
link |
it's hard to actually understand
link |
that you're inside the system.
link |
You know, it's kind of like an object language
link |
to a metal language.
link |
You know, there's this thing that is outside of it,
link |
but because you're constrained and limited by the simulation,
link |
you can't really understand the nature of the thing
link |
that's outside of it.
link |
It's almost like Minecraft.
link |
You can build these redstone computers within Minecraft
link |
and simulate and emulate things within it,
link |
but you really can't go outside of that environment.
link |
The people outside of it can formally prove
link |
that it's correct or whatever,
link |
but the creatures inside of the system
link |
can't hope to perfectly understand it
link |
and prove something about it.
link |
Well, also the question is, it's a computation question.
link |
You know, does P equal NP?
link |
Because you'd have to be able to emulate all of these.
link |
How long will it take?
link |
And so I have no clue what type of language
link |
it would have to look like,
link |
but it would probably not be anything we're used to
link |
It'd have to be something else.
link |
And we'd have to have some more fundamental resolution
link |
of the relationship of these formal systems
link |
and how they get extended.
link |
So that's like a 22nd century question
link |
instead of a 21st century.
link |
Do you like, do you find the Stephen Wolfram idea compelling?
link |
It's a very different way of programming,
link |
which is you set some rules,
link |
you set some initial conditions,
link |
and let it run and see what happens.
link |
Yeah, and it's not a new concept.
link |
I mean, like the Santa Fe Institute's been doing that
link |
for a long time and you can use it for economic modeling
link |
and you can show that in certain cases,
link |
there's this concept of simple rules
link |
evolving into a complex system
link |
is somewhat more predictive
link |
than trying to build a complex top down model for things.
link |
And I guess there's some analogies to these things in AI
link |
where you start with some simple things
link |
and then somehow it just figures stuff out
link |
in its environment over time
link |
and much better than if you actually tried to model it
link |
with prologue or something like that.
link |
So that is exciting
link |
because you get to just do a few things,
link |
let the thing run and then see what happens.
link |
And that's a lot of fun.
link |
In fact, it got so exciting, Wolfram came to us and he said,
link |
''Hey, let's do an NFT marketplace.''
link |
I said, ''What do you wanna do?'',
link |
and he said, ''I got all these universes to sell.''
link |
And I said, ''Okay, well that's gonna be fun.
link |
So we're gonna set up an auction system
link |
or something like that with him.
link |
And I think maybe end of this month or next month,
link |
we'll figure out how to do NFTs on Cardano
link |
with Wolfram universes.
link |
So as soon as we can sell one, I'll give you one
link |
and then we can all just claim
link |
that we're living in some sort of Wolfram simulation.
link |
I don't know how much money I have,
link |
but I'm gonna give everything I have to get rule 30,
link |
which is one of his universes that he's created.
link |
One of the first ones where he discovered
link |
some interesting complexities.
link |
I think rule 30 is Turing complete or is that 45?
link |
I can't remember which one.
link |
You know your stuff.
link |
Actually, I'm not sure if they proved anything
link |
about rule 30 in terms of whether it's Turing complete
link |
or not, but there's fun competitions on it,
link |
which is trying to predict something about rule 30,
link |
about the way it evolves.
link |
And so far, nobody's been able to do it.
link |
Just like looking at the middle column,
link |
try to predict as the system evolves,
link |
say anything like conclusive about the future
link |
of the system as it evolves.
link |
It's both beautiful that simple rules
link |
can create that kind of complexity.
link |
And it's also sad that we can't like make perfect sense
link |
of it, like perfectly predict the future.
link |
Even though it's all simple and deterministic,
link |
we can't say something conclusive about like
link |
when the thing will end.
link |
When will this little cellular automata
link |
like evolve in a certain way
link |
and then nuclear weapons will be invented
link |
and they blow each other up
link |
and then they'll just be this empty 1D cellular automata.
link |
Well, doesn't that make it fun though?
link |
Yeah, it's fun, but when you're trying to create
link |
and we'll talk about something that operates the economy
link |
and the way humans transact and cooperate
link |
and fall in love and work together,
link |
then you'd like to be a little bit more formal
link |
and try to say something conclusive.
link |
If this entire universe is just cellular automata,
link |
then being conclusive is kind of hopeless,
link |
generally speaking.
link |
And the hope is, I guess, that there'll be pockets
link |
of which within the cellular automata
link |
where you could be predictive,
link |
where you can formally show that something is true
link |
and then you can rely on that.
link |
You'll be resilient and all those kinds of things,
link |
even though the rest of the thing is a giant mess
link |
that's unpredictable.
link |
Didn't they call that Laplace's demon?
link |
Yes, I wonder what the demons up to these days.
link |
Okay, thank you for entertaining me with that.
link |
But sticking on philosophy, you've also mentioned,
link |
among others, that Bertrand Russell and Saul Kripke
link |
are two of your favorite philosophers.
link |
Maybe you can comment on what ideas of theirs
link |
you find insightful and also what do you use the difference,
link |
because you're both an engineer and a thinker,
link |
so what do you use the difference
link |
between philosophy and computer science?
link |
Yeah, so yeah, there's both a deeply human element
link |
to both Russell and Saul.
link |
And then there's this, of course, amazing work
link |
that they did in the late 19th and 20th century.
link |
And you can't really talk about Russell or Saul
link |
without also mentioning Wittgenstein and Tarski.
link |
Because when you actually look at these guys
link |
and you put them together, what they were attempting to do
link |
was increase the level of precision we had
link |
in analyzing both formal languages
link |
and also language in general.
link |
And so Wittgenstein makes no sense at all to me.
link |
So there's amazing people out there
link |
that somehow can parse that, but.
link |
He doesn't make sense to himself either.
link |
I think you're right about that.
link |
However, Kripke has Kripkenstein.
link |
He has his whole building on that, right?
link |
And he built a whole hierarchy.
link |
And at least there I have modal logic
link |
and I have the little boxes and I have the diamonds
link |
and I can do a computation and I can kind of reason
link |
about things that people are saying.
link |
But really it was all just about precision
link |
and the nature of truth, precision,
link |
the nature of necessity and possibility.
link |
And the magic of these statements
link |
is that you can then start getting a better understanding
link |
of basically how far a formal language can take you.
link |
And so that's the work of it.
link |
David Hilbert also did the same thing.
link |
And Russell, he got his career started
link |
working with Alfred North Whitehead.
link |
He was a logician and there was this whole desire
link |
in late 19th century mathematics to formalize mathematics
link |
in a completely new and better way.
link |
And they started with geometry
link |
and Hilbert's geometry was like a complete system,
link |
although recently we've discovered
link |
there's a few holes in that.
link |
But for the most part it was complete
link |
and the axioms are independent and they're consistent.
link |
And they said, oh, well now we can do this
link |
for all of mathematics.
link |
And Russell and Whitehead wrote this huge set of books,
link |
like two big books,
link |
Principia Mathematica, a thousand pages
link |
and the conclusion is one plus one equals two.
link |
So they linked set theory and arithmetic and logic
link |
all in these beautiful ways.
link |
Then little by little, as we entered the 20th century,
link |
logicians started chipping away at this idea
link |
that you could actually construct
link |
a complete system of mathematics.
link |
First with Gödel and then later with the work of Turing
link |
and Church and others.
link |
They said, oh, you're not complete, you're not decidable.
link |
And so suddenly Russell was left in this really bad position
link |
where his early life's work was basically forgotten.
link |
So he had to kind of reinvent himself.
link |
And so he went into ethics
link |
and he went into different fields of philosophy.
link |
He became this titan in analytic philosophy
link |
and he was also a great pacifist
link |
and he was just a phenomenal writer.
link |
If you read Why I'm Not a Christian
link |
or any of his other attacks on metaphysics,
link |
he said, look, I can only deal with the world I'm in
link |
in the senses that I have
link |
and if I can deduce it, I believe it.
link |
If it's outside of that,
link |
I really can't make meaningful statements about it.
link |
And he said it in a lovely English prose
link |
that you would expect of a man of his stature.
link |
Now, Sol Cryptry, it was like the complete opposite.
link |
This guy's really down to earth dude,
link |
not aristocratic at all.
link |
And he was one of those guys
link |
that just could have done anything
link |
because he was so, he's so brilliant.
link |
I guess he's still alive.
link |
I think he's 80 something.
link |
Yeah, he's getting up there, man.
link |
But I mean, literally, when he was in high school,
link |
he wrote these papers in logic and Harvard contacted him,
link |
said, hey, could you teach graduate courses at Harvard?
link |
And he said, no, I really would like to finish high school
link |
first before I go and teach grad school at Harvard.
link |
And so this is just one of those guys
link |
that you can see through his work
link |
that he can think deeply about anything.
link |
He's like the Galois of philosophy
link |
and he chose to try to clean up a lot of the messes
link |
that Tarski and others couldn't resolve.
link |
He said, let's really get serious
link |
about the nature of truth.
link |
Let's really try to resolve paradoxes.
link |
Let's really try to build things in such a way
link |
that the work that we leave behind
link |
can actually be built upon
link |
and it's not thrown away every 50 years or 100 years.
link |
And it was the same for Tarski.
link |
He comes in and he says,
link |
we mathematicians love this concept of truth,
link |
but yet we've never really created
link |
a nice rigorous definition
link |
that doesn't have paradoxes embedded inside of it.
link |
So he had to invent metal languages and object languages,
link |
all these notions and so forth.
link |
So I really liked those four, if you think about them.
link |
And there's a lot of great lessons.
link |
And where it's relevant today is,
link |
you have human beings and you have computers
link |
and they're trying to understand each other.
link |
And computers live in the formal world
link |
and human beings live in the natural language world.
link |
And those bridges between those two
link |
are still not completely clear.
link |
And so a lot of the work that these guys were doing
link |
in the 20th century, 19th century
link |
had nothing at all to do with that,
link |
but gives you hope that perhaps a bridge can exist
link |
between those two worlds.
link |
And maybe there are some nice tools
link |
for that bridge to be built upon.
link |
And maybe that in some way will allow computers
link |
to better understand us.
link |
I mean, they've even created languages,
link |
natural spoken languages that are completely ambiguity free
link |
like Lojban and things like that.
link |
What? Yeah, right.
link |
Wait, what? L O J B A N, Lojban.
link |
It's based on a language called Loglan
link |
and it's a spoken language
link |
that's equivalent to first order predicate calculus.
link |
So no ambiguities, it's logically consistent.
link |
But can you still have fun in it?
link |
Can you write poetry or what?
link |
There's people who actually write poetry in Lojban.
link |
I'm gonna switch to that and start tweeting in it.
link |
Yeah, there you go.
link |
So there's a lot there
link |
and they're just fun to study and think about.
link |
And unfortunately, if you go down that rabbit hole,
link |
you'll spend way, way too much time
link |
and there's diminishing returns.
link |
Now, the second question you asked
link |
was one on theoretical computer science to,
link |
I guess, engineering.
link |
Philosophy, no, no, no, no, no, no.
link |
So first step, you said humans and computers.
link |
So theoretical computer science
link |
is theory of the computer
link |
and philosophy is the theory of the human.
link |
And then we can dissect different stuff about the computer,
link |
but in terms of these two worlds
link |
of the theory of the human,
link |
which is philosophy and the theory of the computer,
link |
which is computer science,
link |
what do you think is the difference?
link |
Like, as we try to bridge that gap, as you mentioned,
link |
what is going to be the biggest challenge?
link |
Like, can we formalize love?
link |
Can we formalize music, art, poetry,
link |
all that kind of stuff?
link |
Or is that human nonsense that we need to get rid of?
link |
No, I don't think it's human nonsense at all.
link |
I mean, there's even attempts
link |
to create algorithmically generated music.
link |
And the question is,
link |
is love just strictly a chemical phenomena?
link |
Is there something like metaphysical about it
link |
or transcendent of some sort of formal system?
link |
I mean, computer science is just saying,
link |
hey, we have this notion of computing.
link |
We have this brain that we've constructed,
link |
this formal system that we've built.
link |
And given that we have it, what can we do with it?
link |
And so some people worry
link |
about the roots of the tree of knowledge,
link |
the great Yggdrasil of computer science.
link |
They worry about the roots and say,
link |
how far can we grow them?
link |
And let's keep adding these new models of computation.
link |
And other people worry about the trunk of the tree.
link |
And some people worry about the leaves of the tree.
link |
And the more advanced the field gets,
link |
the closer and closer it gets
link |
to the people who constructed it, us.
link |
We have better image processing.
link |
We have better ways of handling speech to texts.
link |
And we have better ways of computers
link |
kind of understanding the intent
link |
of what a human being is saying.
link |
And then the question is, well,
link |
how will a computer understand love or poetry or music?
link |
Well, it'll understand it the same way we understand it.
link |
You have to get a computer to grow up to a point,
link |
work and learn the way we learn
link |
or as close to it as possible.
link |
Then you just expose it to the things
link |
that we were exposed with.
link |
And then at some point,
link |
the computer will start creating things.
link |
So the question is, well, how do you quantify creativity?
link |
And I have no clue about that.
link |
You make it into an NFT and see how much it excels for it.
link |
But basically, yeah, there's so much of it is subjective.
link |
And that's a fascinating whole area of,
link |
that I'm fascinated with this human robot interaction
link |
is how do we create compelling experiences
link |
that are subjectively compelling,
link |
whether it's art or just two humans talking
link |
or two humans interacting in some kind of way
link |
to maximize the richness of the subjective experience.
link |
And I think that could be an optimization problem
link |
that could be solved.
link |
We're solving it all the time.
link |
Human civilization is constantly trying to...
link |
We're constantly trying to impress each other.
link |
When we're younger, trying to get laid,
link |
whatever, fall in love, impress your boss at work
link |
by all the awesome stuff you do.
link |
I mean, we're trying to optimize that problem
link |
that's purely, for the most part, is subjective.
link |
Right, did you ever watch Blade Runner 2049?
link |
Yeah, did you remember the whole relationship
link |
between Joy and Kay?
link |
And did she really love him, the hologram or not?
link |
Was it like fake love or real love?
link |
Fake it till you make it is my view on love.
link |
No comment from Charles.
link |
So let's go to the difference between
link |
theoretical computer science and software engineering.
link |
Or I don't know if you draw a distinction,
link |
but if we look into this computer world now,
link |
is there a difference between theory,
link |
things you can say formally,
link |
and the pragmatic implementation of that theory
link |
into actual systems that people use,
link |
which I guess we'll call software engineering?
link |
So the engineer, they're obsessed with the domain of,
link |
well, what do you want to accomplish
link |
and who are you accomplishing it for?
link |
So they live in the world of people,
link |
if they're good engineers.
link |
And they say, okay, what's the experience?
link |
How are we going to use this?
link |
Why are we going to do this?
link |
What's the commercial application?
link |
What's the noncommercial application?
link |
And you collect all these business requirements.
link |
And once you've done all of that,
link |
the better job you do, the more self evident it is
link |
of how do we apply the toys and tools of computer science
link |
and other such things to actually resolve that.
link |
And the point of theoretical computer science
link |
from the software engineering domain
link |
is it can tell you kind of where your guardrails are.
link |
It won't make perfect programs.
link |
And there's no such thing as that,
link |
but rather it can give you a good notion and sense
link |
that your program has some desirable properties.
link |
Like maybe you can prove that it can terminate.
link |
If you're dealing with total programs
link |
or maybe you can prove you'll never have a buffer overflow
link |
or you won't divide by zero somewhere or something like that.
link |
Some event won't occur
link |
that'll cause a catastrophic failure in your system.
link |
But there's always this combinatorial explosion
link |
between what you can test and think about
link |
and what you can actually code.
link |
So the stuff on the left hand side
link |
lives in a different cardinality, a different universe.
link |
There's something significantly larger there.
link |
And the tools on the right hand side,
link |
we have property based testing and these SAT solvers.
link |
We have all this great stuff here in formal methods land
link |
and computer science theory land,
link |
but there's only a small subset of things
link |
that they actually give you good answers about.
link |
So the balance of the two things is basically saying,
link |
well, what do you care about?
link |
And what are you okay throwing away?
link |
That's the art of engineering
link |
and building these types of things.
link |
So, you know, cryptocurrencies,
link |
we deal with these complex distributed systems
link |
that have cryptography and game theory
link |
and Byzantine actors.
link |
So the balance there is saying,
link |
okay, what can't fail in that system?
link |
And that's the kind of stuff that you want to apply
link |
as heavy a tool set as you can,
link |
because when that stuff fails,
link |
you either have a loss of billions of dollars,
link |
privacy, or potentially even life,
link |
depending on how these systems get adopted.
link |
But then other things, you know, what can fail?
link |
Is it okay if the block doesn't get made every now and then?
link |
Is it okay if your latency goes up
link |
or your network suddenly becomes asynchronous
link |
and you disconnect from it and you have to restart
link |
the computer or something like that?
link |
That's probably okay.
link |
It's an inconvenience and burden to the user.
link |
And if you actually try to chase that tail,
link |
you'll end up spending 10 years chasing phantoms and ghosts.
link |
And meanwhile, the whole world moves on.
link |
So it's really figuring out those balance of the two.
link |
And what's really beautiful is that the formal methods tools
link |
have gotten so much better
link |
over the last 20 years in particular,
link |
mostly because of incredibly high investments
link |
from Microsoft and Google and big universities,
link |
because these guys are building these gargantuan systems.
link |
If you look at the Googleplex
link |
or what Amazon has or others,
link |
and they have so much value, so many users,
link |
so many things going on,
link |
and no person can keep that in their head.
link |
And so you're talking about systems
link |
may have 10 million lines of code,
link |
15 million lines of code,
link |
millions of nodes connecting,
link |
faulty processes happening all the time,
link |
hackers breaking in on a regular basis.
link |
So when you're trying to model all of that,
link |
trying to ask yourself,
link |
what formal guarantees and properties can I get
link |
to simplify this system as much as possible?
link |
So instead of the applications of formal methods
link |
slowing you down, in many cases,
link |
it actually massively reduces your debugging time
link |
and your ability to find where errors occur.
link |
In some cases, you can't find where errors occur
link |
inside these massive concurrent systems.
link |
And you say, well, where are cryptocurrencies going?
link |
We're talking about just the same thing.
link |
But we're talking about
link |
a much more hostile operating environment,
link |
where instead of it running in a pristine data center
link |
in California somewhere,
link |
it's running on your cell phone,
link |
it's running on your mom's phone,
link |
it's running your dad's phone,
link |
it's running on some computer in Mongolia
link |
that may have good internet on Tuesday,
link |
but not any other day.
link |
So when you live in that kind of environment,
link |
you really do need to think carefully
link |
about a whole new class of protocols.
link |
And then you need to think carefully
link |
about a whole new class of tools and techniques
link |
to test the reliability of those systems.
link |
And you need to separate the world and say,
link |
what is high assurance and cannot fail?
link |
Because if it fails, people lose money.
link |
And what is low assurance?
link |
And it's okay if that falls apart.
link |
The other thing I'll mention
link |
is there are perverse financial incentives in our industry.
link |
Because the reality is when something blows up,
link |
the people who built those things that blow up
link |
usually get paid upfront.
link |
So what they're focusing on is time to market,
link |
speed to market, and getting tokens out
link |
and getting them liquid.
link |
And then people come in, they buy it,
link |
but if there's a nascent bug in some DeFi protocol,
link |
it'll probably be discovered six months later
link |
or something like that.
link |
It blows up, who suffers?
link |
The people that created that already got paid.
link |
Exactly, that's why you pay the guy
link |
who makes the breaks software for your train last.
link |
And you make sure he rides the train every day.
link |
So you're basically describing the complexity
link |
of a distributed system that's fundamentally game theoretic.
link |
And like, if we think about turtles all the way down,
link |
it's humans all the way down.
link |
I mean, at the very bottom is still human nature.
link |
Is there something you can say formally about human nature
link |
to try, you said you can't,
link |
there's certain parts of the system that can't fail.
link |
Some people talk about nuclear war in that same kind of way,
link |
that there's this game theoretic construction
link |
of mutually assured destruction.
link |
Oh, that rhymes, see, I'm a poet.
link |
That system can't fail because you're gonna blow everyone up
link |
but you can't formally say for sure
link |
it's not going to fail.
link |
So like, you're basically trying to chase,
link |
like statistically reduce the probability
link |
that these particular critical aspects will fail.
link |
And then you test, I guess, by deploying in the real world
link |
at small scale to see where things go wrong.
link |
Yeah, it's a great question.
link |
And the problem with game theory and mechanism design
link |
is that you can develop this concept of a rational actor.
link |
And I don't think in my life
link |
I've ever met a rational actor.
link |
There's a rational actor on Tuesday,
link |
but any other day of the week, who the hell knows?
link |
And there's even, I think there was a book Freakonomics
link |
and there's a few of these things
link |
where it just shows again and again
link |
where people behave in ways
link |
that are against their best interest.
link |
So then you have these protocol designers and they say,
link |
well, we need an honest majority for this thing to work.
link |
And they say, okay, well, we'll create this incentive model
link |
and rational actors will behave with that incentive model.
link |
And they say, well, the individual won't do that
link |
but the firm, the government, the entity will.
link |
The problem with that is we have a lot of counter examples
link |
where the system was actually behaving in weird ways.
link |
Like we almost completely eradicated the human population
link |
twice in the 20th century,
link |
once during the Cuban missile crisis.
link |
And again, in the 1980s, there was a Russian Colonel
link |
and they installed a new satellite system and it said,
link |
hey, the Americans are launching missiles at us.
link |
You need to turn the key in,
link |
launch all the missiles in the silo.
link |
And he said, oh, that's not right.
link |
That doesn't seem right.
link |
And he was reprimanded for not launching the missiles.
link |
So in both cases, a single person stood
link |
against the systems of superpowers
link |
between us and nuclear annihilation.
link |
So in general, we're really bad
link |
at building these types of things.
link |
So what you look for instead is say,
link |
can the system be self correcting?
link |
It's not about avoiding a problem.
link |
It's more about can the problem be resolved?
link |
And that's how nature engineers things.
link |
It gives you an immune system.
link |
It gives you the ability to heal.
link |
If a rainforest has a fire or some catastrophic event,
link |
the ecosystem will find a way to patch things up.
link |
So it's a better question of how do you align
link |
the incentives over the longterm of a system
link |
where all the actors within the system,
link |
when an event occurs that disrupts it,
link |
have an incentive to push it back
link |
into a healthy, productive, useful state,
link |
which is going back kind of to that complexity theory stuff
link |
that we began with and a little bit about,
link |
how do you handle modern economics?
link |
Like for example, we knew this coming into the COVID crisis
link |
that there would be catastrophic economic disruption
link |
throughout the entire world.
link |
In the developed world, it was print lots of money
link |
and hope to God it works.
link |
In the developing world is try not to starve to death.
link |
Over 100 million people were pushed into acute starvation.
link |
So acute hunger, it's a terrible situation.
link |
But every economist knew we were going into that.
link |
So the question is how do you restart the system?
link |
How do you realign the system and so forth
link |
and make sure that it doesn't collapse at some point.
link |
So it's an imperfect, inexact science.
link |
And that's actually one of the things
link |
that makes our industry so much fun
link |
is that these are kind of like micro experiments
link |
In the years past, you never got a chance to experiment
link |
with monetary policy.
link |
I mean, it's like every 20 years, 30 years,
link |
you'd have some conference,
link |
usually in a cool island like Jamaica
link |
and be like, okay, let's go talk about monetary policy
link |
and like amend the Bretton Woods Agreement.
link |
And these would be nation states, invitation only.
link |
And now you have over 8,000 cryptocurrencies
link |
floating around all with their own monetary policy
link |
and their rules and it's very Darwinian.
link |
A lot are dying, some are succeeding.
link |
Anomalies happen like Dogecoin and you say,
link |
God, is this temporary, is this permanent?
link |
Why doesn't this horrible thing die?
link |
And then other things you think
link |
would be absolutely successful
link |
and just take off and be in the top 10
link |
don't really get as much traction.
link |
Like Al Grant is a great example of that.
link |
I mean, Silvio, he's an incredibly bright guy.
link |
Every time I go to MIT, we have dinner
link |
and his work is legendary
link |
and it's just beautiful and elegant
link |
and he literally has all the people.
link |
He went and hired Tal Robin
link |
and she got at IBM Research and Craig Gentry,
link |
the guy who did homomorphic encryption
link |
under Dan Boneh is there.
link |
There's all these amazing people on that team
link |
and they have money in the VCs.
link |
So you'd say, okay, that's a contender.
link |
But if you look at market adoption,
link |
Ethereum Classic sometimes is above it
link |
and other things are above it.
link |
And then there's this weird Darwinian evolution produced
link |
Dogecoin organism that's just stomping all around.
link |
Evolution doesn't make sense.
link |
Exactly, but maybe it's worth the problem, not evolution,
link |
because the market's the market
link |
and you can scream and cry and pout
link |
and stamp your foot and say this makes no sense,
link |
but that's the way the world works.
link |
There's plenty of mountain climbers
link |
that didn't want gravity to apply to them
link |
and it's the same situation here.
link |
There's plenty of people in these marketplaces
link |
that had the best of intentions, the best team,
link |
the best technology, and for whatever reason,
link |
they didn't get that adoption.
link |
So the question isn't the local,
link |
it should be the longterm and will the system over time
link |
converge to a state that actually is useful
link |
and meaningful to society and actually solve problems
link |
for it and that's what we try to figure out
link |
is how do we perturb these things in a way
link |
to kind of push them in that direction.
link |
So before we go into this fascinating
link |
Darwinian evolution of cryptocurrencies,
link |
let me ask you sort of a basic programming question.
link |
There's a fascinating aspect to your work with Cardano
link |
that use Haskell to build the infrastructure,
link |
but even stepping back more, looking at this landscape,
link |
another place where Darwinian evolution operates,
link |
looking at this landscape of programming languages,
link |
you as an engineer, you as a philosopher, both,
link |
what programming languages do you think are interesting
link |
and more practically, what programming languages,
link |
if you were to advise like students today, should they learn?
link |
Yeah, so there's the pedagogy of learning how to program
link |
and to express the theory of computer science.
link |
Like you have to learn how to write algorithms,
link |
you have to learn what data structures are,
link |
you have to be able to do analysis of these things
link |
and that probably the, I think the debate is over Python
link |
is probably the best language or JavaScript
link |
to get started with because they're very useful,
link |
the libraries are amazing,
link |
there's just tons of online materials,
link |
even MIT is now teaching their introduction
link |
to computer science in Python and they used to do Lisp,
link |
I mean, these guys were hardcore.
link |
I still love Lisp.
link |
Oh man, it's great, these are your father's parentheses,
link |
they're elegant weapons from a time long ago.
link |
But that's a great starting point
link |
and it's not about falling in love with a language,
link |
it's just falling in love with computing,
link |
it's about falling in love with having a dialogue
link |
with a computer and thinking about,
link |
well, how would I solve that?
link |
How would I interact with that?
link |
What does this need to look like?
link |
Functional programming is what we've chosen to use
link |
for Cardano mostly because we're living in the academic
link |
world, we've written 105 papers and the problem is
link |
you have to translate that work into code
link |
and the gap between an imperative language
link |
like a C++ or C and these academic rigorous papers
link |
is extremely large and so there's gonna be
link |
a lot of semantical ambiguity between those two
link |
and what I mean by that is that you might end up
link |
implementing a wrong thing.
link |
You might think that what you've built is the paper
link |
but the computer's not going to tell you that
link |
because the paper's written in prose
link |
and maybe typed up in LaTeX or something
link |
but there's no proof chain, evidence chain
link |
that you can show that there's no ambiguity.
link |
When you look at a functional language,
link |
you're a little closer to math and so as a consequence,
link |
the translation of the papers that we spent
link |
so damn long writing and writing proofs about
link |
and so forth to code is much smaller.
link |
Now the downside is these functional languages
link |
tend to be a bit more academic and they tend to have
link |
not necessarily the best Windows support
link |
and the libraries aren't so good
link |
and also they tend to be a little slower
link |
when compared as a whole on average
link |
to languages like C for example.
link |
So it's really a question of okay,
link |
what are you designing for for version one?
link |
Are you designing for performance
link |
and are you designing for developer accessibility
link |
or are you designing for correctness
link |
and are you designing for a high fidelity representation
link |
Okay, so Haskell was chosen as kind of the version one
link |
because we knew that the kinds of people
link |
who think about that are also the kinds of people
link |
that would have an easy time reading a paper
link |
like Ouroboros and working their way through all of this
link |
and they would do a pretty good job
link |
running a formal specification
link |
and then translating that into running code.
link |
Then once you have that, you have a blueprint
link |
that you can actually reason about, maintain
link |
and if you really wanted to,
link |
you could then turn that into a Rust code base
link |
or into a Java code base.
link |
Going the other way around would be kind of pointless
link |
and counterproductive.
link |
The other side of it is that Haskell code
link |
or functional code tends to be significantly more concise
link |
and I actually have a real life example of that.
link |
So if you take a look at Mantis,
link |
we implemented a full Ethereum node in Scala.
link |
It's only about 14 or 15,000 lines of code
link |
and you compare that with like C++ Bitcoin,
link |
I think that's 120, 150,000 lines of code.
link |
So it's almost 10 times smaller
link |
and so less code, less to read
link |
and you tend to read code significantly more
link |
than you would read write code.
link |
So it's always an advantage for a maintenance,
link |
understandability, documentation and other sort of things
link |
when you have more concise code bases
link |
and also it's a lot easier for you to apply stronger tools
link |
to a functional code base like static analysis
link |
or property based testing or these types of things
link |
than an imperative code base.
link |
But the thing is, it's almost like a religion
link |
or language, it's like saying,
link |
French versus Russian versus English,
link |
everybody has their adherence.
link |
They say, oh, they have the best poetry here.
link |
Russian, yeah, wins.
link |
There you go, always a Russian.
link |
Everybody has their favorite tools
link |
and their favorite languages,
link |
but it just comes down to what problems
link |
are you trying to solve
link |
and what problem domain do you live in?
link |
If you're inventing new protocols based on science,
link |
you're gonna take the time to write a paper,
link |
go through the peer review process
link |
as you've done personally,
link |
you know how hard it can be to get into a conference
link |
and go through that and get your ass kicked.
link |
Then you also have to apply the exact same level of care
link |
to the engineering side in terms of implementation of that
link |
or else you will make a mistake
link |
and that mistake will probably be an exploit in the system
link |
that destroys the security properties of the system.
link |
So we really had no choice
link |
but to go to some notion of functional.
link |
The question was, what's the Goldilocks language?
link |
Do you use a hybrid language like Scala and F Sharp
link |
or Clojure where you still have some connection
link |
to understandable things like.NET or the JVM?
link |
Or do you go to an overly academic language like Idris
link |
or Agda or, you know, Isabel?
link |
And there you can really dial up the correctness
link |
and write all kinds of crazy proofs.
link |
But by the way, it's like the seven people
link |
who write your code, they go on vacation a lot,
link |
you'll never get anything done.
link |
So Haskell kind of felt like a nice mill ground
link |
between those two where if we needed to pull into the left,
link |
we could, if you wanted to pull into the right,
link |
you could as well.
link |
That said, it's really amazing to see
link |
what the hybrid languages have done.
link |
If I was a new student in computer science
link |
and I said, you know, learn any language
link |
to grow your career from,
link |
Scala 3 is probably the language to go with.
link |
because it's like you want it to be like Java, it's Java.
link |
And it looks kind of like a Java program.
link |
You want it to be like Python and scripted
link |
and you reuse a REPL, you can do that.
link |
You want to go hardcore dot, you know,
link |
dependent object types and do like weird proofs and stuff
link |
and the functional, you do all that.
link |
You have access to all of these things
link |
and Martin Niederski is a brilliant guy.
link |
He's done some phenomenal work basically,
link |
because he was one guy who created the JVM
link |
and he's worked on compilers for over 20 years.
link |
He did a lot of really hardcore work
link |
in trying to build a concise, nice, modern language
link |
that does a little bit of everything.
link |
And it's got great applications in data science and AI.
link |
It's also heavily used in modern companies,
link |
like Netflix uses Scala
link |
for all of their microservice architecture.
link |
Yeah, so that's a great language and it's easy to pick up
link |
and it's easy to hire people into it.
link |
You just find these Eastern European guys
link |
who were Java programmers for 10 years, 15 years,
link |
they got tired of making $20 an hour,
link |
so they picked up Scala so they can make $35 an hour
link |
and they're really good at it.
link |
And that's a great gateway drug
link |
because you have like QuickCheck and Haskell,
link |
you have ScalaCheck and Scala.
link |
You can also do model checking.
link |
You can also go and use a TLA spec
link |
and make it work with Scala and so forth.
link |
So it gets you a little bit of everything
link |
and you can then move around that entire design space
link |
in a beautiful way.
link |
So the recommendation is maybe if you wanna go vanilla,
link |
you go Python and JavaScript.
link |
When you're getting started.
link |
It's the getting started.
link |
That'll get you everything.
link |
You can do web scrapers and anything.
link |
All this experiment with drugs in undergrad,
link |
this was where Scala 3 comes in, it's a gateway drug
link |
to then potentially more hardcore functional languages
link |
Do you think C and C++, C++ still has a role?
link |
No, I think Rust is completely replaced, a need for them.
link |
Go and Rust, those are the two twins of doom.
link |
I mean, Google created Go just to get rid of C.
link |
They hated C that much.
link |
And then Rust is just a phenomenal language as well.
link |
Hate can be a great motivator.
link |
Let me ask a question from Reddit on this topic.
link |
We're going depth first today.
link |
As a developer, why should I be incentivized
link |
to create Cardano based applications?
link |
What is on the Cardano developer roadmap?
link |
Any other language, I guess this is the key question
link |
Any other language support other than Haskell?
link |
The example this person gives is TypeScript,
link |
Go, Java, Python, et cetera.
link |
Also, have you considered a yearly conference
link |
focused around developers?
link |
Ha ha, yeah, we saw the Plutus Fest.
link |
And we did the first one in 2018, 2019, I can't remember.
link |
And we were gonna do one last year, but then COVID hit.
link |
So we'll bring it back and we'll probably do it annually
link |
at the University of Wyoming for their hackathon there.
link |
In fact, it just so happens that coincides
link |
with the Goguen Summit.
link |
So we're doing that, I think the third week of September.
link |
But yeah, it's great to do an annual conference.
link |
You can bring a lot of cool people together
link |
and you can do hackathons and awards and so forth.
link |
But to the question in particular,
link |
Plutus is like any other language.
link |
Plutus core, you can compile things into it.
link |
So it's entirely possible to write a Scala
link |
to Plutus core compiler or TypeScript compiler
link |
or something like that.
link |
But I'm a big believer of separation of concerns
link |
and we don't live in a single chain model anymore.
link |
So you have a situation where you probably wanna have
link |
different execution environments and different chains.
link |
So you have different virtual machines there.
link |
And that's why we work so closely
link |
with the University of Illinois, Urbana Champaign,
link |
Kagori Roshu's team at runtime verification.
link |
What they did is they said,
link |
let's start with something very familiar, LLVM,
link |
which has been around for a really long time
link |
and they happened to have created it there with Apple.
link |
And let's take that and translate that
link |
into the blockchain space.
link |
Okay, then once you have it,
link |
then it's very easy to modify compilers
link |
of standard languages like the C's and C++'s
link |
and other things that do compile to LLVM already
link |
and have them run there.
link |
So that's a different execution model
link |
than what we tried to build for Plutus,
link |
which focuses on correctness, okay?
link |
So then all you have to really do is say,
link |
can both of these models coexist within the same ecosystem?
link |
Because then you kind of, and I did a video,
link |
it was called like the island, the ocean, the pond.
link |
And the basic idea was say,
link |
you have an island where everything's perfect.
link |
Calypso lives there, life is great.
link |
People feed you grapes every day,
link |
but maybe you can't do everything on the island.
link |
And the ocean's big, it has everything,
link |
but the ocean's got sea monsters and sharks
link |
and Boaty McBoatface and all kinds of crazy stuff, right?
link |
So that's what Yella is about.
link |
It's basically this bring LLVM into our world.
link |
And at some point in the next three to five year time
link |
horizon, we can bring modern programming languages in,
link |
but they're gonna come in with all their flaws
link |
and their warts and their problems.
link |
And then the pond was the idea
link |
of the Ethereum virtual machine.
link |
There's some network effect around it
link |
and there's some great tooling
link |
that's materialized and evolved.
link |
And it's not clear if that's the standard yet,
link |
or if like MySpace or Blackberry
link |
or all of these other things, it'll fade away.
link |
Well, if it becomes the standard, okay,
link |
don't fight nature, just support it.
link |
And the same thing that gives you the ability
link |
to bolt on the LLVM will also give you the ability
link |
to bolt on the EVM and they can run with their own models
link |
and they're encapsulated, bulkheaded, separated systems,
link |
but you can move ADA applications,
link |
information between those two systems.
link |
And so your main chain will always stay
link |
somewhat conservative and have the minimum viable amount
link |
of expressiveness required on it
link |
to do all kinds of interesting things.
link |
And also for interoperability,
link |
be able to talk to all kinds of interesting things,
link |
but it's not trying to be everything to everyone.
link |
There's never gonna be an ice cream store in the island.
link |
You'll have the grapes and the beautiful women,
link |
Now you're just like distracting me with the ice cream.
link |
So just for, because we'll throw around a bunch of terms,
link |
for the record, what is Plutus?
link |
So Plutus is a programming language.
link |
It's kind of a DSL that we built on top of Haskell.
link |
And basically we wrote it after spending about three years
link |
thinking about all smart contracts.
link |
We were trying to figure out like,
link |
what is the ideal language to express a smart contract?
link |
And then we started thinking, well,
link |
what is a smart contract?
link |
Is it the whole application,
link |
or is it just like a sub module within an application?
link |
And usually it's the latter more than the former.
link |
You can build a self contained program like a script,
link |
but usually what's happening is you'll have it
link |
like a video game, let's say World of Warcraft
link |
or something like that.
link |
You say, hey, maybe I wanna actually create gold
link |
in World of Warcraft that's actually a currency.
link |
Okay, so I'm gonna issue a token.
link |
Well, and then maybe I wanna create some mechanics
link |
behind how people are gonna trade that amongst each other.
link |
So that would be like a smart contract layer
link |
and issue an asset.
link |
So you have this centralized server running
link |
and proprietary software controlled by a single company,
link |
but then you've opened your application up
link |
to a broader world.
link |
And what we've done now is added a blockchain layer
link |
and the blockchain handles the accounting of that asset
link |
and the spending policy of that stuff.
link |
So that is a much smaller program
link |
than what Blizzard is doing with World of Warcraft.
link |
So the point of Plutus was let's create a language
link |
where you can write these small to midsize programs
link |
and have a high degree of confidence
link |
that they behave with correctness
link |
and also they give you deterministic results
link |
on the consumption of resources.
link |
You can run things locally
link |
and you actually understand what it costs to run
link |
and that doesn't change when you deploy it on the system.
link |
If you dial up the expressiveness of the system
link |
and like Ethereum does
link |
and these big mutable account systems,
link |
the problem is you have to have global state.
link |
So whatever you test locally
link |
doesn't actually necessarily translate
link |
to what you've deployed, okay?
link |
So we spent a long time asking
link |
like where's the Goldilocks zone?
link |
Bitcoin script was too restrictive
link |
and every single time Satoshi tried to dial it up,
link |
it led to mega problems.
link |
Like there was a beautiful thing
link |
called the value overflow incident in 2010,
link |
which led to the creation of billions of Bitcoin.
link |
They had to quickly clean that up
link |
and sweep it under the rug
link |
and pretend like it didn't exist.
link |
But that was mostly because of an issue
link |
with how the scripting language was implemented.
link |
And when you look at Ethereum,
link |
it's like this pure game
link |
of stomping down these skirmishers
link |
where every update there's something
link |
they have to change or tune
link |
and then it's not clear how you shard such a model.
link |
So we said, let's build something
link |
that's in the middle of this
link |
and that's what Plutus basically is.
link |
And it's really designed to play very nicely
link |
with off chain infrastructure
link |
as much as on chain infrastructure.
link |
So you can look at all those different examples,
link |
whether it's Wolfram wants to auction off
link |
their universes or Blizzard wants
link |
to issue an in game currency
link |
or your Uber and you wanna start putting
link |
peer to peer dynamics inside your system,
link |
you're gonna gracefully connect to that on chain code.
link |
And it's very clear how those two things connect together.
link |
Just so happens Haskell's really good for this.
link |
They have template Haskell
link |
and it makes it very easy
link |
to embed domain specific languages.
link |
And it makes it very easy to wire your Haskell code
link |
onto off chain infrastructure.
link |
you'll be able to have your off chain run a node
link |
or the Java virtual machine or a.NET application
link |
and there'll just be this beautiful interface
link |
and then it can talk to all your on chain code
link |
and that's written in that DSL
link |
and you have a high degree of assurance that it's right.
link |
Is there like a Hello World program in Plutus
link |
that reveals the beauty of this balance
link |
that you're referring to?
link |
Sort of simple but not too simple, the Einstein idea?
link |
Yeah, so we did do our first Hello World program
link |
Yeah, I heard about this.
link |
Yeah, but you know,
link |
there you'd want to have the whole round trip.
link |
So you'd like to have an interaction
link |
and I think a video game would probably show it the best.
link |
Like if we could re implement CryptoKitties
link |
or something like that on it
link |
and you have this off chain infrastructure
link |
and you have your GUI in your front end,
link |
it's running on your phone or a browser
link |
and most of that lives off chain.
link |
And then, but your CryptoKitties,
link |
they'd live on the blockchain.
link |
The whole round trip end to end
link |
with relatively low fees and low latency
link |
and high availability of service, it never goes down.
link |
That would probably be the best thing to do
link |
and we'll have something like that by August.
link |
It's pretty easy to build this stuff.
link |
So what kind of off chain interactions
link |
are supported with Plutus?
link |
What are the limits you want to put on the thing
link |
so it doesn't get chaotic?
link |
That's the beautiful thing.
link |
When you have a less expressive model on chain,
link |
it means you can do anything you want off chain.
link |
So you started talking about smart contracts,
link |
but let's zoom back out
link |
and ask the big question here is what is a blockchain
link |
and what is a cryptocurrency?
link |
So a blockchain is just a ledger
link |
and really it has three nice properties.
link |
You're timestamped, you're immutable and auditable,
link |
either in a global or a local sense.
link |
And so there's all kinds of things mankind has invented
link |
where it's really important
link |
that when you put some information down,
link |
it doesn't change and other people can see it
link |
and that you know when it was put down.
link |
For example, a property ledger.
link |
So when you buy land or you have rights associated with land
link |
like mineral rights or water rights or these things,
link |
you'd like to transitively see how does it go
link |
from Alice to Bob to Charlie to Jim
link |
and so forth and what was the state of these things
link |
as they were transitioning?
link |
So how much did they pay, when did it occur,
link |
et cetera, et cetera, the metadata that follows that.
link |
Okay, well normally these types of ledgers
link |
are so important that they're managed either by governments
link |
or regulated entities.
link |
And the issues are that while they can be efficient,
link |
they're generally brittle to political manipulation
link |
and they're brittle to geopolitical events.
link |
For example, when Syria fell apart,
link |
the very first thing ISIS did, they started saying,
link |
hey, the ownership of the land,
link |
it's gonna fundamentally change.
link |
We've decided that this guy over here
link |
now owns all these things and then when peace comes,
link |
how do you unwind all of that, put it all back together?
link |
So the power of a blockchain is that it gives you
link |
a transnational way of sorting all these details out,
link |
putting all together in a place that you know
link |
that even if it's inconvenient to a very powerful actor,
link |
that it will still stay preserved.
link |
This is an asymmetry we haven't had as a society.
link |
Usually kings and empires,
link |
they have the ability to decide what's true.
link |
And then suddenly you have this asymmetrical thing
link |
that is above them, kind of like a synthetic laws of physics
link |
and once something goes in there,
link |
you know that that's there.
link |
Okay, so that's the first part of it.
link |
The second part of it is that it's auditable,
link |
meaning that instead of saying only the high cleric
link |
or the president or some very special club of people
link |
get to see what's going on,
link |
suddenly now all the people can actually see
link |
who owns what where.
link |
Like imagine a tax system where the public club
link |
just leaked the taxes of all these different billionaires
link |
and said, well, how much do they make
link |
and how much do they pay?
link |
Well, imagine a tax system where that's just done by default
link |
or other social systems where this type of information
link |
is put in by default.
link |
So it's tremendously useful, this type of structure
link |
and all kinds of things, medical records, supply chains,
link |
just a good thought experiment is I travel a lot,
link |
I've been to 52 countries in the last five years.
link |
Imagine if I got sick in Zimbabwe,
link |
I get hit by a car or something and I'm unconscious
link |
and a Zimbabwean doctor calls my doctor in Colorado
link |
and says, hey, I need all Charles's medical records.
link |
He's unconscious right now, but I need it to treat him
link |
because he's quite ill.
link |
They'd say, who is this person in Zimbabwe?
link |
I don't know you, I can't give you his records,
link |
I need his consent.
link |
Oh no, he's unconscious in the hospital, I can't do it.
link |
Well, a broker system that would allow the movement
link |
of medical records would be an example
link |
of what a blockchain could potentially do
link |
in the foreseeable future.
link |
Cryptocurrency is just an application
link |
that runs on top of blockchain
link |
because it turns out that when you issue property,
link |
you also can issue tokens of value
link |
and then you could have a monetary policy,
link |
it could be inflationary or deflationary,
link |
you know, demurrage where it decays over time
link |
or whatever have you.
link |
And the very same mechanics that would ensure
link |
your property records are secure,
link |
your medical record access is secure,
link |
could also be applied for the ownership
link |
of the cryptocurrency.
link |
And again, you can either be completely transparent
link |
and everybody can see what everybody owns
link |
and that's what Bitcoin does,
link |
or you can be as opaque as you seek to be,
link |
that's what Zcash basically attempts to do.
link |
It says, hey, let's keep these things
link |
as private as possible.
link |
But they have relatively the same mechanics
link |
in terms of those properties of auditability
link |
and timestamping and immutability.
link |
You know things won't be reversed,
link |
you know, that people aren't gonna manipulate
link |
the timestamps and you can audit at least enough
link |
to know that the ownership is right.
link |
But the way, if you think about physics and the universe,
link |
the universe has figured out a way
link |
to update the ledger of physics
link |
in a way where like a lot of people can be updating it
link |
and it stays consistent.
link |
Is there something you can say about the task
link |
of updating the ledger when a bunch of people
link |
are trying to do it or a bunch of entities
link |
are trying to do it?
link |
Oh yeah, that's the whole point of a consensus algorithm.
link |
So whatever ledger you're running,
link |
there has to be some mechanism to decide who's in charge.
link |
And that's what proof of work does
link |
and proof of stake does and all these other systems.
link |
And you break them down to basically three steps.
link |
And so we'll use Eve for kind of step number one.
link |
Hi, Eve, how are you doing?
link |
And we're gonna use Wally for step number two.
link |
And I need the monkey, give me the monkey.
link |
What's the monkey's name?
link |
Daisy the monkey, okay.
link |
Daisy is a very confused monkey.
link |
It's pondering its own mortality.
link |
And so anyway, the first step is all about
link |
basically deciding who's in charge for that moment.
link |
So blockchain is just a sequence of events.
link |
The heart has to beat, the metronome has to click.
link |
So somebody has to be in charge.
link |
And so generally you have this notion of a resource.
link |
So there's some pool of resource out there
link |
and it can be a token.
link |
And in that case, it's a plutocratic system
link |
and that's what proof of stake does
link |
or it can be computation, but there can be other resources.
link |
But computation is what proof of work does.
link |
And so you make so many hashes
link |
and then eventually somebody wins.
link |
And that person who wins is now the person
link |
who basically gets to decide the order of transactions
link |
and put them all together
link |
from their perspective in the system.
link |
Then once that person wins, they'll make the block.
link |
And after it's made, transmit it
link |
and it gets validated and accepted.
link |
So actually it's quite fortuitous
link |
you have the magnifying glass
link |
because at this stage people are trying to decide
link |
is what I'm looking at correct or not.
link |
Now, there are other ways to potentially conceive of this,
link |
but this particular model gives you a kind of a way
link |
of thinking of all consensus algorithms in one setting.
link |
You can be Algorand, you can be a classic BFT protocol,
link |
you can be Paxos, you can be Raft,
link |
you can be proof of work, you can be proof of stake.
link |
It's always the same idea.
link |
You have to find someone or some group to be in charge.
link |
They'll reach a consensus on order.
link |
They have to then do some work,
link |
change the state of the system, update it,
link |
and then the network has to accept that that's valid.
link |
So even if this process works well,
link |
this side will say,
link |
oh, you created a Bitcoin at a thin air,
link |
you're not allowed to do that.
link |
So that's rejected.
link |
So there's checks and balances and guards all the way through.
link |
There's a meta question of fairness in all of this.
link |
So the proof of work people, they're kind of a cult
link |
and they say that this is the only truth
link |
and everything out here,
link |
any other resource is not legitimate or valid.
link |
And there's not a lot of evidence to that,
link |
but that's what they believe.
link |
The proof of stake people,
link |
the downside and weakness they have
link |
is it's a plutocratic model.
link |
The more ownership of the system you have,
link |
the more control you have over that system.
link |
And it suffers from the same thing
link |
that shareholder models suffer from,
link |
whereas you may maximize short term gain
link |
over the long term viability of the system.
link |
So a really cool question is,
link |
can you build systems that are multi resource?
link |
So instead of just pulling from one resource
link |
to select who wins,
link |
this 25% of the time and maybe this 25%, you can do that.
link |
In fact, the cryptocurrency space did that a long time ago.
link |
There was a cryptocurrency called Peercoin in 2011,
link |
and it was a hybrid proof of work proof of stake.
link |
So some of the blocks were made
link |
with the token ownership distribution
link |
and some of the blocks were made with proof of work,
link |
but you could keep adding.
link |
You could put in like, hey, I want hard disk in my thing.
link |
You can put Permacoin in or something like that.
link |
So it created incentive for hard drives.
link |
And then you could say, oh no,
link |
I want to do like a human system, like a proof of merit.
link |
Oh my God, now we're up to four.
link |
And you just keep adding.
link |
And each of these pools will have different adherence
link |
and actors, and then you can actually balance out
link |
So as opposed to having one cult, you have many cults.
link |
Exactly. And they argue.
link |
And the cults argue with each other
link |
and we call that a government.
link |
By the way, not all cults are bad.
link |
Physics is a cult too.
link |
And it's sometimes bad.
link |
It's honest at least.
link |
Nature is metal, I saw it on Instagram.
link |
So that's really the crux of it.
link |
You have a ledger and the ledger is just all about saying,
link |
hey, we need to put some stuff in here.
link |
And once it's put in here, you can't turn it back.
link |
And you know when it was put in and everybody can see it
link |
or some group can see it.
link |
And then you need to pick somebody to modify that.
link |
So all this chaos will happen.
link |
All these transactions are all around the world
link |
and our perception of them are different.
link |
There's a beautiful paper from Lamport
link |
that kind of talks about this from the 70s.
link |
It's like one of the most classic papers ever
link |
in computer science.
link |
I think it's been cited like 50,000 times
link |
or something like that.
link |
It's a crazy paper.
link |
But basically you have to figure out,
link |
okay, well, somebody has to be in charge.
link |
Some group has to be in charge.
link |
And you can do it with a meritocratic,
link |
hashocratic computation thing.
link |
You can say, well, if you have coins 25% of supply,
link |
25% of the time on average,
link |
you'll be selected to have the right to do this
link |
or give it to somebody else.
link |
Or you could search for other resources.
link |
And they can even be human resources,
link |
like some notion of merit or social benefit.
link |
Maybe you get a token for that
link |
and you can weight it with these other systems.
link |
And that's where kind of where everything's going.
link |
We're getting to a point where we've really optimized
link |
all the properties here.
link |
We've proven all these nice things about it.
link |
And there's a lot of competition
link |
to basically build like the perfect proof of stake system,
link |
whether you're Polkadot or Algorand
link |
or any of these other guys.
link |
But now the next step is say, well,
link |
why don't we just have one?
link |
We should have multiple resources.
link |
And the point is each of these
link |
has different trade off profiles.
link |
And so they balance each other
link |
and you end up building a much more resilient system.
link |
So it's not winner take all with one particular demand.
link |
Okay, so there's a million questions
link |
that spring up right there.
link |
But first linger on this topic and say,
link |
what is proof of work?
link |
What is proof of stake?
link |
Just zooming in on each of those.
link |
And what are the differences?
link |
Okay, so they all have the same three properties
link |
of pick someone in charge, do something and validate it.
link |
The difference is that the picking mechanism for proof
link |
of work is you have to solve a puzzle.
link |
So it's basically like buying lottery tickets
link |
and you can buy a certain amount every second
link |
with your computing devices.
link |
And some of them are ASIC resistant.
link |
So you run them on like a laptop or a GPU.
link |
And some of them are you specialized hardware
link |
that you have to either manufacturer
link |
or buy from someone who sells it to you.
link |
And that's just how many tickets per second you can get.
link |
And eventually you hit those magic numbers.
link |
When you do, it means you have the right to make the block
link |
and generally you bundle the block making
link |
with the proof of work system.
link |
Now you can do this looking for a single
link |
or you can do this to actually shard it
link |
and look for multiple block makers at the same time.
link |
So there are sharded proof of work protocols
link |
like Prism is an example of that.
link |
And actually Ethereum got started this way
link |
with Spectre and Ghost and Phantom,
link |
the Aviz Ahar's work and Yonatan Sonlopinsky.
link |
But the basic idea is you pick some collection of people,
link |
they make some collection of things
link |
and there's some way to sort it all out,
link |
serialize it and prevent double spends, great.
link |
Proof of stake is the same, but it's a synthetic resource.
link |
So instead of doing things, they say,
link |
well, if you had 25% of the hash power on average
link |
over a long period of time,
link |
you'd probably win 25% of the time.
link |
Well, why don't we just introduce some randomness in
link |
from some source and then 25% of the time on average
link |
over a long period of time, you'll win.
link |
So it's a synthetic resource,
link |
but you still have to do the other two things.
link |
You still have to make the block
link |
and you still have to validate the block.
link |
The big difference is this step in the proof of work world
link |
is horrendously expensive.
link |
You use more energy than the nation of Switzerland.
link |
And the problem with that is that you have less resources
link |
for the other two.
link |
And the other problem with that is that
link |
if this is horrendously expensive,
link |
you have an economy of scale kick in.
link |
So what ends up happening is the system becomes
link |
less decentralized over time
link |
because you have these vertically integrated operations.
link |
I mean, not everybody can go build a mining facility
link |
on a volcano in El Salvador.
link |
Not everybody can go to Mongolia
link |
and set up a five gigawatt power plant
link |
and a huge data thing.
link |
Not everybody has access to the patented basics
link |
that people produce.
link |
Because what if I don't sell it to you
link |
and I have the patent on it?
link |
Or what if I control the supply chain for these things?
link |
So you'll end up having centralization around maybe 10
link |
or five major operations as we've seen historically
link |
with proof of work.
link |
And that means you end up having like a ruling class
link |
of a mining oligarchy in the system.
link |
Proof of stake, if you design the parameters correctly,
link |
you actually get more decentralized over time
link |
because as the currency goes up in value,
link |
the distribution of the currency
link |
tends to get more egalitarian.
link |
For example, Bill Gates, when he started Microsoft,
link |
he had 64% of the shares.
link |
Now he has less than 5% of the shares.
link |
So this founder drift over time,
link |
as the value goes up, divestment occurs,
link |
you have more and more and more people coming in.
link |
That means there's more people
link |
who can participate in the consensus.
link |
You can even tune economic parameters.
link |
And this is what we did with Cardano and Ouroboros.
link |
We created this concept of K in the system
link |
and it's just a parameter.
link |
And it's like a forcing factor
link |
that tends to accumulate a certain amount of stake pools.
link |
So you can set it to 200 and then 500 and 1000 and so forth.
link |
But the basic idea is as the price of ADA goes up,
link |
you make K larger and then you end up in practical terms
link |
having a larger and larger set of actors making blocks
link |
that are unique and distinct.
link |
And the other good thing is this is a virtual resource
link |
instead of a physical resource,
link |
which means it's portable by the click of a button.
link |
So let's say China says, mining is bad,
link |
we're gonna shut it all down.
link |
And it looks like they're moving in that direction.
link |
You have all these people in WeChat,
link |
just like trying to sell miners
link |
or trying to figure out how the hell do I move miners,
link |
because they have these huge data centers
link |
they've constructed.
link |
You can't exactly go and grab a server
link |
and like take it with you, it's huge.
link |
It's a lot of work.
link |
And if the government sees it,
link |
well, it's their property now.
link |
A virtual resource, you can click a button
link |
and redeploy it to a different jurisdiction.
link |
So to me, for a virtual asset,
link |
it makes a lot more sense to try to tie your security
link |
to something endogenous, something within the system,
link |
because it's just like the asset,
link |
it can move anywhere at a click of a button
link |
and human beings have a much harder time
link |
attacking something like that.
link |
Well, so people, maybe you could sort of play devil's advocate
link |
and say, what is the strength of proof of work system?
link |
Because some people would argue that proof of work has,
link |
because it's outside the system,
link |
it's tied to physical resources, it's more secure.
link |
It's less prone to attack by large groups of people.
link |
Yeah, that's a great question.
link |
And the first question we had was,
link |
could proof of stake actually work or not?
link |
So the problem was that the engineers kind of led
link |
when the science should have led.
link |
And so there were all these POS protocols
link |
that came out in the early 2010s,
link |
like Peercoin was the first and then NXT and others came out.
link |
And there they had suffered from things
link |
like the random number generation wasn't good.
link |
They had grinding attacks and nothing at stake
link |
and all these other things.
link |
And there's a lot of beautiful properties
link |
for proof of work from a theoretical sense.
link |
We even wrote a paper called GKL,
link |
named after the authors, Juan Gray, Niko Leonardis
link |
and Agelos Gassis, our chief scientist.
link |
It's got 1100 citations now and it was published in 2015.
link |
But basically all it did is just model the blockchain
link |
and created some security properties for it.
link |
And then it started talking about,
link |
well, what does proof of work actually do for you?
link |
And it turns out it does a lot.
link |
It's an asynchronous system.
link |
You can bootstrap from Genesis.
link |
So if Eve joins the network and Wally joins the network
link |
and Daisy joined the network,
link |
then you give them some different chains,
link |
like five or 10 different chains.
link |
They can run a calculation
link |
and they will always pick the longest chain,
link |
the heaviest chain inside the system.
link |
That's a great property of proof of work.
link |
Until we published Ouroboros Genesis in 2018,
link |
you actually needed to solve that in proof of stake
link |
with a trusted checkpoint.
link |
So some actor had to be observing,
link |
watching the whole thing and creating checkpoints.
link |
And then when new people joined in,
link |
they would only be able to distinguish between a chain
link |
based upon a checkpoint telling them that.
link |
So you have to do a lot of really wonky, crazy math
link |
to show and create this notion of like density
link |
to be able to show that that's possible.
link |
But there's a lot of properties of proof of work
link |
that were super hard to replicate and emulate
link |
in the proof of stake world.
link |
Macaulay kind of revolutionized the whole VRF thing.
link |
There was a group out of Cornell
link |
that talked about better network conditions.
link |
They wrote a paper called Sleepy.
link |
We also did the very first proofably secure protocol,
link |
but that was six years of work and like 12 papers.
link |
And it's still not done.
link |
There's still a few polishing things
link |
that have to be cleaned up
link |
because this is a physical resource
link |
and there's something there.
link |
But there's a flaw to proof of work
link |
that is a little problematic.
link |
It's a winner take all type of a system.
link |
So maximalism is kind of philosophically
link |
and computationally built into it.
link |
Let's say you have two proof of work systems
link |
and they have roughly the same market cap and hash rate.
link |
And they use the same algorithm.
link |
Then the problem is if the miner comes in
link |
and let's say the miner has enough resources
link |
to have 51% for any of these chains,
link |
they actually have a perverse incentive
link |
to come and destroy one chain
link |
and short sell the asset, it's called a gold finger attack,
link |
and then go mine the other asset
link |
because they're not bound to that asset.
link |
They're not loyal to it.
link |
And they can make just as much profit mining this
link |
as they can make mining the other system
link |
and the markets allow them to profit
link |
from the destruction of a system.
link |
So that's something that proof of stake doesn't suffer from
link |
because the only way you can participate
link |
in a proof of stake system
link |
is you have to actually own equity
link |
and you have to have ownership in that system.
link |
So if you go and destroy Daisy's chain, it would just be
link |
a net loss for the most part,
link |
unless you have really messed up markets
link |
or something like that.
link |
So there's always trade offs and all these things.
link |
And this is why I like this concept of going one to end
link |
and having multiple resources,
link |
because why not have proof of work
link |
and proof of stake together?
link |
If the proof of work is useful, not wasted computation,
link |
and why not add other things
link |
like create incentives for network relay?
link |
Right now there's no incentives in the system
link |
for you to run peer to peer nodes and the shared data.
link |
Right now it's not a problem,
link |
but if you're running like Amazon web services
link |
level of bandwidth,
link |
it could cost you like $5,000 a month in bandwidth
link |
just to run a full node or something like that.
link |
No one would do it.
link |
So then your system will centralize along the weakest link,
link |
whether it be the storage layer, the computation layer,
link |
or the network layer of the system.
link |
So if you can incentivize the resources differently,
link |
then you'll be in a beautiful position
link |
where you end up having a resilient system
link |
that pays its own bills.
link |
So how does Cardano solve the consensus problem?
link |
Do you tend to eventually wanting to solve it
link |
in the hybrid approach of proof of stake and proof of work?
link |
Yeah, this was a philosophical difference
link |
between Vitalik and myself.
link |
The problem with the people in the Ethereum side
link |
is they're really bright.
link |
And these really bright people,
link |
what they do is they try to do everything all at once
link |
because they're really, really smart
link |
and they keep going until they run up against the wall
link |
and they realize the problem is a lot harder.
link |
If you're more experienced,
link |
and that's why we brought in proper academics
link |
like Aggelos and others, because they've been beaten up
link |
through life, Aggelos worked with David Chom
link |
and these other, it's really hard work with those guys.
link |
And they'd already been humiliated and yelled at
link |
and had chalk thrown at them and all that stuff.
link |
And so they were humble enough to say,
link |
I'm not smart enough to solve the big problem.
link |
So don't even try.
link |
What you do is you decompose it and you say, okay,
link |
what's the first problem to solve in a chain of problems
link |
that you can compose your way up to a working system?
link |
And once you get far enough along,
link |
you have something that's pretty good
link |
and then you have an obvious path forward
link |
of how do you iterate and improve that system?
link |
That's why we started with GKL 15,
link |
because it was just saying,
link |
we don't know what a fucking blockchain is.
link |
This is, what is this thing, right?
link |
What's the security properties of this stuff?
link |
Like, what did we really mean?
link |
Then we did Ouroboros Classic,
link |
the original Ouroboros protocol in 2017.
link |
And that protocol was like a synchronous system
link |
and it assumed the nodes were always on and it worked,
link |
but it was useless because that's not real life.
link |
Then Prowse came out and then suddenly we relaxed things.
link |
So these are all, by the way,
link |
names for consensus algorithms.
link |
Yeah, papers that we published
link |
and they were all peer reviewed.
link |
Like GKL was EuroCrypt.
link |
That's a very hard conference to get into.
link |
And Ouroboros Classic was Crypto
link |
and Prowse was EuroCrypt and Genesis was CCS.
link |
So basically every step of the way
link |
was first an academic validation
link |
that there was some merit to the work that was done.
link |
Second, it solved a particular class of problems,
link |
either showing the feasibility of the entire problem.
link |
Because when I said, let's do the model first
link |
because let's see if we can do an FLP thing.
link |
Let's see if we can get them a possibility theorem.
link |
That's great because you're done.
link |
It's like those short math papers
link |
were like, I found a counterexample.
link |
It's like, oh, okay, this whole thing has fallen apart
link |
because you have a two line proof, thank you.
link |
So that's what we were looking for
link |
in the beginning of the agenda was,
link |
let's either prove it's possible in a straw man case
link |
or show that there exists an impossibility result,
link |
in which case we can just abandon the entire inquiry.
link |
Proof of stake is impossible.
link |
And then once you've gotten past that threshold,
link |
it goes from theory to practicality.
link |
What actual network conditions are you looking at?
link |
Are you okay with living with an external clock
link |
or do you wanna build time from within?
link |
How are you generating random numbers, et cetera, et cetera.
link |
And every step of the way, each paper,
link |
you're solving one particular class of problems.
link |
With Prism, it said, probably shouldn't know
link |
ahead of time who Eve is.
link |
You probably shouldn't know who's making those blocks.
link |
That should be something after the fact.
link |
But if you know ahead of time, you can attack them.
link |
You can DDoS them, you cause all kinds of problems.
link |
So adaptive security, also we moved from an MPC,
link |
random number generation, which was great,
link |
but very heavy and very slow.
link |
And you can't scale to large amounts of people
link |
to a VRF based system, which is super fast,
link |
but a little dirtier.
link |
Because Algorand actually did some great work there.
link |
There was some good knowledge there.
link |
What are the really hard problems that you,
link |
maybe if you just linger on a little bit,
link |
what are some of the really hard problems
link |
you have to solve along this chain of papers, ideas,
link |
the evolution of the consensus algorithm?
link |
Yeah, not only are they really hard problems,
link |
they actually require different cryptographers
link |
because you're moving from mathematician style cryptographers
link |
like the Neil Koblitz's and the Addie Shamir's
link |
and the people that like start as proper mathematicians.
link |
They really love theory and that's their thing.
link |
And the proofs are dense and they're thick
link |
and they're beautiful to practical applied work
link |
where you're saying, okay,
link |
now this is something an engineer can look at
link |
and say, I know how to build that.
link |
I know how to think about that.
link |
So that transition from GKL to Ouroboros Classic
link |
to Prowse, I'd say the biggest leap was Classic to Prowse
link |
because that was going from a system
link |
that would only work in a consortium chain like Fabric
link |
to a system that would actually work and is working.
link |
That's what's implementing Cardano today,
link |
50 billion dollar cryptocurrency and all these people.
link |
That was a huge leap, but that paper alone wasn't enough.
link |
We also had to layer on the economic model
link |
because we said, well, hang on a second here.
link |
Not everybody's gonna be online all the time
link |
to be available to make a block.
link |
So you need some notion of delegation.
link |
The minute you have a notion of delegation,
link |
you have these stake pools, what the hell does that mean?
link |
And so this is a beautiful kind of interdisciplinary notion
link |
that layers computer science and biology together.
link |
And minute that complexity starts going up,
link |
you start seeing cell specialization.
link |
So you go from single cell organisms to organisms
link |
where you have eyeballs and brains and hearts
link |
and each of these tissues do different things.
link |
Well, analogously, complex distributed systems
link |
start getting specialization.
link |
You move from the single cell thing, Bitcoin,
link |
where everything's a full node,
link |
they all have the same rights and responsibilities,
link |
a lot of homogeneity in that system,
link |
but you're only as good as your weakest link,
link |
you're only as capable as whatever the basic cell can do
link |
to a specialized system where you start having
link |
these actors in the system that are actually
link |
a little different than the other actors.
link |
So you introduce this concept of the stake pool
link |
and suddenly now you have this actor
link |
where you're probably gonna be online 24 seven.
link |
You're probably gonna have extra relay infrastructure.
link |
There's a trust relationship where you don't own the ADA,
link |
but you have a right to use it for something.
link |
And a person's made that choice to endow you with that.
link |
The minute that you introduce specialization though,
link |
the system gets more complicated,
link |
the game theory gets more complicated.
link |
And then you start having to think really deeply
link |
and carefully about, okay, well,
link |
can this now introduce a new attack vector
link |
that we didn't have before?
link |
So that leap from classic to Prowse
link |
and adding in stake pools and figuring out
link |
how to handle the game theory there was exceedingly hard.
link |
It took two years to do that.
link |
So stake pools allow for multiple parties
link |
to delegate their staking capabilities to others.
link |
Can you describe a little bit how this works?
link |
It's kind of fascinating.
link |
It's a super simple concept.
link |
So you register a pool and then the pool is there
link |
and basically they advertise
link |
and they're actually registered on chain with a certificate.
link |
And then in the wallet software itself,
link |
you can see all of the pools that have registered.
link |
There's over 3000 of them now inside the system.
link |
And then you can click a little tile
link |
and it shows you all the metadata that's in the certificate
link |
and says, hey, I have my own pool.
link |
It's called rats, king of the rats.
link |
So you can see all this stuff that's described there
link |
and pools have an operating fee
link |
cause they're like a business.
link |
And they say, well, if you delegate to me,
link |
I'll charge this much.
link |
So if you get like a hundred bucks in rewards,
link |
I'll give you 90 and I'll take 10 or something like that.
link |
And then you make your decision
link |
and whichever one you select, you click delegate,
link |
push the button and then you have now given
link |
your staking rights to them until revoked.
link |
Okay, so it lives there.
link |
And then the stake pools weight in the system
link |
is proportional to the amount of stake
link |
that they have delegated to them.
link |
And then we have this other limiting factor K,
link |
which says that you get diminishing returns
link |
with the more stake you have.
link |
So it's kind of like an S function.
link |
So you kind of go up and up and then eventually caps
link |
and then at some point you get no rewards
link |
beyond a certain threshold.
link |
So there's an incentive to split pools
link |
to different owners after some point.
link |
Yeah, and so that's a complex thing
link |
and you have to actually model the game theory out
link |
to understand where those parameters should be set.
link |
And we didn't know how to do that.
link |
So what we did is we bought talent.
link |
We went to Oxford and we hired this guy
link |
named Elias Kasupis, he's an algorithmic game theorist.
link |
We said, hey, would you like to do some game theory work
link |
And he's like, that sounds fun.
link |
So he spent a year and a half,
link |
we built all these beautiful models
link |
and we kind of figured out what those curves
link |
needed to look like.
link |
So figure out like the S curve that would result
link |
in a nice distribution of responsibility.
link |
So not everybody delegates to the king of the rats.
link |
How does it feel to be royalty, by the way?
link |
It's not a very impressive kingdom,
link |
but you're nevertheless a king.
link |
I'll take it, because I think it's the kindest thing
link |
people call me in this space.
link |
Yeah, people love you.
link |
So, okay, so that, I mean, so is that,
link |
would you say a solved problem?
link |
The game theory of stake pools?
link |
No, it's the starting, and I was getting back
link |
to my original point that you build things in iterations.
link |
Every step, if you've done it right,
link |
is an invitation for 10 more sexy, fascinating,
link |
And this is why we have such a great time building labs.
link |
We started in Edinburgh, now we're at Tokyo Tech
link |
and University of Wyoming and Athens,
link |
and we're setting up more labs this year.
link |
And all these academics wanna work with us,
link |
hey, because we write a lot of really fascinating papers,
link |
but B, because we're focused on all these really cool,
link |
sexy, interdisciplinary problems.
link |
We're actually running into problems
link |
where we don't even know where to publish the paper.
link |
Because you'll have this paper where there's like
link |
these PL guys working with crypto guys,
link |
working with systems guys, working with economists.
link |
And you put it all together
link |
and you have this Frankenstein paper monster,
link |
and we're like, where do we submit this?
link |
Where does this go?
link |
Yeah, there we go.
link |
Nature or quanta or something, I don't know.
link |
It'll write a nice little.
link |
So the sexy problems multiply exponentially.
link |
Exactly, and we've now gotten to a point
link |
where we're starting to work on refinements to the system
link |
rather than fundamental things that are like,
link |
if you don't solve it, the system just simply doesn't work.
link |
For example, you can run all of this with NTP
link |
as your clock server,
link |
but you actually can create a notion of time with N.
link |
We wrote a paper called the Workforce Chronos for that.
link |
But that's not necessary for the system.
link |
It's just a nice to have thing.
link |
It's a nice property.
link |
Optimization of the random number generation
link |
is another example of that.
link |
You can run it with a heavier thing.
link |
You just have more blockchain bloat
link |
and slower time and transition.
link |
We have this concept in Epic.
link |
So you elect leaders to run the system
link |
every five days with Cardano,
link |
but there's been derivative work.
link |
We didn't even do this.
link |
This work occurred at University of Illinois.
link |
And that derivative work said,
link |
well, you don't actually need to do that.
link |
You can do it on a block by block basis.
link |
It's like, ooh, that's pretty cool.
link |
So that's the other point about doing things
link |
in a very rigorous way is that that way
link |
creates a lingua franca for what you're trying to solve
link |
with the totality of the academic community.
link |
So suddenly people that you've never met,
link |
you know nothing about have read your papers,
link |
cited your papers and start writing their own papers,
link |
either to try to attack and destroy things you've done
link |
or to build on top of the things that you've done.
link |
So people are trying to figure out ways to attack this.
link |
As rigorous as you are trying to build up.
link |
And I don't have to pay them.
link |
That's the beautiful thing.
link |
It's fun to try to destroy
link |
and that's how we grow stronger.
link |
And it's how you build your career too.
link |
There's plenty of people that they've gotten tenure
link |
just kicking the hell out of Intel SGX.
link |
You go to CCS every year, there's some guy there
link |
and he's having a hell of a time making Intel cry.
link |
Can we pull back historically speaking
link |
and in terms of the big picture
link |
of cryptocurrency real quick
link |
and ask the question, what is Cardano?
link |
We started talking about already
link |
the consensus algorithm Cardano takes.
link |
But maybe when you look at the history books,
link |
you know, sort of a Hitchhiker's Guide to the Galaxy
link |
and Cardano will have one sentence.
link |
What's that one sentence going to be?
link |
And in general, what's like the vision
link |
in the context of the history of cryptocurrency?
link |
You have like this whiteboard overview video
link |
that you talk about the three generations of cryptocurrency
link |
where Cardano is the third.
link |
So that's like five different questions
link |
way of asking the exact same thing you can answer
link |
however the hell you want.
link |
You know, I always termed Cardano as like a FOSS,
link |
a financial operating system and nobody likes it
link |
and everybody picks on me for using that term.
link |
But basically the idea is that, you know,
link |
the world runs on systems, especially the financial world.
link |
You have, you know, the BIS and Swift
link |
and all this other stuff.
link |
And these protocols allow you to move value around
link |
and represent things like identity.
link |
And allow you to express yourself in some way.
link |
And those protocols for the most part work well
link |
for people in rich countries.
link |
And they don't work so well
link |
for people who aren't in rich countries.
link |
And so the point of what we do, or at least what I do
link |
and what my company does is we think a lot about
link |
how do we build a universal protocol
link |
that does all the stuff the legacy system has
link |
but just does it better, faster and cheaper
link |
for everybody in the world.
link |
And everybody has equal access to it, you know?
link |
So it's the people's protocol.
link |
You know, you have a situation where the guy in Senegal
link |
has the same access that I do or Bill Gates does
link |
or someone else who's kind of higher
link |
on the spectrum of wealth and power.
link |
And so that is what we seek to achieve.
link |
But then the question is well, is Cardano the solution?
link |
You know, is that that thing?
link |
And the answer is no,
link |
because you need a lot more evolution.
link |
You need decades of evolution
link |
to kind of work your way there.
link |
And in many ways the work is never quite done
link |
but it's better than what came before.
link |
Because you have a realization that first
link |
the control of the system needs to be more balanced
link |
and nuanced and it needs to be more democratic.
link |
So there's this sustainability component
link |
of who's in charge and how do you pay for things?
link |
Well, the system can print its own money
link |
so it always has the ability to have a budget.
link |
Okay, so there's a treasury idea.
link |
And then there's a voting thing.
link |
Well, the same things that allow you to move money around
link |
allow you to represent votes.
link |
So you can do eVoting with the type of system, okay.
link |
And you know, if you played Gnomic in the 1980s
link |
or Peter Superfan or any of these things,
link |
you can build a self evolving system.
link |
You can actually create a game
link |
where the rules can be voted on and changed
link |
in the game itself, great.
link |
Okay, so that exists there.
link |
And then you say, okay, well,
link |
but this thing still has to touch the legacy world.
link |
There has to be cash in and cash out
link |
and these types of things.
link |
So there's just this interoperability thing
link |
that you need a wifi or a Bluetooth moment for the industry
link |
because nothing understands each other right now.
link |
There are all these chains are blind, deaf
link |
and dumb to each other.
link |
And then there's this thing that it has to work
link |
at a huge scale, like billions of people.
link |
And we've done that, but we've done that
link |
with large multinational trillion dollar companies
link |
with centralized infrastructure.
link |
We've never really done that with one master protocol
link |
that somehow does it for everyone.
link |
The closest approximation is probably BitTorrent.
link |
And there's, you know, there was, it's a cool protocol,
link |
but it doesn't have all the oomph necessary to,
link |
necessary to do something like this.
link |
So Cardano is just our first approximation
link |
and like any good system,
link |
we wanted it to be self evolving.
link |
So once you get the philosophy out of where's the target
link |
of what do you want to do, then you build a community.
link |
Now it's over a million people strong
link |
and that community keeps growing
link |
and they keep pushing the system
link |
in that particular direction.
link |
And what's nice about it is if you build the right philosophy
link |
within the system, it doesn't need founders.
link |
This is the great lesson of Satoshi.
link |
It doesn't need founders to be able to get there.
link |
So, you know, if you look at the academic side,
link |
that's very decentralized.
link |
We have more than 30 different contributors
link |
for the 105 papers and that set keeps growing
link |
within the next five years.
link |
It'll probably be two, three, 400 different scientists
link |
from all across the world, some from Russia
link |
and some from India, some from China and some from Japan
link |
and America and Africa and South America.
link |
And the faces change, the languages change,
link |
the cultures change, but the process stays the same.
link |
And that is a permanent organ
link |
within what we have constructed as a system.
link |
And it's the same situation entering marketplaces.
link |
Like we entered Ethiopia, what are we doing there?
link |
We have 5 million people in Ethiopia.
link |
We're getting them digital identity
link |
and we're dragging that digital identity into the system.
link |
Cause that's the most fundamental thing
link |
of a financial operating system.
link |
You need to know who people are
link |
in order to be able to do business with them,
link |
give them credit, be able to give them economic agency
link |
But once they're there,
link |
they're going to grow up with that system.
link |
They're going to deploy applications on that system.
link |
They're going to build on that system
link |
or use it every day for getting a loan
link |
or payments and so forth.
link |
And if they have pain points,
link |
what they're going to do is evolve that system
link |
to be able to mitigate,
link |
manage those particular pain points
link |
to a point where the system is competitive for it.
link |
So my job is to be,
link |
we have this tagline in our company, cascading disruption.
link |
My job is to be the first domino.
link |
Just kind of knock it over and watch the cascade
link |
and it kind of blows and blows and blows up
link |
until eventually it gets to where we need to go.
link |
And what I was trying to think about with Cardano
link |
was how do you build the minimum viable set
link |
of tools and social processes
link |
that once we push the domino,
link |
the system will just evolve to a point
link |
where eventually you can grow to fill that need,
link |
not out of charity, but out of self interest.
link |
People want things better, faster, cheaper.
link |
People want to have economic agency,
link |
especially when they lack it.
link |
Nobody wants to grow up in a world where they're unbanked
link |
and they have no access to marketplaces.
link |
They're gonna seek it.
link |
It's the great example of that, like cell phone minutes
link |
they're using as a currency.
link |
So that's where we're at.
link |
And I say a few more years,
link |
I think we'll have that rate minimum viable set of dynamics
link |
inside the system.
link |
And then it's inevitable in my view
link |
that it'll kind of grow and consume and become this concept.
link |
And what's really cool is there's competition
link |
in the systems and concepts.
link |
So China is trying to do the same thing.
link |
They're saying, how do we de dollarize the world
link |
and create a digital Yuan?
link |
So they have a very top down notion
link |
of how to apply this technology and bring it in.
link |
And they even have an identity system
link |
they're building in parallel called social credit.
link |
We have an identity system,
link |
a talaprism that we're putting in.
link |
Ours is bottom up and you own your own identity,
link |
You just have a number and some computers giving it to you,
link |
but they're both trying to do the exact same thing.
link |
And it's gonna be this clash of cultures at some point
link |
between the open fosses
link |
and the top down authoritarian fosses
link |
and probably some Hegelian dialectic action to happen.
link |
We'll create some sort of somewhat closed,
link |
somewhat authoritarian, libertarian utopia.
link |
Yeah, most likely it would be AIs battling
link |
in the space of fosses.
link |
So I really like this idea of financial operating system,
link |
but the letter F, so financial,
link |
is this just a basic mechanism
link |
with which you can have social interaction
link |
therefore or all kinds of interactions
link |
therefore have an identity?
link |
Like is F essential to this?
link |
Yeah, because that's how people care.
link |
You need resources to survive.
link |
And finances is kind of like this field
link |
of managing your resources in an intelligent way.
link |
And you could call it SOFI too, social finance.
link |
The nomenclature hasn't exactly been settled
link |
for our industry and that's fun.
link |
But basically the concept is that you have something
link |
and you wanna be able to store it, transform it,
link |
trade it and use it to survive.
link |
And the question is what rails do you do that on?
link |
Do you do those on centralized controlled rails
link |
where there are these third parties
link |
that are basically able to live off those things,
link |
become very fat and nepotistic?
link |
Or do you wanna do it on rails where there's no middleman?
link |
You have a direct relationship
link |
with whoever you're doing business
link |
and if you invite more people into the transaction,
link |
they're middlemen of value, not necessity.
link |
And that's really the, I would like to say
link |
the resident detra of our space,
link |
that the reason we exist is to try to figure out a way
link |
to kill the middleman and try to figure out a way
link |
that we can better quantify value and transform it,
link |
move it, manipulate it.
link |
And in many ways we've actually discovered
link |
some amazing things in the last 10 years as an industry.
link |
Like we've kind of created the financial stem cell.
link |
This idea of a token can now is just as well
link |
be a national currency as a CBDC
link |
as it can represent a crypto kitty.
link |
The same architecture can do stuff at the nation scale,
link |
can do stuff for a 12 year old kid in Texas.
link |
It's pretty amazing to see that.
link |
But sort of in that whiteboard presentation,
link |
you gave these three phases and you're kind of implying
link |
that there'll be end phases to this whole evolution.
link |
And Cardano is just like the cutting edge.
link |
But if you look back to Bitcoin,
link |
how would you compare Cardano versus Bitcoin?
link |
Sort of where we are, how we started and how it's going.
link |
Okay, so what I did in that video and I've done
link |
in a lot of media interviews,
link |
because I think it really helps people understand
link |
where we're at in the clock is face things
link |
in terms of generations.
link |
And so I said, well, the first generation is Bitcoin.
link |
And really the problem Bitcoin was trying to solve
link |
is saying every time we wanna represent or move value,
link |
we need some sort of trusted third party to facilitate that.
link |
So can we build some sort of system
link |
where we can create some notion of value
link |
that can be teleported around the world
link |
and it doesn't require a trusted third party?
link |
And it's done in a beautiful way
link |
because it didn't try to be anything else.
link |
It just was, you only have Bitcoin,
link |
you can only do one type of thing, you can only push it.
link |
You can do some things on the encumbrances
link |
of like multi SIG and other things,
link |
but that's a one trick pony as a system.
link |
And it wasn't really clear if that was gonna work or not
link |
It took several years to build up enough network effect
link |
and for Bitcoins to actually become valuable.
link |
And I'd say the inflection point was 2013.
link |
And at that point it became a billion dollar market cap.
link |
There were like Silicon Valley startups,
link |
real exchanges performing.
link |
And it got to a point where there was legitimacy
link |
behind the concept and people started getting,
link |
this is a really incredible idea
link |
because I can evade capital controls with it.
link |
I can like move $10 billion of something
link |
from one country to another country in five minutes.
link |
It's like, I could never do that before.
link |
And you know, this is incredible.
link |
Okay, the problem is the minute that people validate
link |
the idea, they immediately want something they don't have.
link |
So like the minute Elon can land a rocket,
link |
there's the next big thing, right?
link |
You've landed the Falcon 9, now you're on the Starship.
link |
Similarly, you say, okay,
link |
I want programmability with this thing.
link |
It's kind of like when JavaScript came to the web browser,
link |
you went from these static, perhaps pretty,
link |
but ultimately static non interactive pages
link |
to YouTube and Google and Facebook
link |
and these amazing, rich, incredible experiences,
link |
because now you can actually interact with the user.
link |
You can program things, stuff runs on their side,
link |
stuff runs on your side.
link |
It's a beautiful two way relationship.
link |
So that's what Ethereum effectively did.
link |
They bolted a programming language onto a blockchain
link |
and they went from a certain use case
link |
to whatever your imagination can have,
link |
you know, like sunshine and rainbows and unicorns
link |
and these types of things.
link |
So what you're saying is Bitcoin is HTML
link |
and Ethereum is JavaScript?
link |
Basically, yeah, it was like when JavaScript came
link |
and with like JavaScript,
link |
it has all kinds of problems and issues.
link |
I wonder who's flash in this analogy, this metaphor,
link |
but let's not go there.
link |
Well, actually there were plenty of active Xs and flashes.
link |
NXT was an example of a failed to start
link |
and BitShares was another example.
link |
There were a lot of people who tried to add some notion
link |
of programmability in or a different view
link |
of how these things should be done
link |
and they were not as competitive.
link |
Ethereum kind of came out at that JavaScript moment.
link |
Okay, the minute you have that,
link |
and suddenly you have ICOs and DeFi and STOs and NFTs
link |
and all these word salads of things
link |
and then people start using it, they get frustrated.
link |
Because it's too slow, it's too expensive,
link |
it doesn't talk to the things they want it to talk to
link |
and also it gets too big to manage itself.
link |
When you're small, you have founders and foundations
link |
and you have trusted actors and core developers
link |
and you can feed them with pizzas.
link |
You know them, you can meet them,
link |
you can shake their hands at conferences.
link |
When you're a multi billion person system,
link |
you're too large to be able to do that.
link |
For example, we had the Shelley Summit last year,
link |
we invited Vint Cerf to come to the summit.
link |
Vint's a brilliant guy and he created the internet
link |
with Bob and the rest of the gang
link |
and back in those days, it was such a simple small system
link |
that one of their students, they said,
link |
hey, you need to test it.
link |
He created a video game just to kind of test the thing.
link |
You could call the guy on the other side and say,
link |
are you seeing this?
link |
Are you getting the signal?
link |
They used to have a actual address book for email addresses.
link |
Yeah, so you'd open up the book and look it up
link |
and they'll look at the internet,
link |
it's like, who's in charge of that?
link |
It's this gargantuan network
link |
and there's no group of people you can bring in
link |
and thus the internet evolves very slowly, you see?
link |
And so that's the problem is that you have this situation
link |
where you wanna do lots of utility,
link |
you wanna do a lot of things,
link |
you wanna be a financial operating system
link |
and be everything to everyone
link |
but then your rate of evolution slows down
link |
as your rate of adoption speeds up.
link |
So that's one of the other design goals
link |
of the third generation.
link |
It's not good enough just to do things better, faster,
link |
cheaper and have consistent cost
link |
with your population growing
link |
or talk to everything, your wifi moment.
link |
You also need a system that can govern itself
link |
at a scale of millions to billions of people
link |
who have divergent interests.
link |
Some cases ice pick an eye divergent interest.
link |
They really hate each other and they don't get along.
link |
And so that's what we termed
link |
a third generation cryptocurrency
link |
and there's a lot of people attempting to compete
link |
There's Tezos and Algran and ICP and Polkadot and so forth.
link |
And each and every one of them kind of brings
link |
a different blend of things that they value.
link |
So it's not completely equal
link |
between scalability, interoperability and sustainability.
link |
Some people were very focused on high throughput,
link |
lots of transactions perspective.
link |
Other people very focused on governance
link |
like Tezos is like the governance chain
link |
and they were one of the first
link |
to do a self amending ledger.
link |
And other people are like Aeon or Polkadot.
link |
They're really thinking carefully
link |
about how do we build a nice interoperable ecosystem.
link |
With Cardano, we tried to actually tackle all three
link |
at the same time, which was one of the reasons
link |
why we were a little slower out of the gate.
link |
We had to write a lot more protocols
link |
but we think we've kind of come up
link |
with a beautiful interlocking design for all of them.
link |
And again, the point is not to get it perfect
link |
but rather get those just right set of evolutionary factors
link |
that when you click the domino,
link |
it just self evolves into what you need it to get to.
link |
Allow me to stretch the metaphor farther.
link |
If Bitcoin is HTML, there's HTML5.
link |
If Ethereum is JavaScript, JavaScript with V8
link |
has become quite fast, quite, you know,
link |
it runs much of the internet.
link |
So the argument could be that eventually everything
link |
will be JavaScript or maybe you could say
link |
eventually everything will be HTML
link |
and it should be a bunch of different tools
link |
that generate that HTML.
link |
So is it possible that just like Rousseau,
link |
we eventually return to generation one Bitcoin
link |
or we return to generation two Ethereum
link |
at the end of this journey?
link |
Yeah, the problem is your tail is wagging the dog there.
link |
And it's not, you have a situation
link |
where you're so focused on the technology
link |
that you're failing to understand
link |
that there's still Daisy here.
link |
You still have the user and where's the app store?
link |
Where's the one click install?
link |
Where's the use and utility?
link |
You know, all these layer two protocols
link |
and these DeFi applications in five years,
link |
they're completely protocol and blockchain agnostic
link |
because at the end of the day,
link |
they care about liquidity, operating cost
link |
and user experience.
link |
It's so a preposterous and absurd for somebody to say,
link |
oh, well, I'm gonna go build my application,
link |
get on the Apple store
link |
and I am gonna use Amazon as my web host.
link |
And no matter what happens, I will always use Amazon
link |
even if the operating cost is crazy.
link |
And so we're just in a unique period of history
link |
where there's a network effect
link |
around some initial infrastructure
link |
and people tend to be building around that,
link |
but every single one of the top DeFi providers
link |
are if they're getting successful
link |
into a certain network effect,
link |
they're having the multi chain conversation.
link |
So I don't really believe in a winner takes all
link |
maximums view of, well, there's gonna be some protocol
link |
that becomes the God protocol first
link |
because they evolved too quickly.
link |
Second, the incentives aren't aligned for that.
link |
TCPIP didn't have a token connected to it.
link |
There was no financial incentive
link |
where if TCPIP got adopted over something else,
link |
they'd make some big company crazy amounts of money.
link |
It was a useful piece of infrastructure.
link |
So I think that the third generation is gonna be as defined
link |
by the social components and the usability components
link |
as it is by the technological capabilities of the system.
link |
Really what these technological capabilities gave you
link |
was the ability to demonstrate a proof of concept
link |
and say these things are possible.
link |
Kind of like Xerox PARC, when Steve and Bill came in,
link |
they said, wow, you have networked computers,
link |
object oriented programming and a GUI.
link |
And this is like, what was it, 70s?
link |
It's like, wow, it's like incredible.
link |
But none of that was an actual product.
link |
That wasn't a Macintosh, but it was enough to get the idea.
link |
And then it was a race to how do we productize
link |
something like that.
link |
And in that case, it actually took several decades
link |
to roll out that vision that those guys had.
link |
And I think that's what Bitcoin and Ethereum did.
link |
But what's unique about this is normally you throw away
link |
the prior experiments.
link |
With these things, these are self evolving systems.
link |
So it's entirely possible to, Joe Rogan quote,
link |
to evolve Bitcoin to a point where it could become
link |
a third generation system if desired,
link |
as some amalgamation of layer one and layer two protocols.
link |
And it's the same for Ethereum.
link |
In fact, Vitalik is throwing away Ethereum
link |
and replacing with Ethereum too,
link |
because he recognizes he needs to upgrade
link |
and evolve the system.
link |
And that's what makes it fun because the techniques
link |
and methodologies that they've chosen to evolve
link |
and upgrade this system are distinctly different
link |
from the ones that we've chosen.
link |
And we have no idea which one's actually going to win,
link |
but we learn from each other and we co evolve
link |
So you're running like all these experiments in real time
link |
in a giant marketplace, and maybe they'll consolidate,
link |
maybe they'll stay divergent.
link |
I mean, look at big tech, you have Google, Apple,
link |
Microsoft, Facebook, they all coexist
link |
and they're trillion dollar companies.
link |
Some cases with TCP, it consolidates to one standard.
link |
And that's what we ended up using.
link |
So what's your intuition with Cardano having the proof
link |
of stake, and then eventually smart contracts
link |
versus the Bitcoin with layer two technologies,
link |
this kind of evolving creature.
link |
Again, you said you can't really predict the future,
link |
but what's your intuition why one might be more successful
link |
So the problem with Bitcoin is it is so slow.
link |
It's like the mainframe programming of the past.
link |
And the only reason it's still around is because
link |
there was so much invested in keeping it around
link |
that we just kind of have to leave it there
link |
and one day Cobalt will die.
link |
There's nothing about it from a collection of USPs
link |
that's particularly desirable.
link |
You have extremely long settlement time,
link |
you have extremely low programmability.
link |
It is not aware of any other system.
link |
There's no native way of issuing an asset in that system.
link |
You can't even do a pull transaction.
link |
You can't do anything that's interesting or unique there.
link |
And yeah, all due respect, it's, you know,
link |
mafia, all due respect, Tom.
link |
You got some problems.
link |
You need to lose some weight.
link |
You come to me on the day of my daughter's wedding.
link |
So, you know, all due respect to the Bitcoin people.
link |
It's like an amazing, incredible first generation thing.
link |
And it really, we're all here because of Bitcoin.
link |
But the problem is you have to upgrade the damn thing.
link |
You know, just because you were a high school football star
link |
doesn't mean that 30 years later you're still
link |
a high school football star in the same shape.
link |
You got the beer belly, you're old,
link |
you're not doing this thing again.
link |
And that's what Bitcoin has to do.
link |
There's fundamental improvements
link |
that I think Bitcoin can make at the protocol level
link |
that would actually make it an incredibly competitive system.
link |
Like if they wanted to keep Nakamoto consensus,
link |
proof of work, there's ways to enhance proof of work.
link |
I mean, Minkun Sir did this with BitcoinNG,
link |
Promotivus Wanus did this with Prism.
link |
Make it 10,000 times faster
link |
and you don't compromise the fundamental security assumptions
link |
that the system has.
link |
You can add programmability to it.
link |
Blockstream created a language called Simplicity.
link |
And so there's actual ways to extend.
link |
And we did this with Cardano with the extended UTXO model.
link |
There's ways to extend what Bitcoin has.
link |
Keep the philosophy, the accounting,
link |
the way of thinking about transactions.
link |
But then suddenly you can now do DeFi and other things.
link |
But what they've done is said,
link |
we will not evolve the base layer at all.
link |
And we're just gonna build all this layer two stuff,
link |
which is usually highly fragile and centralized
link |
and requires enormous effort at the base level
link |
It's not a coincidence Vitalik started as a color coins guy
link |
and a master coin guy hanging out in those circles.
link |
He was trying to innovate and do things in Bitcoin.
link |
And it was so hard and difficult
link |
that he started diverging and going and doing things
link |
in a different system entirely.
link |
I knew the master coin guys,
link |
JR and all these people, they were maximalists.
link |
They really wanted to build something cool
link |
and exciting for Bitcoin.
link |
And anything they did, the developers would attack them.
link |
It's all you're misusing op return, you're doing this,
link |
that it was a holy war anytime you wanted to evolve.
link |
So I think it's its own worst enemy.
link |
It has the network effect, it has the brand name,
link |
it has the regulatory approval,
link |
but there's no way to change the system,
link |
even correcting obvious downsides in that system.
link |
Now, what's really cool is Ethereum
link |
doesn't suffer from that problem.
link |
It's getting to a point
link |
where it has a similar network effect to Bitcoin,
link |
but the community there is completely different in culture.
link |
They love evolving, they love upgrading,
link |
sometimes a little too much.
link |
And so that means that if you look at the trajectory
link |
of things, if I had to bet just those two systems,
link |
Bitcoin or Ethereum, I would say nine times out of 10,
link |
Ethereum is going to win the fight against Bitcoin
link |
if it was the only competitor.
link |
But obviously we're here and a lot of other people are here.
link |
So there's different things going on.
link |
So it's a much more complex game.
link |
But I think that's always a key,
link |
zooming out a little bit, set the technology aside
link |
and the word salad of cryptography aside
link |
because it's too much.
link |
What you have to always do is say,
link |
what incentive does the system have to evolve?
link |
And when you look at things like Android and the App Store
link |
and these analogous platforms,
link |
you say, ah, the evolution is user driven
link |
and there's a financial incentive
link |
for the user to participate.
link |
So if I had to look at the trajectory of this thing,
link |
come back 10 years later,
link |
it's probably gonna have millions of applications
link |
and lots of stuff going on
link |
because that's the way the system was constructed.
link |
Okay, it makes sense.
link |
When you look at Bitcoin, you say,
link |
what is the incentive to evolve the system?
link |
What is the incentive for the system
link |
to get more competitive?
link |
In fact, it's the opposite.
link |
They've turned it into a religion.
link |
I was in Miami at this Bitcoin conference there.
link |
I had a toilet paper roll thrown at me
link |
that had shit coin written on it.
link |
You have Max Keiser out on the stage,
link |
doing his best Rick James impression.
link |
We'll see the guy that did the F Elon, fuck Elon.
link |
And so you're watching this stuff and you say,
link |
okay, first, why would anybody wanna join that?
link |
And then second, where is the conversation
link |
about how do we achieve something?
link |
I started with Cardano, the end in mind.
link |
I said, we really wanna sit down
link |
and build this financial operating system.
link |
And the definition of success is
link |
the poorest person in the world
link |
has access to the same system
link |
as the richest person in the world
link |
and they both get treated fairly.
link |
We've never had that happen before.
link |
Okay, that's something.
link |
You can agree with it, disagree with it,
link |
say it's boiling the ocean, it's impossible.
link |
At least I have something.
link |
I can't for the life of me understand
link |
what the hell is the point of Bitcoin.
link |
When I joined the Bitcoin space way back in the day,
link |
it was, hey, we hate the dollar.
link |
And hey, we like gold a lot.
link |
Let's create digital gold.
link |
Let's build a payment system.
link |
And then it just kind of went all these different directions
link |
and nobody can actually tell you what Bitcoin is for.
link |
It's a store of value, okay.
link |
There's some proof of work thing
link |
where maybe you're like incentivizing
link |
alternative energy to be produced.
link |
Nobody really knows the philosophy.
link |
There's no direction.
link |
And they say, but don't worry, just buy and hold
link |
and everything will sort its way out.
link |
I believe it's HODL.
link |
What about the idea of digital gold?
link |
So trying to replace that particular physical material
link |
that is gold to transfer into the digital space.
link |
Okay, let's do that then.
link |
And just say that's all it does.
link |
Then why are we doing lightning?
link |
Why are we doing any of these other things?
link |
You don't really need with a commodity,
link |
a digital commodity, high throughput.
link |
You can have slow settlement.
link |
You can have high transaction fees,
link |
all these types of things.
link |
Okay, that's something, pick it.
link |
Well, the idea is to try to come up with technology
link |
like the lightning network
link |
that could have something like gold,
link |
but then still build an economy around it.
link |
Something with a high throughput transactions.
link |
And have we ever built a successful banking credit system
link |
It never works because there's too much volatility
link |
in the underlying asset.
link |
Would you take a gold denominated loan for something?
link |
If somebody says, all right,
link |
I'll give you five bars of gold to go buy this car
link |
and pay me back five and a half bars of gold.
link |
Nobody would know in five years where they come out
link |
in that kind of a range.
link |
The idea is that the gold is used
link |
for the settlement of transactions
link |
and then you're operating,
link |
the actual economy is operating outside of gold.
link |
And then you kind of connect back to gold.
link |
So we had to go back to the gold reserve
link |
and we tried that for a long time.
link |
It didn't really work in a modern global economy.
link |
We had the Brentwood's agreement and all these other things.
link |
And so I understand what you're saying
link |
and maybe there's some merit to that,
link |
but if that was really an earnest where they want to go,
link |
then the conversation should be about,
link |
well, how do we make it easy for layer two protocols
link |
to interact with Bitcoin?
link |
So why is simplicity not built into it?
link |
Why is it taking so long to do SnoreSigs?
link |
Why is it taking so long to do all these obvious upgrades,
link |
which are cryptographically low danger?
link |
Also NipaPals, not interactive proofs of proof of work.
link |
There's no cost to doing that.
link |
It's just a property of proof of work
link |
where certain puzzles are more special than other puzzles.
link |
And by noticing that you can create these beautiful proofs
link |
that allow you to have side chains and like clients.
link |
It's not compromising security of the system.
link |
It's just something you get for free with proof of work.
link |
Those came out in 2016.
link |
There's derivative work fly client floating around.
link |
Where the hell is it?
link |
This is the frustration that I have is like,
link |
if you really are serious about this whole lightning
link |
and gold economy thing, I love choice.
link |
I'm a libertarian by nature.
link |
I love competition.
link |
And I read all those books.
link |
I read Ludwig von Mises's work and Murray Rothbard's work.
link |
I love what Hayek had to say about private currencies.
link |
But then you have to have some focus and commitment
link |
And the excuse they use is, well, no, we don't
link |
because we're decentralized.
link |
And because we're decentralized, we don't need that.
link |
As if there's some sort of guiding swarm intelligence
link |
that will naturally push the system
link |
in that particular direction.
link |
But then you ask, well,
link |
how do people measure the success of Bitcoin?
link |
Is it the fact that they've actually achieved
link |
lots of transactions and lots of actual economic activity
link |
and lots of businesses accepting Bitcoin?
link |
That's what they do.
link |
And that's the only thing they pay attention.
link |
That's why this is the most attended Bitcoin conference
link |
Not because somehow Bitcoin got so much more adoption,
link |
it's because this is the highest price point Bitcoin
link |
has ever been this year, over 30,000.
link |
So first of all, let me state that, Charles,
link |
for the most part is purely objective.
link |
The bias that comes in, for the record, I want to say,
link |
that I have heard, because you mentioned the mafia,
link |
that you prefer Goodfellas over the Godfather.
link |
So a man who prefers Goodfellas over Godfather,
link |
you take it for that opinion for what it is.
link |
I actually had to think about that one for quite a bit.
link |
Joe Pesci was so good in that movie.
link |
I also love Casino and those big glasses on De Niro.
link |
With Sharon Stone.
link |
But we could talk about that for hours.
link |
But let me ask you about the Bitcoin conference,
link |
because it is kind of, I would say,
link |
an important moment in human history.
link |
It was quite exciting in terms of size
link |
and kind of turmoil and all those kinds of things.
link |
And you were there in, what is it?
link |
Hot and humid Miami.
link |
I believe that's the way you introduced it.
link |
So what do you make of the community of Bitcoin
link |
or that particular event in human history?
link |
What makes me sad is I remember the old Bitcoin community
link |
and I've seen what it's become.
link |
And the old community was really fun,
link |
like the San Jose conference in 2013
link |
or subsequent conferences.
link |
You know, there was just a lot of people,
link |
they had no money and they just really loved this idea
link |
of decentralized money.
link |
They loved this idea of decentralization in particular.
link |
And you could strike up a conversation with everyone.
link |
There's no ego at all.
link |
But what was really fun is you could really get
link |
intimate friendships and relationships,
link |
great conversations with people there.
link |
It's kind of like the early days of AI.
link |
They all met in Dartmouth and all these other places.
link |
Very intimate, there was no egos.
link |
Everybody was just trying to do some really cool stuff.
link |
Now, just like those early days,
link |
there was an overestimate of how robust
link |
the solutions would be.
link |
So we believed, oh yeah, 10 years,
link |
we're gonna rule the whole world, right?
link |
Didn't exactly happen.
link |
On the other hand, Bitcoin grew from nothing
link |
in just 11 years to I'm in Mongolia riding camels
link |
and the camel herder has Bitcoin in the Coby desert.
link |
So that's telling you that's a pretty pervasive technology
link |
if you have that level of adoption that quickly.
link |
When I went to Miami, it was unrecognizable.
link |
Everything was so commercial.
link |
Half of the vendors at the conference were like watches
link |
that cost half a million dollars
link |
and they were covered in diamonds.
link |
So when you see that kind of materialism leak its way in,
link |
it's first is repulsive.
link |
The other thing was there was no,
link |
like I remember one of the first conferences,
link |
Mo Levin's conference in January of 2014,
link |
the North American Bitcoin Conference ironically in Miami,
link |
there was a Bitcoin help center booth.
link |
Dima ran it and a few of the other Bitcoin OGs ran it.
link |
The core developers actually came over like Jeff
link |
and others who were there and sat at the booth
link |
and anybody come up, ask a question,
link |
anything you wanna ask about Bitcoin.
link |
It was like, that was the culture,
link |
just help people welcome in.
link |
There was no help booth there.
link |
There was no notion of that.
link |
There were six hour lines and superstars
link |
and things like that.
link |
And again, again, it was always the same thing.
link |
Look how much money all these people have made.
link |
And the whole point of Bitcoin
link |
was to redefine the notion of money,
link |
redefine the notion of value, these types of things.
link |
So it just, I'm no longer part of that.
link |
And it made me sad because I really enjoyed being part of it.
link |
How I got started was the Bitcoin education project.
link |
I did a class on Udemy.
link |
I gave it away for free.
link |
I had 80,000 students and they would email me.
link |
I got 5,000 emails before I stopped answering them.
link |
And everyone come in and ask me some question
link |
about something, sometimes arcane, sometimes trivial.
link |
And I take the time to sit down and answer the question
link |
or forward the email to somebody I knew
link |
who could answer that particular type of question.
link |
And there were some amazing people in the early days
link |
like Mike Hearn and Gavin and others.
link |
And they were just super committed.
link |
And Mike's case, he knew Satoshi.
link |
He actually emailed them back and forth
link |
because he was around 2009, 2010.
link |
He did the Bitcoin Java client.
link |
And Satoshi was all excited.
link |
He said, oh, wow, Bitcoin can come to a cell phone.
link |
This is really cool and exciting.
link |
And then what happened?
link |
Mike left Bitcoin in 2013
link |
over the whole big block debate that happened.
link |
They just treated him like dirt,
link |
like he was subhuman or something.
link |
So I don't know, the culture has changed a lot.
link |
And if they like it, it's good for them.
link |
They can enjoy their religion, but it's not for me.
link |
And where I like being is, like I had a guy
link |
who used to work for me, Alex Cherpanoi,
link |
and he created this beautiful project called Ergo.
link |
To me, that is the spiritual successor to Bitcoin.
link |
Ergo is really special because it has the same culture.
link |
It has the same mentality.
link |
And the technology is kind of like a natural evolution
link |
of what you would do if you knew about Bitcoin
link |
and you wanted to build the next big thing.
link |
So it's still a proof of work system.
link |
It's still a UTXO system,
link |
but he added UTXO with some smart contracts.
link |
It's this Sigma protocol idea.
link |
On the proof of work side,
link |
Satoshi had this one CPU, one vote idea.
link |
So Alex tried to create non outsourceable puzzles
link |
to make it impossible to have mining pools.
link |
And there's all these other beautiful little things.
link |
And he's this brilliant Russian programmer,
link |
and he surrounded himself
link |
with all these other brilliant people.
link |
He has negative ego.
link |
When you put him with a person with ego,
link |
your ego goes down, right?
link |
And everything about Alex is always like,
link |
how do I solve this?
link |
And he gets legitimately excited when he meets somebody
link |
that he can collaborate with or learn from.
link |
That's where Bitcoin was in the beginning.
link |
Everybody set their egos aside,
link |
whether it was Hal Finney or whatever,
link |
and they would just say, how can I help?
link |
And it was all about coming up with some cool new thing
link |
or solving some cool new problem.
link |
I don't see any of that in Bitcoin today.
link |
So quite a few people are excited about Ergo
link |
and excited about the fact
link |
that you kind of appreciate Alex and Ergo.
link |
Do you see Cardano potentially utilizing
link |
the proof of work mechanism from Ergo
link |
as part of this pool for the consensus mechanism?
link |
I mean, anything's possible,
link |
and there's a lot of evolution Ergo has to go through.
link |
And Ergo, it was kind of like,
link |
when the Xbox 360 first came out,
link |
while they were prototyping it,
link |
Microsoft needed a development environment.
link |
They ironically purchased a lot of Apple computers
link |
because Apple was moving away from the PowerPC to Intel,
link |
and Microsoft was moving towards the PowerPC,
link |
just this weird intersection of history.
link |
the largest order of Mac computers made
link |
was done by Microsoft,
link |
and they were using it for Xbox stuff.
link |
So Ergo, we viewed the same way.
link |
So we said, well, we have this extended UTXO model.
link |
The only thing that's sufficiently close to it
link |
where we can beta test contracts is actually with Ergo.
link |
And Alex just was a little faster
link |
in getting certain things out,
link |
because we were doing things
link |
in a slightly more rigorous way
link |
and slightly more expressive way.
link |
So we actually tested a stable coin and Oracle
link |
and other things on Ergo,
link |
and it has just incredible community.
link |
When we said, hey, we're coming here to work and build,
link |
he said, oh yeah, we'd love to work with you guys.
link |
The other thing is Alex used to work for us,
link |
and he had this lovely project called Scorex,
link |
and it was all about like a pedagogical framework
link |
for building blockchains.
link |
And if you want to do prototyping or academic research,
link |
It was super modular,
link |
and it separated the consensus network
link |
and transaction layer from each other
link |
in just the right way,
link |
so that you can make it modular and mix and match things.
link |
So you can put secure academia in,
link |
or maybe a different network layer
link |
and a different consensus protocol,
link |
a proof of work to another proof of work and so forth.
link |
So we loved having that kind of IP sitting around
link |
because it gave us the ability
link |
to kind of play around with ideas in a matter of weeks
link |
instead of months or years.
link |
And then he just took that concept and he gave it away.
link |
The wave protocol was built on it.
link |
That was Sasha Ivanov, he did that.
link |
And I think there's two or three other cryptocurrencies
link |
that were launched from Scorex,
link |
and then Alex took that and built Ergo from it.
link |
So there was a nice intersection
link |
where there was overlapping technology
link |
with Ergo with our technology.
link |
And the other thing was that the community
link |
was so open and friendly, it was just a no brainer.
link |
Just go in and start building some things there.
link |
Now, in terms of evolving ideas,
link |
the whole Sigma protocol idea is very different
link |
and it's very interesting.
link |
And there's a guy at Boston University,
link |
his name will come to me in a second,
link |
who came up with this stuff.
link |
And I think there's some merit there,
link |
especially as we start moving closer to this idea
link |
of blockchains being used to validate proofs
link |
instead of running computations.
link |
What's the Sigma protocol, by the way?
link |
So it's just a way of expressing scripts.
link |
And basically, you get these concise representations
link |
of proofs, and then you can say,
link |
okay, the script is correct,
link |
but you don't have to run the whole program.
link |
So there's a lot, I'm not doing the topic justice,
link |
there's a lot more to it, but that's the basic concept.
link |
And in a Redeemer validator model,
link |
you need stuff like that,
link |
because as your model gets more complex
link |
and a lot more things happen,
link |
you don't want to have a situation
link |
where I have to run, replay a huge amount of the UTXO graph
link |
to be able to get to a point
link |
where I have the state of the system.
link |
You need some mathematical artifact
link |
that gives you the state of the system quickly.
link |
And then you're saying, okay, I now know
link |
what computation thread I need to run
link |
to be able to get enough
link |
to be able to redeem this transaction.
link |
So he just found a more compressed representation of it,
link |
and the math doesn't matter.
link |
What matters is there's a whole beautiful field
link |
that thinks about this type of stuff,
link |
and it was never once linked before into our industry.
link |
The brilliance of Alex was to actually realize
link |
you could do that and pull those things together,
link |
and it may actually have some merit,
link |
but by no means is he the only guy that does this stuff.
link |
There's actually other approaches in verified computing
link |
that have explored that.
link |
Like my favorite came out of Microsoft research
link |
is a project called Pinocchio,
link |
and there was a followup called Geppetto.
link |
And the basic idea was that it's fortuitous
link |
that you have these computer science problems
link |
like hashing where you can do all this computation,
link |
and once you've done all of it,
link |
and you've found this magic number
link |
that you can verify that the computation was done correctly.
link |
So the proof of work works this way.
link |
Hard to do the proof of work,
link |
easy to check the proof of work.
link |
Cryptography also works this way.
link |
You have some trap door
link |
where you can verify something's correct,
link |
but to get that thing done,
link |
if you're doing it brute force,
link |
it takes an enormous amount of computation.
link |
Well, not all problems are like this,
link |
like protein folding, to verify the protein
link |
is folded correctly, you have to fold the protein.
link |
So you have to redo the work.
link |
But what if for arbitrary computation,
link |
you could take a problem,
link |
and then you could generate a proof
link |
that you've done that computation correctly,
link |
and the proof validates in logarithmic time
link |
Wow, that's incredible, right?
link |
Well, Microsoft actually wrote a paper on how to do that.
link |
It's called Pinocchio.
link |
So that's another example of these types of things,
link |
these rollups of things
link |
where instead of doing the computation on chain
link |
or trying to create some sort of replicated machine
link |
that does all this stuff,
link |
you instead just say,
link |
okay, only thing I'm gonna use the blockchain for
link |
is to check your proof.
link |
But I'm gonna turn it into a distributed computing problem,
link |
and any person in the world can do the problem
link |
on any server, untrusted server even,
link |
because you don't have to trust the output,
link |
you trust the proof, and the proof is deterministic.
link |
It tells you these things.
link |
So whether you're using zero knowledge
link |
or Sigma protocols or some other mechanism,
link |
it's moving you in that particular direction
link |
to turn it from a replicated to a distributed problem
link |
and go from I'm doing the work to I'm checking
link |
that the work was done correctly.
link |
That's fascinating.
link |
And all of a sudden, we're back to the P equals NP thing
link |
where for many very interesting problems,
link |
the checking is efficient,
link |
is much more efficient than the solving.
link |
Right, and also do you want complete determinism
link |
or is it probabilistic?
link |
Because if you relax that requirement a little bit,
link |
then suddenly actually you have a broader class of things
link |
you can construct this stuff for.
link |
You mentioned UTXO.
link |
There's a paper titled the Extended UTXO Model.
link |
It writes in the introduction,
link |
Bitcoin and Ethereum hosting the two currently most valuable
link |
and popular cryptocurrencies
link |
use two rather different ledger models
link |
known as the UTXO model and the account model respectively.
link |
At the same time, these two public blockchains
link |
differ strongly in the expressiveness
link |
of the smart contracts that they support.
link |
This is no coincidence.
link |
Ethereum chose the account model
link |
explicitly to facilitate more expressive smart contracts.
link |
On the other hand, Bitcoin chose UTXO also for good reasons,
link |
including that its semantic model stays simple
link |
in a complex concurrent
link |
and distributed computing environment.
link |
This raises the question of whether it is possible
link |
to have expressive smart contracts
link |
while keeping the semantic simplicity of the UTXO model.
link |
So what's the fuck that mean?
link |
What is UTXO, what is the account model,
link |
and what is the idea of the Extended UTXO model?
link |
So I guess the easiest way of visualizing it
link |
is that UTXO is kind of like cash register accounting.
link |
So let's assume you don't have credit cards,
link |
you just have cash.
link |
And so when you go and buy some milk and potatoes
link |
or whatever and you go to the cashier,
link |
you pull out your $20 bill, you give it to them,
link |
unless it comes up to 17.50, they have to make change.
link |
So you don't tear your $20 bill,
link |
cut a piece of it off and say, here's part of my 20.
link |
You give them the entire $20 bill
link |
and then they give you something back.
link |
And the things that they give you back
link |
are also atomic units, they don't cut those things up.
link |
So that's kind of what UTXO is all about in a nutshell
link |
is that there's inputs and outputs,
link |
your inputs that 20 and your outputs will be
link |
the 17.50 that goes to them
link |
and then the remaining change that goes back to you, okay?
link |
The problem with this particular model
link |
is that the way it was implemented with Bitcoin,
link |
there was no notion of how do we run complex predicates,
link |
complex contracts on this thing,
link |
where instead of just saying, okay,
link |
I'm just gonna push value to you,
link |
I wanna put lots of terms and conditions
link |
into the movement of that value.
link |
Like you only get this if I mow your lawn on Tuesday
link |
or you only get this if some event happens
link |
like the Broncos win the Super Bowl or something like that.
link |
Okay, so you need some notion of programmability with it.
link |
So a lot of people are trying to figure out
link |
in the early days of Bitcoin,
link |
how could we improve the expressiveness of the system?
link |
And one of ways of doing it is you can go
link |
to a different accounting model, bank style accounting.
link |
So in a bank ledger, every time you do a withdrawal,
link |
a deposit, it's a mutable system.
link |
With the cash register accounting,
link |
you don't tear up the bills,
link |
but the bank you can deduct or add ledger all the time.
link |
So Ethereum kind of works in that bank accounting system
link |
where you just, you send messages, you send transactions
link |
and you're going up or down.
link |
And so you can trigger programs the same way.
link |
So what we did is we said, okay,
link |
if you take the UTXO model and you have some data to it,
link |
and instead of saying it's just a digital signature,
link |
but it's in a script, you can basically create something
link |
that's still the same as cash register,
link |
but now you have programmability
link |
and the big difference is local versus global.
link |
So in the case of UTXO, your scripts are your concerns.
link |
So whatever's going on in that cash register
link |
has no bearing or impact on the other cash registers.
link |
But when you look at bank accounting,
link |
you have to know the state of the entire banking world
link |
to be able to make that work.
link |
Because if that transaction is inbound,
link |
that wire transfer is inbound,
link |
you have to know those funds are actually there,
link |
that thing is actually happening.
link |
So when you have a global state for a program,
link |
it's like you could do a lot more with it,
link |
but it's a lot more dangerous.
link |
And so you have to build all these mechanisms
link |
to try to protect yourself from it.
link |
So what we did is we said, okay, add data,
link |
add a programmability,
link |
and you're kind of in this nice Goldilocks zone
link |
between what Ethereum did with an account style model
link |
and a global state system.
link |
And you're not as restrictive as Bitcoin,
link |
but you're still in a Turing complete world,
link |
you can still run all kinds of things.
link |
And then any standard mathematician, they'll say,
link |
okay, well, is it isomorphic?
link |
Is there a mapping between this?
link |
What type of function can I actually take something
link |
expressed in one structure
link |
and transmit it to the other structure
link |
and properties are preserved?
link |
So we wrote a paper, it's called Climatic Ledgers,
link |
where we actually showed that UTXO,
link |
Extended UTXO and accounts are somewhat similar
link |
in that you could map things that happen in one system
link |
to the other system,
link |
the properties are preserved between the two.
link |
So in practice, what's nice about Extended UTXO
link |
is that you can put infrastructure on top of it
link |
to make the development experience relatively similar
link |
to the development experience
link |
of what you would do with Ethereum,
link |
but you don't have to worry about this global state.
link |
So when you talk about sharding,
link |
it's a lot easier to do that.
link |
It's a lot more conceivable to that.
link |
And also you get determinism in the system.
link |
So when I have a Plutus smart contract,
link |
whatever I run locally is exactly what I expect to run
link |
When you have a concept of this mutable global state
link |
in the system, whatever you run locally
link |
is not necessarily what you're gonna get
link |
when you actually push it into the system.
link |
So you may misprice things and the contract will fail.
link |
It doesn't ever happen in the Plutus world.
link |
So you got a lot of advantages with this particular model.
link |
The downside is that it's a little bit less expressive
link |
on the boundaries and a little bit harder