back to index

Charles Hoskinson: Cardano | Lex Fridman Podcast #192


small model | large model

link |
00:00:00.000
The following is a conversation with Charles Hoskinson, founder of Cardano, co founder
link |
00:00:05.560
of Ethereum, and a mathematician who is one of the most well read and knowledgeable people
link |
00:00:11.160
on the technical side of cryptocurrency that I've ever spoken to.
link |
00:00:15.800
Quick mention of our sponsors, Galila Games, Allform, Indeed, ExpressVPN, and Asleep.
link |
00:00:23.480
Check them out in the description to support this podcast.
link |
00:00:26.960
As a side note, let me say that Charles is not just a mathematician or cryptocurrency
link |
00:00:31.640
innovator, but also a Colorado based farmer of bison and mushrooms, a gamer, a fisherman,
link |
00:00:40.560
and a world traveler.
link |
00:00:41.960
When I asked him if he has a nice professional picture of himself, he sent me a picture of
link |
00:00:46.680
him in Mongolia with a hawk on his shoulder, meeting the Mongolian president.
link |
00:00:52.840
That to me pretty much says it all, speaking to the humor and the intelligence of a man
link |
00:00:57.780
who is bold, innovative, and does not shy away from a bit of fun and a bit of controversy,
link |
00:01:04.120
which makes him a fascinating human being to explore ideas with.
link |
00:01:07.880
I do want to say in terms of ideas that, at least to me, cryptocurrency is much bigger
link |
00:01:13.600
than just a way for a few Americans to make a quick buck through meme driven speculation.
link |
00:01:19.320
It is technology that enables freedom from oppression, from suffering in the world, because
link |
00:01:24.340
money is power.
link |
00:01:26.360
Mongolia, for example, was a reminder of that for me.
link |
00:01:30.300
Next day, after talking with Charles, I spoke with Wyoming Park, who is a North Korean defector,
link |
00:01:35.880
and who spent time in Mongolia, as many defectors do, in her and their escape from North Korea.
link |
00:01:42.360
Her story, the story of North Korea, the story of atrocities throughout the 20th century
link |
00:01:47.840
committed by Hitler, Stalin, and others, is a reminder that the world is full of darkness,
link |
00:01:54.600
but it is also full of beauty and love, and it is a world worth fighting for, in every
link |
00:02:00.640
way we know how.
link |
00:02:03.040
This is the Lux Friedman podcast, and here is my conversation with Charles Hoskinson.
link |
00:02:22.760
If you
link |
00:02:37.640
self evolve, almost like gnomic.
link |
00:02:39.560
And then you have Wolfram running around saying,
link |
00:02:41.200
hey, we can come up with these like very simple rules
link |
00:02:43.400
and we can reconstruct all of reality
link |
00:02:45.160
at some arbitrary point.
link |
00:02:47.640
So I have absolutely no idea what's right.
link |
00:02:50.280
You know, I look at it kind of like a formal system
link |
00:02:52.560
and I say, well, if you're stuck within the system,
link |
00:02:54.920
it's hard to actually understand
link |
00:02:56.320
that you're inside the system.
link |
00:02:57.640
You know, it's kind of like an object language
link |
00:02:59.920
to a metal language.
link |
00:03:01.320
You know, there's this thing that is outside of it,
link |
00:03:03.760
but because you're constrained and limited by the simulation,
link |
00:03:06.720
you can't really understand the nature of the thing
link |
00:03:09.160
that's outside of it.
link |
00:03:10.800
It's almost like Minecraft.
link |
00:03:12.040
You can build these redstone computers within Minecraft
link |
00:03:14.880
and simulate and emulate things within it,
link |
00:03:16.600
but you really can't go outside of that environment.
link |
00:03:19.400
The people outside of it can formally prove
link |
00:03:21.120
that it's correct or whatever,
link |
00:03:22.760
but the creatures inside of the system
link |
00:03:24.680
can't hope to perfectly understand it
link |
00:03:27.320
and prove something about it.
link |
00:03:28.800
Well, also the question is, it's a computation question.
link |
00:03:31.840
You know, does P equal NP?
link |
00:03:33.240
Because you'd have to be able to emulate all of these.
link |
00:03:35.280
How long will it take?
link |
00:03:36.240
Yeah, exactly.
link |
00:03:37.080
And so I have no clue what type of language
link |
00:03:39.840
it would have to look like,
link |
00:03:41.160
but it would probably not be anything we're used to
link |
00:03:44.720
at the moment.
link |
00:03:45.560
It'd have to be something else.
link |
00:03:46.520
And we'd have to have some more fundamental resolution
link |
00:03:48.680
of the relationship of these formal systems
link |
00:03:50.800
and how they get extended.
link |
00:03:52.240
So that's like a 22nd century question
link |
00:03:54.480
instead of a 21st century.
link |
00:03:55.720
Do you like, do you find the Stephen Wolfram idea compelling?
link |
00:03:58.840
It's a very different way of programming,
link |
00:04:01.480
which is you set some rules,
link |
00:04:03.160
you set some initial conditions,
link |
00:04:04.520
and let it run and see what happens.
link |
00:04:06.120
Yeah, and it's not a new concept.
link |
00:04:07.600
I mean, like the Santa Fe Institute's been doing that
link |
00:04:09.760
for a long time and you can use it for economic modeling
link |
00:04:12.800
and you can show that in certain cases,
link |
00:04:14.640
there's this concept of simple rules
link |
00:04:16.320
evolving into a complex system
link |
00:04:18.160
is somewhat more predictive
link |
00:04:20.240
than trying to build a complex top down model for things.
link |
00:04:23.480
And I guess there's some analogies to these things in AI
link |
00:04:25.880
where you start with some simple things
link |
00:04:27.520
and then somehow it just figures stuff out
link |
00:04:29.520
in its environment over time
link |
00:04:30.920
and much better than if you actually tried to model it
link |
00:04:32.760
with prologue or something like that.
link |
00:04:35.720
So that is exciting
link |
00:04:38.640
because you get to just do a few things,
link |
00:04:40.800
let the thing run and then see what happens.
link |
00:04:43.080
And that's a lot of fun.
link |
00:04:43.960
In fact, it got so exciting, Wolfram came to us and he said,
link |
00:04:46.740
''Hey, let's do an NFT marketplace.''
link |
00:04:48.440
I said, ''What do you wanna do?'',
link |
00:04:49.280
and he said, ''I got all these universes to sell.''
link |
00:04:51.360
And I said, ''Okay, well that's gonna be fun.
link |
00:04:54.620
So we're gonna set up an auction system
link |
00:04:56.120
or something like that with him.
link |
00:04:57.280
And I think maybe end of this month or next month,
link |
00:05:00.000
we'll figure out how to do NFTs on Cardano
link |
00:05:02.800
with Wolfram universes.
link |
00:05:04.520
So as soon as we can sell one, I'll give you one
link |
00:05:06.880
and then we can all just claim
link |
00:05:08.360
that we're living in some sort of Wolfram simulation.
link |
00:05:10.700
I don't know how much money I have,
link |
00:05:12.160
but I'm gonna give everything I have to get rule 30,
link |
00:05:15.400
which is one of his universes that he's created.
link |
00:05:18.240
One of the first ones where he discovered
link |
00:05:21.560
some interesting complexities.
link |
00:05:24.280
I think rule 30 is Turing complete or is that 45?
link |
00:05:26.960
I can't remember which one.
link |
00:05:28.600
You know your stuff.
link |
00:05:29.720
Actually, I'm not sure if they proved anything
link |
00:05:31.240
about rule 30 in terms of whether it's Turing complete
link |
00:05:33.340
or not, but there's fun competitions on it,
link |
00:05:35.920
which is trying to predict something about rule 30,
link |
00:05:38.120
about the way it evolves.
link |
00:05:39.320
And so far, nobody's been able to do it.
link |
00:05:41.440
Just like looking at the middle column,
link |
00:05:43.320
try to predict as the system evolves,
link |
00:05:45.520
say anything like conclusive about the future
link |
00:05:49.480
of the system as it evolves.
link |
00:05:50.920
It's fascinating.
link |
00:05:51.880
It's both beautiful that simple rules
link |
00:05:54.560
can create that kind of complexity.
link |
00:05:56.600
And it's also sad that we can't like make perfect sense
link |
00:06:01.600
of it, like perfectly predict the future.
link |
00:06:05.880
Even though it's all simple and deterministic,
link |
00:06:08.240
we can't say something conclusive about like
link |
00:06:10.620
when the thing will end.
link |
00:06:12.240
When will this little cellular automata
link |
00:06:14.160
like evolve in a certain way
link |
00:06:15.680
and then nuclear weapons will be invented
link |
00:06:17.320
and they blow each other up
link |
00:06:18.260
and then they'll just be this empty 1D cellular automata.
link |
00:06:21.440
Well, doesn't that make it fun though?
link |
00:06:24.180
Yeah, it's fun, but when you're trying to create
link |
00:06:27.160
and we'll talk about something that operates the economy
link |
00:06:32.880
and the way humans transact and cooperate
link |
00:06:36.000
and fall in love and work together,
link |
00:06:39.360
then you'd like to be a little bit more formal
link |
00:06:41.160
and try to say something conclusive.
link |
00:06:42.760
If this entire universe is just cellular automata,
link |
00:06:45.900
then being conclusive is kind of hopeless,
link |
00:06:49.440
generally speaking.
link |
00:06:50.400
And the hope is, I guess, that there'll be pockets
link |
00:06:54.160
of which within the cellular automata
link |
00:06:57.280
where you could be predictive,
link |
00:06:58.720
where you can formally show that something is true
link |
00:07:01.920
and then you can rely on that.
link |
00:07:03.560
You'll be resilient and all those kinds of things,
link |
00:07:05.360
even though the rest of the thing is a giant mess
link |
00:07:08.720
that's unpredictable.
link |
00:07:09.560
Didn't they call that Laplace's demon?
link |
00:07:11.120
Yes, I wonder what the demons up to these days.
link |
00:07:14.480
Okay, thank you for entertaining me with that.
link |
00:07:17.400
But sticking on philosophy, you've also mentioned,
link |
00:07:21.160
among others, that Bertrand Russell and Saul Kripke
link |
00:07:24.680
are two of your favorite philosophers.
link |
00:07:27.960
Maybe you can comment on what ideas of theirs
link |
00:07:30.060
you find insightful and also what do you use the difference,
link |
00:07:33.760
because you're both an engineer and a thinker,
link |
00:07:37.280
so what do you use the difference
link |
00:07:38.480
between philosophy and computer science?
link |
00:07:40.640
Yeah, so yeah, there's both a deeply human element
link |
00:07:43.960
to both Russell and Saul.
link |
00:07:45.440
And then there's this, of course, amazing work
link |
00:07:47.780
that they did in the late 19th and 20th century.
link |
00:07:50.920
And you can't really talk about Russell or Saul
link |
00:07:54.360
without also mentioning Wittgenstein and Tarski.
link |
00:07:58.800
Because when you actually look at these guys
link |
00:08:00.800
and you put them together, what they were attempting to do
link |
00:08:02.840
was increase the level of precision we had
link |
00:08:05.080
in analyzing both formal languages
link |
00:08:06.840
and also language in general.
link |
00:08:08.960
And so Wittgenstein makes no sense at all to me.
link |
00:08:11.520
So there's amazing people out there
link |
00:08:13.620
that somehow can parse that, but.
link |
00:08:15.440
He doesn't make sense to himself either.
link |
00:08:17.280
I think you're right about that.
link |
00:08:18.260
However, Kripke has Kripkenstein.
link |
00:08:20.240
He has his whole building on that, right?
link |
00:08:24.520
And he built a whole hierarchy.
link |
00:08:25.800
And at least there I have modal logic
link |
00:08:27.600
and I have the little boxes and I have the diamonds
link |
00:08:30.420
and I can do a computation and I can kind of reason
link |
00:08:32.700
about things that people are saying.
link |
00:08:35.540
But really it was all just about precision
link |
00:08:38.280
and the nature of truth, precision,
link |
00:08:40.160
the nature of necessity and possibility.
link |
00:08:41.980
And the magic of these statements
link |
00:08:43.560
is that you can then start getting a better understanding
link |
00:08:47.440
of basically how far a formal language can take you.
link |
00:08:52.080
And so that's the work of it.
link |
00:08:53.920
David Hilbert also did the same thing.
link |
00:08:55.680
And Russell, he got his career started
link |
00:08:57.720
working with Alfred North Whitehead.
link |
00:08:59.080
He was a logician and there was this whole desire
link |
00:09:01.440
in late 19th century mathematics to formalize mathematics
link |
00:09:04.620
in a completely new and better way.
link |
00:09:07.720
And they started with geometry
link |
00:09:08.960
and Hilbert's geometry was like a complete system,
link |
00:09:11.600
although recently we've discovered
link |
00:09:13.240
there's a few holes in that.
link |
00:09:14.540
But for the most part it was complete
link |
00:09:16.180
and the axioms are independent and they're consistent.
link |
00:09:20.440
And they said, oh, well now we can do this
link |
00:09:22.040
for all of mathematics.
link |
00:09:23.080
And Russell and Whitehead wrote this huge set of books,
link |
00:09:26.660
like two big books,
link |
00:09:27.840
Principia Mathematica, a thousand pages
link |
00:09:29.880
and the conclusion is one plus one equals two.
link |
00:09:32.200
So they linked set theory and arithmetic and logic
link |
00:09:34.840
all in these beautiful ways.
link |
00:09:36.400
Then little by little, as we entered the 20th century,
link |
00:09:40.280
logicians started chipping away at this idea
link |
00:09:42.560
that you could actually construct
link |
00:09:43.640
a complete system of mathematics.
link |
00:09:45.960
First with Gödel and then later with the work of Turing
link |
00:09:48.200
and Church and others.
link |
00:09:49.440
They said, oh, you're not complete, you're not decidable.
link |
00:09:52.040
And so suddenly Russell was left in this really bad position
link |
00:09:55.460
where his early life's work was basically forgotten.
link |
00:09:59.200
So he had to kind of reinvent himself.
link |
00:10:00.800
And so he went into ethics
link |
00:10:02.060
and he went into different fields of philosophy.
link |
00:10:03.600
He became this titan in analytic philosophy
link |
00:10:05.600
and he was also a great pacifist
link |
00:10:08.000
and he was just a phenomenal writer.
link |
00:10:11.320
If you read Why I'm Not a Christian
link |
00:10:12.880
or any of his other attacks on metaphysics,
link |
00:10:15.940
he said, look, I can only deal with the world I'm in
link |
00:10:18.480
in the senses that I have
link |
00:10:19.920
and if I can deduce it, I believe it.
link |
00:10:21.880
If it's outside of that,
link |
00:10:23.320
I really can't make meaningful statements about it.
link |
00:10:25.920
And he said it in a lovely English prose
link |
00:10:28.280
that you would expect of a man of his stature.
link |
00:10:30.260
Now, Sol Cryptry, it was like the complete opposite.
link |
00:10:33.260
This guy's really down to earth dude,
link |
00:10:35.560
not aristocratic at all.
link |
00:10:36.920
And he was one of those guys
link |
00:10:38.680
that just could have done anything
link |
00:10:40.240
because he was so, he's so brilliant.
link |
00:10:42.080
I guess he's still alive.
link |
00:10:43.160
I think he's 80 something.
link |
00:10:44.280
Yeah, exactly.
link |
00:10:45.600
Yeah, he's getting up there, man.
link |
00:10:47.120
But I mean, literally, when he was in high school,
link |
00:10:49.040
he wrote these papers in logic and Harvard contacted him,
link |
00:10:52.000
said, hey, could you teach graduate courses at Harvard?
link |
00:10:55.080
And he said, no, I really would like to finish high school
link |
00:10:57.160
first before I go and teach grad school at Harvard.
link |
00:10:59.880
And so this is just one of those guys
link |
00:11:01.420
that you can see through his work
link |
00:11:03.400
that he can think deeply about anything.
link |
00:11:05.160
He's like the Galois of philosophy
link |
00:11:07.180
and he chose to try to clean up a lot of the messes
link |
00:11:10.920
that Tarski and others couldn't resolve.
link |
00:11:12.720
He said, let's really get serious
link |
00:11:14.240
about the nature of truth.
link |
00:11:15.280
Let's really try to resolve paradoxes.
link |
00:11:17.640
Let's really try to build things in such a way
link |
00:11:19.900
that the work that we leave behind
link |
00:11:21.920
can actually be built upon
link |
00:11:23.520
and it's not thrown away every 50 years or 100 years.
link |
00:11:26.680
And it was the same for Tarski.
link |
00:11:27.880
He comes in and he says,
link |
00:11:28.720
we mathematicians love this concept of truth,
link |
00:11:31.280
but yet we've never really created
link |
00:11:32.600
a nice rigorous definition
link |
00:11:33.880
that doesn't have paradoxes embedded inside of it.
link |
00:11:36.560
So he had to invent metal languages and object languages,
link |
00:11:39.160
all these notions and so forth.
link |
00:11:40.840
So I really liked those four, if you think about them.
link |
00:11:43.440
And there's a lot of great lessons.
link |
00:11:46.000
And where it's relevant today is,
link |
00:11:48.320
you have human beings and you have computers
link |
00:11:50.400
and they're trying to understand each other.
link |
00:11:52.000
And computers live in the formal world
link |
00:11:53.680
and human beings live in the natural language world.
link |
00:11:56.000
And those bridges between those two
link |
00:11:58.280
are still not completely clear.
link |
00:12:00.920
And so a lot of the work that these guys were doing
link |
00:12:03.120
in the 20th century, 19th century
link |
00:12:04.320
had nothing at all to do with that,
link |
00:12:06.160
but gives you hope that perhaps a bridge can exist
link |
00:12:09.020
between those two worlds.
link |
00:12:10.040
And maybe there are some nice tools
link |
00:12:11.960
for that bridge to be built upon.
link |
00:12:13.560
And maybe that in some way will allow computers
link |
00:12:16.040
to better understand us.
link |
00:12:17.040
I mean, they've even created languages,
link |
00:12:19.100
natural spoken languages that are completely ambiguity free
link |
00:12:21.720
like Lojban and things like that.
link |
00:12:23.760
What? Yeah, right.
link |
00:12:25.120
Wait, what? L O J B A N, Lojban.
link |
00:12:27.520
It's based on a language called Loglan
link |
00:12:29.200
and it's a spoken language
link |
00:12:30.920
that's equivalent to first order predicate calculus.
link |
00:12:33.280
Oh, interesting.
link |
00:12:34.120
So no ambiguities, it's logically consistent.
link |
00:12:36.600
Yeah, Lojban.
link |
00:12:38.240
But can you still have fun in it?
link |
00:12:40.080
You can get very.
link |
00:12:40.920
Can you write poetry or what?
link |
00:12:42.240
There's people who actually write poetry in Lojban.
link |
00:12:44.560
I'm gonna switch to that and start tweeting in it.
link |
00:12:46.480
Yeah, there you go.
link |
00:12:48.080
So there's a lot there
link |
00:12:49.880
and they're just fun to study and think about.
link |
00:12:52.080
And unfortunately, if you go down that rabbit hole,
link |
00:12:55.040
you'll spend way, way too much time
link |
00:12:56.800
and there's diminishing returns.
link |
00:12:57.980
Now, the second question you asked
link |
00:12:59.220
was one on theoretical computer science to,
link |
00:13:02.420
I guess, engineering.
link |
00:13:03.260
Philosophy, no, no, no, no, no, no.
link |
00:13:04.760
So first step, you said humans and computers.
link |
00:13:07.840
So theoretical computer science
link |
00:13:09.440
is theory of the computer
link |
00:13:11.400
and philosophy is the theory of the human.
link |
00:13:14.400
And then we can dissect different stuff about the computer,
link |
00:13:17.520
but in terms of these two worlds
link |
00:13:19.360
of the theory of the human,
link |
00:13:20.480
which is philosophy and the theory of the computer,
link |
00:13:22.840
which is computer science,
link |
00:13:23.800
what do you think is the difference?
link |
00:13:25.520
Like, as we try to bridge that gap, as you mentioned,
link |
00:13:29.200
what is going to be the biggest challenge?
link |
00:13:33.000
Like, can we formalize love?
link |
00:13:35.760
Can we formalize music, art, poetry,
link |
00:13:38.460
all that kind of stuff?
link |
00:13:39.300
Or is that human nonsense that we need to get rid of?
link |
00:13:42.040
No, I don't think it's human nonsense at all.
link |
00:13:43.780
I mean, there's even attempts
link |
00:13:44.960
to create algorithmically generated music.
link |
00:13:47.360
And the question is,
link |
00:13:49.440
is love just strictly a chemical phenomena?
link |
00:13:51.720
Is there something like metaphysical about it
link |
00:13:54.720
or transcendent of some sort of formal system?
link |
00:13:59.060
I mean, computer science is just saying,
link |
00:14:00.680
hey, we have this notion of computing.
link |
00:14:03.880
We have this brain that we've constructed,
link |
00:14:06.080
this formal system that we've built.
link |
00:14:08.280
And given that we have it, what can we do with it?
link |
00:14:11.360
And so some people worry
link |
00:14:12.760
about the roots of the tree of knowledge,
link |
00:14:14.920
the great Yggdrasil of computer science.
link |
00:14:17.060
They worry about the roots and say,
link |
00:14:18.160
how far can we grow them?
link |
00:14:20.060
And let's keep adding these new models of computation.
link |
00:14:22.800
And other people worry about the trunk of the tree.
link |
00:14:25.540
And some people worry about the leaves of the tree.
link |
00:14:27.960
And the more advanced the field gets,
link |
00:14:30.540
the closer and closer it gets
link |
00:14:32.400
to the people who constructed it, us.
link |
00:14:35.320
We have better image processing.
link |
00:14:37.580
We have better ways of handling speech to texts.
link |
00:14:39.960
And we have better ways of computers
link |
00:14:41.440
kind of understanding the intent
link |
00:14:43.280
of what a human being is saying.
link |
00:14:45.120
And then the question is, well,
link |
00:14:46.740
how will a computer understand love or poetry or music?
link |
00:14:50.080
Well, it'll understand it the same way we understand it.
link |
00:14:52.840
You have to get a computer to grow up to a point,
link |
00:14:54.840
work and learn the way we learn
link |
00:14:56.360
or as close to it as possible.
link |
00:14:58.400
Then you just expose it to the things
link |
00:15:00.360
that we were exposed with.
link |
00:15:01.480
And then at some point,
link |
00:15:02.320
the computer will start creating things.
link |
00:15:04.720
So the question is, well, how do you quantify creativity?
link |
00:15:07.120
And I have no clue about that.
link |
00:15:09.360
But it's a...
link |
00:15:10.200
You make it into an NFT and see how much it excels for it.
link |
00:15:12.240
That's one way.
link |
00:15:14.440
Yeah.
link |
00:15:15.280
But basically, yeah, there's so much of it is subjective.
link |
00:15:18.360
And that's a fascinating whole area of,
link |
00:15:21.240
that I'm fascinated with this human robot interaction
link |
00:15:23.560
is how do we create compelling experiences
link |
00:15:27.360
that are subjectively compelling,
link |
00:15:28.560
whether it's art or just two humans talking
link |
00:15:31.120
or two humans interacting in some kind of way
link |
00:15:33.440
to maximize the richness of the subjective experience.
link |
00:15:36.840
And I think that could be an optimization problem
link |
00:15:38.960
that could be solved.
link |
00:15:39.780
We're solving it all the time.
link |
00:15:41.360
Human civilization is constantly trying to...
link |
00:15:43.640
We're constantly trying to impress each other.
link |
00:15:46.880
When we're younger, trying to get laid,
link |
00:15:49.320
whatever, fall in love, impress your boss at work
link |
00:15:53.080
by all the awesome stuff you do.
link |
00:15:54.200
I mean, we're trying to optimize that problem
link |
00:15:56.360
that's purely, for the most part, is subjective.
link |
00:15:59.440
Right, did you ever watch Blade Runner 2049?
link |
00:16:01.600
Yes.
link |
00:16:02.440
Yeah, did you remember the whole relationship
link |
00:16:03.680
between Joy and Kay?
link |
00:16:05.160
And did she really love him, the hologram or not?
link |
00:16:08.720
Was it like fake love or real love?
link |
00:16:10.800
Fake it till you make it is my view on love.
link |
00:16:13.640
No comment from Charles.
link |
00:16:14.680
So let's go to the difference between
link |
00:16:19.480
theoretical computer science and software engineering.
link |
00:16:22.480
Or I don't know if you draw a distinction,
link |
00:16:24.800
but if we look into this computer world now,
link |
00:16:27.160
is there a difference between theory,
link |
00:16:29.680
things you can say formally,
link |
00:16:31.360
and the pragmatic implementation of that theory
link |
00:16:34.760
into actual systems that people use,
link |
00:16:37.400
which I guess we'll call software engineering?
link |
00:16:40.200
So the engineer, they're obsessed with the domain of,
link |
00:16:43.280
well, what do you want to accomplish
link |
00:16:44.520
and who are you accomplishing it for?
link |
00:16:46.280
So they live in the world of people,
link |
00:16:48.520
if they're good engineers.
link |
00:16:49.840
And they say, okay, what's the experience?
link |
00:16:52.680
How are we going to use this?
link |
00:16:54.260
Why are we going to do this?
link |
00:16:55.720
What's the commercial application?
link |
00:16:57.240
What's the noncommercial application?
link |
00:16:59.120
And you collect all these business requirements.
link |
00:17:01.300
And once you've done all of that,
link |
00:17:03.360
the better job you do, the more self evident it is
link |
00:17:06.520
of how do we apply the toys and tools of computer science
link |
00:17:10.480
and other such things to actually resolve that.
link |
00:17:13.260
And the point of theoretical computer science
link |
00:17:15.880
from the software engineering domain
link |
00:17:17.600
is it can tell you kind of where your guardrails are.
link |
00:17:20.160
It won't make perfect programs.
link |
00:17:22.360
And there's no such thing as that,
link |
00:17:24.280
but rather it can give you a good notion and sense
link |
00:17:27.000
that your program has some desirable properties.
link |
00:17:30.760
Like maybe you can prove that it can terminate.
link |
00:17:33.340
If you're dealing with total programs
link |
00:17:34.960
or maybe you can prove you'll never have a buffer overflow
link |
00:17:37.880
or you won't divide by zero somewhere or something like that.
link |
00:17:41.320
Some event won't occur
link |
00:17:43.120
that'll cause a catastrophic failure in your system.
link |
00:17:45.640
But there's always this combinatorial explosion
link |
00:17:47.680
between what you can test and think about
link |
00:17:50.700
and what you can actually code.
link |
00:17:52.820
So the stuff on the left hand side
link |
00:17:54.580
lives in a different cardinality, a different universe.
link |
00:17:57.700
There's something significantly larger there.
link |
00:17:59.880
And the tools on the right hand side,
link |
00:18:01.820
we have property based testing and these SAT solvers.
link |
00:18:04.600
We have all this great stuff here in formal methods land
link |
00:18:07.740
and computer science theory land,
link |
00:18:09.560
but there's only a small subset of things
link |
00:18:11.720
that they actually give you good answers about.
link |
00:18:14.580
So the balance of the two things is basically saying,
link |
00:18:17.220
well, what do you care about?
link |
00:18:18.900
And what are you okay throwing away?
link |
00:18:20.920
That's the art of engineering
link |
00:18:22.680
and building these types of things.
link |
00:18:24.800
So, you know, cryptocurrencies,
link |
00:18:26.360
we deal with these complex distributed systems
link |
00:18:28.840
that have cryptography and game theory
link |
00:18:30.880
and Byzantine actors.
link |
00:18:33.000
So the balance there is saying,
link |
00:18:35.000
okay, what can't fail in that system?
link |
00:18:37.840
And that's the kind of stuff that you want to apply
link |
00:18:40.240
as heavy a tool set as you can,
link |
00:18:42.340
because when that stuff fails,
link |
00:18:44.120
you either have a loss of billions of dollars,
link |
00:18:46.240
privacy, or potentially even life,
link |
00:18:48.560
depending on how these systems get adopted.
link |
00:18:50.860
But then other things, you know, what can fail?
link |
00:18:52.920
Is it okay if the block doesn't get made every now and then?
link |
00:18:56.320
Is it okay if your latency goes up
link |
00:18:58.240
or your network suddenly becomes asynchronous
link |
00:19:01.280
and you disconnect from it and you have to restart
link |
00:19:03.600
the computer or something like that?
link |
00:19:05.400
That's probably okay.
link |
00:19:06.560
It's an inconvenience and burden to the user.
link |
00:19:09.040
And if you actually try to chase that tail,
link |
00:19:10.880
you'll end up spending 10 years chasing phantoms and ghosts.
link |
00:19:13.640
And meanwhile, the whole world moves on.
link |
00:19:16.160
So it's really figuring out those balance of the two.
link |
00:19:18.240
And what's really beautiful is that the formal methods tools
link |
00:19:21.640
have gotten so much better
link |
00:19:23.080
over the last 20 years in particular,
link |
00:19:25.140
mostly because of incredibly high investments
link |
00:19:27.640
from Microsoft and Google and big universities,
link |
00:19:31.040
because these guys are building these gargantuan systems.
link |
00:19:34.920
If you look at the Googleplex
link |
00:19:36.160
or what Amazon has or others,
link |
00:19:37.920
and they have so much value, so many users,
link |
00:19:40.680
so many things going on,
link |
00:19:41.780
and no person can keep that in their head.
link |
00:19:44.480
And so you're talking about systems
link |
00:19:46.400
may have 10 million lines of code,
link |
00:19:48.400
15 million lines of code,
link |
00:19:49.740
millions of nodes connecting,
link |
00:19:51.840
faulty processes happening all the time,
link |
00:19:53.600
hackers breaking in on a regular basis.
link |
00:19:56.040
So when you're trying to model all of that,
link |
00:19:58.040
trying to ask yourself,
link |
00:19:59.200
what formal guarantees and properties can I get
link |
00:20:01.720
to simplify this system as much as possible?
link |
00:20:04.400
So instead of the applications of formal methods
link |
00:20:06.400
slowing you down, in many cases,
link |
00:20:08.040
it actually massively reduces your debugging time
link |
00:20:11.160
and your ability to find where errors occur.
link |
00:20:13.200
In some cases, you can't find where errors occur
link |
00:20:15.440
inside these massive concurrent systems.
link |
00:20:17.360
And you say, well, where are cryptocurrencies going?
link |
00:20:19.320
We're talking about just the same thing.
link |
00:20:21.460
But we're talking about
link |
00:20:22.300
a much more hostile operating environment,
link |
00:20:24.920
where instead of it running in a pristine data center
link |
00:20:27.400
in California somewhere,
link |
00:20:28.780
it's running on your cell phone,
link |
00:20:30.280
it's running on your mom's phone,
link |
00:20:31.480
it's running your dad's phone,
link |
00:20:32.500
it's running on some computer in Mongolia
link |
00:20:35.340
that may have good internet on Tuesday,
link |
00:20:37.640
but not any other day.
link |
00:20:39.180
So when you live in that kind of environment,
link |
00:20:40.800
you really do need to think carefully
link |
00:20:42.720
about a whole new class of protocols.
link |
00:20:44.760
And then you need to think carefully
link |
00:20:46.120
about a whole new class of tools and techniques
link |
00:20:48.180
to test the reliability of those systems.
link |
00:20:50.560
And you need to separate the world and say,
link |
00:20:52.960
what is high assurance and cannot fail?
link |
00:20:55.160
Because if it fails, people lose money.
link |
00:20:57.400
And what is low assurance?
link |
00:20:58.700
And it's okay if that falls apart.
link |
00:21:01.260
The other thing I'll mention
link |
00:21:02.100
is there are perverse financial incentives in our industry.
link |
00:21:05.360
Because the reality is when something blows up,
link |
00:21:07.760
the people who built those things that blow up
link |
00:21:09.580
usually get paid upfront.
link |
00:21:11.280
So what they're focusing on is time to market,
link |
00:21:13.760
speed to market, and getting tokens out
link |
00:21:16.160
and getting them liquid.
link |
00:21:18.200
And then people come in, they buy it,
link |
00:21:20.080
but if there's a nascent bug in some DeFi protocol,
link |
00:21:22.640
it'll probably be discovered six months later
link |
00:21:24.480
or something like that.
link |
00:21:25.580
It blows up, who suffers?
link |
00:21:27.280
The users.
link |
00:21:28.120
The people that created that already got paid.
link |
00:21:30.320
Exactly, that's why you pay the guy
link |
00:21:31.960
who makes the breaks software for your train last.
link |
00:21:34.860
And you make sure he rides the train every day.
link |
00:21:37.160
So you're basically describing the complexity
link |
00:21:41.800
of a distributed system that's fundamentally game theoretic.
link |
00:21:45.920
And like, if we think about turtles all the way down,
link |
00:21:48.240
it's humans all the way down.
link |
00:21:49.360
I mean, at the very bottom is still human nature.
link |
00:21:52.800
Is there something you can say formally about human nature
link |
00:21:58.640
to try, you said you can't,
link |
00:22:00.000
there's certain parts of the system that can't fail.
link |
00:22:02.880
Some people talk about nuclear war in that same kind of way,
link |
00:22:05.800
that there's this game theoretic construction
link |
00:22:08.160
of mutually assured destruction.
link |
00:22:10.000
Oh, that rhymes, see, I'm a poet.
link |
00:22:12.160
That system can't fail because you're gonna blow everyone up
link |
00:22:15.920
but you can't formally say for sure
link |
00:22:18.440
it's not going to fail.
link |
00:22:20.560
So like, you're basically trying to chase,
link |
00:22:24.200
like statistically reduce the probability
link |
00:22:26.200
that these particular critical aspects will fail.
link |
00:22:29.480
And then you test, I guess, by deploying in the real world
link |
00:22:32.400
at small scale to see where things go wrong.
link |
00:22:35.040
Yeah, it's a great question.
link |
00:22:36.360
And the problem with game theory and mechanism design
link |
00:22:39.280
is that you can develop this concept of a rational actor.
link |
00:22:42.120
And I don't think in my life
link |
00:22:43.140
I've ever met a rational actor.
link |
00:22:44.880
There's a rational actor on Tuesday,
link |
00:22:46.400
but any other day of the week, who the hell knows?
link |
00:22:49.040
And there's even, I think there was a book Freakonomics
link |
00:22:50.920
and there's a few of these things
link |
00:22:51.880
where it just shows again and again
link |
00:22:53.400
where people behave in ways
link |
00:22:55.560
that are against their best interest.
link |
00:22:57.400
So then you have these protocol designers and they say,
link |
00:22:59.360
well, we need an honest majority for this thing to work.
link |
00:23:02.400
And they say, okay, well, we'll create this incentive model
link |
00:23:05.200
and rational actors will behave with that incentive model.
link |
00:23:08.560
And they say, well, the individual won't do that
link |
00:23:10.360
but the firm, the government, the entity will.
link |
00:23:13.960
The problem with that is we have a lot of counter examples
link |
00:23:16.240
where the system was actually behaving in weird ways.
link |
00:23:20.280
Like we almost completely eradicated the human population
link |
00:23:22.880
twice in the 20th century,
link |
00:23:24.720
once during the Cuban missile crisis.
link |
00:23:26.400
And again, in the 1980s, there was a Russian Colonel
link |
00:23:29.220
and they installed a new satellite system and it said,
link |
00:23:32.060
hey, the Americans are launching missiles at us.
link |
00:23:34.160
You need to turn the key in,
link |
00:23:35.480
launch all the missiles in the silo.
link |
00:23:36.840
And he said, oh, that's not right.
link |
00:23:38.480
That doesn't seem right.
link |
00:23:39.440
And he was reprimanded for not launching the missiles.
link |
00:23:42.560
So in both cases, a single person stood
link |
00:23:45.840
against the systems of superpowers
link |
00:23:48.320
between us and nuclear annihilation.
link |
00:23:50.940
So in general, we're really bad
link |
00:23:53.340
at building these types of things.
link |
00:23:55.360
So what you look for instead is say,
link |
00:23:57.080
can the system be self correcting?
link |
00:23:59.100
It's not about avoiding a problem.
link |
00:24:01.400
It's more about can the problem be resolved?
link |
00:24:04.400
And that's how nature engineers things.
link |
00:24:06.320
It gives you an immune system.
link |
00:24:07.680
It gives you the ability to heal.
link |
00:24:09.320
If a rainforest has a fire or some catastrophic event,
link |
00:24:13.160
the ecosystem will find a way to patch things up.
link |
00:24:16.520
So it's a better question of how do you align
link |
00:24:18.240
the incentives over the longterm of a system
link |
00:24:20.460
where all the actors within the system,
link |
00:24:22.520
when an event occurs that disrupts it,
link |
00:24:24.880
have an incentive to push it back
link |
00:24:26.400
into a healthy, productive, useful state,
link |
00:24:29.520
which is going back kind of to that complexity theory stuff
link |
00:24:32.580
that we began with and a little bit about,
link |
00:24:35.280
how do you handle modern economics?
link |
00:24:37.560
Like for example, we knew this coming into the COVID crisis
link |
00:24:41.160
that there would be catastrophic economic disruption
link |
00:24:43.960
throughout the entire world.
link |
00:24:45.060
In the developed world, it was print lots of money
link |
00:24:48.120
and hope to God it works.
link |
00:24:49.520
In the developing world is try not to starve to death.
link |
00:24:52.060
Over 100 million people were pushed into acute starvation.
link |
00:24:55.400
So acute hunger, it's a terrible situation.
link |
00:24:58.200
But every economist knew we were going into that.
link |
00:25:00.520
So the question is how do you restart the system?
link |
00:25:02.260
How do you realign the system and so forth
link |
00:25:04.240
and make sure that it doesn't collapse at some point.
link |
00:25:08.180
So it's an imperfect, inexact science.
link |
00:25:11.180
And that's actually one of the things
link |
00:25:12.280
that makes our industry so much fun
link |
00:25:14.060
is that these are kind of like micro experiments
link |
00:25:16.840
for the macro.
link |
00:25:18.960
In the years past, you never got a chance to experiment
link |
00:25:22.360
with monetary policy.
link |
00:25:23.980
I mean, it's like every 20 years, 30 years,
link |
00:25:25.720
you'd have some conference,
link |
00:25:26.720
usually in a cool island like Jamaica
link |
00:25:28.840
and be like, okay, let's go talk about monetary policy
link |
00:25:31.160
and like amend the Bretton Woods Agreement.
link |
00:25:33.080
And these would be nation states, invitation only.
link |
00:25:35.560
And now you have over 8,000 cryptocurrencies
link |
00:25:37.600
floating around all with their own monetary policy
link |
00:25:39.760
and their rules and it's very Darwinian.
link |
00:25:42.140
A lot are dying, some are succeeding.
link |
00:25:44.360
Anomalies happen like Dogecoin and you say,
link |
00:25:46.760
God, is this temporary, is this permanent?
link |
00:25:48.760
Why doesn't this horrible thing die?
link |
00:25:51.000
And then other things you think
link |
00:25:52.400
would be absolutely successful
link |
00:25:54.240
and just take off and be in the top 10
link |
00:25:56.360
don't really get as much traction.
link |
00:25:57.840
Like Al Grant is a great example of that.
link |
00:26:00.000
I mean, Silvio, he's an incredibly bright guy.
link |
00:26:03.080
Every time I go to MIT, we have dinner
link |
00:26:04.940
and his work is legendary
link |
00:26:07.800
and it's just beautiful and elegant
link |
00:26:09.400
and he literally has all the people.
link |
00:26:11.520
He went and hired Tal Robin
link |
00:26:12.880
and she got at IBM Research and Craig Gentry,
link |
00:26:16.120
the guy who did homomorphic encryption
link |
00:26:17.480
under Dan Boneh is there.
link |
00:26:18.560
There's all these amazing people on that team
link |
00:26:20.920
and they have money in the VCs.
link |
00:26:22.860
So you'd say, okay, that's a contender.
link |
00:26:25.400
But if you look at market adoption,
link |
00:26:27.660
Ethereum Classic sometimes is above it
link |
00:26:30.120
and other things are above it.
link |
00:26:31.040
And then there's this weird Darwinian evolution produced
link |
00:26:35.100
Dogecoin organism that's just stomping all around.
link |
00:26:38.760
Evolution doesn't make sense.
link |
00:26:40.000
Exactly, but maybe it's worth the problem, not evolution,
link |
00:26:43.520
because the market's the market
link |
00:26:44.680
and you can scream and cry and pout
link |
00:26:48.800
and stamp your foot and say this makes no sense,
link |
00:26:50.900
but that's the way the world works.
link |
00:26:52.840
There's plenty of mountain climbers
link |
00:26:54.540
that didn't want gravity to apply to them
link |
00:26:56.360
and it's the same situation here.
link |
00:26:58.840
There's plenty of people in these marketplaces
link |
00:27:00.520
that had the best of intentions, the best team,
link |
00:27:02.360
the best technology, and for whatever reason,
link |
00:27:04.440
they didn't get that adoption.
link |
00:27:06.760
So the question isn't the local,
link |
00:27:08.400
it should be the longterm and will the system over time
link |
00:27:12.680
converge to a state that actually is useful
link |
00:27:15.180
and meaningful to society and actually solve problems
link |
00:27:17.840
for it and that's what we try to figure out
link |
00:27:20.460
is how do we perturb these things in a way
link |
00:27:22.840
to kind of push them in that direction.
link |
00:27:24.800
So before we go into this fascinating
link |
00:27:27.800
Darwinian evolution of cryptocurrencies,
link |
00:27:31.240
let me ask you sort of a basic programming question.
link |
00:27:34.360
There's a fascinating aspect to your work with Cardano
link |
00:27:37.160
that use Haskell to build the infrastructure,
link |
00:27:41.160
but even stepping back more, looking at this landscape,
link |
00:27:44.860
another place where Darwinian evolution operates,
link |
00:27:48.680
looking at this landscape of programming languages,
link |
00:27:51.640
you as an engineer, you as a philosopher, both,
link |
00:27:55.520
what programming languages do you think are interesting
link |
00:27:58.720
and more practically, what programming languages,
link |
00:28:01.160
if you were to advise like students today, should they learn?
link |
00:28:05.000
Yeah, so there's the pedagogy of learning how to program
link |
00:28:08.680
and to express the theory of computer science.
link |
00:28:11.120
Like you have to learn how to write algorithms,
link |
00:28:12.960
you have to learn what data structures are,
link |
00:28:14.800
you have to be able to do analysis of these things
link |
00:28:16.960
and that probably the, I think the debate is over Python
link |
00:28:21.140
is probably the best language or JavaScript
link |
00:28:24.140
to get started with because they're very useful,
link |
00:28:26.120
the libraries are amazing,
link |
00:28:27.440
there's just tons of online materials,
link |
00:28:29.800
even MIT is now teaching their introduction
link |
00:28:32.200
to computer science in Python and they used to do Lisp,
link |
00:28:35.600
I mean, these guys were hardcore.
link |
00:28:37.320
I still love Lisp.
link |
00:28:38.160
Oh man, it's great, these are your father's parentheses,
link |
00:28:41.000
they're elegant weapons from a time long ago.
link |
00:28:44.760
But that's a great starting point
link |
00:28:46.680
and it's not about falling in love with a language,
link |
00:28:49.280
it's just falling in love with computing,
link |
00:28:50.960
it's about falling in love with having a dialogue
link |
00:28:53.560
with a computer and thinking about,
link |
00:28:55.240
well, how would I solve that?
link |
00:28:56.480
How would I interact with that?
link |
00:28:57.860
What does this need to look like?
link |
00:29:00.860
Functional programming is what we've chosen to use
link |
00:29:02.780
for Cardano mostly because we're living in the academic
link |
00:29:06.360
world, we've written 105 papers and the problem is
link |
00:29:08.720
you have to translate that work into code
link |
00:29:11.600
and the gap between an imperative language
link |
00:29:14.000
like a C++ or C and these academic rigorous papers
link |
00:29:18.280
is extremely large and so there's gonna be
link |
00:29:20.960
a lot of semantical ambiguity between those two
link |
00:29:23.520
and what I mean by that is that you might end up
link |
00:29:26.080
implementing a wrong thing.
link |
00:29:28.800
You might think that what you've built is the paper
link |
00:29:31.480
but the computer's not going to tell you that
link |
00:29:33.720
because the paper's written in prose
link |
00:29:35.220
and maybe typed up in LaTeX or something
link |
00:29:37.540
but there's no proof chain, evidence chain
link |
00:29:40.200
that you can show that there's no ambiguity.
link |
00:29:42.360
When you look at a functional language,
link |
00:29:43.660
you're a little closer to math and so as a consequence,
link |
00:29:47.240
the translation of the papers that we spent
link |
00:29:49.680
so damn long writing and writing proofs about
link |
00:29:52.160
and so forth to code is much smaller.
link |
00:29:55.440
Now the downside is these functional languages
link |
00:29:57.280
tend to be a bit more academic and they tend to have
link |
00:29:59.840
not necessarily the best Windows support
link |
00:30:02.000
and the libraries aren't so good
link |
00:30:03.200
and also they tend to be a little slower
link |
00:30:04.920
when compared as a whole on average
link |
00:30:07.360
to languages like C for example.
link |
00:30:10.000
So it's really a question of okay,
link |
00:30:11.800
what are you designing for for version one?
link |
00:30:14.080
Are you designing for performance
link |
00:30:16.160
and are you designing for developer accessibility
link |
00:30:19.000
or are you designing for correctness
link |
00:30:21.120
and are you designing for a high fidelity representation
link |
00:30:26.800
of the protocol?
link |
00:30:27.840
Okay, so Haskell was chosen as kind of the version one
link |
00:30:32.120
because we knew that the kinds of people
link |
00:30:34.160
who think about that are also the kinds of people
link |
00:30:36.360
that would have an easy time reading a paper
link |
00:30:38.240
like Ouroboros and working their way through all of this
link |
00:30:41.440
and they would do a pretty good job
link |
00:30:43.200
running a formal specification
link |
00:30:45.040
and then translating that into running code.
link |
00:30:47.640
Then once you have that, you have a blueprint
link |
00:30:49.840
that you can actually reason about, maintain
link |
00:30:52.400
and if you really wanted to,
link |
00:30:53.560
you could then turn that into a Rust code base
link |
00:30:55.880
or into a Java code base.
link |
00:30:57.640
Going the other way around would be kind of pointless
link |
00:31:00.720
and counterproductive.
link |
00:31:01.960
The other side of it is that Haskell code
link |
00:31:06.520
or functional code tends to be significantly more concise
link |
00:31:09.640
and I actually have a real life example of that.
link |
00:31:12.040
So if you take a look at Mantis,
link |
00:31:14.080
we implemented a full Ethereum node in Scala.
link |
00:31:17.880
It's only about 14 or 15,000 lines of code
link |
00:31:21.080
and you compare that with like C++ Bitcoin,
link |
00:31:23.400
I think that's 120, 150,000 lines of code.
link |
00:31:26.560
So it's almost 10 times smaller
link |
00:31:28.640
and so less code, less to read
link |
00:31:31.120
and you tend to read code significantly more
link |
00:31:33.160
than you would read write code.
link |
00:31:36.520
So it's always an advantage for a maintenance,
link |
00:31:39.280
understandability, documentation and other sort of things
link |
00:31:42.800
when you have more concise code bases
link |
00:31:45.200
and also it's a lot easier for you to apply stronger tools
link |
00:31:50.240
to a functional code base like static analysis
link |
00:31:53.440
or property based testing or these types of things
link |
00:31:55.960
than an imperative code base.
link |
00:31:57.320
But the thing is, it's almost like a religion
link |
00:31:59.960
or language, it's like saying,
link |
00:32:01.760
French versus Russian versus English,
link |
00:32:03.880
everybody has their adherence.
link |
00:32:05.080
They say, oh, they have the best poetry here.
link |
00:32:07.400
Russian, yeah, wins.
link |
00:32:08.640
There you go, always a Russian.
link |
00:32:10.280
Everybody has their favorite tools
link |
00:32:11.960
and their favorite languages,
link |
00:32:14.080
but it just comes down to what problems
link |
00:32:15.800
are you trying to solve
link |
00:32:16.840
and what problem domain do you live in?
link |
00:32:18.320
If you're inventing new protocols based on science,
link |
00:32:21.360
you're gonna take the time to write a paper,
link |
00:32:23.200
go through the peer review process
link |
00:32:25.400
as you've done personally,
link |
00:32:26.480
you know how hard it can be to get into a conference
link |
00:32:28.680
and go through that and get your ass kicked.
link |
00:32:30.920
Then you also have to apply the exact same level of care
link |
00:32:34.920
to the engineering side in terms of implementation of that
link |
00:32:37.600
or else you will make a mistake
link |
00:32:39.080
and that mistake will probably be an exploit in the system
link |
00:32:41.720
that destroys the security properties of the system.
link |
00:32:44.640
So we really had no choice
link |
00:32:46.080
but to go to some notion of functional.
link |
00:32:48.280
The question was, what's the Goldilocks language?
link |
00:32:50.600
Do you use a hybrid language like Scala and F Sharp
link |
00:32:53.560
or Clojure where you still have some connection
link |
00:32:56.440
to understandable things like.NET or the JVM?
link |
00:33:00.080
Or do you go to an overly academic language like Idris
link |
00:33:03.920
or Agda or, you know, Isabel?
link |
00:33:06.200
And there you can really dial up the correctness
link |
00:33:09.160
and write all kinds of crazy proofs.
link |
00:33:10.840
But by the way, it's like the seven people
link |
00:33:12.760
who write your code, they go on vacation a lot,
link |
00:33:15.100
you'll never get anything done.
link |
00:33:16.700
So Haskell kind of felt like a nice mill ground
link |
00:33:19.360
between those two where if we needed to pull into the left,
link |
00:33:22.200
we could, if you wanted to pull into the right,
link |
00:33:24.180
you could as well.
link |
00:33:25.320
That said, it's really amazing to see
link |
00:33:27.040
what the hybrid languages have done.
link |
00:33:28.560
If I was a new student in computer science
link |
00:33:30.580
and I said, you know, learn any language
link |
00:33:32.720
to grow your career from,
link |
00:33:34.880
Scala 3 is probably the language to go with.
link |
00:33:37.760
Yeah, it's great,
link |
00:33:38.600
because it's like you want it to be like Java, it's Java.
link |
00:33:41.000
And it looks kind of like a Java program.
link |
00:33:42.680
You want it to be like Python and scripted
link |
00:33:44.840
and you reuse a REPL, you can do that.
link |
00:33:46.980
You want to go hardcore dot, you know,
link |
00:33:50.320
dependent object types and do like weird proofs and stuff
link |
00:33:53.400
and the functional, you do all that.
link |
00:33:55.160
You have access to all of these things
link |
00:33:56.920
and Martin Niederski is a brilliant guy.
link |
00:33:58.760
He's done some phenomenal work basically,
link |
00:34:01.320
because he was one guy who created the JVM
link |
00:34:03.400
and he's worked on compilers for over 20 years.
link |
00:34:06.440
He did a lot of really hardcore work
link |
00:34:08.640
in trying to build a concise, nice, modern language
link |
00:34:12.080
that does a little bit of everything.
link |
00:34:13.900
And it's got great applications in data science and AI.
link |
00:34:17.600
It's also heavily used in modern companies,
link |
00:34:20.240
like Netflix uses Scala
link |
00:34:21.640
for all of their microservice architecture.
link |
00:34:23.920
Yeah, so that's a great language and it's easy to pick up
link |
00:34:27.120
and it's easy to hire people into it.
link |
00:34:28.760
You just find these Eastern European guys
link |
00:34:30.480
who were Java programmers for 10 years, 15 years,
link |
00:34:32.600
they got tired of making $20 an hour,
link |
00:34:34.960
so they picked up Scala so they can make $35 an hour
link |
00:34:38.280
and they're really good at it.
link |
00:34:39.920
And that's a great gateway drug
link |
00:34:41.440
because you have like QuickCheck and Haskell,
link |
00:34:43.400
you have ScalaCheck and Scala.
link |
00:34:45.320
You can also do model checking.
link |
00:34:47.300
You can also go and use a TLA spec
link |
00:34:49.680
and make it work with Scala and so forth.
link |
00:34:52.040
So it gets you a little bit of everything
link |
00:34:54.720
and you can then move around that entire design space
link |
00:34:58.920
in a beautiful way.
link |
00:34:59.940
So the recommendation is maybe if you wanna go vanilla,
link |
00:35:05.700
you go Python and JavaScript.
link |
00:35:07.380
When you're getting started.
link |
00:35:08.380
It's the getting started.
link |
00:35:09.200
That'll get you everything.
link |
00:35:10.040
You can do web scrapers and anything.
link |
00:35:11.900
It's just fun.
link |
00:35:12.740
All this experiment with drugs in undergrad,
link |
00:35:14.620
this was where Scala 3 comes in, it's a gateway drug
link |
00:35:17.460
to then potentially more hardcore functional languages
link |
00:35:19.900
like Haskell.
link |
00:35:21.380
Do you think C and C++, C++ still has a role?
link |
00:35:24.240
No, I think Rust is completely replaced, a need for them.
link |
00:35:26.780
Go and Rust, those are the two twins of doom.
link |
00:35:30.100
I mean, Google created Go just to get rid of C.
link |
00:35:33.340
They hated C that much.
link |
00:35:34.700
And then Rust is just a phenomenal language as well.
link |
00:35:37.220
Hate can be a great motivator.
link |
00:35:39.220
Let me ask a question from Reddit on this topic.
link |
00:35:41.920
We're going depth first today.
link |
00:35:43.220
Sure.
link |
00:35:45.320
As a developer, why should I be incentivized
link |
00:35:47.700
to create Cardano based applications?
link |
00:35:50.040
What is on the Cardano developer roadmap?
link |
00:35:52.480
Any other language, I guess this is the key question
link |
00:35:54.740
I wanna ask.
link |
00:35:55.580
Any other language support other than Haskell?
link |
00:35:58.620
The example this person gives is TypeScript,
link |
00:36:01.540
Go, Java, Python, et cetera.
link |
00:36:04.300
Also, have you considered a yearly conference
link |
00:36:06.580
focused around developers?
link |
00:36:07.860
Ha ha, yeah, we saw the Plutus Fest.
link |
00:36:10.180
And we did the first one in 2018, 2019, I can't remember.
link |
00:36:14.780
And we were gonna do one last year, but then COVID hit.
link |
00:36:17.380
So we'll bring it back and we'll probably do it annually
link |
00:36:19.500
at the University of Wyoming for their hackathon there.
link |
00:36:22.140
In fact, it just so happens that coincides
link |
00:36:24.060
with the Goguen Summit.
link |
00:36:24.980
So we're doing that, I think the third week of September.
link |
00:36:28.140
But yeah, it's great to do an annual conference.
link |
00:36:29.880
You can bring a lot of cool people together
link |
00:36:31.500
and you can do hackathons and awards and so forth.
link |
00:36:34.780
But to the question in particular,
link |
00:36:36.460
Plutus is like any other language.
link |
00:36:38.540
Plutus core, you can compile things into it.
link |
00:36:41.040
So it's entirely possible to write a Scala
link |
00:36:43.620
to Plutus core compiler or TypeScript compiler
link |
00:36:46.180
or something like that.
link |
00:36:47.340
But I'm a big believer of separation of concerns
link |
00:36:51.300
and we don't live in a single chain model anymore.
link |
00:36:54.660
So you have a situation where you probably wanna have
link |
00:36:59.020
different execution environments and different chains.
link |
00:37:01.660
So you have different virtual machines there.
link |
00:37:03.260
And that's why we work so closely
link |
00:37:04.580
with the University of Illinois, Urbana Champaign,
link |
00:37:06.460
Kagori Roshu's team at runtime verification.
link |
00:37:09.420
What they did is they said,
link |
00:37:10.360
let's start with something very familiar, LLVM,
link |
00:37:12.820
which has been around for a really long time
link |
00:37:14.420
and they happened to have created it there with Apple.
link |
00:37:17.380
And let's take that and translate that
link |
00:37:19.440
into the blockchain space.
link |
00:37:21.080
Okay, then once you have it,
link |
00:37:23.020
then it's very easy to modify compilers
link |
00:37:26.060
of standard languages like the C's and C++'s
link |
00:37:28.740
and other things that do compile to LLVM already
link |
00:37:31.780
and have them run there.
link |
00:37:33.060
So that's a different execution model
link |
00:37:34.680
than what we tried to build for Plutus,
link |
00:37:36.260
which focuses on correctness, okay?
link |
00:37:38.900
So then all you have to really do is say,
link |
00:37:40.860
can both of these models coexist within the same ecosystem?
link |
00:37:44.300
Because then you kind of, and I did a video,
link |
00:37:46.140
it was called like the island, the ocean, the pond.
link |
00:37:48.100
And the basic idea was say,
link |
00:37:49.900
you have an island where everything's perfect.
link |
00:37:51.780
Calypso lives there, life is great.
link |
00:37:54.940
People feed you grapes every day,
link |
00:37:56.420
but maybe you can't do everything on the island.
link |
00:37:58.940
And the ocean's big, it has everything,
link |
00:38:01.500
but the ocean's got sea monsters and sharks
link |
00:38:04.100
and Boaty McBoatface and all kinds of crazy stuff, right?
link |
00:38:08.320
So that's what Yella is about.
link |
00:38:10.020
It's basically this bring LLVM into our world.
link |
00:38:12.780
And at some point in the next three to five year time
link |
00:38:14.980
horizon, we can bring modern programming languages in,
link |
00:38:18.340
but they're gonna come in with all their flaws
link |
00:38:20.420
and their warts and their problems.
link |
00:38:22.300
And then the pond was the idea
link |
00:38:25.380
of the Ethereum virtual machine.
link |
00:38:26.640
There's some network effect around it
link |
00:38:28.220
and there's some great tooling
link |
00:38:29.340
that's materialized and evolved.
link |
00:38:31.100
And it's not clear if that's the standard yet,
link |
00:38:33.580
or if like MySpace or Blackberry
link |
00:38:35.700
or all of these other things, it'll fade away.
link |
00:38:37.680
Well, if it becomes the standard, okay,
link |
00:38:39.880
don't fight nature, just support it.
link |
00:38:42.980
And the same thing that gives you the ability
link |
00:38:44.700
to bolt on the LLVM will also give you the ability
link |
00:38:48.820
to bolt on the EVM and they can run with their own models
link |
00:38:51.420
and they're encapsulated, bulkheaded, separated systems,
link |
00:38:54.920
but you can move ADA applications,
link |
00:38:57.500
information between those two systems.
link |
00:38:59.860
And so your main chain will always stay
link |
00:39:01.780
somewhat conservative and have the minimum viable amount
link |
00:39:04.500
of expressiveness required on it
link |
00:39:06.340
to do all kinds of interesting things.
link |
00:39:08.900
And also for interoperability,
link |
00:39:10.380
be able to talk to all kinds of interesting things,
link |
00:39:12.940
but it's not trying to be everything to everyone.
link |
00:39:15.140
There's never gonna be an ice cream store in the island.
link |
00:39:18.160
You'll have the grapes and the beautiful women,
link |
00:39:19.780
but no ice cream.
link |
00:39:21.460
Now you're just like distracting me with the ice cream.
link |
00:39:23.700
So just for, because we'll throw around a bunch of terms,
link |
00:39:26.780
for the record, what is Plutus?
link |
00:39:28.380
So Plutus is a programming language.
link |
00:39:29.760
It's kind of a DSL that we built on top of Haskell.
link |
00:39:33.520
And basically we wrote it after spending about three years
link |
00:39:38.020
thinking about all smart contracts.
link |
00:39:40.060
We were trying to figure out like,
link |
00:39:41.860
what is the ideal language to express a smart contract?
link |
00:39:44.460
And then we started thinking, well,
link |
00:39:45.300
what is a smart contract?
link |
00:39:46.420
Is it the whole application,
link |
00:39:48.100
or is it just like a sub module within an application?
link |
00:39:50.960
And usually it's the latter more than the former.
link |
00:39:54.100
You can build a self contained program like a script,
link |
00:39:56.840
but usually what's happening is you'll have it
link |
00:39:58.620
like a video game, let's say World of Warcraft
link |
00:40:00.620
or something like that.
link |
00:40:01.720
You say, hey, maybe I wanna actually create gold
link |
00:40:04.620
in World of Warcraft that's actually a currency.
link |
00:40:07.860
Okay, so I'm gonna issue a token.
link |
00:40:09.740
Well, and then maybe I wanna create some mechanics
link |
00:40:11.660
behind how people are gonna trade that amongst each other.
link |
00:40:14.360
So that would be like a smart contract layer
link |
00:40:16.620
and issue an asset.
link |
00:40:17.980
So you have this centralized server running
link |
00:40:20.340
and proprietary software controlled by a single company,
link |
00:40:23.900
but then you've opened your application up
link |
00:40:26.500
to a broader world.
link |
00:40:27.940
And what we've done now is added a blockchain layer
link |
00:40:29.940
and the blockchain handles the accounting of that asset
link |
00:40:32.140
and the spending policy of that stuff.
link |
00:40:34.500
So that is a much smaller program
link |
00:40:37.500
than what Blizzard is doing with World of Warcraft.
link |
00:40:40.820
So the point of Plutus was let's create a language
link |
00:40:43.400
where you can write these small to midsize programs
link |
00:40:46.740
and have a high degree of confidence
link |
00:40:48.280
that they behave with correctness
link |
00:40:50.240
and also they give you deterministic results
link |
00:40:52.900
on the consumption of resources.
link |
00:40:54.200
You can run things locally
link |
00:40:55.980
and you actually understand what it costs to run
link |
00:40:57.920
and that doesn't change when you deploy it on the system.
link |
00:41:01.220
If you dial up the expressiveness of the system
link |
00:41:03.740
and like Ethereum does
link |
00:41:05.140
and these big mutable account systems,
link |
00:41:07.720
the problem is you have to have global state.
link |
00:41:09.360
So whatever you test locally
link |
00:41:11.040
doesn't actually necessarily translate
link |
00:41:13.320
to what you've deployed, okay?
link |
00:41:15.300
So we spent a long time asking
link |
00:41:17.860
like where's the Goldilocks zone?
link |
00:41:19.580
Bitcoin script was too restrictive
link |
00:41:22.140
and every single time Satoshi tried to dial it up,
link |
00:41:24.620
it led to mega problems.
link |
00:41:26.220
Like there was a beautiful thing
link |
00:41:27.220
called the value overflow incident in 2010,
link |
00:41:29.860
which led to the creation of billions of Bitcoin.
link |
00:41:32.500
They had to quickly clean that up
link |
00:41:33.740
and sweep it under the rug
link |
00:41:34.700
and pretend like it didn't exist.
link |
00:41:36.420
But that was mostly because of an issue
link |
00:41:38.740
with how the scripting language was implemented.
link |
00:41:41.340
And when you look at Ethereum,
link |
00:41:44.100
it's like this pure game
link |
00:41:45.820
of stomping down these skirmishers
link |
00:41:48.060
where every update there's something
link |
00:41:49.340
they have to change or tune
link |
00:41:50.720
and then it's not clear how you shard such a model.
link |
00:41:54.140
So we said, let's build something
link |
00:41:55.660
that's in the middle of this
link |
00:41:56.940
and that's what Plutus basically is.
link |
00:41:58.660
And it's really designed to play very nicely
link |
00:42:01.100
with off chain infrastructure
link |
00:42:02.480
as much as on chain infrastructure.
link |
00:42:04.340
So you can look at all those different examples,
link |
00:42:06.020
whether it's Wolfram wants to auction off
link |
00:42:07.960
their universes or Blizzard wants
link |
00:42:10.300
to issue an in game currency
link |
00:42:12.260
or your Uber and you wanna start putting
link |
00:42:14.460
peer to peer dynamics inside your system,
link |
00:42:17.180
you're gonna gracefully connect to that on chain code.
link |
00:42:20.740
And it's very clear how those two things connect together.
link |
00:42:23.180
Just so happens Haskell's really good for this.
link |
00:42:25.700
They have template Haskell
link |
00:42:26.840
and it makes it very easy
link |
00:42:27.780
to embed domain specific languages.
link |
00:42:30.060
And it makes it very easy to wire your Haskell code
link |
00:42:32.400
onto off chain infrastructure.
link |
00:42:34.240
So in the future,
link |
00:42:35.820
you'll be able to have your off chain run a node
link |
00:42:37.820
or the Java virtual machine or a.NET application
link |
00:42:40.740
and there'll just be this beautiful interface
link |
00:42:42.580
and then it can talk to all your on chain code
link |
00:42:44.260
and that's written in that DSL
link |
00:42:45.940
and you have a high degree of assurance that it's right.
link |
00:42:49.300
Is there like a Hello World program in Plutus
link |
00:42:52.220
that reveals the beauty of this balance
link |
00:42:55.060
that you're referring to?
link |
00:42:56.180
Sort of simple but not too simple, the Einstein idea?
link |
00:42:59.960
Yeah, so we did do our first Hello World program
link |
00:43:02.980
actually today.
link |
00:43:03.820
Yeah, I heard about this.
link |
00:43:04.900
Yeah, but you know,
link |
00:43:06.540
there you'd want to have the whole round trip.
link |
00:43:08.580
So you'd like to have an interaction
link |
00:43:10.300
and I think a video game would probably show it the best.
link |
00:43:12.460
Like if we could re implement CryptoKitties
link |
00:43:14.340
or something like that on it
link |
00:43:15.800
and you have this off chain infrastructure
link |
00:43:17.380
and you have your GUI in your front end,
link |
00:43:18.820
it's running on your phone or a browser
link |
00:43:21.100
and most of that lives off chain.
link |
00:43:22.860
And then, but your CryptoKitties,
link |
00:43:24.260
they'd live on the blockchain.
link |
00:43:26.180
The whole round trip end to end
link |
00:43:27.920
with relatively low fees and low latency
link |
00:43:30.100
and high availability of service, it never goes down.
link |
00:43:34.220
That would probably be the best thing to do
link |
00:43:35.980
and we'll have something like that by August.
link |
00:43:37.820
It's pretty easy to build this stuff.
link |
00:43:39.180
So what kind of off chain interactions
link |
00:43:40.780
are supported with Plutus?
link |
00:43:41.940
What are the limits you want to put on the thing
link |
00:43:43.980
so it doesn't get chaotic?
link |
00:43:45.100
That's the beautiful thing.
link |
00:43:46.000
When you have a less expressive model on chain,
link |
00:43:48.180
it means you can do anything you want off chain.
link |
00:43:50.740
So you started talking about smart contracts,
link |
00:43:52.580
but let's zoom back out
link |
00:43:55.940
and ask the big question here is what is a blockchain
link |
00:43:59.860
and what is a cryptocurrency?
link |
00:44:02.180
So a blockchain is just a ledger
link |
00:44:04.180
and really it has three nice properties.
link |
00:44:05.900
You're timestamped, you're immutable and auditable,
link |
00:44:08.260
either in a global or a local sense.
link |
00:44:10.240
And so there's all kinds of things mankind has invented
link |
00:44:13.460
where it's really important
link |
00:44:15.080
that when you put some information down,
link |
00:44:17.700
it doesn't change and other people can see it
link |
00:44:21.220
and that you know when it was put down.
link |
00:44:23.260
For example, a property ledger.
link |
00:44:24.660
So when you buy land or you have rights associated with land
link |
00:44:28.020
like mineral rights or water rights or these things,
link |
00:44:31.040
you'd like to transitively see how does it go
link |
00:44:33.700
from Alice to Bob to Charlie to Jim
link |
00:44:35.700
and so forth and what was the state of these things
link |
00:44:38.540
as they were transitioning?
link |
00:44:39.620
So how much did they pay, when did it occur,
link |
00:44:43.260
et cetera, et cetera, the metadata that follows that.
link |
00:44:46.140
Okay, well normally these types of ledgers
link |
00:44:48.540
are so important that they're managed either by governments
link |
00:44:51.020
or regulated entities.
link |
00:44:52.420
And the issues are that while they can be efficient,
link |
00:44:55.820
they're generally brittle to political manipulation
link |
00:44:58.940
and they're brittle to geopolitical events.
link |
00:45:02.060
For example, when Syria fell apart,
link |
00:45:04.500
the very first thing ISIS did, they started saying,
link |
00:45:06.580
hey, the ownership of the land,
link |
00:45:08.640
it's gonna fundamentally change.
link |
00:45:10.380
We've decided that this guy over here
link |
00:45:12.380
now owns all these things and then when peace comes,
link |
00:45:15.140
how do you unwind all of that, put it all back together?
link |
00:45:18.440
So the power of a blockchain is that it gives you
link |
00:45:21.220
a transnational way of sorting all these details out,
link |
00:45:25.100
putting all together in a place that you know
link |
00:45:29.620
that even if it's inconvenient to a very powerful actor,
link |
00:45:33.320
that it will still stay preserved.
link |
00:45:35.660
This is an asymmetry we haven't had as a society.
link |
00:45:38.780
Usually kings and empires,
link |
00:45:40.860
they have the ability to decide what's true.
link |
00:45:43.260
And then suddenly you have this asymmetrical thing
link |
00:45:45.420
that is above them, kind of like a synthetic laws of physics
link |
00:45:49.020
and once something goes in there,
link |
00:45:50.860
you know that that's there.
link |
00:45:52.840
Okay, so that's the first part of it.
link |
00:45:54.780
The second part of it is that it's auditable,
link |
00:45:59.500
meaning that instead of saying only the high cleric
link |
00:46:02.700
or the president or some very special club of people
link |
00:46:07.260
get to see what's going on,
link |
00:46:08.980
suddenly now all the people can actually see
link |
00:46:11.820
who owns what where.
link |
00:46:13.300
Like imagine a tax system where the public club
link |
00:46:16.100
just leaked the taxes of all these different billionaires
link |
00:46:19.140
and said, well, how much do they make
link |
00:46:20.100
and how much do they pay?
link |
00:46:21.340
Well, imagine a tax system where that's just done by default
link |
00:46:24.700
or other social systems where this type of information
link |
00:46:27.800
is put in by default.
link |
00:46:29.220
So it's tremendously useful, this type of structure
link |
00:46:32.840
and all kinds of things, medical records, supply chains,
link |
00:46:35.780
just a good thought experiment is I travel a lot,
link |
00:46:38.500
I've been to 52 countries in the last five years.
link |
00:46:41.060
Imagine if I got sick in Zimbabwe,
link |
00:46:43.660
I get hit by a car or something and I'm unconscious
link |
00:46:46.140
and a Zimbabwean doctor calls my doctor in Colorado
link |
00:46:48.820
and says, hey, I need all Charles's medical records.
link |
00:46:51.700
He's unconscious right now, but I need it to treat him
link |
00:46:54.740
because he's quite ill.
link |
00:46:56.220
They'd say, who is this person in Zimbabwe?
link |
00:46:58.860
I don't know you, I can't give you his records,
link |
00:47:00.820
I need his consent.
link |
00:47:01.660
Oh no, he's unconscious in the hospital, I can't do it.
link |
00:47:04.180
Well, a broker system that would allow the movement
link |
00:47:06.260
of medical records would be an example
link |
00:47:07.800
of what a blockchain could potentially do
link |
00:47:09.420
in the foreseeable future.
link |
00:47:10.820
Cryptocurrency is just an application
link |
00:47:12.700
that runs on top of blockchain
link |
00:47:14.220
because it turns out that when you issue property,
link |
00:47:16.460
you also can issue tokens of value
link |
00:47:18.860
and then you could have a monetary policy,
link |
00:47:20.420
it could be inflationary or deflationary,
link |
00:47:22.660
you know, demurrage where it decays over time
link |
00:47:25.080
or whatever have you.
link |
00:47:27.300
And the very same mechanics that would ensure
link |
00:47:29.940
your property records are secure,
link |
00:47:31.500
your medical record access is secure,
link |
00:47:33.420
could also be applied for the ownership
link |
00:47:35.140
of the cryptocurrency.
link |
00:47:36.180
And again, you can either be completely transparent
link |
00:47:38.780
and everybody can see what everybody owns
link |
00:47:40.240
and that's what Bitcoin does,
link |
00:47:41.640
or you can be as opaque as you seek to be,
link |
00:47:44.220
that's what Zcash basically attempts to do.
link |
00:47:46.420
It says, hey, let's keep these things
link |
00:47:47.740
as private as possible.
link |
00:47:49.100
But they have relatively the same mechanics
link |
00:47:50.740
in terms of those properties of auditability
link |
00:47:52.660
and timestamping and immutability.
link |
00:47:54.700
You know things won't be reversed,
link |
00:47:56.380
you know, that people aren't gonna manipulate
link |
00:47:57.900
the timestamps and you can audit at least enough
link |
00:48:01.160
to know that the ownership is right.
link |
00:48:03.220
But the way, if you think about physics and the universe,
link |
00:48:06.500
the universe has figured out a way
link |
00:48:07.900
to update the ledger of physics
link |
00:48:10.580
in a way where like a lot of people can be updating it
link |
00:48:13.380
and it stays consistent.
link |
00:48:16.100
Is there something you can say about the task
link |
00:48:19.660
of updating the ledger when a bunch of people
link |
00:48:21.940
are trying to do it or a bunch of entities
link |
00:48:23.820
are trying to do it?
link |
00:48:24.660
Oh yeah, that's the whole point of a consensus algorithm.
link |
00:48:26.260
So whatever ledger you're running,
link |
00:48:28.260
there has to be some mechanism to decide who's in charge.
link |
00:48:32.080
And that's what proof of work does
link |
00:48:33.720
and proof of stake does and all these other systems.
link |
00:48:35.860
And you break them down to basically three steps.
link |
00:48:37.900
And so we'll use Eve for kind of step number one.
link |
00:48:40.620
Hi, Eve, how are you doing?
link |
00:48:42.100
And we're gonna use Wally for step number two.
link |
00:48:44.380
And I need the monkey, give me the monkey.
link |
00:48:47.180
What's the monkey's name?
link |
00:48:49.040
Daisy.
link |
00:48:49.880
Daisy the monkey, okay.
link |
00:48:50.980
I like Daisy.
link |
00:48:52.340
Daisy is a very confused monkey.
link |
00:48:54.980
It's pondering its own mortality.
link |
00:48:56.740
Right.
link |
00:48:57.580
And so anyway, the first step is all about
link |
00:49:00.220
basically deciding who's in charge for that moment.
link |
00:49:03.180
So blockchain is just a sequence of events.
link |
00:49:05.100
The heart has to beat, the metronome has to click.
link |
00:49:08.100
So somebody has to be in charge.
link |
00:49:09.900
And so generally you have this notion of a resource.
link |
00:49:12.000
So there's some pool of resource out there
link |
00:49:14.220
and it can be a token.
link |
00:49:15.420
And in that case, it's a plutocratic system
link |
00:49:17.260
and that's what proof of stake does
link |
00:49:18.780
or it can be computation, but there can be other resources.
link |
00:49:21.720
But computation is what proof of work does.
link |
00:49:23.340
And so you make so many hashes
link |
00:49:25.060
and then eventually somebody wins.
link |
00:49:27.060
And that person who wins is now the person
link |
00:49:29.360
who basically gets to decide the order of transactions
link |
00:49:32.060
and put them all together
link |
00:49:33.260
from their perspective in the system.
link |
00:49:35.500
Then once that person wins, they'll make the block.
link |
00:49:37.940
That's step two.
link |
00:49:38.980
And after it's made, transmit it
link |
00:49:41.240
and it gets validated and accepted.
link |
00:49:43.100
So actually it's quite fortuitous
link |
00:49:44.160
you have the magnifying glass
link |
00:49:45.540
because at this stage people are trying to decide
link |
00:49:48.740
is what I'm looking at correct or not.
link |
00:49:51.120
Now, there are other ways to potentially conceive of this,
link |
00:49:54.400
but this particular model gives you a kind of a way
link |
00:49:57.540
of thinking of all consensus algorithms in one setting.
link |
00:50:02.620
You can be Algorand, you can be a classic BFT protocol,
link |
00:50:06.100
you can be Paxos, you can be Raft,
link |
00:50:08.060
you can be proof of work, you can be proof of stake.
link |
00:50:10.320
It's always the same idea.
link |
00:50:12.340
You have to find someone or some group to be in charge.
link |
00:50:15.980
They'll reach a consensus on order.
link |
00:50:18.520
They have to then do some work,
link |
00:50:21.140
change the state of the system, update it,
link |
00:50:23.460
and then the network has to accept that that's valid.
link |
00:50:26.400
So even if this process works well,
link |
00:50:28.540
this side will say,
link |
00:50:29.380
oh, you created a Bitcoin at a thin air,
link |
00:50:31.020
you're not allowed to do that.
link |
00:50:32.020
So that's rejected.
link |
00:50:33.580
So there's checks and balances and guards all the way through.
link |
00:50:36.600
There's a meta question of fairness in all of this.
link |
00:50:39.740
So the proof of work people, they're kind of a cult
link |
00:50:42.060
and they say that this is the only truth
link |
00:50:44.980
and everything out here,
link |
00:50:46.560
any other resource is not legitimate or valid.
link |
00:50:49.420
And there's not a lot of evidence to that,
link |
00:50:51.460
but that's what they believe.
link |
00:50:52.740
The proof of stake people,
link |
00:50:53.820
the downside and weakness they have
link |
00:50:55.300
is it's a plutocratic model.
link |
00:50:57.100
The more ownership of the system you have,
link |
00:50:59.020
the more control you have over that system.
link |
00:51:01.240
And it suffers from the same thing
link |
00:51:03.280
that shareholder models suffer from,
link |
00:51:04.780
whereas you may maximize short term gain
link |
00:51:07.620
over the long term viability of the system.
link |
00:51:09.860
So a really cool question is,
link |
00:51:11.340
can you build systems that are multi resource?
link |
00:51:14.020
So instead of just pulling from one resource
link |
00:51:16.660
to select who wins,
link |
00:51:18.520
this 25% of the time and maybe this 25%, you can do that.
link |
00:51:22.220
In fact, the cryptocurrency space did that a long time ago.
link |
00:51:25.220
There was a cryptocurrency called Peercoin in 2011,
link |
00:51:27.900
and it was a hybrid proof of work proof of stake.
link |
00:51:30.380
So some of the blocks were made
link |
00:51:31.780
with the token ownership distribution
link |
00:51:34.700
and some of the blocks were made with proof of work,
link |
00:51:36.660
but you could keep adding.
link |
00:51:38.300
You could put in like, hey, I want hard disk in my thing.
link |
00:51:41.260
You can put Permacoin in or something like that.
link |
00:51:43.380
So it created incentive for hard drives.
link |
00:51:45.020
And then you could say, oh no,
link |
00:51:45.860
I want to do like a human system, like a proof of merit.
link |
00:51:48.820
Oh my God, now we're up to four.
link |
00:51:50.140
And you just keep adding.
link |
00:51:51.380
And each of these pools will have different adherence
link |
00:51:54.140
and actors, and then you can actually balance out
link |
00:51:56.540
the whole thing.
link |
00:51:57.380
So as opposed to having one cult, you have many cults.
link |
00:51:59.940
Exactly. And they argue.
link |
00:52:01.140
And the cults argue with each other
link |
00:52:02.420
and we call that a government.
link |
00:52:03.460
By the way, not all cults are bad.
link |
00:52:05.220
Physics is a cult too.
link |
00:52:06.780
And it's sometimes bad.
link |
00:52:09.360
It's honest at least.
link |
00:52:10.940
Nature is a cult.
link |
00:52:12.080
Nature is metal, I saw it on Instagram.
link |
00:52:15.640
So that's really the crux of it.
link |
00:52:17.600
You have a ledger and the ledger is just all about saying,
link |
00:52:20.480
hey, we need to put some stuff in here.
link |
00:52:21.960
And once it's put in here, you can't turn it back.
link |
00:52:24.520
And you know when it was put in and everybody can see it
link |
00:52:27.880
or some group can see it.
link |
00:52:29.240
And then you need to pick somebody to modify that.
link |
00:52:31.640
So all this chaos will happen.
link |
00:52:33.120
All these transactions are all around the world
link |
00:52:35.160
and our perception of them are different.
link |
00:52:37.280
There's a beautiful paper from Lamport
link |
00:52:38.900
that kind of talks about this from the 70s.
link |
00:52:40.760
It's like one of the most classic papers ever
link |
00:52:43.320
in computer science.
link |
00:52:44.220
I think it's been cited like 50,000 times
link |
00:52:46.960
or something like that.
link |
00:52:47.800
It's a crazy paper.
link |
00:52:48.840
But basically you have to figure out,
link |
00:52:50.400
okay, well, somebody has to be in charge.
link |
00:52:51.920
Some group has to be in charge.
link |
00:52:53.580
And you can do it with a meritocratic,
link |
00:52:55.640
hashocratic computation thing.
link |
00:52:58.000
You can say, well, if you have coins 25% of supply,
link |
00:53:00.920
25% of the time on average,
link |
00:53:03.060
you'll be selected to have the right to do this
link |
00:53:04.840
or give it to somebody else.
link |
00:53:06.200
Or you could search for other resources.
link |
00:53:07.880
And they can even be human resources,
link |
00:53:09.160
like some notion of merit or social benefit.
link |
00:53:12.060
Maybe you get a token for that
link |
00:53:13.400
and you can weight it with these other systems.
link |
00:53:15.760
And that's where kind of where everything's going.
link |
00:53:18.000
We're getting to a point where we've really optimized
link |
00:53:21.080
all the properties here.
link |
00:53:22.120
We've proven all these nice things about it.
link |
00:53:24.080
And there's a lot of competition
link |
00:53:25.740
to basically build like the perfect proof of stake system,
link |
00:53:28.800
whether you're Polkadot or Algorand
link |
00:53:30.920
or any of these other guys.
link |
00:53:32.820
But now the next step is say, well,
link |
00:53:34.640
why don't we just have one?
link |
00:53:36.860
We should have multiple resources.
link |
00:53:38.960
And the point is each of these
link |
00:53:40.480
has different trade off profiles.
link |
00:53:42.240
And so they balance each other
link |
00:53:43.680
and you end up building a much more resilient system.
link |
00:53:45.660
So it's not winner take all with one particular demand.
link |
00:53:49.260
Okay, so there's a million questions
link |
00:53:50.960
that spring up right there.
link |
00:53:52.440
But first linger on this topic and say,
link |
00:53:54.440
what is proof of work?
link |
00:53:55.520
What is proof of stake?
link |
00:53:56.820
Just zooming in on each of those.
link |
00:53:59.480
And what are the differences?
link |
00:54:01.500
Okay, so they all have the same three properties
link |
00:54:03.920
of pick someone in charge, do something and validate it.
link |
00:54:06.640
The difference is that the picking mechanism for proof
link |
00:54:09.280
of work is you have to solve a puzzle.
link |
00:54:11.400
So it's basically like buying lottery tickets
link |
00:54:13.600
and you can buy a certain amount every second
link |
00:54:16.480
with your computing devices.
link |
00:54:18.040
And some of them are ASIC resistant.
link |
00:54:19.640
So you run them on like a laptop or a GPU.
link |
00:54:22.000
And some of them are you specialized hardware
link |
00:54:24.400
that you have to either manufacturer
link |
00:54:26.320
or buy from someone who sells it to you.
link |
00:54:28.600
And that's just how many tickets per second you can get.
link |
00:54:31.120
And eventually you hit those magic numbers.
link |
00:54:32.960
When you do, it means you have the right to make the block
link |
00:54:36.360
and generally you bundle the block making
link |
00:54:38.320
with the proof of work system.
link |
00:54:39.980
Now you can do this looking for a single
link |
00:54:43.020
or you can do this to actually shard it
link |
00:54:44.640
and look for multiple block makers at the same time.
link |
00:54:47.560
So there are sharded proof of work protocols
link |
00:54:49.200
like Prism is an example of that.
link |
00:54:50.840
And actually Ethereum got started this way
link |
00:54:53.800
with Spectre and Ghost and Phantom,
link |
00:54:56.360
the Aviz Ahar's work and Yonatan Sonlopinsky.
link |
00:54:59.700
But the basic idea is you pick some collection of people,
link |
00:55:02.400
they make some collection of things
link |
00:55:03.540
and there's some way to sort it all out,
link |
00:55:04.920
serialize it and prevent double spends, great.
link |
00:55:07.720
Proof of stake is the same, but it's a synthetic resource.
link |
00:55:11.200
So instead of doing things, they say,
link |
00:55:13.160
well, if you had 25% of the hash power on average
link |
00:55:15.840
over a long period of time,
link |
00:55:17.180
you'd probably win 25% of the time.
link |
00:55:19.560
Well, why don't we just introduce some randomness in
link |
00:55:21.800
from some source and then 25% of the time on average
link |
00:55:24.960
over a long period of time, you'll win.
link |
00:55:26.920
So it's a synthetic resource,
link |
00:55:28.820
but you still have to do the other two things.
link |
00:55:30.560
You still have to make the block
link |
00:55:31.880
and you still have to validate the block.
link |
00:55:33.900
The big difference is this step in the proof of work world
link |
00:55:36.940
is horrendously expensive.
link |
00:55:38.800
You use more energy than the nation of Switzerland.
link |
00:55:41.540
And the problem with that is that you have less resources
link |
00:55:43.860
for the other two.
link |
00:55:45.020
And the other problem with that is that
link |
00:55:46.440
if this is horrendously expensive,
link |
00:55:48.280
you have an economy of scale kick in.
link |
00:55:50.500
So what ends up happening is the system becomes
link |
00:55:52.500
less decentralized over time
link |
00:55:54.420
because you have these vertically integrated operations.
link |
00:55:56.860
I mean, not everybody can go build a mining facility
link |
00:55:59.020
on a volcano in El Salvador.
link |
00:56:00.840
Not everybody can go to Mongolia
link |
00:56:02.880
and set up a five gigawatt power plant
link |
00:56:05.120
and a huge data thing.
link |
00:56:06.320
Not everybody has access to the patented basics
link |
00:56:08.980
that people produce.
link |
00:56:10.120
Because what if I don't sell it to you
link |
00:56:11.340
and I have the patent on it?
link |
00:56:12.640
Or what if I control the supply chain for these things?
link |
00:56:15.280
So you'll end up having centralization around maybe 10
link |
00:56:18.720
or five major operations as we've seen historically
link |
00:56:22.300
with proof of work.
link |
00:56:23.320
And that means you end up having like a ruling class
link |
00:56:27.120
of a mining oligarchy in the system.
link |
00:56:29.420
Proof of stake, if you design the parameters correctly,
link |
00:56:32.320
you actually get more decentralized over time
link |
00:56:34.960
because as the currency goes up in value,
link |
00:56:37.220
the distribution of the currency
link |
00:56:38.880
tends to get more egalitarian.
link |
00:56:43.120
For example, Bill Gates, when he started Microsoft,
link |
00:56:45.640
he had 64% of the shares.
link |
00:56:47.500
Now he has less than 5% of the shares.
link |
00:56:49.880
So this founder drift over time,
link |
00:56:52.040
as the value goes up, divestment occurs,
link |
00:56:54.120
you have more and more and more people coming in.
link |
00:56:56.600
That means there's more people
link |
00:56:57.520
who can participate in the consensus.
link |
00:56:59.320
You can even tune economic parameters.
link |
00:57:01.160
And this is what we did with Cardano and Ouroboros.
link |
00:57:03.960
We created this concept of K in the system
link |
00:57:06.680
and it's just a parameter.
link |
00:57:07.600
And it's like a forcing factor
link |
00:57:09.640
that tends to accumulate a certain amount of stake pools.
link |
00:57:12.280
So you can set it to 200 and then 500 and 1000 and so forth.
link |
00:57:16.160
But the basic idea is as the price of ADA goes up,
link |
00:57:19.280
you make K larger and then you end up in practical terms
link |
00:57:23.080
having a larger and larger set of actors making blocks
link |
00:57:27.080
that are unique and distinct.
link |
00:57:28.600
And the other good thing is this is a virtual resource
link |
00:57:31.440
instead of a physical resource,
link |
00:57:32.960
which means it's portable by the click of a button.
link |
00:57:35.840
So let's say China says, mining is bad,
link |
00:57:37.880
we're gonna shut it all down.
link |
00:57:39.000
And it looks like they're moving in that direction.
link |
00:57:40.960
You have all these people in WeChat,
link |
00:57:42.160
just like trying to sell miners
link |
00:57:44.080
or trying to figure out how the hell do I move miners,
link |
00:57:46.640
because they have these huge data centers
link |
00:57:48.200
they've constructed.
link |
00:57:49.040
You can't exactly go and grab a server
link |
00:57:50.760
and like take it with you, it's huge.
link |
00:57:52.440
It's a lot of work.
link |
00:57:53.280
And if the government sees it,
link |
00:57:54.340
well, it's their property now.
link |
00:57:56.000
A virtual resource, you can click a button
link |
00:57:57.900
and redeploy it to a different jurisdiction.
link |
00:58:00.760
So to me, for a virtual asset,
link |
00:58:03.480
it makes a lot more sense to try to tie your security
link |
00:58:06.080
to something endogenous, something within the system,
link |
00:58:08.960
because it's just like the asset,
link |
00:58:11.000
it can move anywhere at a click of a button
link |
00:58:13.160
and human beings have a much harder time
link |
00:58:15.120
attacking something like that.
link |
00:58:16.480
Well, so people, maybe you could sort of play devil's advocate
link |
00:58:19.520
and say, what is the strength of proof of work system?
link |
00:58:21.560
Because some people would argue that proof of work has,
link |
00:58:25.380
because it's outside the system,
link |
00:58:28.000
it's tied to physical resources, it's more secure.
link |
00:58:31.240
It's less prone to attack by large groups of people.
link |
00:58:36.540
Yeah, that's a great question.
link |
00:58:37.840
And the first question we had was,
link |
00:58:39.900
could proof of stake actually work or not?
link |
00:58:41.780
So the problem was that the engineers kind of led
link |
00:58:44.740
when the science should have led.
link |
00:58:46.080
And so there were all these POS protocols
link |
00:58:48.180
that came out in the early 2010s,
link |
00:58:50.440
like Peercoin was the first and then NXT and others came out.
link |
00:58:54.280
And there they had suffered from things
link |
00:58:55.520
like the random number generation wasn't good.
link |
00:58:57.560
They had grinding attacks and nothing at stake
link |
00:58:59.800
and all these other things.
link |
00:59:00.760
And there's a lot of beautiful properties
link |
00:59:02.580
for proof of work from a theoretical sense.
link |
00:59:04.420
We even wrote a paper called GKL,
link |
00:59:07.560
named after the authors, Juan Gray, Niko Leonardis
link |
00:59:10.640
and Agelos Gassis, our chief scientist.
link |
00:59:13.080
It's got 1100 citations now and it was published in 2015.
link |
00:59:17.320
But basically all it did is just model the blockchain
link |
00:59:19.440
and created some security properties for it.
link |
00:59:21.200
And then it started talking about,
link |
00:59:22.480
well, what does proof of work actually do for you?
link |
00:59:24.600
And it turns out it does a lot.
link |
00:59:26.240
It's an asynchronous system.
link |
00:59:28.040
You can bootstrap from Genesis.
link |
00:59:29.660
So if Eve joins the network and Wally joins the network
link |
00:59:34.040
and Daisy joined the network,
link |
00:59:36.880
then you give them some different chains,
link |
00:59:39.500
like five or 10 different chains.
link |
00:59:41.280
They can run a calculation
link |
00:59:42.960
and they will always pick the longest chain,
link |
00:59:45.120
the heaviest chain inside the system.
link |
00:59:47.220
That's a great property of proof of work.
link |
00:59:49.480
Until we published Ouroboros Genesis in 2018,
link |
00:59:52.880
you actually needed to solve that in proof of stake
link |
00:59:54.880
with a trusted checkpoint.
link |
00:59:56.600
So some actor had to be observing,
link |
00:59:58.840
watching the whole thing and creating checkpoints.
link |
01:00:00.960
And then when new people joined in,
link |
01:00:02.600
they would only be able to distinguish between a chain
link |
01:00:05.080
based upon a checkpoint telling them that.
link |
01:00:07.800
So you have to do a lot of really wonky, crazy math
link |
01:00:10.200
to show and create this notion of like density
link |
01:00:12.920
to be able to show that that's possible.
link |
01:00:14.780
But there's a lot of properties of proof of work
link |
01:00:16.640
that were super hard to replicate and emulate
link |
01:00:19.040
in the proof of stake world.
link |
01:00:20.960
Macaulay kind of revolutionized the whole VRF thing.
link |
01:00:24.600
There was a group out of Cornell
link |
01:00:26.120
that talked about better network conditions.
link |
01:00:28.120
They wrote a paper called Sleepy.
link |
01:00:30.360
We did Genesis.
link |
01:00:31.960
We also did the very first proofably secure protocol,
link |
01:00:34.760
but that was six years of work and like 12 papers.
link |
01:00:37.280
And it's still not done.
link |
01:00:38.140
There's still a few polishing things
link |
01:00:39.840
that have to be cleaned up
link |
01:00:41.720
because this is a physical resource
link |
01:00:44.920
and there's something there.
link |
01:00:46.400
But there's a flaw to proof of work
link |
01:00:48.160
that is a little problematic.
link |
01:00:49.500
It's a winner take all type of a system.
link |
01:00:51.180
So maximalism is kind of philosophically
link |
01:00:54.720
and computationally built into it.
link |
01:00:56.640
Let's say you have two proof of work systems
link |
01:00:59.960
and they have roughly the same market cap and hash rate.
link |
01:01:03.200
And they use the same algorithm.
link |
01:01:05.320
Then the problem is if the miner comes in
link |
01:01:07.960
and let's say the miner has enough resources
link |
01:01:09.800
to have 51% for any of these chains,
link |
01:01:13.520
they actually have a perverse incentive
link |
01:01:15.080
to come and destroy one chain
link |
01:01:18.040
and short sell the asset, it's called a gold finger attack,
link |
01:01:21.200
and then go mine the other asset
link |
01:01:23.300
because they're not bound to that asset.
link |
01:01:25.360
They're not loyal to it.
link |
01:01:26.800
And they can make just as much profit mining this
link |
01:01:29.660
as they can make mining the other system
link |
01:01:31.840
and the markets allow them to profit
link |
01:01:33.480
from the destruction of a system.
link |
01:01:35.200
So that's something that proof of stake doesn't suffer from
link |
01:01:37.800
because the only way you can participate
link |
01:01:39.720
in a proof of stake system
link |
01:01:40.720
is you have to actually own equity
link |
01:01:42.160
and you have to have ownership in that system.
link |
01:01:44.180
So if you go and destroy Daisy's chain, it would just be
link |
01:01:48.760
a net loss for the most part,
link |
01:01:50.520
unless you have really messed up markets
link |
01:01:51.880
or something like that.
link |
01:01:53.140
So there's always trade offs and all these things.
link |
01:01:55.060
And this is why I like this concept of going one to end
link |
01:01:57.180
and having multiple resources,
link |
01:01:58.940
because why not have proof of work
link |
01:02:00.620
and proof of stake together?
link |
01:02:02.160
If the proof of work is useful, not wasted computation,
link |
01:02:05.400
and why not add other things
link |
01:02:06.600
like create incentives for network relay?
link |
01:02:08.760
Right now there's no incentives in the system
link |
01:02:10.440
for you to run peer to peer nodes and the shared data.
link |
01:02:12.400
Right now it's not a problem,
link |
01:02:13.560
but if you're running like Amazon web services
link |
01:02:16.180
level of bandwidth,
link |
01:02:17.040
it could cost you like $5,000 a month in bandwidth
link |
01:02:19.720
just to run a full node or something like that.
link |
01:02:21.380
No one would do it.
link |
01:02:22.480
So then your system will centralize along the weakest link,
link |
01:02:26.120
whether it be the storage layer, the computation layer,
link |
01:02:28.560
or the network layer of the system.
link |
01:02:31.160
So if you can incentivize the resources differently,
link |
01:02:33.480
then you'll be in a beautiful position
link |
01:02:35.040
where you end up having a resilient system
link |
01:02:37.680
that pays its own bills.
link |
01:02:39.480
So how does Cardano solve the consensus problem?
link |
01:02:43.400
Do you tend to eventually wanting to solve it
link |
01:02:46.800
in the hybrid approach of proof of stake and proof of work?
link |
01:02:50.360
Yeah, this was a philosophical difference
link |
01:02:52.240
between Vitalik and myself.
link |
01:02:54.440
The problem with the people in the Ethereum side
link |
01:02:56.440
is they're really bright.
link |
01:02:57.520
And these really bright people,
link |
01:02:58.960
what they do is they try to do everything all at once
link |
01:03:01.920
because they're really, really smart
link |
01:03:03.240
and they keep going until they run up against the wall
link |
01:03:05.440
and they realize the problem is a lot harder.
link |
01:03:07.920
If you're more experienced,
link |
01:03:09.360
and that's why we brought in proper academics
link |
01:03:11.460
like Aggelos and others, because they've been beaten up
link |
01:03:13.680
through life, Aggelos worked with David Chom
link |
01:03:16.560
and these other, it's really hard work with those guys.
link |
01:03:19.680
And they'd already been humiliated and yelled at
link |
01:03:22.240
and had chalk thrown at them and all that stuff.
link |
01:03:24.040
And so they were humble enough to say,
link |
01:03:25.160
I'm not smart enough to solve the big problem.
link |
01:03:27.200
So don't even try.
link |
01:03:28.280
What you do is you decompose it and you say, okay,
link |
01:03:30.600
what's the first problem to solve in a chain of problems
link |
01:03:33.680
that you can compose your way up to a working system?
link |
01:03:37.240
And once you get far enough along,
link |
01:03:39.240
you have something that's pretty good
link |
01:03:41.520
and then you have an obvious path forward
link |
01:03:43.720
of how do you iterate and improve that system?
link |
01:03:45.920
That's why we started with GKL 15,
link |
01:03:47.760
because it was just saying,
link |
01:03:48.600
we don't know what a fucking blockchain is.
link |
01:03:50.640
This is, what is this thing, right?
link |
01:03:52.440
What's the security properties of this stuff?
link |
01:03:54.000
Like, what did we really mean?
link |
01:03:55.720
Then we did Ouroboros Classic,
link |
01:03:57.320
the original Ouroboros protocol in 2017.
link |
01:03:59.680
And that protocol was like a synchronous system
link |
01:04:02.120
and it assumed the nodes were always on and it worked,
link |
01:04:05.160
but it was useless because that's not real life.
link |
01:04:08.060
Then Prowse came out and then suddenly we relaxed things.
link |
01:04:10.600
So these are all, by the way,
link |
01:04:11.440
names for consensus algorithms.
link |
01:04:12.600
Yeah, papers that we published
link |
01:04:14.560
and they were all peer reviewed.
link |
01:04:15.800
Like GKL was EuroCrypt.
link |
01:04:17.280
That's a very hard conference to get into.
link |
01:04:19.100
And Ouroboros Classic was Crypto
link |
01:04:20.660
and Prowse was EuroCrypt and Genesis was CCS.
link |
01:04:24.600
So basically every step of the way
link |
01:04:27.200
was first an academic validation
link |
01:04:28.980
that there was some merit to the work that was done.
link |
01:04:31.280
Second, it solved a particular class of problems,
link |
01:04:34.120
either showing the feasibility of the entire problem.
link |
01:04:36.840
Because when I said, let's do the model first
link |
01:04:38.720
because let's see if we can do an FLP thing.
link |
01:04:40.400
Let's see if we can get them a possibility theorem.
link |
01:04:42.240
That's great because you're done.
link |
01:04:43.720
It's like those short math papers
link |
01:04:45.600
were like, I found a counterexample.
link |
01:04:47.300
It's like, oh, okay, this whole thing has fallen apart
link |
01:04:49.400
because you have a two line proof, thank you.
link |
01:04:51.880
So that's what we were looking for
link |
01:04:53.040
in the beginning of the agenda was,
link |
01:04:54.700
let's either prove it's possible in a straw man case
link |
01:04:57.840
or show that there exists an impossibility result,
link |
01:05:00.160
in which case we can just abandon the entire inquiry.
link |
01:05:02.320
Proof of stake is impossible.
link |
01:05:03.880
And then once you've gotten past that threshold,
link |
01:05:06.160
it goes from theory to practicality.
link |
01:05:08.520
What actual network conditions are you looking at?
link |
01:05:10.920
Are you okay with living with an external clock
link |
01:05:13.420
or do you wanna build time from within?
link |
01:05:15.360
How are you generating random numbers, et cetera, et cetera.
link |
01:05:18.040
And every step of the way, each paper,
link |
01:05:19.960
you're solving one particular class of problems.
link |
01:05:22.460
With Prism, it said, probably shouldn't know
link |
01:05:24.880
ahead of time who Eve is.
link |
01:05:26.780
You probably shouldn't know who's making those blocks.
link |
01:05:28.880
That should be something after the fact.
link |
01:05:30.960
But if you know ahead of time, you can attack them.
link |
01:05:32.840
You can DDoS them, you cause all kinds of problems.
link |
01:05:35.600
So adaptive security, also we moved from an MPC,
link |
01:05:40.680
random number generation, which was great,
link |
01:05:42.360
but very heavy and very slow.
link |
01:05:44.240
And you can't scale to large amounts of people
link |
01:05:46.520
to a VRF based system, which is super fast,
link |
01:05:48.720
but a little dirtier.
link |
01:05:49.800
Because Algorand actually did some great work there.
link |
01:05:52.160
There was some good knowledge there.
link |
01:05:53.480
What are the really hard problems that you,
link |
01:05:54.840
maybe if you just linger on a little bit,
link |
01:05:56.800
what are some of the really hard problems
link |
01:05:58.600
you have to solve along this chain of papers, ideas,
link |
01:06:01.480
the evolution of the consensus algorithm?
link |
01:06:03.140
Yeah, not only are they really hard problems,
link |
01:06:05.000
they actually require different cryptographers
link |
01:06:06.760
because you're moving from mathematician style cryptographers
link |
01:06:10.600
like the Neil Koblitz's and the Addie Shamir's
link |
01:06:12.720
and the people that like start as proper mathematicians.
link |
01:06:14.960
They really love theory and that's their thing.
link |
01:06:17.720
And the proofs are dense and they're thick
link |
01:06:19.620
and they're beautiful to practical applied work
link |
01:06:23.720
where you're saying, okay,
link |
01:06:24.960
now this is something an engineer can look at
link |
01:06:27.120
and say, I know how to build that.
link |
01:06:28.660
I know how to think about that.
link |
01:06:30.140
So that transition from GKL to Ouroboros Classic
link |
01:06:34.560
to Prowse, I'd say the biggest leap was Classic to Prowse
link |
01:06:38.880
because that was going from a system
link |
01:06:40.960
that would only work in a consortium chain like Fabric
link |
01:06:43.640
to a system that would actually work and is working.
link |
01:06:45.840
That's what's implementing Cardano today,
link |
01:06:47.960
50 billion dollar cryptocurrency and all these people.
link |
01:06:50.720
That was a huge leap, but that paper alone wasn't enough.
link |
01:06:54.240
We also had to layer on the economic model
link |
01:06:56.940
because we said, well, hang on a second here.
link |
01:06:58.960
Not everybody's gonna be online all the time
link |
01:07:01.120
to be available to make a block.
link |
01:07:03.460
So you need some notion of delegation.
link |
01:07:05.440
The minute you have a notion of delegation,
link |
01:07:06.920
you have these stake pools, what the hell does that mean?
link |
01:07:09.360
And so this is a beautiful kind of interdisciplinary notion
link |
01:07:12.920
that layers computer science and biology together.
link |
01:07:16.060
And minute that complexity starts going up,
link |
01:07:18.080
you start seeing cell specialization.
link |
01:07:20.440
So you go from single cell organisms to organisms
link |
01:07:23.260
where you have eyeballs and brains and hearts
link |
01:07:26.040
and each of these tissues do different things.
link |
01:07:28.140
Well, analogously, complex distributed systems
link |
01:07:30.820
start getting specialization.
link |
01:07:32.100
You move from the single cell thing, Bitcoin,
link |
01:07:34.800
where everything's a full node,
link |
01:07:35.800
they all have the same rights and responsibilities,
link |
01:07:37.540
a lot of homogeneity in that system,
link |
01:07:39.480
but you're only as good as your weakest link,
link |
01:07:41.020
you're only as capable as whatever the basic cell can do
link |
01:07:45.080
to a specialized system where you start having
link |
01:07:47.080
these actors in the system that are actually
link |
01:07:49.240
a little different than the other actors.
link |
01:07:51.020
So you introduce this concept of the stake pool
link |
01:07:53.360
and suddenly now you have this actor
link |
01:07:54.760
where you're probably gonna be online 24 seven.
link |
01:07:57.680
You're probably gonna have extra relay infrastructure.
link |
01:08:00.160
There's a trust relationship where you don't own the ADA,
link |
01:08:03.640
but you have a right to use it for something.
link |
01:08:05.840
And a person's made that choice to endow you with that.
link |
01:08:08.520
The minute that you introduce specialization though,
link |
01:08:10.960
the system gets more complicated,
link |
01:08:12.560
the game theory gets more complicated.
link |
01:08:14.560
And then you start having to think really deeply
link |
01:08:16.300
and carefully about, okay, well,
link |
01:08:18.800
can this now introduce a new attack vector
link |
01:08:20.920
that we didn't have before?
link |
01:08:22.500
So that leap from classic to Prowse
link |
01:08:24.960
and adding in stake pools and figuring out
link |
01:08:26.700
how to handle the game theory there was exceedingly hard.
link |
01:08:29.100
It took two years to do that.
link |
01:08:30.520
So stake pools allow for multiple parties
link |
01:08:33.440
to delegate their staking capabilities to others.
link |
01:08:36.720
Can you describe a little bit how this works?
link |
01:08:38.360
It's kind of fascinating.
link |
01:08:39.200
It's a super simple concept.
link |
01:08:40.560
So you register a pool and then the pool is there
link |
01:08:42.760
and basically they advertise
link |
01:08:46.240
and they're actually registered on chain with a certificate.
link |
01:08:48.800
And then in the wallet software itself,
link |
01:08:50.640
you can see all of the pools that have registered.
link |
01:08:53.360
There's over 3000 of them now inside the system.
link |
01:08:56.080
And then you can click a little tile
link |
01:08:57.640
and it shows you all the metadata that's in the certificate
link |
01:09:00.000
and says, hey, I have my own pool.
link |
01:09:02.200
It's called rats, king of the rats.
link |
01:09:05.200
So you can see all this stuff that's described there
link |
01:09:07.360
and pools have an operating fee
link |
01:09:08.840
cause they're like a business.
link |
01:09:09.880
And they say, well, if you delegate to me,
link |
01:09:11.820
I'll charge this much.
link |
01:09:13.120
So if you get like a hundred bucks in rewards,
link |
01:09:15.680
I'll give you 90 and I'll take 10 or something like that.
link |
01:09:19.440
And then you make your decision
link |
01:09:20.440
and whichever one you select, you click delegate,
link |
01:09:23.600
push the button and then you have now given
link |
01:09:26.560
your staking rights to them until revoked.
link |
01:09:29.840
Okay, so it lives there.
link |
01:09:30.920
And then the stake pools weight in the system
link |
01:09:33.700
is proportional to the amount of stake
link |
01:09:35.560
that they have delegated to them.
link |
01:09:37.120
And then we have this other limiting factor K,
link |
01:09:39.400
which says that you get diminishing returns
link |
01:09:41.480
with the more stake you have.
link |
01:09:42.720
So it's kind of like an S function.
link |
01:09:44.320
So you kind of go up and up and then eventually caps
link |
01:09:46.880
and then at some point you get no rewards
link |
01:09:48.600
beyond a certain threshold.
link |
01:09:49.960
So there's an incentive to split pools
link |
01:09:51.760
to different owners after some point.
link |
01:09:54.440
Yeah, and so that's a complex thing
link |
01:09:57.080
and you have to actually model the game theory out
link |
01:09:59.160
to understand where those parameters should be set.
link |
01:10:01.520
And we didn't know how to do that.
link |
01:10:02.840
So what we did is we bought talent.
link |
01:10:04.880
We went to Oxford and we hired this guy
link |
01:10:06.600
named Elias Kasupis, he's an algorithmic game theorist.
link |
01:10:08.920
We said, hey, would you like to do some game theory work
link |
01:10:11.560
in crypto?
link |
01:10:12.400
And he's like, that sounds fun.
link |
01:10:13.760
So he spent a year and a half,
link |
01:10:15.240
we built all these beautiful models
link |
01:10:16.680
and we kind of figured out what those curves
link |
01:10:18.320
needed to look like.
link |
01:10:19.160
So figure out like the S curve that would result
link |
01:10:20.600
in a nice distribution of responsibility.
link |
01:10:22.880
So not everybody delegates to the king of the rats.
link |
01:10:26.440
Exactly.
link |
01:10:27.280
How does it feel to be royalty, by the way?
link |
01:10:28.880
It's not a very impressive kingdom,
link |
01:10:31.880
but you're nevertheless a king.
link |
01:10:33.280
I'll take it, because I think it's the kindest thing
link |
01:10:35.240
people call me in this space.
link |
01:10:37.840
Yeah, people love you.
link |
01:10:39.200
So, okay, so that, I mean, so is that,
link |
01:10:41.840
would you say a solved problem?
link |
01:10:43.880
The game theory of stake pools?
link |
01:10:45.480
No, it's the starting, and I was getting back
link |
01:10:48.040
to my original point that you build things in iterations.
link |
01:10:50.480
Every step, if you've done it right,
link |
01:10:53.040
is an invitation for 10 more sexy, fascinating,
link |
01:10:55.840
fun problems.
link |
01:10:56.680
And this is why we have such a great time building labs.
link |
01:10:58.760
We started in Edinburgh, now we're at Tokyo Tech
link |
01:11:01.360
and University of Wyoming and Athens,
link |
01:11:03.280
and we're setting up more labs this year.
link |
01:11:05.160
And all these academics wanna work with us,
link |
01:11:06.760
hey, because we write a lot of really fascinating papers,
link |
01:11:09.080
but B, because we're focused on all these really cool,
link |
01:11:12.240
sexy, interdisciplinary problems.
link |
01:11:14.120
We're actually running into problems
link |
01:11:15.080
where we don't even know where to publish the paper.
link |
01:11:17.040
Because you'll have this paper where there's like
link |
01:11:18.400
these PL guys working with crypto guys,
link |
01:11:20.400
working with systems guys, working with economists.
link |
01:11:23.120
And you put it all together
link |
01:11:23.960
and you have this Frankenstein paper monster,
link |
01:11:26.160
and we're like, where do we submit this?
link |
01:11:27.920
Where does this go?
link |
01:11:28.960
Nature.
link |
01:11:29.800
Yeah, there we go.
link |
01:11:30.720
Nature or quanta or something, I don't know.
link |
01:11:32.880
It'll write a nice little.
link |
01:11:33.720
So the sexy problems multiply exponentially.
link |
01:11:36.520
Exactly, and we've now gotten to a point
link |
01:11:39.000
where we're starting to work on refinements to the system
link |
01:11:42.040
rather than fundamental things that are like,
link |
01:11:44.920
if you don't solve it, the system just simply doesn't work.
link |
01:11:47.440
For example, you can run all of this with NTP
link |
01:11:49.920
as your clock server,
link |
01:11:50.840
but you actually can create a notion of time with N.
link |
01:11:52.680
We wrote a paper called the Workforce Chronos for that.
link |
01:11:55.520
But that's not necessary for the system.
link |
01:11:58.280
It's just a nice to have thing.
link |
01:11:59.520
It's a nice property.
link |
01:12:00.400
Optimization of the random number generation
link |
01:12:02.080
is another example of that.
link |
01:12:03.040
You can run it with a heavier thing.
link |
01:12:04.680
You just have more blockchain bloat
link |
01:12:06.080
and slower time and transition.
link |
01:12:08.440
We have this concept in Epic.
link |
01:12:09.920
So you elect leaders to run the system
link |
01:12:13.840
every five days with Cardano,
link |
01:12:15.760
but there's been derivative work.
link |
01:12:17.120
We didn't even do this.
link |
01:12:18.120
This work occurred at University of Illinois.
link |
01:12:20.000
And that derivative work said,
link |
01:12:21.160
well, you don't actually need to do that.
link |
01:12:22.360
You can do it on a block by block basis.
link |
01:12:24.520
It's like, ooh, that's pretty cool.
link |
01:12:26.160
So that's the other point about doing things
link |
01:12:27.560
in a very rigorous way is that that way
link |
01:12:31.040
creates a lingua franca for what you're trying to solve
link |
01:12:33.880
with the totality of the academic community.
link |
01:12:36.400
So suddenly people that you've never met,
link |
01:12:38.360
you know nothing about have read your papers,
link |
01:12:40.480
cited your papers and start writing their own papers,
link |
01:12:43.040
either to try to attack and destroy things you've done
link |
01:12:45.720
or to build on top of the things that you've done.
link |
01:12:48.080
So people are trying to figure out ways to attack this.
link |
01:12:50.360
Exactly.
link |
01:12:51.200
As rigorous as you are trying to build up.
link |
01:12:52.920
And I don't have to pay them.
link |
01:12:54.120
That's the beautiful thing.
link |
01:12:54.960
It's fun.
link |
01:12:55.880
Yeah.
link |
01:12:56.720
It's fun to try to destroy
link |
01:12:57.560
and that's how we grow stronger.
link |
01:12:58.400
And it's how you build your career too.
link |
01:12:59.840
There's plenty of people that they've gotten tenure
link |
01:13:02.280
just kicking the hell out of Intel SGX.
link |
01:13:04.920
You go to CCS every year, there's some guy there
link |
01:13:06.960
and he's having a hell of a time making Intel cry.
link |
01:13:11.200
Can we pull back historically speaking
link |
01:13:13.320
and in terms of the big picture
link |
01:13:14.760
of cryptocurrency real quick
link |
01:13:16.200
and ask the question, what is Cardano?
link |
01:13:19.040
We started talking about already
link |
01:13:20.440
the consensus algorithm Cardano takes.
link |
01:13:23.480
But maybe when you look at the history books,
link |
01:13:26.320
you know, sort of a Hitchhiker's Guide to the Galaxy
link |
01:13:28.800
and Cardano will have one sentence.
link |
01:13:31.200
What's that one sentence going to be?
link |
01:13:33.320
And in general, what's like the vision
link |
01:13:35.320
in the context of the history of cryptocurrency?
link |
01:13:37.560
You have like this whiteboard overview video
link |
01:13:39.560
that you talk about the three generations of cryptocurrency
link |
01:13:43.040
where Cardano is the third.
link |
01:13:44.400
So that's like five different questions
link |
01:13:47.680
way of asking the exact same thing you can answer
link |
01:13:49.600
however the hell you want.
link |
01:13:50.800
You know, I always termed Cardano as like a FOSS,
link |
01:13:55.320
a financial operating system and nobody likes it
link |
01:13:57.880
and everybody picks on me for using that term.
link |
01:14:00.000
But basically the idea is that, you know,
link |
01:14:01.560
the world runs on systems, especially the financial world.
link |
01:14:04.360
You have, you know, the BIS and Swift
link |
01:14:06.760
and all this other stuff.
link |
01:14:07.840
And these protocols allow you to move value around
link |
01:14:11.640
and represent things like identity.
link |
01:14:13.400
And allow you to express yourself in some way.
link |
01:14:17.040
And those protocols for the most part work well
link |
01:14:19.920
for people in rich countries.
link |
01:14:22.040
And they don't work so well
link |
01:14:23.240
for people who aren't in rich countries.
link |
01:14:25.560
And so the point of what we do, or at least what I do
link |
01:14:29.380
and what my company does is we think a lot about
link |
01:14:32.160
how do we build a universal protocol
link |
01:14:34.200
that does all the stuff the legacy system has
link |
01:14:36.560
but just does it better, faster and cheaper
link |
01:14:38.420
for everybody in the world.
link |
01:14:39.840
And everybody has equal access to it, you know?
link |
01:14:42.080
So it's the people's protocol.
link |
01:14:43.560
You know, you have a situation where the guy in Senegal
link |
01:14:46.240
has the same access that I do or Bill Gates does
link |
01:14:48.800
or someone else who's kind of higher
link |
01:14:50.480
on the spectrum of wealth and power.
link |
01:14:52.880
And so that is what we seek to achieve.
link |
01:14:56.760
But then the question is well, is Cardano the solution?
link |
01:14:59.480
You know, is that that thing?
link |
01:15:01.480
And the answer is no,
link |
01:15:02.680
because you need a lot more evolution.
link |
01:15:05.520
You need decades of evolution
link |
01:15:06.960
to kind of work your way there.
link |
01:15:08.860
And in many ways the work is never quite done
link |
01:15:11.160
but it's better than what came before.
link |
01:15:13.960
Why?
link |
01:15:14.800
Because you have a realization that first
link |
01:15:17.160
the control of the system needs to be more balanced
link |
01:15:19.760
and nuanced and it needs to be more democratic.
link |
01:15:23.640
So there's this sustainability component
link |
01:15:25.680
of who's in charge and how do you pay for things?
link |
01:15:28.380
Well, the system can print its own money
link |
01:15:30.040
so it always has the ability to have a budget.
link |
01:15:31.920
Okay, so there's a treasury idea.
link |
01:15:34.200
And then there's a voting thing.
link |
01:15:35.800
Well, the same things that allow you to move money around
link |
01:15:38.040
allow you to represent votes.
link |
01:15:39.320
So you can do eVoting with the type of system, okay.
link |
01:15:42.240
And you know, if you played Gnomic in the 1980s
link |
01:15:44.880
or Peter Superfan or any of these things,
link |
01:15:46.620
you can build a self evolving system.
link |
01:15:48.300
You can actually create a game
link |
01:15:49.520
where the rules can be voted on and changed
link |
01:15:51.380
in the game itself, great.
link |
01:15:53.800
Okay, so that exists there.
link |
01:15:56.080
And then you say, okay, well,
link |
01:15:57.460
but this thing still has to touch the legacy world.
link |
01:15:59.760
There has to be cash in and cash out
link |
01:16:01.760
and these types of things.
link |
01:16:02.880
So there's just this interoperability thing
link |
01:16:04.560
that you need a wifi or a Bluetooth moment for the industry
link |
01:16:07.140
because nothing understands each other right now.
link |
01:16:08.720
There are all these chains are blind, deaf
link |
01:16:10.520
and dumb to each other.
link |
01:16:11.640
And then there's this thing that it has to work
link |
01:16:13.160
at a huge scale, like billions of people.
link |
01:16:15.760
And we've done that, but we've done that
link |
01:16:17.320
with large multinational trillion dollar companies
link |
01:16:19.840
with centralized infrastructure.
link |
01:16:21.280
We've never really done that with one master protocol
link |
01:16:24.360
that somehow does it for everyone.
link |
01:16:25.520
The closest approximation is probably BitTorrent.
link |
01:16:28.080
And there's, you know, there was, it's a cool protocol,
link |
01:16:31.520
but it doesn't have all the oomph necessary to,
link |
01:16:34.640
necessary to do something like this.
link |
01:16:36.520
So Cardano is just our first approximation
link |
01:16:38.880
and like any good system,
link |
01:16:40.960
we wanted it to be self evolving.
link |
01:16:42.640
So once you get the philosophy out of where's the target
link |
01:16:44.960
of what do you want to do, then you build a community.
link |
01:16:47.880
Now it's over a million people strong
link |
01:16:49.720
and that community keeps growing
link |
01:16:51.360
and they keep pushing the system
link |
01:16:52.860
in that particular direction.
link |
01:16:54.240
And what's nice about it is if you build the right philosophy
link |
01:16:56.760
within the system, it doesn't need founders.
link |
01:16:58.920
This is the great lesson of Satoshi.
link |
01:17:00.560
It doesn't need founders to be able to get there.
link |
01:17:02.860
So, you know, if you look at the academic side,
link |
01:17:07.940
that's very decentralized.
link |
01:17:09.740
We have more than 30 different contributors
link |
01:17:11.720
for the 105 papers and that set keeps growing
link |
01:17:14.280
within the next five years.
link |
01:17:15.280
It'll probably be two, three, 400 different scientists
link |
01:17:18.100
from all across the world, some from Russia
link |
01:17:20.680
and some from India, some from China and some from Japan
link |
01:17:23.520
and America and Africa and South America.
link |
01:17:25.920
And the faces change, the languages change,
link |
01:17:28.800
the cultures change, but the process stays the same.
link |
01:17:32.520
And that is a permanent organ
link |
01:17:34.400
within what we have constructed as a system.
link |
01:17:36.920
And it's the same situation entering marketplaces.
link |
01:17:38.960
Like we entered Ethiopia, what are we doing there?
link |
01:17:41.320
We have 5 million people in Ethiopia.
link |
01:17:43.060
We're getting them digital identity
link |
01:17:44.840
and we're dragging that digital identity into the system.
link |
01:17:47.160
Cause that's the most fundamental thing
link |
01:17:48.440
of a financial operating system.
link |
01:17:50.120
You need to know who people are
link |
01:17:51.720
in order to be able to do business with them,
link |
01:17:53.320
give them credit, be able to give them economic agency
link |
01:17:56.160
and so the thing.
link |
01:17:57.000
But once they're there,
link |
01:17:58.200
they're going to grow up with that system.
link |
01:18:00.280
They're going to deploy applications on that system.
link |
01:18:02.280
They're going to build on that system
link |
01:18:03.400
or use it every day for getting a loan
link |
01:18:05.200
or payments and so forth.
link |
01:18:06.480
And if they have pain points,
link |
01:18:07.980
what they're going to do is evolve that system
link |
01:18:10.480
to be able to mitigate,
link |
01:18:11.440
manage those particular pain points
link |
01:18:13.600
to a point where the system is competitive for it.
link |
01:18:16.360
So my job is to be,
link |
01:18:18.880
we have this tagline in our company, cascading disruption.
link |
01:18:21.920
My job is to be the first domino.
link |
01:18:23.740
Just kind of knock it over and watch the cascade
link |
01:18:26.600
and it kind of blows and blows and blows up
link |
01:18:28.400
until eventually it gets to where we need to go.
link |
01:18:31.280
And what I was trying to think about with Cardano
link |
01:18:33.520
was how do you build the minimum viable set
link |
01:18:36.560
of tools and social processes
link |
01:18:40.200
that once we push the domino,
link |
01:18:42.080
the system will just evolve to a point
link |
01:18:43.880
where eventually you can grow to fill that need,
link |
01:18:46.200
not out of charity, but out of self interest.
link |
01:18:49.360
People want things better, faster, cheaper.
link |
01:18:51.880
People want to have economic agency,
link |
01:18:54.740
especially when they lack it.
link |
01:18:56.280
Nobody wants to grow up in a world where they're unbanked
link |
01:18:59.220
and they have no access to marketplaces.
link |
01:19:01.080
They're gonna seek it.
link |
01:19:02.260
Look at Mpesa.
link |
01:19:03.240
It's the great example of that, like cell phone minutes
link |
01:19:06.240
they're using as a currency.
link |
01:19:07.840
So that's where we're at.
link |
01:19:09.760
And I say a few more years,
link |
01:19:10.860
I think we'll have that rate minimum viable set of dynamics
link |
01:19:13.840
inside the system.
link |
01:19:15.120
And then it's inevitable in my view
link |
01:19:16.920
that it'll kind of grow and consume and become this concept.
link |
01:19:20.200
And what's really cool is there's competition
link |
01:19:21.640
in the systems and concepts.
link |
01:19:22.760
So China is trying to do the same thing.
link |
01:19:24.760
They're saying, how do we de dollarize the world
link |
01:19:26.800
and create a digital Yuan?
link |
01:19:28.280
So they have a very top down notion
link |
01:19:30.180
of how to apply this technology and bring it in.
link |
01:19:32.200
And they even have an identity system
link |
01:19:33.440
they're building in parallel called social credit.
link |
01:19:35.720
We have an identity system,
link |
01:19:36.680
a talaprism that we're putting in.
link |
01:19:38.240
Ours is bottom up and you own your own identity,
link |
01:19:40.300
social credit.
link |
01:19:41.140
You have no idea.
link |
01:19:41.960
You just have a number and some computers giving it to you,
link |
01:19:43.960
but they're both trying to do the exact same thing.
link |
01:19:46.140
And it's gonna be this clash of cultures at some point
link |
01:19:49.020
between the open fosses
link |
01:19:50.780
and the top down authoritarian fosses
link |
01:19:53.160
and probably some Hegelian dialectic action to happen.
link |
01:19:56.040
We'll create some sort of somewhat closed,
link |
01:19:59.120
somewhat authoritarian, libertarian utopia.
link |
01:20:02.760
Yeah, most likely it would be AIs battling
link |
01:20:05.560
in the space of fosses.
link |
01:20:06.680
So I really like this idea of financial operating system,
link |
01:20:08.980
but the letter F, so financial,
link |
01:20:13.520
is this just a basic mechanism
link |
01:20:18.020
with which you can have social interaction
link |
01:20:19.920
therefore or all kinds of interactions
link |
01:20:22.320
therefore have an identity?
link |
01:20:23.740
Like is F essential to this?
link |
01:20:26.180
Yeah, because that's how people care.
link |
01:20:28.220
You need resources to survive.
link |
01:20:30.320
And finances is kind of like this field
link |
01:20:32.520
of managing your resources in an intelligent way.
link |
01:20:36.160
And you could call it SOFI too, social finance.
link |
01:20:38.920
The nomenclature hasn't exactly been settled
link |
01:20:42.400
for our industry and that's fun.
link |
01:20:44.440
But basically the concept is that you have something
link |
01:20:48.800
and you wanna be able to store it, transform it,
link |
01:20:51.280
trade it and use it to survive.
link |
01:20:54.040
And the question is what rails do you do that on?
link |
01:20:56.720
Do you do those on centralized controlled rails
link |
01:20:59.360
where there are these third parties
link |
01:21:01.280
that are basically able to live off those things,
link |
01:21:04.440
become very fat and nepotistic?
link |
01:21:06.020
Or do you wanna do it on rails where there's no middleman?
link |
01:21:08.620
You have a direct relationship
link |
01:21:09.960
with whoever you're doing business
link |
01:21:11.280
and if you invite more people into the transaction,
link |
01:21:13.200
they're middlemen of value, not necessity.
link |
01:21:15.580
And that's really the, I would like to say
link |
01:21:17.560
the resident detra of our space,
link |
01:21:19.240
that the reason we exist is to try to figure out a way
link |
01:21:21.600
to kill the middleman and try to figure out a way
link |
01:21:24.260
that we can better quantify value and transform it,
link |
01:21:27.060
move it, manipulate it.
link |
01:21:28.480
And in many ways we've actually discovered
link |
01:21:30.260
some amazing things in the last 10 years as an industry.
link |
01:21:32.760
Like we've kind of created the financial stem cell.
link |
01:21:35.440
This idea of a token can now is just as well
link |
01:21:37.800
be a national currency as a CBDC
link |
01:21:39.880
as it can represent a crypto kitty.
link |
01:21:42.560
The same architecture can do stuff at the nation scale,
link |
01:21:46.100
can do stuff for a 12 year old kid in Texas.
link |
01:21:48.400
It's pretty amazing to see that.
link |
01:21:50.040
But sort of in that whiteboard presentation,
link |
01:21:54.960
you gave these three phases and you're kind of implying
link |
01:21:58.920
that there'll be end phases to this whole evolution.
link |
01:22:02.800
And Cardano is just like the cutting edge.
link |
01:22:05.400
But if you look back to Bitcoin,
link |
01:22:08.800
how would you compare Cardano versus Bitcoin?
link |
01:22:12.320
Sort of where we are, how we started and how it's going.
link |
01:22:16.200
Okay, so what I did in that video and I've done
link |
01:22:20.080
in a lot of media interviews,
link |
01:22:21.360
because I think it really helps people understand
link |
01:22:23.560
where we're at in the clock is face things
link |
01:22:26.560
in terms of generations.
link |
01:22:27.760
And so I said, well, the first generation is Bitcoin.
link |
01:22:29.920
And really the problem Bitcoin was trying to solve
link |
01:22:31.800
is saying every time we wanna represent or move value,
link |
01:22:34.880
we need some sort of trusted third party to facilitate that.
link |
01:22:39.000
So can we build some sort of system
link |
01:22:40.480
where we can create some notion of value
link |
01:22:42.320
that can be teleported around the world
link |
01:22:44.880
and it doesn't require a trusted third party?
link |
01:22:47.240
That's it.
link |
01:22:48.080
And it's done in a beautiful way
link |
01:22:49.720
because it didn't try to be anything else.
link |
01:22:52.480
It just was, you only have Bitcoin,
link |
01:22:54.480
you can only do one type of thing, you can only push it.
link |
01:22:56.760
You can do some things on the encumbrances
link |
01:22:58.760
of like multi SIG and other things,
link |
01:23:00.680
but that's a one trick pony as a system.
link |
01:23:04.200
And it wasn't really clear if that was gonna work or not
link |
01:23:06.440
for a long time.
link |
01:23:07.280
It took several years to build up enough network effect
link |
01:23:09.800
and for Bitcoins to actually become valuable.
link |
01:23:12.160
And I'd say the inflection point was 2013.
link |
01:23:15.160
And at that point it became a billion dollar market cap.
link |
01:23:17.720
There were like Silicon Valley startups,
link |
01:23:20.000
real exchanges performing.
link |
01:23:21.640
And it got to a point where there was legitimacy
link |
01:23:23.640
behind the concept and people started getting,
link |
01:23:25.480
this is a really incredible idea
link |
01:23:27.520
because I can evade capital controls with it.
link |
01:23:29.920
I can like move $10 billion of something
link |
01:23:32.800
from one country to another country in five minutes.
link |
01:23:35.080
It's like, I could never do that before.
link |
01:23:36.800
And you know, this is incredible.
link |
01:23:38.920
Okay, the problem is the minute that people validate
link |
01:23:42.000
the idea, they immediately want something they don't have.
link |
01:23:46.280
So like the minute Elon can land a rocket,
link |
01:23:48.880
there's the next big thing, right?
link |
01:23:50.480
You've landed the Falcon 9, now you're on the Starship.
link |
01:23:53.600
Similarly, you say, okay,
link |
01:23:55.000
I want programmability with this thing.
link |
01:23:57.480
It's kind of like when JavaScript came to the web browser,
link |
01:23:59.800
you went from these static, perhaps pretty,
link |
01:24:02.240
but ultimately static non interactive pages
link |
01:24:05.480
to YouTube and Google and Facebook
link |
01:24:08.080
and these amazing, rich, incredible experiences,
link |
01:24:10.840
because now you can actually interact with the user.
link |
01:24:13.240
You can program things, stuff runs on their side,
link |
01:24:15.520
stuff runs on your side.
link |
01:24:16.800
It's a beautiful two way relationship.
link |
01:24:19.160
So that's what Ethereum effectively did.
link |
01:24:21.280
They bolted a programming language onto a blockchain
link |
01:24:24.120
and they went from a certain use case
link |
01:24:27.640
to whatever your imagination can have,
link |
01:24:30.040
you know, like sunshine and rainbows and unicorns
link |
01:24:32.520
and these types of things.
link |
01:24:33.360
So what you're saying is Bitcoin is HTML
link |
01:24:35.800
and Ethereum is JavaScript?
link |
01:24:37.400
Basically, yeah, it was like when JavaScript came
link |
01:24:39.360
and with like JavaScript,
link |
01:24:41.040
it has all kinds of problems and issues.
link |
01:24:43.200
I wonder who's flash in this analogy, this metaphor,
link |
01:24:46.080
but let's not go there.
link |
01:24:47.080
Well, actually there were plenty of active Xs and flashes.
link |
01:24:49.480
NXT was an example of a failed to start
link |
01:24:52.120
and BitShares was another example.
link |
01:24:54.120
There were a lot of people who tried to add some notion
link |
01:24:56.120
of programmability in or a different view
link |
01:24:58.600
of how these things should be done
link |
01:25:00.200
and they were not as competitive.
link |
01:25:02.040
Ethereum kind of came out at that JavaScript moment.
link |
01:25:04.320
Okay, the minute you have that,
link |
01:25:05.400
and suddenly you have ICOs and DeFi and STOs and NFTs
link |
01:25:09.640
and all these word salads of things
link |
01:25:12.000
and then people start using it, they get frustrated.
link |
01:25:13.920
Why?
link |
01:25:14.760
Because it's too slow, it's too expensive,
link |
01:25:16.600
it doesn't talk to the things they want it to talk to
link |
01:25:18.760
and also it gets too big to manage itself.
link |
01:25:21.840
When you're small, you have founders and foundations
link |
01:25:25.120
and you have trusted actors and core developers
link |
01:25:27.400
and you can feed them with pizzas.
link |
01:25:29.240
You know them, you can meet them,
link |
01:25:30.720
you can shake their hands at conferences.
link |
01:25:32.560
When you're a multi billion person system,
link |
01:25:36.560
you're too large to be able to do that.
link |
01:25:39.880
For example, we had the Shelley Summit last year,
link |
01:25:42.880
we invited Vint Cerf to come to the summit.
link |
01:25:44.880
Vint's a brilliant guy and he created the internet
link |
01:25:47.560
with Bob and the rest of the gang
link |
01:25:49.200
and back in those days, it was such a simple small system
link |
01:25:53.460
that one of their students, they said,
link |
01:25:56.000
hey, you need to test it.
link |
01:25:56.840
He created a video game just to kind of test the thing.
link |
01:25:58.400
You could call the guy on the other side and say,
link |
01:26:00.120
are you seeing this?
link |
01:26:00.960
Are you getting the signal?
link |
01:26:01.840
They used to have a actual address book for email addresses.
link |
01:26:05.000
Yeah, so you'd open up the book and look it up
link |
01:26:07.640
and they'll look at the internet,
link |
01:26:08.480
it's like, who's in charge of that?
link |
01:26:10.040
It's this gargantuan network
link |
01:26:12.880
and there's no group of people you can bring in
link |
01:26:15.340
and thus the internet evolves very slowly, you see?
link |
01:26:18.960
And so that's the problem is that you have this situation
link |
01:26:21.360
where you wanna do lots of utility,
link |
01:26:23.340
you wanna do a lot of things,
link |
01:26:24.180
you wanna be a financial operating system
link |
01:26:26.100
and be everything to everyone
link |
01:26:28.800
but then your rate of evolution slows down
link |
01:26:30.660
as your rate of adoption speeds up.
link |
01:26:32.560
So that's one of the other design goals
link |
01:26:35.040
of the third generation.
link |
01:26:35.880
It's not good enough just to do things better, faster,
link |
01:26:37.680
cheaper and have consistent cost
link |
01:26:39.840
with your population growing
link |
01:26:41.500
or talk to everything, your wifi moment.
link |
01:26:43.880
You also need a system that can govern itself
link |
01:26:46.480
at a scale of millions to billions of people
link |
01:26:48.280
who have divergent interests.
link |
01:26:49.740
Some cases ice pick an eye divergent interest.
link |
01:26:52.400
They really hate each other and they don't get along.
link |
01:26:55.440
And so that's what we termed
link |
01:26:56.800
a third generation cryptocurrency
link |
01:26:58.360
and there's a lot of people attempting to compete
link |
01:27:00.920
in that space.
link |
01:27:01.760
There's Tezos and Algran and ICP and Polkadot and so forth.
link |
01:27:05.840
And each and every one of them kind of brings
link |
01:27:07.580
a different blend of things that they value.
link |
01:27:09.640
So it's not completely equal
link |
01:27:11.600
between scalability, interoperability and sustainability.
link |
01:27:14.640
Some people were very focused on high throughput,
link |
01:27:17.280
lots of transactions perspective.
link |
01:27:19.200
Other people very focused on governance
link |
01:27:21.720
like Tezos is like the governance chain
link |
01:27:24.880
and they were one of the first
link |
01:27:25.920
to do a self amending ledger.
link |
01:27:27.280
And other people are like Aeon or Polkadot.
link |
01:27:30.120
They're really thinking carefully
link |
01:27:31.320
about how do we build a nice interoperable ecosystem.
link |
01:27:34.040
With Cardano, we tried to actually tackle all three
link |
01:27:36.000
at the same time, which was one of the reasons
link |
01:27:37.600
why we were a little slower out of the gate.
link |
01:27:39.920
We had to write a lot more protocols
link |
01:27:41.320
but we think we've kind of come up
link |
01:27:42.960
with a beautiful interlocking design for all of them.
link |
01:27:45.880
And again, the point is not to get it perfect
link |
01:27:48.160
but rather get those just right set of evolutionary factors
link |
01:27:52.040
that when you click the domino,
link |
01:27:54.640
it just self evolves into what you need it to get to.
link |
01:27:57.520
Allow me to stretch the metaphor farther.
link |
01:28:01.800
If Bitcoin is HTML, there's HTML5.
link |
01:28:04.920
If Ethereum is JavaScript, JavaScript with V8
link |
01:28:07.680
has become quite fast, quite, you know,
link |
01:28:09.600
it runs much of the internet.
link |
01:28:11.240
So the argument could be that eventually everything
link |
01:28:15.600
will be JavaScript or maybe you could say
link |
01:28:18.440
eventually everything will be HTML
link |
01:28:20.600
and it should be a bunch of different tools
link |
01:28:22.160
that generate that HTML.
link |
01:28:23.800
So is it possible that just like Rousseau,
link |
01:28:28.280
we eventually return to generation one Bitcoin
link |
01:28:32.000
or we return to generation two Ethereum
link |
01:28:37.800
at the end of this journey?
link |
01:28:39.360
Yeah, the problem is your tail is wagging the dog there.
link |
01:28:42.280
And it's not, you have a situation
link |
01:28:44.360
where you're so focused on the technology
link |
01:28:46.640
that you're failing to understand
link |
01:28:48.640
that there's still Daisy here.
link |
01:28:50.520
You still have the user and where's the app store?
link |
01:28:53.120
Where's the one click install?
link |
01:28:54.800
Where's the use and utility?
link |
01:28:56.160
You know, all these layer two protocols
link |
01:28:58.040
and these DeFi applications in five years,
link |
01:28:59.880
they're completely protocol and blockchain agnostic
link |
01:29:03.200
because at the end of the day,
link |
01:29:04.040
they care about liquidity, operating cost
link |
01:29:06.000
and user experience.
link |
01:29:07.400
It's so a preposterous and absurd for somebody to say,
link |
01:29:10.360
oh, well, I'm gonna go build my application,
link |
01:29:13.000
get on the Apple store
link |
01:29:14.840
and I am gonna use Amazon as my web host.
link |
01:29:17.480
And no matter what happens, I will always use Amazon
link |
01:29:20.440
even if the operating cost is crazy.
link |
01:29:22.200
I see. You see?
link |
01:29:23.280
And so we're just in a unique period of history
link |
01:29:25.920
where there's a network effect
link |
01:29:27.160
around some initial infrastructure
link |
01:29:29.120
and people tend to be building around that,
link |
01:29:30.840
but every single one of the top DeFi providers
link |
01:29:34.920
are if they're getting successful
link |
01:29:36.680
into a certain network effect,
link |
01:29:38.000
they're having the multi chain conversation.
link |
01:29:40.400
So I don't really believe in a winner takes all
link |
01:29:42.560
maximums view of, well, there's gonna be some protocol
link |
01:29:45.120
that becomes the God protocol first
link |
01:29:46.640
because they evolved too quickly.
link |
01:29:48.400
Second, the incentives aren't aligned for that.
link |
01:29:50.920
TCPIP didn't have a token connected to it.
link |
01:29:53.240
There was no financial incentive
link |
01:29:55.000
where if TCPIP got adopted over something else,
link |
01:29:57.320
they'd make some big company crazy amounts of money.
link |
01:30:00.160
It was a useful piece of infrastructure.
link |
01:30:02.680
So I think that the third generation is gonna be as defined
link |
01:30:06.080
by the social components and the usability components
link |
01:30:09.080
as it is by the technological capabilities of the system.
link |
01:30:12.360
Really what these technological capabilities gave you
link |
01:30:14.680
was the ability to demonstrate a proof of concept
link |
01:30:18.040
and say these things are possible.
link |
01:30:19.240
Kind of like Xerox PARC, when Steve and Bill came in,
link |
01:30:22.600
they said, wow, you have networked computers,
link |
01:30:25.240
object oriented programming and a GUI.
link |
01:30:28.520
And this is like, what was it, 70s?
link |
01:30:30.400
It's like, wow, it's like incredible.
link |
01:30:32.000
But none of that was an actual product.
link |
01:30:33.520
That wasn't a Macintosh, but it was enough to get the idea.
link |
01:30:37.240
And then it was a race to how do we productize
link |
01:30:39.400
something like that.
link |
01:30:40.280
And in that case, it actually took several decades
link |
01:30:43.120
to roll out that vision that those guys had.
link |
01:30:45.200
And I think that's what Bitcoin and Ethereum did.
link |
01:30:47.720
But what's unique about this is normally you throw away
link |
01:30:50.400
the prior experiments.
link |
01:30:51.720
With these things, these are self evolving systems.
link |
01:30:54.040
So it's entirely possible to, Joe Rogan quote,
link |
01:30:57.480
to evolve Bitcoin to a point where it could become
link |
01:31:01.080
a third generation system if desired,
link |
01:31:02.960
as some amalgamation of layer one and layer two protocols.
link |
01:31:05.720
And it's the same for Ethereum.
link |
01:31:06.920
In fact, Vitalik is throwing away Ethereum
link |
01:31:09.080
and replacing with Ethereum too,
link |
01:31:10.960
because he recognizes he needs to upgrade
link |
01:31:12.760
and evolve the system.
link |
01:31:13.800
And that's what makes it fun because the techniques
link |
01:31:16.880
and methodologies that they've chosen to evolve
link |
01:31:19.120
and upgrade this system are distinctly different
link |
01:31:22.840
from the ones that we've chosen.
link |
01:31:24.280
And we have no idea which one's actually going to win,
link |
01:31:26.800
but we learn from each other and we co evolve
link |
01:31:29.160
from each other.
link |
01:31:30.000
So you're running like all these experiments in real time
link |
01:31:32.520
in a giant marketplace, and maybe they'll consolidate,
link |
01:31:35.720
maybe they'll stay divergent.
link |
01:31:36.880
I mean, look at big tech, you have Google, Apple,
link |
01:31:39.200
Microsoft, Facebook, they all coexist
link |
01:31:41.240
and they're trillion dollar companies.
link |
01:31:42.880
Some cases with TCP, it consolidates to one standard.
link |
01:31:46.120
And that's what we ended up using.
link |
01:31:47.720
So what's your intuition with Cardano having the proof
link |
01:31:51.760
of stake, and then eventually smart contracts
link |
01:31:55.560
versus the Bitcoin with layer two technologies,
link |
01:31:59.040
this kind of evolving creature.
link |
01:32:02.160
Again, you said you can't really predict the future,
link |
01:32:04.160
but what's your intuition why one might be more successful
link |
01:32:09.160
than the other?
link |
01:32:10.800
So the problem with Bitcoin is it is so slow.
link |
01:32:15.000
It's like the mainframe programming of the past.
link |
01:32:18.000
And the only reason it's still around is because
link |
01:32:20.120
there was so much invested in keeping it around
link |
01:32:22.280
that we just kind of have to leave it there
link |
01:32:24.200
and one day Cobalt will die.
link |
01:32:29.800
There's nothing about it from a collection of USPs
link |
01:32:32.560
that's particularly desirable.
link |
01:32:34.200
You have extremely long settlement time,
link |
01:32:36.040
you have extremely low programmability.
link |
01:32:38.240
It is not aware of any other system.
link |
01:32:39.760
There's no native way of issuing an asset in that system.
link |
01:32:42.400
You can't even do a pull transaction.
link |
01:32:44.200
You can't do anything that's interesting or unique there.
link |
01:32:47.120
And yeah, all due respect, it's, you know,
link |
01:32:50.000
mafia, all due respect, Tom.
link |
01:32:51.520
You got some problems.
link |
01:32:54.200
You need to lose some weight.
link |
01:32:55.040
You come to me on the day of my daughter's wedding.
link |
01:32:56.640
I know, I know.
link |
01:32:57.480
So, you know, all due respect to the Bitcoin people.
link |
01:32:59.440
It's like an amazing, incredible first generation thing.
link |
01:33:03.240
And it really, we're all here because of Bitcoin.
link |
01:33:06.520
But the problem is you have to upgrade the damn thing.
link |
01:33:08.600
You know, just because you were a high school football star
link |
01:33:11.600
doesn't mean that 30 years later you're still
link |
01:33:14.400
a high school football star in the same shape.
link |
01:33:16.320
You got the beer belly, you're old,
link |
01:33:17.720
you're not doing this thing again.
link |
01:33:18.880
And that's what Bitcoin has to do.
link |
01:33:20.480
There's fundamental improvements
link |
01:33:22.000
that I think Bitcoin can make at the protocol level
link |
01:33:25.600
that would actually make it an incredibly competitive system.
link |
01:33:28.280
Like if they wanted to keep Nakamoto consensus,
link |
01:33:30.560
proof of work, there's ways to enhance proof of work.
link |
01:33:33.320
I mean, Minkun Sir did this with BitcoinNG,
link |
01:33:36.080
Promotivus Wanus did this with Prism.
link |
01:33:38.640
Make it 10,000 times faster
link |
01:33:40.360
and you don't compromise the fundamental security assumptions
link |
01:33:43.040
that the system has.
link |
01:33:44.200
You can add programmability to it.
link |
01:33:46.080
Blockstream created a language called Simplicity.
link |
01:33:48.520
And so there's actual ways to extend.
link |
01:33:50.520
And we did this with Cardano with the extended UTXO model.
link |
01:33:53.360
There's ways to extend what Bitcoin has.
link |
01:33:55.680
Keep the philosophy, the accounting,
link |
01:33:57.480
the way of thinking about transactions.
link |
01:33:59.680
But then suddenly you can now do DeFi and other things.
link |
01:34:02.480
But what they've done is said,
link |
01:34:03.560
we will not evolve the base layer at all.
link |
01:34:06.240
And we're just gonna build all this layer two stuff,
link |
01:34:08.800
which is usually highly fragile and centralized
link |
01:34:11.680
and requires enormous effort at the base level
link |
01:34:13.760
to do anything.
link |
01:34:14.920
It's not a coincidence Vitalik started as a color coins guy
link |
01:34:17.880
and a master coin guy hanging out in those circles.
link |
01:34:20.280
He was trying to innovate and do things in Bitcoin.
link |
01:34:22.880
And it was so hard and difficult
link |
01:34:24.920
that he started diverging and going and doing things
link |
01:34:27.240
in a different system entirely.
link |
01:34:30.080
I knew the master coin guys,
link |
01:34:31.560
JR and all these people, they were maximalists.
link |
01:34:33.720
They really wanted to build something cool
link |
01:34:35.480
and exciting for Bitcoin.
link |
01:34:36.600
And anything they did, the developers would attack them.
link |
01:34:39.280
It's all you're misusing op return, you're doing this,
link |
01:34:42.000
that it was a holy war anytime you wanted to evolve.
link |
01:34:44.720
So I think it's its own worst enemy.
link |
01:34:46.760
It has the network effect, it has the brand name,
link |
01:34:49.040
it has the regulatory approval,
link |
01:34:51.000
but there's no way to change the system,
link |
01:34:53.720
even correcting obvious downsides in that system.
link |
01:34:56.720
Now, what's really cool is Ethereum
link |
01:34:58.440
doesn't suffer from that problem.
link |
01:35:00.360
It's getting to a point
link |
01:35:02.040
where it has a similar network effect to Bitcoin,
link |
01:35:04.240
but the community there is completely different in culture.
link |
01:35:08.040
They love evolving, they love upgrading,
link |
01:35:09.960
sometimes a little too much.
link |
01:35:11.600
And so that means that if you look at the trajectory
link |
01:35:15.080
of things, if I had to bet just those two systems,
link |
01:35:17.360
Bitcoin or Ethereum, I would say nine times out of 10,
link |
01:35:20.560
Ethereum is going to win the fight against Bitcoin
link |
01:35:23.400
if it was the only competitor.
link |
01:35:25.240
But obviously we're here and a lot of other people are here.
link |
01:35:27.600
So there's different things going on.
link |
01:35:29.640
So it's a much more complex game.
link |
01:35:31.520
But I think that's always a key,
link |
01:35:33.360
zooming out a little bit, set the technology aside
link |
01:35:36.640
and the word salad of cryptography aside
link |
01:35:38.560
because it's too much.
link |
01:35:39.760
What you have to always do is say,
link |
01:35:41.080
what incentive does the system have to evolve?
link |
01:35:44.040
And when you look at things like Android and the App Store
link |
01:35:46.640
and these analogous platforms,
link |
01:35:48.920
you say, ah, the evolution is user driven
link |
01:35:51.120
and there's a financial incentive
link |
01:35:52.360
for the user to participate.
link |
01:35:53.800
So if I had to look at the trajectory of this thing,
link |
01:35:56.200
come back 10 years later,
link |
01:35:57.680
it's probably gonna have millions of applications
link |
01:35:59.880
and lots of stuff going on
link |
01:36:01.720
because that's the way the system was constructed.
link |
01:36:04.240
Okay, it makes sense.
link |
01:36:05.560
When you look at Bitcoin, you say,
link |
01:36:06.680
what is the incentive to evolve the system?
link |
01:36:09.280
There's none.
link |
01:36:10.520
What is the incentive for the system
link |
01:36:12.360
to get more competitive?
link |
01:36:13.720
There's none.
link |
01:36:14.560
In fact, it's the opposite.
link |
01:36:15.400
They've turned it into a religion.
link |
01:36:16.540
I was in Miami at this Bitcoin conference there.
link |
01:36:19.520
I had a toilet paper roll thrown at me
link |
01:36:21.540
that had shit coin written on it.
link |
01:36:23.100
You have Max Keiser out on the stage,
link |
01:36:25.520
doing his best Rick James impression.
link |
01:36:28.320
We'll see the guy that did the F Elon, fuck Elon.
link |
01:36:32.060
Yes, yes, yes.
link |
01:36:33.100
And so you're watching this stuff and you say,
link |
01:36:35.500
okay, first, why would anybody wanna join that?
link |
01:36:37.820
And then second, where is the conversation
link |
01:36:40.540
about how do we achieve something?
link |
01:36:42.580
I started with Cardano, the end in mind.
link |
01:36:44.460
I said, we really wanna sit down
link |
01:36:47.040
and build this financial operating system.
link |
01:36:49.000
And the definition of success is
link |
01:36:50.980
the poorest person in the world
link |
01:36:52.340
has access to the same system
link |
01:36:53.920
as the richest person in the world
link |
01:36:55.500
and they both get treated fairly.
link |
01:36:57.740
We've never had that happen before.
link |
01:36:59.220
Okay, that's something.
link |
01:37:00.100
You can agree with it, disagree with it,
link |
01:37:01.380
say it's boiling the ocean, it's impossible.
link |
01:37:03.220
At least I have something.
link |
01:37:04.500
I can't for the life of me understand
link |
01:37:06.380
what the hell is the point of Bitcoin.
link |
01:37:08.140
When I joined the Bitcoin space way back in the day,
link |
01:37:11.160
it was, hey, we hate the dollar.
link |
01:37:13.060
And hey, we like gold a lot.
link |
01:37:14.920
Let's create digital gold.
link |
01:37:15.980
Let's build a payment system.
link |
01:37:17.780
And then it just kind of went all these different directions
link |
01:37:20.060
and nobody can actually tell you what Bitcoin is for.
link |
01:37:22.700
It's a store of value, okay.
link |
01:37:25.820
There's some proof of work thing
link |
01:37:27.260
where maybe you're like incentivizing
link |
01:37:29.700
alternative energy to be produced.
link |
01:37:30.980
I don't know.
link |
01:37:32.340
Nobody really knows the philosophy.
link |
01:37:33.700
There's no direction.
link |
01:37:35.100
And they say, but don't worry, just buy and hold
link |
01:37:38.340
and everything will sort its way out.
link |
01:37:40.340
I believe it's HODL.
link |
01:37:41.380
Yeah, HODL.
link |
01:37:42.620
What about the idea of digital gold?
link |
01:37:44.460
So trying to replace that particular physical material
link |
01:37:46.900
that is gold to transfer into the digital space.
link |
01:37:49.340
That's something.
link |
01:37:50.180
Okay, let's do that then.
link |
01:37:51.700
And just say that's all it does.
link |
01:37:52.860
Then why are we doing lightning?
link |
01:37:54.140
Why are we doing any of these other things?
link |
01:37:55.340
You don't really need with a commodity,
link |
01:37:57.740
a digital commodity, high throughput.
link |
01:38:00.100
You can have slow settlement.
link |
01:38:01.340
You can have high transaction fees,
link |
01:38:02.760
all these types of things.
link |
01:38:03.600
And that's fine.
link |
01:38:05.020
Okay, that's something, pick it.
link |
01:38:07.280
Well, the idea is to try to come up with technology
link |
01:38:09.940
like the lightning network
link |
01:38:11.300
that could have something like gold,
link |
01:38:13.620
but then still build an economy around it.
link |
01:38:16.060
Something with a high throughput transactions.
link |
01:38:18.020
And have we ever built a successful banking credit system
link |
01:38:21.100
off of gold?
link |
01:38:22.340
Never.
link |
01:38:23.180
It never works because there's too much volatility
link |
01:38:25.500
in the underlying asset.
link |
01:38:26.720
Would you take a gold denominated loan for something?
link |
01:38:28.980
If somebody says, all right,
link |
01:38:29.820
I'll give you five bars of gold to go buy this car
link |
01:38:32.140
and pay me back five and a half bars of gold.
link |
01:38:35.040
Nobody would know in five years where they come out
link |
01:38:37.380
in that kind of a range.
link |
01:38:38.220
The idea is that the gold is used
link |
01:38:39.620
for the settlement of transactions
link |
01:38:41.240
and then you're operating,
link |
01:38:42.700
the actual economy is operating outside of gold.
link |
01:38:45.940
And then you kind of connect back to gold.
link |
01:38:48.220
So we had to go back to the gold reserve
link |
01:38:49.860
and we tried that for a long time.
link |
01:38:51.900
It didn't really work in a modern global economy.
link |
01:38:53.780
We had the Brentwood's agreement and all these other things.
link |
01:38:55.900
And so I understand what you're saying
link |
01:38:57.860
and maybe there's some merit to that,
link |
01:38:59.920
but if that was really an earnest where they want to go,
link |
01:39:02.180
then the conversation should be about,
link |
01:39:03.900
well, how do we make it easy for layer two protocols
link |
01:39:06.420
to interact with Bitcoin?
link |
01:39:08.140
So why is simplicity not built into it?
link |
01:39:10.260
Why is it taking so long to do SnoreSigs?
link |
01:39:12.180
Why is it taking so long to do all these obvious upgrades,
link |
01:39:14.940
which are cryptographically low danger?
link |
01:39:17.220
Also NipaPals, not interactive proofs of proof of work.
link |
01:39:20.260
There's no cost to doing that.
link |
01:39:21.860
It's just a property of proof of work
link |
01:39:23.660
where certain puzzles are more special than other puzzles.
link |
01:39:26.940
And by noticing that you can create these beautiful proofs
link |
01:39:29.700
that allow you to have side chains and like clients.
link |
01:39:32.020
It's not compromising security of the system.
link |
01:39:34.140
It's just something you get for free with proof of work.
link |
01:39:36.540
Those came out in 2016.
link |
01:39:38.100
There's derivative work fly client floating around.
link |
01:39:40.260
Where the hell is it?
link |
01:39:41.740
This is the frustration that I have is like,
link |
01:39:43.780
if you really are serious about this whole lightning
link |
01:39:45.860
and gold economy thing, I love choice.
link |
01:39:48.700
I'm a libertarian by nature.
link |
01:39:50.060
I love competition.
link |
01:39:51.540
And I read all those books.
link |
01:39:53.060
I read Ludwig von Mises's work and Murray Rothbard's work.
link |
01:39:56.140
I love what Hayek had to say about private currencies.
link |
01:39:58.660
Let's go try it.
link |
01:39:59.700
That's great.
link |
01:40:00.540
But then you have to have some focus and commitment
link |
01:40:03.140
as an ecosystem.
link |
01:40:04.140
And the excuse they use is, well, no, we don't
link |
01:40:07.100
because we're decentralized.
link |
01:40:08.340
And because we're decentralized, we don't need that.
link |
01:40:11.380
As if there's some sort of guiding swarm intelligence
link |
01:40:14.060
that will naturally push the system
link |
01:40:16.220
in that particular direction.
link |
01:40:17.940
But then you ask, well,
link |
01:40:19.100
how do people measure the success of Bitcoin?
link |
01:40:21.620
Is it the fact that they've actually achieved
link |
01:40:23.700
lots of transactions and lots of actual economic activity
link |
01:40:27.700
and lots of businesses accepting Bitcoin?
link |
01:40:29.380
That will go up.
link |
01:40:30.380
It's the price.
link |
01:40:31.980
That's what they do.
link |
01:40:33.180
And that's the only thing they pay attention.
link |
01:40:34.780
That's why this is the most attended Bitcoin conference
link |
01:40:37.100
in history.
link |
01:40:37.940
Not because somehow Bitcoin got so much more adoption,
link |
01:40:40.540
it's because this is the highest price point Bitcoin
link |
01:40:43.260
has ever been this year, over 30,000.
link |
01:40:46.020
So first of all, let me state that, Charles,
link |
01:40:47.780
for the most part is purely objective.
link |
01:40:51.420
The bias that comes in, for the record, I want to say,
link |
01:40:55.340
that I have heard, because you mentioned the mafia,
link |
01:40:58.060
that you prefer Goodfellas over the Godfather.
link |
01:41:00.860
So a man who prefers Goodfellas over Godfather,
link |
01:41:04.380
you take it for that opinion for what it is.
link |
01:41:09.580
I actually had to think about that one for quite a bit.
link |
01:41:11.900
I think.
link |
01:41:12.740
Oh, come on.
link |
01:41:13.580
Joe Pesci was so good in that movie.
link |
01:41:14.420
He's incredible.
link |
01:41:15.260
I also love Casino and those big glasses on De Niro.
link |
01:41:18.260
I love it.
link |
01:41:19.460
With Sharon Stone.
link |
01:41:20.460
But we could talk about that for hours.
link |
01:41:21.980
But let me ask you about the Bitcoin conference,
link |
01:41:23.980
because it is kind of, I would say,
link |
01:41:27.540
an important moment in human history.
link |
01:41:29.380
It was quite exciting in terms of size
link |
01:41:31.540
and kind of turmoil and all those kinds of things.
link |
01:41:35.180
And you were there in, what is it?
link |
01:41:37.340
Hot and humid Miami.
link |
01:41:39.220
I believe that's the way you introduced it.
link |
01:41:41.460
So what do you make of the community of Bitcoin
link |
01:41:46.220
or that particular event in human history?
link |
01:41:49.140
What makes me sad is I remember the old Bitcoin community
link |
01:41:51.700
and I've seen what it's become.
link |
01:41:53.180
And the old community was really fun,
link |
01:41:54.940
like the San Jose conference in 2013
link |
01:41:57.140
or subsequent conferences.
link |
01:41:59.340
You know, there was just a lot of people,
link |
01:42:00.980
they had no money and they just really loved this idea
link |
01:42:04.700
of decentralized money.
link |
01:42:05.940
They loved this idea of decentralization in particular.
link |
01:42:09.180
And you could strike up a conversation with everyone.
link |
01:42:11.740
There's no ego at all.
link |
01:42:13.420
But what was really fun is you could really get
link |
01:42:16.780
intimate friendships and relationships,
link |
01:42:18.860
great conversations with people there.
link |
01:42:21.740
It's kind of like the early days of AI.
link |
01:42:23.260
They all met in Dartmouth and all these other places.
link |
01:42:25.060
Very intimate, there was no egos.
link |
01:42:26.420
Everybody was just trying to do some really cool stuff.
link |
01:42:28.660
Now, just like those early days,
link |
01:42:30.740
there was an overestimate of how robust
link |
01:42:33.460
the solutions would be.
link |
01:42:34.420
So we believed, oh yeah, 10 years,
link |
01:42:36.660
we're gonna rule the whole world, right?
link |
01:42:38.620
Didn't exactly happen.
link |
01:42:39.660
On the other hand, Bitcoin grew from nothing
link |
01:42:42.460
in just 11 years to I'm in Mongolia riding camels
link |
01:42:46.580
and the camel herder has Bitcoin in the Coby desert.
link |
01:42:50.100
So that's telling you that's a pretty pervasive technology
link |
01:42:52.580
if you have that level of adoption that quickly.
link |
01:42:54.780
When I went to Miami, it was unrecognizable.
link |
01:42:57.700
Everything was so commercial.
link |
01:42:59.020
Half of the vendors at the conference were like watches
link |
01:43:04.340
that cost half a million dollars
link |
01:43:06.260
and they were covered in diamonds.
link |
01:43:07.900
So when you see that kind of materialism leak its way in,
link |
01:43:10.460
it's first is repulsive.
link |
01:43:12.100
The other thing was there was no,
link |
01:43:14.340
like I remember one of the first conferences,
link |
01:43:16.260
Mo Levin's conference in January of 2014,
link |
01:43:19.100
the North American Bitcoin Conference ironically in Miami,
link |
01:43:22.140
there was a Bitcoin help center booth.
link |
01:43:24.980
Dima ran it and a few of the other Bitcoin OGs ran it.
link |
01:43:27.700
The core developers actually came over like Jeff
link |
01:43:29.780
and others who were there and sat at the booth
link |
01:43:32.020
and anybody come up, ask a question,
link |
01:43:34.020
anything you wanna ask about Bitcoin.
link |
01:43:35.620
It was like, that was the culture,
link |
01:43:36.900
just help people welcome in.
link |
01:43:38.660
There was no help booth there.
link |
01:43:40.820
There was no notion of that.
link |
01:43:42.060
There were six hour lines and superstars
link |
01:43:44.660
and things like that.
link |
01:43:45.500
And again, again, it was always the same thing.
link |
01:43:47.580
Look how much money all these people have made.
link |
01:43:50.740
And the whole point of Bitcoin
link |
01:43:52.020
was to redefine the notion of money,
link |
01:43:53.980
redefine the notion of value, these types of things.
link |
01:43:57.220
So it just, I'm no longer part of that.
link |
01:43:59.660
And it made me sad because I really enjoyed being part of it.
link |
01:44:02.820
How I got started was the Bitcoin education project.
link |
01:44:04.900
I did a class on Udemy.
link |
01:44:06.020
I gave it away for free.
link |
01:44:07.100
I had 80,000 students and they would email me.
link |
01:44:09.940
I got 5,000 emails before I stopped answering them.
link |
01:44:13.020
And everyone come in and ask me some question
link |
01:44:15.780
about something, sometimes arcane, sometimes trivial.
link |
01:44:18.780
And I take the time to sit down and answer the question
link |
01:44:21.260
or forward the email to somebody I knew
link |
01:44:22.900
who could answer that particular type of question.
link |
01:44:24.940
And there were some amazing people in the early days
link |
01:44:27.140
like Mike Hearn and Gavin and others.
link |
01:44:29.180
And they were just super committed.
link |
01:44:31.540
And Mike's case, he knew Satoshi.
link |
01:44:33.580
He actually emailed them back and forth
link |
01:44:35.340
because he was around 2009, 2010.
link |
01:44:37.620
He did the Bitcoin Java client.
link |
01:44:39.740
And Satoshi was all excited.
link |
01:44:40.740
He said, oh, wow, Bitcoin can come to a cell phone.
link |
01:44:43.180
This is really cool and exciting.
link |
01:44:45.540
And then what happened?
link |
01:44:46.380
Mike left Bitcoin in 2013
link |
01:44:48.740
over the whole big block debate that happened.
link |
01:44:51.380
They just treated him like dirt,
link |
01:44:53.100
like he was subhuman or something.
link |
01:44:54.940
So I don't know, the culture has changed a lot.
link |
01:44:56.780
And if they like it, it's good for them.
link |
01:44:59.900
They can enjoy their religion, but it's not for me.
link |
01:45:02.860
And where I like being is, like I had a guy
link |
01:45:05.820
who used to work for me, Alex Cherpanoi,
link |
01:45:08.260
and he created this beautiful project called Ergo.
link |
01:45:10.380
To me, that is the spiritual successor to Bitcoin.
link |
01:45:13.500
Ergo is really special because it has the same culture.
link |
01:45:15.940
It has the same mentality.
link |
01:45:17.380
And the technology is kind of like a natural evolution
link |
01:45:20.380
of what you would do if you knew about Bitcoin
link |
01:45:22.780
and you wanted to build the next big thing.
link |
01:45:24.740
So it's still a proof of work system.
link |
01:45:26.380
It's still a UTXO system,
link |
01:45:28.060
but he added UTXO with some smart contracts.
link |
01:45:30.460
It's this Sigma protocol idea.
link |
01:45:32.500
On the proof of work side,
link |
01:45:33.780
Satoshi had this one CPU, one vote idea.
link |
01:45:36.260
So Alex tried to create non outsourceable puzzles
link |
01:45:38.580
to make it impossible to have mining pools.
link |
01:45:40.860
And there's all these other beautiful little things.
link |
01:45:42.380
And he's this brilliant Russian programmer,
link |
01:45:45.300
and he surrounded himself
link |
01:45:46.260
with all these other brilliant people.
link |
01:45:47.660
He has zero ego.
link |
01:45:48.860
He has negative ego.
link |
01:45:50.300
When you put him with a person with ego,
link |
01:45:51.700
your ego goes down, right?
link |
01:45:53.900
And everything about Alex is always like,
link |
01:45:56.220
how do I solve this?
link |
01:45:57.100
How do I do that?
link |
01:45:57.980
And he gets legitimately excited when he meets somebody
link |
01:46:00.840
that he can collaborate with or learn from.
link |
01:46:04.060
That's where Bitcoin was in the beginning.
link |
01:46:06.580
Everybody set their egos aside,
link |
01:46:08.520
whether it was Hal Finney or whatever,
link |
01:46:10.240
and they would just say, how can I help?
link |
01:46:11.860
What can I do?
link |
01:46:12.700
And it was all about coming up with some cool new thing
link |
01:46:14.940
or solving some cool new problem.
link |
01:46:17.260
I don't see any of that in Bitcoin today.
link |
01:46:19.140
So quite a few people are excited about Ergo
link |
01:46:20.940
and excited about the fact
link |
01:46:21.900
that you kind of appreciate Alex and Ergo.
link |
01:46:25.080
Do you see Cardano potentially utilizing
link |
01:46:28.140
the proof of work mechanism from Ergo
link |
01:46:30.220
as part of this pool for the consensus mechanism?
link |
01:46:35.260
I mean, anything's possible,
link |
01:46:36.420
and there's a lot of evolution Ergo has to go through.
link |
01:46:39.220
And Ergo, it was kind of like,
link |
01:46:41.300
when the Xbox 360 first came out,
link |
01:46:43.620
while they were prototyping it,
link |
01:46:44.980
Microsoft needed a development environment.
link |
01:46:46.900
They ironically purchased a lot of Apple computers
link |
01:46:49.760
to do that,
link |
01:46:50.600
because Apple was moving away from the PowerPC to Intel,
link |
01:46:52.740
and Microsoft was moving towards the PowerPC,
link |
01:46:54.900
just this weird intersection of history.
link |
01:46:56.620
So at that time,
link |
01:46:57.460
the largest order of Mac computers made
link |
01:46:59.400
was done by Microsoft,
link |
01:47:01.020
and they were using it for Xbox stuff.
link |
01:47:02.660
So Ergo, we viewed the same way.
link |
01:47:04.260
So we said, well, we have this extended UTXO model.
link |
01:47:06.780
The only thing that's sufficiently close to it
link |
01:47:09.500
where we can beta test contracts is actually with Ergo.
link |
01:47:12.900
And Alex just was a little faster
link |
01:47:15.220
in getting certain things out,
link |
01:47:16.340
because we were doing things
link |
01:47:17.380
in a slightly more rigorous way
link |
01:47:18.780
and slightly more expressive way.
link |
01:47:20.520
So we actually tested a stable coin and Oracle
link |
01:47:22.740
and other things on Ergo,
link |
01:47:24.020
and it has just incredible community.
link |
01:47:26.740
When we said, hey, we're coming here to work and build,
link |
01:47:29.060
he said, oh yeah, we'd love to work with you guys.
link |
01:47:30.780
This is so cool.
link |
01:47:32.300
The other thing is Alex used to work for us,
link |
01:47:33.980
and he had this lovely project called Scorex,
link |
01:47:36.300
and it was all about like a pedagogical framework
link |
01:47:39.100
for building blockchains.
link |
01:47:40.540
And if you want to do prototyping or academic research,
link |
01:47:42.740
it was great.
link |
01:47:43.580
It was super modular,
link |
01:47:44.540
and it separated the consensus network
link |
01:47:46.260
and transaction layer from each other
link |
01:47:48.380
in just the right way,
link |
01:47:49.700
so that you can make it modular and mix and match things.
link |
01:47:52.180
So you can put secure academia in,
link |
01:47:53.500
or maybe a different network layer
link |
01:47:54.900
and a different consensus protocol,
link |
01:47:56.780
a proof of work to another proof of work and so forth.
link |
01:47:59.340
So we loved having that kind of IP sitting around
link |
01:48:02.500
because it gave us the ability
link |
01:48:03.820
to kind of play around with ideas in a matter of weeks
link |
01:48:06.340
instead of months or years.
link |
01:48:07.540
And then he just took that concept and he gave it away.
link |
01:48:10.500
The wave protocol was built on it.
link |
01:48:12.700
That was Sasha Ivanov, he did that.
link |
01:48:15.140
And I think there's two or three other cryptocurrencies
link |
01:48:17.380
that were launched from Scorex,
link |
01:48:18.420
and then Alex took that and built Ergo from it.
link |
01:48:22.040
So there was a nice intersection
link |
01:48:23.620
where there was overlapping technology
link |
01:48:25.500
with Ergo with our technology.
link |
01:48:27.620
And the other thing was that the community
link |
01:48:29.020
was so open and friendly, it was just a no brainer.
link |
01:48:31.380
Just go in and start building some things there.
link |
01:48:33.840
Now, in terms of evolving ideas,
link |
01:48:35.700
the whole Sigma protocol idea is very different
link |
01:48:38.020
and it's very interesting.
link |
01:48:39.100
And there's a guy at Boston University,
link |
01:48:42.100
his name will come to me in a second,
link |
01:48:43.740
who came up with this stuff.
link |
01:48:46.100
And I think there's some merit there,
link |
01:48:48.100
especially as we start moving closer to this idea
link |
01:48:51.260
of blockchains being used to validate proofs
link |
01:48:53.500
instead of running computations.
link |
01:48:54.700
What's the Sigma protocol, by the way?
link |
01:48:56.180
So it's just a way of expressing scripts.
link |
01:48:58.840
And basically, you get these concise representations
link |
01:49:03.220
of proofs, and then you can say,
link |
01:49:05.020
okay, the script is correct,
link |
01:49:06.100
but you don't have to run the whole program.
link |
01:49:07.820
So there's a lot, I'm not doing the topic justice,
link |
01:49:10.180
there's a lot more to it, but that's the basic concept.
link |
01:49:12.900
And in a Redeemer validator model,
link |
01:49:14.900
you need stuff like that,
link |
01:49:15.980
because as your model gets more complex
link |
01:49:19.000
and a lot more things happen,
link |
01:49:20.940
you don't want to have a situation
link |
01:49:22.740
where I have to run, replay a huge amount of the UTXO graph
link |
01:49:27.260
to be able to get to a point
link |
01:49:28.540
where I have the state of the system.
link |
01:49:30.020
You need some mathematical artifact
link |
01:49:32.100
that gives you the state of the system quickly.
link |
01:49:34.180
And then you're saying, okay, I now know
link |
01:49:35.980
what computation thread I need to run
link |
01:49:37.780
to be able to get enough
link |
01:49:39.020
to be able to redeem this transaction.
link |
01:49:41.400
So he just found a more compressed representation of it,
link |
01:49:43.620
and the math doesn't matter.
link |
01:49:45.460
What matters is there's a whole beautiful field
link |
01:49:49.060
that thinks about this type of stuff,
link |
01:49:51.180
and it was never once linked before into our industry.
link |
01:49:55.140
The brilliance of Alex was to actually realize
link |
01:49:57.140
you could do that and pull those things together,
link |
01:49:59.620
and it may actually have some merit,
link |
01:50:01.340
but by no means is he the only guy that does this stuff.
link |
01:50:03.820
There's actually other approaches in verified computing
link |
01:50:07.740
that have explored that.
link |
01:50:08.920
Like my favorite came out of Microsoft research
link |
01:50:10.860
is a project called Pinocchio,
link |
01:50:12.260
and there was a followup called Geppetto.
link |
01:50:13.860
And the basic idea was that it's fortuitous
link |
01:50:17.460
that you have these computer science problems
link |
01:50:19.820
like hashing where you can do all this computation,
link |
01:50:26.120
and once you've done all of it,
link |
01:50:27.340
and you've found this magic number
link |
01:50:28.500
that you can verify that the computation was done correctly.
link |
01:50:31.660
So the proof of work works this way.
link |
01:50:33.220
Hard to do the proof of work,
link |
01:50:34.520
easy to check the proof of work.
link |
01:50:37.100
Cryptography also works this way.
link |
01:50:38.620
You have some trap door
link |
01:50:39.700
where you can verify something's correct,
link |
01:50:41.200
but to get that thing done,
link |
01:50:43.500
if you're doing it brute force,
link |
01:50:44.780
it takes an enormous amount of computation.
link |
01:50:46.740
Well, not all problems are like this,
link |
01:50:48.340
like protein folding, to verify the protein
link |
01:50:50.540
is folded correctly, you have to fold the protein.
link |
01:50:52.340
So you have to redo the work.
link |
01:50:53.880
But what if for arbitrary computation,
link |
01:50:56.640
you could take a problem,
link |
01:50:58.220
and then you could generate a proof
link |
01:50:59.740
that you've done that computation correctly,
link |
01:51:01.940
and the proof validates in logarithmic time
link |
01:51:04.180
or constant time.
link |
01:51:05.200
Wow, that's incredible, right?
link |
01:51:06.980
Well, Microsoft actually wrote a paper on how to do that.
link |
01:51:09.260
It's called Pinocchio.
link |
01:51:10.360
So that's another example of these types of things,
link |
01:51:12.260
these rollups of things
link |
01:51:13.460
where instead of doing the computation on chain
link |
01:51:15.980
or trying to create some sort of replicated machine
link |
01:51:17.980
that does all this stuff,
link |
01:51:19.620
you instead just say,
link |
01:51:20.460
okay, only thing I'm gonna use the blockchain for
link |
01:51:22.440
is to check your proof.
link |
01:51:24.160
But I'm gonna turn it into a distributed computing problem,
link |
01:51:26.100
and any person in the world can do the problem
link |
01:51:28.820
on any server, untrusted server even,
link |
01:51:31.360
because you don't have to trust the output,
link |
01:51:33.400
you trust the proof, and the proof is deterministic.
link |
01:51:36.380
It tells you these things.
link |
01:51:37.640
So whether you're using zero knowledge
link |
01:51:39.680
or Sigma protocols or some other mechanism,
link |
01:51:41.940
it's moving you in that particular direction
link |
01:51:44.220
to turn it from a replicated to a distributed problem
link |
01:51:47.220
and go from I'm doing the work to I'm checking
link |
01:51:49.260
that the work was done correctly.
link |
01:51:50.100
That's fascinating.
link |
01:51:50.940
And all of a sudden, we're back to the P equals NP thing
link |
01:51:54.780
where for many very interesting problems,
link |
01:51:57.260
the checking is efficient,
link |
01:51:59.780
is much more efficient than the solving.
link |
01:52:01.660
Right, and also do you want complete determinism
link |
01:52:04.020
or is it probabilistic?
link |
01:52:05.780
Because if you relax that requirement a little bit,
link |
01:52:07.700
then suddenly actually you have a broader class of things
link |
01:52:10.440
you can construct this stuff for.
link |
01:52:12.300
You mentioned UTXO.
link |
01:52:14.140
There's a paper titled the Extended UTXO Model.
link |
01:52:18.120
It writes in the introduction,
link |
01:52:20.380
Bitcoin and Ethereum hosting the two currently most valuable
link |
01:52:23.660
and popular cryptocurrencies
link |
01:52:25.280
use two rather different ledger models
link |
01:52:28.020
known as the UTXO model and the account model respectively.
link |
01:52:33.140
At the same time, these two public blockchains
link |
01:52:35.740
differ strongly in the expressiveness
link |
01:52:37.620
of the smart contracts that they support.
link |
01:52:41.120
This is no coincidence.
link |
01:52:42.340
Ethereum chose the account model
link |
01:52:44.420
explicitly to facilitate more expressive smart contracts.
link |
01:52:47.640
On the other hand, Bitcoin chose UTXO also for good reasons,
link |
01:52:51.100
including that its semantic model stays simple
link |
01:52:54.340
in a complex concurrent
link |
01:52:55.460
and distributed computing environment.
link |
01:52:57.240
This raises the question of whether it is possible
link |
01:52:59.820
to have expressive smart contracts
link |
01:53:01.500
while keeping the semantic simplicity of the UTXO model.
link |
01:53:06.220
Okay.
link |
01:53:07.060
So what's the fuck that mean?
link |
01:53:08.580
Exactly.
link |
01:53:09.860
What is UTXO, what is the account model,
link |
01:53:13.140
and what is the idea of the Extended UTXO model?
link |
01:53:17.700
So I guess the easiest way of visualizing it
link |
01:53:19.540
is that UTXO is kind of like cash register accounting.
link |
01:53:22.740
So let's assume you don't have credit cards,
link |
01:53:24.980
you just have cash.
link |
01:53:25.980
And so when you go and buy some milk and potatoes
link |
01:53:28.580
or whatever and you go to the cashier,
link |
01:53:30.340
you pull out your $20 bill, you give it to them,
link |
01:53:33.260
unless it comes up to 17.50, they have to make change.
link |
01:53:36.500
So you don't tear your $20 bill,
link |
01:53:39.620
cut a piece of it off and say, here's part of my 20.
link |
01:53:42.260
You give them the entire $20 bill
link |
01:53:44.820
and then they give you something back.
link |
01:53:46.700
And the things that they give you back
link |
01:53:48.020
are also atomic units, they don't cut those things up.
link |
01:53:50.980
So that's kind of what UTXO is all about in a nutshell
link |
01:53:53.940
is that there's inputs and outputs,
link |
01:53:55.420
your inputs that 20 and your outputs will be
link |
01:53:57.980
the 17.50 that goes to them
link |
01:53:59.940
and then the remaining change that goes back to you, okay?
link |
01:54:03.740
The problem with this particular model
link |
01:54:05.500
is that the way it was implemented with Bitcoin,
link |
01:54:08.180
there was no notion of how do we run complex predicates,
link |
01:54:12.900
complex contracts on this thing,
link |
01:54:15.540
where instead of just saying, okay,
link |
01:54:17.460
I'm just gonna push value to you,
link |
01:54:19.180
I wanna put lots of terms and conditions
link |
01:54:21.260
into the movement of that value.
link |
01:54:22.860
Like you only get this if I mow your lawn on Tuesday
link |
01:54:26.020
or you only get this if some event happens
link |
01:54:29.620
like the Broncos win the Super Bowl or something like that.
link |
01:54:32.540
Okay, so you need some notion of programmability with it.
link |
01:54:35.460
So a lot of people are trying to figure out
link |
01:54:37.460
in the early days of Bitcoin,
link |
01:54:38.900
how could we improve the expressiveness of the system?
link |
01:54:41.820
And one of ways of doing it is you can go
link |
01:54:44.100
to a different accounting model, bank style accounting.
link |
01:54:48.260
So in a bank ledger, every time you do a withdrawal,
link |
01:54:51.260
a deposit, it's a mutable system.
link |
01:54:54.300
With the cash register accounting,
link |
01:54:55.900
you don't tear up the bills,
link |
01:54:57.100
but the bank you can deduct or add ledger all the time.
link |
01:55:00.260
So Ethereum kind of works in that bank accounting system
link |
01:55:02.780
where you just, you send messages, you send transactions
link |
01:55:05.780
and you're going up or down.
link |
01:55:07.180
And so you can trigger programs the same way.
link |
01:55:10.260
So what we did is we said, okay,
link |
01:55:12.220
if you take the UTXO model and you have some data to it,
link |
01:55:15.620
and instead of saying it's just a digital signature,
link |
01:55:17.940
but it's in a script, you can basically create something
link |
01:55:22.300
that's still the same as cash register,
link |
01:55:24.620
but now you have programmability
link |
01:55:26.020
and the big difference is local versus global.
link |
01:55:28.900
So in the case of UTXO, your scripts are your concerns.
link |
01:55:32.620
So whatever's going on in that cash register
link |
01:55:34.820
has no bearing or impact on the other cash registers.
link |
01:55:37.900
But when you look at bank accounting,
link |
01:55:39.540
you have to know the state of the entire banking world
link |
01:55:42.020
to be able to make that work.
link |
01:55:43.180
Why?
link |
01:55:44.020
Because if that transaction is inbound,
link |
01:55:45.460
that wire transfer is inbound,
link |
01:55:46.700
you have to know those funds are actually there,
link |
01:55:48.220
that thing is actually happening.
link |
01:55:50.060
So when you have a global state for a program,
link |
01:55:52.340
it's like you could do a lot more with it,
link |
01:55:54.220
but it's a lot more dangerous.
link |
01:55:55.380
And so you have to build all these mechanisms
link |
01:55:57.100
to try to protect yourself from it.
link |
01:55:58.780
So what we did is we said, okay, add data,
link |
01:56:01.020
add a programmability,
link |
01:56:02.100
and you're kind of in this nice Goldilocks zone
link |
01:56:03.900
between what Ethereum did with an account style model
link |
01:56:06.540
and a global state system.
link |
01:56:08.420
And you're not as restrictive as Bitcoin,
link |
01:56:10.580
but you're still in a Turing complete world,
link |
01:56:12.180
you can still run all kinds of things.
link |
01:56:14.100
And then any standard mathematician, they'll say,
link |
01:56:16.900
okay, well, is it isomorphic?
link |
01:56:19.940
Is there a mapping between this?
link |
01:56:21.140
What type of function can I actually take something
link |
01:56:23.780
expressed in one structure
link |
01:56:25.700
and transmit it to the other structure
link |
01:56:27.540
and properties are preserved?
link |
01:56:28.860
So we wrote a paper, it's called Climatic Ledgers,
link |
01:56:30.820
where we actually showed that UTXO,
link |
01:56:32.700
Extended UTXO and accounts are somewhat similar
link |
01:56:36.420
in that you could map things that happen in one system
link |
01:56:39.460
to the other system,
link |
01:56:40.420
the properties are preserved between the two.
link |
01:56:42.540
So in practice, what's nice about Extended UTXO
link |
01:56:45.780
is that you can put infrastructure on top of it
link |
01:56:48.740
to make the development experience relatively similar
link |
01:56:51.420
to the development experience
link |
01:56:52.580
of what you would do with Ethereum,
link |
01:56:55.020
but you don't have to worry about this global state.
link |
01:56:58.300
So when you talk about sharding,
link |
01:56:59.940
it's a lot easier to do that.
link |
01:57:01.340
It's a lot more conceivable to that.
link |
01:57:02.740
And also you get determinism in the system.
link |
01:57:05.260
So when I have a Plutus smart contract,
link |
01:57:07.020
whatever I run locally is exactly what I expect to run
link |
01:57:10.020
in the system.
link |
01:57:11.300
When you have a concept of this mutable global state
link |
01:57:13.700
in the system, whatever you run locally
link |
01:57:15.260
is not necessarily what you're gonna get
link |
01:57:16.740
when you actually push it into the system.
link |
01:57:18.780
So you may misprice things and the contract will fail.
link |
01:57:21.740
It doesn't ever happen in the Plutus world.
link |
01:57:23.980
So you got a lot of advantages with this particular model.
link |
01:57:26.340
The downside is that it's a little bit less expressive
link |
01:57:29.820
on the boundaries and a little bit harder
link |