This episode of epicenter is brought to you by kenosis, an
open platform for businesses to create their own prediction
Market applications on top of the theorem Network.
They recently launched unisex a challenge.
Inviting developers to build apps on top of the closest
platform to learn more. Go to epicenter, .t V / gnosis
X. Hi, welcome to epicenter.
The show is talks about the Project's startups and
Technologies, driving the decentralization and blocks in
revolutions. My name is Maja toy, and today,
we have a new show host joining epicenter.
His name is sunny and he works with the cosmos project and we
hope that he'll make a great show host.
And you, and you like his questions, shun Sunny, welcome
to the show and give us a brief intro about yourself.
Hi everyone. Yeah, thank you for the
introduction here. My name is sunny and I am
currently a researcher working on the cosmos and tender in
projects. I first started like you know
learning a lot about blockchain through the epicenter podcast, I
was like my main go-to and some excited to be on it for the
first time and starting off as a host instead of a guess which is
kind of cool. So for this show, we have
Charles hoskinson back on epicenter.
You're going to focus our conversation on Cardinal,
Charles, welcome back to the show.
It's a pleasure to be on guys. So we had you for the first time
on in episode 1, 44. This was right a few weeks after
the Dow hack happen and aetherium spirit into helium
classic and and, and cerium. And give us an idea how it's
been since then. What's what's been going on in
your life? Well, you know, I still like
long walks on the beach and, you know, things like that but no,
but levity aside day it's been pretty crazy, you know.
I which case grown from a few dozen people to about 130
people, we operate 10 countries. Now we work on a lot of
projects, we work on Zen cash. We work on a theorem classic and
the one we're increasingly becoming known for is cardano.
So the cardano project is, is like a leviathan.
It's got dozens of researchers and engineers and we're doing a
little bit of everything. Suppose, I should give you guys
since my first time I was on here was with the theorem
classic a brief update there. When I came on epicenter, we
were just kind of talking hypotheticals like ìoh K wants
to build a wallet and I which K is going to hire some developers
and you know we're gonna go do some cool stuff.
Well we did that. We actually hired seven
full-time, Scala developers and what we were able to do with
those developers is build a full scholar client so it's about
twelve thousand lines of code. So, full node In fact, not only
we released it, we're actually on the next version 1.1, which
has some performance improvements and Bug fixes and
things like that. It's gone through a full
security audit from cadell ski security.
And at the moment, I think it's the most concise and the only
functional etherium client implemented, whether it be e TC
or ethereum. So that teams really had a heck
of a lot of fun. We learned a huge amount in the
process of building a client. And now we've kind of gotten to
the point where we have to make a decision.
Either kind of retire the client or to scale up the team and
start making some substantive changes to the etherium classic
ecosystem. So there's kind of a loose
governance structure that's been forming that Barry Silver
brought together with a bit of funding and we'll have some
discussions there and if we can get funding will scale up mantis
and take it to the next level if not we'll continue maintaining
and leaving a few developers on it as an alternative that people
can download. But mission accomplished, we
said we were going to hire some people we Said we were going to
build a node we went and did that and it took it took a whole
year and it was a huge learning experience for us, that's really
awesome. Yeah I mean I've actually used
the Mantis client before and it's a pretty good user
experience honestly. So what do you guys think is
like you know before we drop more into cardano like what do
you think is you guys are still relatively focus on a theorem
classic as well. How do you see the relationship
between cardano and etherium classic looking like going
forward? I know that you guys are
building did etherium classic support into the Daedalus
wallet, right? Right, right.
Well, Daedalus. Is eventually going to be a
platform. So the goal is to Daedalus is to
start looking a lot like Android and that you have one, click
install and developers are able to kind of package and bundle
their own daps or their own wallets, and there's an obvious
way of doing that and it's a really difficult to build an
architecture this way, that's secure and, you know,
user-friendly and developer friendly and so forth.
So there's a lot of discussions there but yeah, Daedalus does
support mantis as it. Does cardano as well.
So what's the relationship between the two projects?
We kind of view them? As is different styles of
cryptocurrencies, etherium classic because of the
economics, the culture and the ecosystem looks a lot like a
better Bitcoin. It's basically it's got Supply
mechanics like Bitcoin. It's got proof of work.
It's going to stay on proof-of-work forever.
So if you your cut from that cloth and you like that Klaus,
it's like a better type of commodity and it's still a
simple aspects, like, you know, silver does more than gold, you
know. Are both Commodities.
And you know, people look at them along those lines, whereas
cardano's like the whole banana. It's got a governance system,
it's got It's a p.o. that POS versus proof of work, it's going
to have multi-party computation. It's got you know side chains
built-in. It's going to have lots of
computing Stacks. So really what cardano's about
is doing more than just being a store value that has some
utility attached to it. It's about saying, let's say, I
go to Ethiopia and I want to rip out the entire Financial stack
of the country and replace it with a So currency framework.
What would that look like? So it requires you to answer a
lot of questions. Like, what's the relationship
between permission Ledger's and permissionless, Ledger's?
How do you actually have voting built in so you can make changes
to it. You're not necessarily going to
be immutable and every single case, you're not necessarily
going to be private in every single case, in these types of
things. And there's some sort of system
to reconcile of that. So it's a much broader scope and
therefore requires a kind of different technology in a
different philosophy. So we believe in both and we
maintain both in Our portfolio and, you know, for the
foreseeable future will continue to support these projects
especially cardano for being paid to that one.
We just to point out, I spent over a million dollars on E TC.
I haven't been paid anything yet.
So it'll principles principles are getting pretty expensive.
Yeah, yeah. So I mean, you know, last time
you guys were on the podcast you mentioned that one of the things
you liked about I ohk. Was that you guys were able to
focus on very like general research rather than having to
focus on a specific. Perfect project.
And you know now it seems that you know you are working on
other projects as well but there is r.l. generally a large focus
on cardano and so what were the what kind of decisions LED you
to make that change? And like, how do you think
that's going to affect the future of I ohk and stuff?
So what happens is that you kind of have cryptocurrencies come in
and stages, or Generations, or phases, whatever you want to
call them. And every time they calm, they
tend to introduce a collection of new Concepts.
So you know, Bitcoin came in really Bitcoin wasn't trying to
actually be money or a payment system.
It was something much more simple.
It was a collective delusion problem.
So basically the goal was to convince people that these magic
internet tokens somehow back by math or actually worth real
money. And we Can buy and sell and
trade them right. So so basically, it took a few
years for that to set in and really the Turning Point year
was 2013 and at that point like Bitcoin was here to stay people
said okay this is not going to go away.
This is a real thing but then immediately people said we'll
hang on a second here. This is just a push payment
system that's really slow and really expensive and not very
user-friendly. I want to do a lot more with it.
Can I do a lot more and then we had this Grand conversation
about how do we augment it? So like we saw things like that.
Coins and master coin. We saw all coins like NXT for
example, and they all brought a lot of innovation, but at the
end of the day, we need to programmability.
We needed is like when Java can JavaScript came to the web
browser. So you know if italic and I and
others we created a theorem and the goal of etherium was to say
OK give control over these sub protocols that run on a
blockchain to the developer and give them an easy way of doing
that. And that's another proof of
concept and so a lot of people thought we were crazy and in
fact a lot of people still think the theorem is crazy.
That's fair although a lot of People still think that Bitcoin
is crazy. So, you know, that's fair to and
so basically theorem comes out as the next big generation and
they kind of introduced the notion of smart contract, you
know this notion of more complex computation in the transaction
and then all these emergent structures that you can kind of
build from it. Alright.
So now that Generations done it set people seem to agree.
It's a good idea. There's a lot of competitors
like Neo and he owes and others that are coming out or are
already are out in Market and we're now entering a third
Generation where we say, okay the delusions good we like that
computation is probably a pretty good idea but how do we do these
things at a scale of millions of users to billions of users?
If they're actually going to be useful for people s there's
probably going to be hundreds to thousands of cryptocurrencies
long-term. I don't think we're going to see
the great Cambrian Extinction. You know we're you know, we lose
all these cryptocurrencies. They're still going to be a lot
around because you know everything humans.
Do we do a lot of. We have lots of languages, we
have lots of cultures, we have lots of governments and And we
have lots of religions is really hard for human beings to agree
or consolidate on anything and so it's something as
controversial as money or your financial life is probably not
going to consolidate it run just one universal standard.
So as a consequence you know you need interoperability you need
ability to actually move value in data and preserve certain
things like security and privacy as you Traverse the internet of
value and you could between all these things.
So there's a scalability component, there's
interoperability component and it's things like a theorem
classic or Bitcoin. A shiv really brought to the
Forefront. There's a governance can problem
as well. Where are you?
As we move Beyond just a couple of nerds who like meet up and,
you know, they enjoy talking to each other over slack to an
actual system, which has millions to billions of users
and has control over your financial life and all the
facets of that maybe including your identity and your property,
you need some form of a democratic process to make
decisions of where the system is going to go and how do you pay
for things? And so Fourth.
Now whether that's meta to the system, meaning that there's
some sort of meta consensus or it's embedded within an existing
government or it's built on blockchain, there's a lot of
debates about that and so you see projects for example like
Dash and tasos or cardano, we view that on blockchain
governance for at least some things is probably a good idea.
Other projects like Bitcoin for example a lot of people have
been arguing to keep that off chain and you know have some
sort of you know open source consensus material rise around
and I think vitalik is also been a bit skeptical of Munching
governance as well. So these are kind of the three
design criteria that we've, you are required for the next
generation of cryptocurrency. Keep what we know and love.
So keep the collective delusion. Keep it weird.
Keep the keep the computation, that's pretty cool.
But then also go ahead and move into a domain where you get
faster. As you get more users, you can
talk to all the different cryptocurrencies and you have
some way of sorting out who pays and who decides.
So that was really the, the 2015 idea for the cardano, In a
nutshell, these were the the kind of business requirements
that super high level, then what had to be decided is well, how
the hell do we do that? So, we spent the first two years
kind of thinking really carefully about a lot of deep
Tech. We started a really deep
research agenda and we started tons of different threats
threats. Like better consensus algorithms
threads on consent, on voting threads on things like, you
know, better crypto Primitives like making us resistance of
quantum computers, you know threads?
Things like side chains and so forth.
And what we've been doing is gradually.
Now closing out those threads turning them to actual
peer-reviewed white papers, and then converting those into
specifications and then gradually implementing those and
putting them into a production system.
So the first version of that system came out in September of
2017, kind of runs like Ripple, it's a walk delegation version
of Ouroboros, it's a lot simpler than the papers we've recently
published. And over time we're just going
to more and more decentralized system and that eventually
add-on components like are so I In components, that we can link
our smart contract layer and so forth.
And that will be coming in the next few months to years,
depending on the features. So that's good.
High-level summary of I think what we're doing.
I see so to like break that apart.
So like yeah it's a lot right? Yeah, yeah.
So like, you know you guys had a lot of ideas on like what like
needs to be done to make a third-generation blockchain and
then use now cardano is basically the amalgamation of
like okay let's take all of these ideas and like make a
prototype. Show that like these things
actually mesh together and work together and we can make a
production system using these so temporary.
It's important to point out that there are other projects are
chasing this. But usually what they do is they
chase a particular Dimension like EOS and Iota.
For example, really chasing the scalability side.
They say oh we can do lots of TPS and then interoperability
you have projects like a Theon and ripple for example with
inter Ledger and they're really trying to talk about that
internet of value and then in terms of governance you see
projects like Dash and pesos. So I think there's Is consensus
in the space that at least one or more of these dimensions are
really important. I think we're the only one that
tends to view them so interconnected that you kind of
have to do all three at the same time, right?
So scalability, governance and interoperability those seem to
be like the three key things. So I guess maybe we should like
dive into some of them. Let's start with governance,
right? Can you give us a bit of a short
summary about your governance mechanism for cardano?
Yeah, so that's still under design it.
So we have a team led by a professor in Diversity named
ping Chang and we've done a few videos there on our YouTube page
but basically the idea is that you have to combat a couple of
demons at the same time. So one thing that you have to
combat is the who gets to decide demon and that's a really
difficult question. So you know we tend to be beings
of desired fairness so we tend to be egalitarian and say all
well everybody ought to be equal and so forth.
But the reality is people aren't in terms of skills, time
expertise, these types of things.
So it's really Difficult to build a voting system because
you can either overview and then you end up having mop roll.
So you get very poor decisions that are made or you can end up
creating a very Ivory Tower pristine group, of voting people
who end up making your betters or making decisions on your
behalf. And that's, that's quite bad
too. So you have to kind of find a
sweet spot and this is, you know, not a new problem.
It's something that political theorists have been talking
about for hundreds of years and they've come up with numerous
different voting systems. You know, everything from what
are called, linear preference, ordering systems were For any
decision. You don't pick one, you pick a
collection and you rank them. So conjure say and board are
examples of that to things like liquid democracy and liquid
feedback. So we said, you know, liquid
democracy, seems really cool. So this kind of delegating your
vo. So you know, you say all right
well let's talk about two events, the to elucidate the
example. So everybody in the beginning
its let's say the same flow and in the votes are situational so
you know, Bob has, you know, is proposing a nuclear.
Our plan design and you're allowed to vote on it, for
whatever reason why most people aren't nuclear Engineers.
So they're probably not going to have a very informed opinion
that they're going to talk more about the bike shed in front of
the nuclear plant in the actual design of the nuclear plant.
So what if you could delegate your vote to Bill, who's your
neighbor who happens to be an engineer, you respect a lot and
done this for 25 years gray. But then let's say there's
another vote and that votes on, I don't know, you know, your
roof, you know, or zoning laws or something like that and
getting your a big debate with Bill and your you don't want to
give me your phone. So in ordinary, representative
democracy, what you tend to do is just give one third party
like a congressman or a senator power for a period of time and
then they go and decide on your behalf for better for worse and
a delegate of democracy system you can delegate real time.
So you can say, okay, for this particular photo, give it to
bill. For this particular vote, I gave
it to Bob and so forth and there's a lot of theory behind
why that would make more sense. Just as an example, if you had a
delegated voting class in the u.s. election, If for the
presidency, then you know, Donald Trump would have a
really, really hard time getting elected.
Why? Because most people would
delegate their votes to local leaders in their communities.
And so Trump is not talking to the general American public
anymore. He's actually talking to a
voting class. That's been specially selected
to analyze him. So when he says we're going to
make America great, you'll say, well what exactly are you going
to do? And he has to go into policy,
specifics. And he can't do that, right?
Get, he's built his whole campaign on low information.
So, you know, there's A lot of people seem to feel that liquid
feedback. Look, democracy is a good idea.
So we said, okay, let's try that.
So, we're going to push a paper out for CCS come around.
May we were hoping to get it out in February, but the universe
will composability stuff. Took a little longer to get done
but it has some details on exactly how we think that would
work and involves a lot of complex math.
But if you're curious of how it basically works, we did a video,
it's about 45 minutes long and it goes into kind of details of
how the crypto works and how we view the system.
And so, Fourth but that's one demon.
The who gets to decide demon and you make voting proportional to
your stake in the system. That's that's the obvious
starting point but you can change that metric or
re-weighted based on other facts and circumstances.
The second demon is the demon of rational ignorance and this is
the harder of the two to solve. So what is rational, ignorance
will rational, ignorance is basically where the value you
get from, knowing something is less than the time.
It takes to know that thing. So for example, let's talk about
health care. R.
The American Healthcare System is horrendously complicated.
It would take you literally years to decades to understand
all the facets and ins outs of it.
So, if somebody comes to you and says, hey Sally on what you make
a decision on whether you know, universal healthcare is a good
idea or Obamacare is a good idea or something like that.
The only way you can actually really have an informed decision
is to invest those years of effort.
And what is the output of it? Your vote counts.
Exactly. The same as my vote, and you
exactly the same as the crazy hobos vote in the streets.
San Francisco. So, then you get a little
disenfranchised. You say, hang on a second here.
I got exactly the same payoff for putting a lot more work.
So what's the rational Behavior to not?
Stay informed. That's why we tend to focus on
Wedge issues and elections because they're very easy to
have an opinion on an urn understand.
But in general, they aren't they, you know, they aren't very
substantive, you know, like the things that really have a big
impact over your life or things like foreign policy and Health
Care policy and retirement policy and so forth.
Not gay rights or abortion rights.
These are issues that affect small minorities but those
issues are much easier to understand than you know, the
complex intricacies of the Syrian Conflict, for example.
So most voters tend to stay ignorant.
Yeah. What is this relevant to the
cryptocurrency? Space will just look at basic
debate. We've been having like the block
size or the difference between proof of work or proof of steak.
Or should we bail something out, or not?
These are very complicated issues, and they have many
different dimensions to them. They take a huge amount of time
to become informed about Most people just either vote with
their wallet, meaning, whatever they think, is going to give
them the most money, or they just vote along Cults of
Personality where they just say, well, what did vitalik think or
Charleston incurred, an think, or something like that, or a
dries thing, and they just kind of go along that particular
line. So the problem of rational
ignorance has a heck of a lot harder to solve than the who
gets to decide problem and there's been some ideas like
maybe you incentivize people to be a voting class like Dash has
masternodes for example or you know maybe you can create some
sort of Bounty system or something.
So we don't have quite a solution yet for that side of it
and we don't really need a solution at the moment because
the voting parts of cardano won't be out until probably
2019. It's one of the last components
were going to pull into the system as we could you know turn
things on but we will you know touch that topic and the Mets
paper that's being released and then we're going to try to
experiment with some things. The other thing is that we're
not in this game alone. Everybody who runs a
cryptocurrency kind of has to deal with this in some capacity.
So what I'd love to do is start a dialogue with a lot of other
project leaders and try to create some you know Common
Notions or at least some Universal standards that we can
follow about these things. But those are the two demons.
We're I'd say we're in the research Spectrum.
We're at Ouroboros or consensus. Algorithm is very Advanced, it's
near done. Whereas, the Voting is, you
know, in the early phases. I'd say, you know, 20 30 % along
that research Spectrum. So we're not we're not really
too far along, but there are some videos we have look Liquid
democracy? Look.
Good feedback in Google, rational ignorance.
And it'll give you a really good sense of what are some of the
challenges. Another thing is, there's
actually a course on Coursera. If you're really interested in
democracy, I think it's from University of Michigan and it's
securing digital democracy, or something like that.
And then there's another class on voting theory that they
occasionally run and these are really good classes and they
kind of give you a high level view of, you know, how these
things work. And also some of the things to
think about that. You probably have never thought
about before, and it's a really fascinating.
Topic. Like in the governance, aspect
you. You talk about like these two
issues. One is the issue of rational
ignorance, which is, how do you incentivize the voters to
actually invest the effort to vote?
Well, and the second is the issue of deciding who gets to
vote right. Now, many people would say that
it with proof of stake. There's a third, very
fundamental problem of, of governance and voting and that
problem is somehow that Like in a traditional proof of stake
system, you you need to stake your coins and then participate
in consensus and then you'll make more coins, right?
So in the early days of cryptocurrency, people used to
worry about the rich, get richer problem right now.
Now, but when we start to have governess decisions about the
system, and the voters are these takers The rich get richer
problem gets magnified. What I mean to say is let's say
like the inflation rate in card. I know is I don't know 2% If I'm
really rich, I family ate a rich.
I want the inflation rate to be much higher because like, I will
stake, my Ada, I will run the validators, take my Ada, and I
want the inflation rate to be high, so I'll get more Ada and
I'll, you know, consolidate my position of having a lot of ADA.
Whereas somebody that has very little Ada, might not run a
validate themselves and slowly they will get diluted out now.
The decision of what should be the inflation rate in a system
is dependent on governance and then governance in governance.
If I have a lot of ADA, I have a lot of voting power.
So don't you see this? As a problem that when, when you
have, the people that have steak vote on governance decisions,
you might somehow magnify the rich get richer problem.
Yeah. So seems like a prom on the
surface but actually if you if you break into the analysis,
it's a bit more complicated. So first off the, this rich,
people are going to vote on, whatever they feel is going to
produce value for them. And the reality is, he's short
term value, is not as much as you'd think what they look more
long-term, why? Because these markets are
traditionally thin. So even if you could do
something to temporarily increase the price 10 or 20
percent at a long-term deficit, if you hold 10 or 15% of the
supply, you can never divest that amount.
And if you do long-term damage to the See you're actually
costing yourself money. You'll make a little money in
the short term but you hurt yourself on the back end so the
decision making the rational decision-making analysis of,
what I do, if I'm a custodian of the system and I hold a lot of
it is a bit muddled and it's not just what will maximize my
utility day, two or day three, but maybe a longer term view.
S, let's say you have problems like a 51% attack through your
plutocracy, you can always fire your stakeholders.
By a fork. And that's something you can't
do with a, with a proof of work system.
See this is endogenous consensus versus exact doggedness,
exogenously consensus. So external versus internal.
So when your security comes from an external provider, they own
all the hardware and if you fire them by changing the
proof-of-work algorithm, you have to kind of rebuild your
entire security base from the ground up.
But let's say Bob and a proof of stake system has 51 percent of
the steak, the 49 percent minority which would say is much
more diverse and they're actually doing everything and
Bob just happens to have a pile of coins and he does nothing but
he's a malicious. You can just Fork the currency,
create cardano to, and remove Bob, completely from the set.
Now, what have you done? You've removed the malicious
actor. The remaining people are honest
and you actually have a, much more secure system now, and, you
know, your, you haven't lost any security, you actually gain
security from that event, whereas, you can never do that
type of a thing with proof of work.
Now, getting onto the, the voting set of things, you know,
the Obvious to do voting for changing system-level parameters
like inflation or something like that would be proportional to
your stake in the system and that's fine to do.
But you can create other parameters in the system.
For example you could create the notion of a good citizen in the
system, like a reputation system.
Like I've relayed lots of data or when your systems become more
complicated than just consensus as a service.
When you could have other things like trusted data, feeds or
multi-party computation providers, or these types of
things. Then in those particular cases,
you could and get points and those could then biased your
voting power. So it could end up that the
person who has the most steak doesn't necessarily be the most
powerful person system rather. It's the most useful person in
the system, but that's complicated metric to construct.
So we have to do is start somewhere in the most obvious
places to start where the people have the greatest Financial
incentive to participate in the system for the long-term growth
and well-being of the system. There's another thing I like to
point out is called the lump fallacy.
Is it something comes up in economics where people tend to
believe that. All the wealth ever created is
already been created, and it's just about proportions and how
much did Bob get versus Bill get?
And it's a big misconception. You'll see it a lot in a
specially liberal politics, where people say, well, look how
much money these billionaires are getting, you know,
proportionate to the rest of the people.
And oh God, these evil people. The rich aren't paying their
fair share. Wealth is created.
Wealth is created through actions.
Wealth is created through productivity.
So when you are participating in consensus it's not a rich gets
richer thing, you're performing a service for the network and
the network is paying you to perform that service and this is
complicated stuff, it's not just the state.
Eventually it could be a decentralized file system, it
could be computation as a service which is effect
effectively. What ethereum is it can be
relaying huge sums of data. Like if EOS does live up to its
claims of performance, it could end up moving GB every second of
data, okay? So you're being To provide these
Services, which is producing wealth, its producing value for
everybody and therefore, corns of being minted to pay you.
The last point is that the same hundred people who control the
wealth are going to be the same hundred people year, two and
year, three people sell tokens, you know, if people just held
onto their Bitcoins forever, then the original miners would
have had, you know, much much more.
But the reality is people run businesses.
They tend to sell things. So you're going to see a lot of
rotation of value. Why?
Because there's tons of volatility Leti.
You know so if your coin goes up a 5x or 10x you don't say boy I
should hold on to this because I can get you know Perpetual 2%
return you say. I don't think this 5x or 10x is
sustainable. I'm going to go liquidate 30 or
40 or 50 percent of my Holdings and lock in my 5x or 10x.
I'm so lucky. What does it mean?
You've just Diversified Holdings.
So, in all things, whether it's a start-up or or any
cryptocurrency, what we've seen is a gradual deconsolidation of
Holdings, Bill Gates, for example, with About 64 percent
of the company. When he started it he only has
5%. Now, he could have held onto
that chair. You could have never done looted
himself or dilute himself as small as possible and kept going
long, Microsoft, but he realized that diversification matters and
that's generally what's probably going to happen with most people
who are involved. Cryptocurrencies, is that, as
volatility goes up and down, they liquidate.
And then you see a gradual deconsolidation, which is much
greater than the particular inflation rate.
But, you know, these are different things, you know, with
proof of work. Youyou kind of Kick the Can down
the road and you hide inconvenient truths.
It's inconvenient to the Bitcoin space that 10 people, 10 pools
control, more than 51% of the hash power.
And I don't know these pools. I can't be these pools.
They saw. What anybody can buy a miter.
Yeah, but if its patented and it has a very bespoke supply chain
and people are using subsidized power, that's not a fair game.
I remember I bought a butterfly Labs minor.
I got it a year and a half after I put the pre Order n and they
were testing them testing them, they were mining with my minor
for until it was no longer profitable and they shipped it
to me that's not a fair game. It's a rigged game.
So you know what we do is we say all well, you know, there's this
implicit notion of control and it's very butterflies and
rainbows and people like it. But then instead what you've
done is given it to some silent, small group and was proof of
steak, you have to explicitly, have this conversation of who
should be in control, how many people, why should they be in
control? What are their Elves.
How do we ameliorate certain things?
So, if the rich are malicious, you have the nuclear option of
forking them out. If you have other options of
introducing metrics to dilute their power like a proof of
usefulness, for example, and then you have social metrics
that can be applied as well and if their malicious the price
will go down as well. So generally the best outcome is
to just have them behave following the protocol as it's
as it's written and I think that's a much better way of
going about things? Because it's out in the open.
It's Blissett you're going to not get it right the first time
around but you can fine. Tune the system.
There's going to be a lot of opinions on how things ought to
be done, whether it be a delegated proof of steak or a
bonded, proof of steak, or a proof of stake system.
And it's very darwinian in a certain respect rather than just
pretending like there's this God mode that's somewhere off in the
rainbow and they're always going to act honestly and behaved
properly and don't worry about it, they'll just be there for
you and they become actually barriers to change as we've seen
with the Bitcoin Network. So that's my big rant.
This episode of epicenter is brought to you by gnosis gnosis
is an open platform for businesses to create their own
prediction markets on the theory Network.
Prediction markets are powerful tools for aggregating
information about the expected outcome of future events.
So this can be used for things like information-gathering
incentivizing, behaviors, making governance decisions or even
creating Insurance products. So, in order to turn kenosis
into the most powerful forecasting tool in the world,
they recently launched gnosis X, it's a challenge that It's
developers to build applications on top of the platform.
And the best applications per category will be rewarded up to
one hundred thousand dollars in gno tokens.
So throughout the year, kenosis will announce different
categories for the challenge and the current challenge has
categories for science, Nardi token, diligence and blockchain
project. Integration analysis also
provides the SDK, which allows you to easily, get started with
everything you need to get coding.
And they also provide dedicated support channels throughout the
challenge for teams and solar Builder.
Hours are up for the challenge, get started now to learn more,
and to sign up, go to epicenter .t V, / kenosis X.
We like to thank gnosis for their support of epicenter.
So, one of the things that you mentioned, that was actually
very interesting is, like, the idea of if the, this is one of
my biggest benefits of proof of stake over work with work as
well. Is that when people do something
malicious, we can just easily hard Fork them out.
Right? And my here's question is about
what happens if they try to abuse the governance system?
One thing that I've actually watched the Whiteboard video.
By the way, I love your guys's whiteboard.
Videos are awesome, which one with Ben Chang the one with.
Yes, the one on the governance and stuff.
And so one of the things that you guys that he mentioned was
that you use the ideas that the Voting is going to be in like
zero knowledge and and so this actually is an interesting
question because we've actually had this discussion at Cosmos as
well is should voting be pivot or transparent and like we're
actually going down the route of like.
So what do you think is the effect of having private voting,
where you actually lose that transparency and potentially
that accountability? So let's say there's a boat and
a lot of people decide to, like, increase a bunch of money for
themselves, not in some, you know, convoluted way, not
talking with that clear. But you know, how do we make
sure that we figure out who vote?
Who was the one who voted that? So we can hold them accountable.
Maybe not either through like Protocol by hard for.
Can we at least socially accountable?
Okay, that's a great question. So first, it's important
understand that there's a spectrum of voting.
So you start with things like SRO style, things like
membership-based, self-regulatory, organizations
and those are very fluid and things can change in a single
meeting. Then you have like
municipalities, right? And these are like your local
mayor and your County Council and you can go and complain to
the County Council. They take a vote, maybe they
meet every two weeks or three weeks and they can change things
fairly quickly. Then you have your status Please
and those move at their own pace but they're still somewhat of a
democratically accessible to people.
Then you actually have your federal government side of
things and that's much more bureaucratic.
It's much more difficult to get things done and then you have
even further the Constitution where you say, okay, from a, to
change the Constitution, it's only been done in America about
two dozen times and over our entire 200-year history.
So, that's a real challenging thing to change.
So we have to do is say certain parameters in my system live in
different spots, so Things like user experience taste texture,
feel, you know, nice to have features, like HD wallets those
types of things. Probably live towards the Estero
style side, so they don't even necessarily require a vote.
That's just you. The developer making decisions
of what's best for your users and there's some ambiguity in
and wiggle room in the protocol to allow you to have that kind
of flexibility other things. Like, for example, monetary
policy or how you achieve consensus or the voting system
mechanics themselves, those are much more towards the
Constitution. Inside.
Okay, so that requires a lot more consent that a lot more
time. It's a it's a lot more drawn out
process than it would to be able to change something like that.
So you have to find that entire Spectrum.
So that's the first step. Second step is shoot.
You have a blind vallot, which is anonymous voting, or should
you have transparent voting? Now I've seen arguments on both
sides. For example, Switzerland, they
have a can tunnel system. So there are true Confederacy
and some of the Canton still do public votes.
So you can actually go Out. And, you know, it there's a
voting day and people shout out their vote and they go into
groups. There's also other public voting
systems like America, we have caucuses, for example, and a lot
of these caucuses, you go into groups and who supports Ron Paul
and who supports Romney who supports McCain and so forth.
And we all had to deal with that for those who are in dull those
elections and you get various degrees of you know outcomes the
problem with a transparent system when you're talking about
money is that what say there's a delegation in one particular
delegate ends up getting a A lot of influence, let's say Andreas
you know, if for Bitcoin or something like that and there's
a voting system and everybody likes Andreas.
So he ends up getting like 30% of all the votes.
Well, if that's publicly known what you've basically done, is
painted a big red Target on his back.
So now he's got to look over his shoulder and say like, oh shit,
you know, I gotta worry about my security like what if somebody
kidnaps his girlfriend or his kids or whatever, if he has
children, I don't know. But, you know, they they try to
cover tack or some and They know, yes, thirty percent so
they can use the wrench or use some in a blackmail, or
something like that, and so, he'll go and vote.
But he's no longer voting with his own, free will or
conscience. He's voting being coerced.
Whereas, if you have a private ballot, the advantage there is
that you can never be able to conduct that attack because it's
difficult to know, depending on how Anonymous you are, who these
people tend to be, except for, you know, you personally making
that decision of to whom to delegate to.
So, and I average, you eliminate a vector of attack for your
Item. Now, if you are clever about how
you sort out, system-level parameters on that Spectrum from
this or all the way to the Constitution level set up, you
still gain the benefit of not changing things quickly.
That ought not to be changed weekly.
Like the inflation example that was brought up earlier, that's a
constitutional level change, and if that's going to happen,
that's something that probably require multiple votes over a
long Arc of time. And there's a lot of
mitigations, a lot of opportunity for debate and
discussion, and if it does get committed, it's something that
commit gets committed, the months to Years, time frame.
For example, with the theorem classic, we kind of did this.
We had to make a decision about monetary policy, and we also had
to make a decision about the difficulty.
Bob this process took a year and a half to go through from start
to finish and these things are just now being locked in.
So you know, system level changes whether you have an on
blockchain or off blockchain governance mechanism.
They ought to take a heck of a lot of time and be a very open
process with lots of debates. And what ends up happening is
the better arguments tend to float to the top over time and
it changes public. Yin and the probability of a
vote maliciously succeeding all those rounds ends up failing and
you know, there's a lot of ideas on, you know, the best way of
doing this, the venetians had a voting system where they kind of
randomly sorted people and had multiple rounds and the ideas.
You'd never know which person the bribe and so forth.
So it's a really amazing how much ingenuities come through.
But at the end of the day, it's also an empirical thing where
you have Theory and you think, you know what's going to happen
and you think, you know, who's going to be rational and how
they're going to be rational. But you just have to launch it
and you actually have to see how it works in practice and where
it's gone wrong and so forth. There's also a participatory
problem where these systems assume a rational majority and
these systems assume reasonable participation and the reality is
that most democratic processes tend to fall apart when
participation Falls below a certain threshold.
That's why things like delegation are so powerful
because you probably can't get everybody to participate, but
it's a lot easier to get people. At least delegate their vote to
somebody. You know, the American election
going back to that. If you look at like two thousand
verses 2004 versus 2008, versus 2012 2016 and you chart, the
total amount of people who were eligible to vote versus the
percentage of who actually voted.
It's declining a cycle by cycle by cycle, but if people had a
delegate of ability, the, the conjecture would be that you
would see a relatively high level of participation there,
because the people who are going to vote, are going to vote
anyway. But then that Delta between the
people eligible, not most of them would still probably
delegate to community leaders or people that they know and trust.
And you'd get a much richer conversation, probably out of
that that process, but that's a conjecture.
And the only way to verify the conjecture is empirically.
So you have to run a system and take a look at participation and
quality participation. So we do have some data, we
study the dash Treasury System. We took a look at the master
node counts and which ballots were being proposed and we wrote
a big paper on its if you die which case Search and look at
our library, you can see the dash treasury report, we wrote
and there was some good, some bad and some ugly there in that
we discovered them. There was very little funding
diversity from when we studied that, meaning that the same
groups of people tended to be the ones submitting the ballots
and getting the ballots. Now that can either be because
the ecosystem is still very young and there's a Founder
Effect where people tend to true true trust the internal group of
people to get it done. And it hasn't Diversified yet or
it could Be an endemic failure of the of the voting system
itself. And really the only way to, you
know, understand that is to kind of look at it month by month and
see if you're getting a trend of increasing diversity or it
staying relatively stagnant. If is staying stagnant, is
probably a structural problem with the system.
So we'll link to the dash governance system analysis in
the in the show notes so our listeners can can follow up on
it. So Charles yeah.
It it does seem like card. I know you have done a lot of
research on on governance and we look forward to what you end up
implementing their understand correctly.
That governance is slated for 2007 time in 2019, not 2018.
Yeah, the big focus of 2018 is smart contracts and
decentralization. Yeah, that you kind of have to
do things in order. 2017 was, let's get a product and Market.
Yay, it's really hard to get scientist to do that.
So, you know, how long is a piece of string, so we got Byron
out in 2017 and 2018 is moved to specification driven
development, fully decentralized system, and then turn on gogin,
which is our smart contract system, and get all that rolling
out. And that's a huge coordination
problem. Then 2019 is about performance
and governance and so basically, take the system start charting
the system and then turn on the government's.
Has gradually. There's also a user education
component to it. So you need if you're gonna have
an effective governance system to have leaders materialize, so
you need meetup groups to form. You need people to understand
the philosophy of the system and why we're building it.
You people understand the underlying technology and
develop an intelligent opinion or otherwise we'll end up
happening. Is you'll have a beautiful
voting system but nobody actually ends up using it.
What they do is just say what a Charles say, or what a Dunkin
say or what it, aggelos saying. So I'll just vote for that.
So you need about Here are two of Community Management and
growth and development, to create diversity, and what you
have diversity. Then you actually get a pretty
vibrant ecosystem. So, it would be
counterproductive in my view to have a voting system at the
moment. It would, it would be just a
voting system in name only. So 2019 is what we feel and then
if you know there's any delays 2020 is when we do that we have
an additional year specifically for that.
Okay. So right now is it going to stay
say that like the focus is on unlike Oof of steak and having a
system in which different stakeholders actually, validate
the blockchain. Yeah, and proof of stick is such
a heart problem, you know, we got a cosmos guy here, so your
keenly aware of it as well. And you know, the problem with
proof of stake is that you're trying to take something that
ordinarily takes enormous amounts of money and energy and
resources, and coordination, and reduce it down to something that
doesn't require all that your sense of sizing it, but that you
want to get all the benefits. So it's like, saying, I want to
eat the cake but I don't want to get fat.
You know, that's that's a basically, what proof of stake
is saying. So the first thing we had to
First and is, what are we even trying to accomplish?
And that's the first question that was asked.
So what is security? What is a ledger?
What is a blockchain? You know, this a basic question
and surprisingly that question wasn't answered until we wrote a
paper record gkl 15 where we Define a basically, what a
ledger is and we created some security properties for it.
Then we had to create a Baseline and say well does proof-of-work
provide that and the answer is yes, proof of work provides a
secure Ledger as defined. So so you kind of have a basis
of saying like this is what we're trying to accomplish.
The blockchain. And this is what proof-of-work
can do. And yes, proof of work is
stickier. Great job, Satoshi.
So then, the natural question asked, is under any assumption
realistic or not can proof of stake achieve, that same level
of security and that's step one. And so or Boris was published in
2016 and it was very impractical protocol.
When it first came out, it was tightly synchronized and had
some undesirable characteristics about.
But it was basically a proof of concept for saying that the
security models models are identical.
So they're both provably secure. Whatever you get from proof of
work. In terms of what it can
construct, you get the same thing in terms of proof of steak
or what Atkins constructs. That's a good starting point.
So you have Theory and then the next step is, how do we go from
Theory to practicality? How do we actually take this
thing and put it into a real-life system and something
that works. So most of 2017 and about half
of this year has been consumed with that practicality question.
So you move from a synchronized model to a semi synchronized
model. You move to a model where an
attacker can corrupt clients whenever they And you move to a
model where you can bootstrap from the Genesis block.
You don't need a checkpoint, you move to a model where you have
composable security proofs, you move to a model where you know
you have a delegation system built-in.
So if a person doesn't want to show up they can delegate their
stake to stake pool. You move to a model where your
random number generation is not done with an NPC but it can be
done with random Oracle but and so it's much faster, but it's
still, you know, you resistant against grinding attacks and
things like that and it requires you to add a lot more crypto and
like the RFC and perfect forward secrecy and these types of
things that it's not an easy task.
So the follow-up of Ouroboros was another paper cold or
Sprouts where we did about half of the heavy lifting and we've
just released a paper today. Call the workforce Genesis, it's
on the couch get website. Also just tweeted it and we'll
be presenting both of those at your Crypt in Israel here in
about a week and this basically seals off most of the
practicality concerns. At this point, there's still
some little lingering things we have to clean up, but we feel
this plus a delegation scheme is All that's necessary for
actually having a production proof of stake protocol in a
system. Now the next step is
performance. So where do you go from there?
You know, you've built this beautiful thing you can drop it
in Bitcoin but run just fine with it.
Any blockchain which run just fine with it and run forever
and, you know, as long as we've got our economic incentives
aligned properly, you still can't scale as new users.
Join in. It's still in the replicated
system format. So you need to chard and there's
a lot of opinions on how to do that.
So, there's It's like Amna Ledger for example or thunder
Ella and others from the academic circles and these guys
have come up with some Concepts and there's some engineering
ideas like you guys a cosmos that think are doing some
things. And Casper, certainly has some
ideas with plasma. So everybody has kind of their
own idea of how should we Shard EOS?
For example, I think put Byzantine agreement on top of
the pause and it's less about can you chard?
And it's more about what it's a trade-off profile.
Usually, what ends up happening is you go from 50 percent
Byzantine resistance to a third to a quarter, Got how aggressive
you do things. The other thing is that
performance tends to decline very rapidly as you Shard, if
there are Byzantine actors. So if everybody's following the
protocol and every absolutely honest and great protocol
screams it's beautiful and if your Google or Amazon that's
that's your normal operations, right?
Because you own all the servers but if you move to an actual
Byzantine setting where people are unreliable or dishonest or
trying to break your network, then you have to really worry
about performance impacts for malicious actors and the types
of attacks that can perform. There's some Some great
research, for example, that was done with ghost inspector, which
are directed acyclic graph ideas.
That obvious ohhara, unit em. Some Lipinski came up with, we
actually Implement a ghost in aetherium showing that while
ghost does improve performance. There are attacks on ghost that
can degrade performance quite rapidly if you're clever
attacker. So, you have to understand
trade-off profile. So, that's the next step in our
research agenda, after we close out the remaining Genesis and
process-related stuff, and that's called Ouroboros Hydra,
because it has many heads, right?
It's going to be sharded and at Point we think we'll it balance
everything properly, it'll have the right trade-off profile.
Little going to kind of have the right security design and so
forth. But the nice part about the
approach we've been following is that every step of the way we've
been doing it with peer review, and with proper security
modeling. So, what happens usually, when
you're building these protocols is if you want to add another
MacGuffin, another feature to your protocol, then what ends up
happening is, you have to regress and go back and say, oh,
I am I going to break something. But when you actually have a
solid security foundation and good proofs, and everything is
composed of Able when you keep adding things, you don't usually
have those regressions. So you tend to see a lot of
research acceleration at the tail so you pay a much, higher
upfront, research cost to get everything started and get that
pump primed but then what you're rolling, it just it all makes
sense. It's all composable.
It's all modular. It's really easy to
parameterize. It the other thing is that it
can work in different settings. Like if you want to go to a
permission setting, it's really obvious, how to do that for like
a hyper lecture-style scenario. But if you want to go to a
permissionless settings, there's also an obvious way to At the
protocol to that you don't have to build to completely new
protocols for that, for that setup.
So that's, that's where we're kind of at with, with Ouroboros,
big team. There's about ten scientists who
work on it and they do different dimensions off and on and we've
written, I think six or seven papers.
I can't remember how many now they're just keep coming out.
I think, you know, if we ever go out of business, at least we can
get into the white paper business.
Yeah. 10 or 20 of these things, every year, something like that.
But I'm pretty proud of the the direction of the Search, you
know, the other thing is that this is going to be the age of
the academic proof of stakes. There's some very tough
competition coming with thunder token and thunder, Ella.
There's very tough competition coming with Al Gore and and so
forth, and these are not protocols written by everyday
people. I mean, like Sylvia McCauley has
the touring prize that's Nobel Prize of computer science, and
he's sitting at MIT surrounded by some of the brightest people
and a legion of graduate students that, which is die to
be able to work at his venture. Build something with them.
So the rigor and the standards and the community expectation,
for what makes a good proof of stake protocol and what your
protocol must be able to do is going to dramatically increase.
I think over the next year or two thanks to, you know, tough
competition and we're excited to be in that running.
That's really cool. So yeah I mean I know like when
I first read the Ouroboros original paper, I was like, kind
of like this, isn't that? You know interesting then
prowess came out. I'm like, okay, this this is
actually, you know, this is usable now, right?
And so I mean I'm excited to hear what read this Genesis
paper. Can you tell us a little bit
about it? Like you?
I heard you mentioned that you can't you have a way of a
bootstrapping from Genesis without checkpoints.
That seems like that's like the Holy Grail, right?
Yeah. Because like, you know, you know
for my assumptions like once you're past the on bonding
period, you know unless you have some sort of verifiable delay
function like it's really hard to prevent long-range attacks.
So could you tell us a bit about how you're doing this?
I'm at a punt on that one, a little bit because we released a
video today. So there's a 45 minute
presentation on how reports Genesis Works in.
We just released a paper and we're going to be doing actual
presentation on this. Since Euro Crypt in a week.
So if I talk about it, now I'm going to front run the, the
year, cremation. But basically, you just have to
make some assumptions about the nature of the signature scheme,
and how random numbers are generated.
And then within that you're able to very creatively construct a
model where you can get you. When you look at two alternative
versions of History you can calculate which version of
history is correct. Proof of work is real simple.
You know, just do a await calculation.
You say, ah, this one has more work than the other.
So that's my longest chain. So this just kind of gives you a
Every way of doing it using the magic of crypto, but that
particular crypto is a little involved and it's in the paper.
So if you're really curious about it, watch the
presentation. Read the paper.
If not wait for the Euro Crypt presentation, and then we'll
talk about it a little bit more openly, but we had to do a lot
for this paper. Like we had actually two papers.
We were running at the same time, we wanted to reprove the
Ouroboros paper using something called Universal composability
and then we had another team that was working on this
bootstrap. From Genesis idea actually was
related. To our side chains, research.
And so, we were kind of and then, what ended up happening is
we discover that one needed the other.
And so, both teams merged and we went ahead and created this
paper and it was just like a Mad Dash.
It took a three months of Hardcore work and lots of
revisions, but we got it out and I think we actually submitted it
to crypto 18. So we'll show it off at your
Crypt. And if it gets into crypto, a
team will be in Santa Barbara and actually have a dedicated
session of it. But read the video, a read the
paper. Look at the video.
And and then Next week, I'll talk more about it.
Sure another question I have about our bows right.
Is, what how do you guys decide to go between like, you know, in
proof of states is usually like the chain based model and the
PFT base model, right? Answer Cosmos were working on
like tender moment, which is a very bft Focus way of doing it
while, or Burrows, and it's descendants.
Seem all are more on, like the chain base side.
And I remember like, you know, one of the I've actually had
this argument with you on Twitter before about like, you
know, you your claim was like a synchronous.
Networks are impractical that like you know week synchrony is
good enough for all real world situations.
So could you explain a little bit?
Why of that like thought process there?
And yeah okay so if you're electing an epic and you have a
bunch of slot leaders and there's a degree of
professionalization amongst those lawyers, meaning that if
you You in reality, you're always going to have some degree
of federation's. So whether it's a mining pool or
a steak pool, there's going to be, you know, some actors who
set up dedicated servers, they run 24/7.
And in the entire history of the Bitcoin Network, it's been
Fairly reliable. Blocks are generally produced
roughly every 10 minutes. There's a little bit of
variation there, but it's been basically as expected and people
have been pretty synchronized throughout the entire set up.
So it's more of a practicality argument where you like
asynchronous nice to have. But first off, you know, you
have theoretical things like fish Orleans.
Patterson, you have to worry about when you're talking about
asynchrony and S like are you ever going to really be in a
network operating mode for a system like this where that's
going to come up? So and practicality semi
synchrony is sufficient where people may not necessarily show
up on time but eventually they'll show up with an about
and that's what prowess is all about is to say, okay, well, you
know, within a reasonable amount of time, they'll stay
synchronized and we're semi synchronized and there's a way
of kind of sorting all of these things out.
Just like we do with any Normal consensus protocol.
You know, if you're super worried about it, we could
probably reprieve everything in an asynchronous model but you
know, the downside is we'd probably regress a little bit
and Byzantine resistance. So, we'd probably regress a
little bit in terms of performance for the system.
But I mean for all intents and purposes is if our goal is to
have consolidation around a collection of State pools for
the large ship Network. We anticipate that things will
be probably running in a synchronize mode or semi
synchronous mode. I mean, just to give you an
example of Bitcoin, There's the karela relay Network and the
Falcon relay Network for the mining pools.
Actually, get to see the blocks before everybody else because
they actually want to tighter couple themselves.
The other thing is our Network model is different.
Like we're moving from a traditional Network model to
something called Rena, recursive internetwork, architecture.
So from the outside it kind of looks like, UDP going into this
black box of Madness. But basically because of that
assumption and how we connect these notes together and because
you actually have a permissioning system, thanks to
the election system of Ouroboros.
You really can create a sink As private network of State Pool,
operators or slot leaders, that's permissioned because
they're elected. They have credentials to prove
they belong there. So you can use a different
network protocol to guarantee that setup.
That's why I don't worry about it too much.
I mean, it's a nice thing to worry about from a theory
perspective, but at the end of the day, it's kind of a Much Ado
About Nothing. The other thing is, you can
hybridize these protocols. That's what EOS did right.
They serve as chain based models dpos.
And they're moving with Byzantine agreement on top, so
you can combine them together if you really want to.
And there's some evidence that that might be a good idea,
Elgar, and also looks like it's doing is it's starting was like
traditional Byzantine agreement and then it found a fast
sortition process and they dramatically spit things up.
So, that's kind of the best not answer.
I can give you to your question. It's like I view it more as a,
it's not a big concern. And if it is a big concern, we
have a mitigation strategy for it.
But in reality, if our network is consistently, running an
asynchronous mode, there's a more serious problem at hand
than the consensus protocol were using.
It's a participant For a problem.
So the incentives are wrong. So let's challenge like zooming
out little bit. So you have developed like
Ouroboros. Now then all over sprouts and
now Ouroboros Genesis right. Star Trek Wrath of Khan
references here. Give us Genesis.
So, actually like this like a lot of teams in this space
working on proof of stake in in parallel.
So there's there's Cosmos, which is using Practical Byzantine
fault tolerance. And other Byzantine fault
tolerance, algorithms invented earlier.
And it's like, fitting them with coins and the needs of a Like
it's it's it's combining practical Byzantine fault
tolerance with with the fact that the people that want to
come to consensus, need to be the coin holders at as taking
coins, right? Then there's Al Gore and which
is on which we did an episode, which is also using a different
kind of Byzantine fault tolerance.
Things called Fast and Furious, Byzantine fault tolerance
invented a decade back and it's combining it with some clever
cryptography to decide on who Should be the party's doing the
PFD. Then there's etherium, which is
a different flavor of proof of stake, which is, as I said,
availability, favoring proof of stake rather than consistency,
favoring proof of stake. So the thing with Cosmos and Al
Gore and is once a block appears and is confirmed, it's
confirmed. You can't go back.
Whereas any cerium is more like proof of work, where chains of
blocks appear, and you're not sure that they are Confirmed but
you will be sure that they are confirmed after a while.
So in this whole kind of ecosystem of projects pursuing
different approaches. Tell me what like what is
special about our borrows and how are you differentiated from
the others? Well, it were Boris, you know,
everybody always wants to say, oh my my thing is better than
everybody else's thing and I could care less about everybody
else's thing. I really, I couldn't care less
about it. The thing is that it's more
about saying, look, we have to get the theory, right, we have
to get the security foundations, right?
We have to make these Concepts and ideas accessible to the
university environment. You see what we did is, we
walked into an environment where if you went to a cryptic,
Ography conference like crypto or you're a Crip.
You say, I work in a cryptocurrency space.
I actually did this. I went up to diffi at crypto and
I said, Tiffany I work in a cryptocurrency space.
He grabs his glass of wine and walked away from me.
He like didn't even say anything.
You just walked away and I was like, but what just happened?
So the brand of cryptocurrencies is is, is is badly damaged in
the cryptolocker for community-wide and rightfully so
because what's happened is you have all these people coming
around making These magical claims about performance and
security. They don't do any of the basic
stuff, like, build a model, write a proof, clearly State
your assumptions, tell you what you can do, what you can't do.
So the first goal of the Ouroboros, agenda wasn't to go
and build the best fastest, most amazing protocol ever.
It was rather to introduce the entire proof of stake problem
and the in the grandest possible way to the entire cryptographic
community, and we've gone to hell of a lot of conferences,
Financial crypto. Though, Euro Crypt, crypto, a C
and S, you name it. We've been there and we've had
hundreds of conversations since, for example, we published the
Ouroboros paper, I think it's been cited more than 50 times
seven papers have been derived from in or done things with it
or built on top of it. And what we've now started as a
great conversation in the cryptographic community about
what is the design space of proof of stake in general?
Like, for example, what are the incentives need to look like if
you are going to do delegation, what is delegation look like?
How do you do cold staking? You know, how Ameliorate some of
these meta concerns, like we haven't discussed this one, but
it's a big one. How do you handle exchanges?
They on average, hold double-digit, percentages of the
entire supply of the currency. They don't own the currency but
they would technically be eligible to participate in
consensus with a proof of stake style system.
Right? That's a big problem.
That's like they have the they don't own it but they can
control it and they can derive value from it.
That's not a concern proof of work has so it was ameliorate
their strategies to mitigate, but it did But you know, these
things need to be discussed in a broader context.
So the first major goal of Ouroboros was just have that
conversation and pick best practices.
And we were very pragmatic if there was a better solution like
we, you know, Snow White, came up with something or tenorman,
came up, something that we sell, felt was better.
We take it cited. Put it in and there you go.
So that's step one. So anybody using our stuff knows
that really smart people have checked it and that it's gone
through a very rigorous process and it's kind of created a
standard step two was in the process of having that.
Conversation. Try to get a sense of the
impossibilities or the real difficult to do things it
because I'm getting. So tired of people posting a
paper from Andrew from blocks dream about this as y proof of
stake. Can't happen as if it's Canada
or something like that. I get so tired of that, you
know, it's just like guys I would much rather in the
academic Community have all of our sins be and there are
numerous sins, right? And we've even discovered some
like, we have a paper on something called steak bleeding,
that we discovered along this research.
Process. So create a way of going about
explaining what are the trade-offs and what are we
giving up when we move to the system and let's not have that
connected to financial incentives or to Cult of
Personality. Let's try to have that connected
to an objective truth. So these are ton of to Metta
advantages of the Ouroboros protocols that third-party
verification and that kind of Festivus style airing of
grievances of your protocol. Then in specifics, the nice
thing about Ouroboros is by its design is very modular, so you
can go from a permission setting where it kind of looks like POA
or Like that it runs in like like a mode that you would
expect to see for something like bft simple to something like
running an actual global scale permission was Network.
And there's a way of tuning, the protocol to behave in both of
these things with kind of a common core to it, and it
borrows a lot of good best practices.
You know, like this notion of an epic, this notion of slot
leaders, great because it allows you to construct a heterogeneous
Network stack as opposed to homogeneous, once you have
information system and you can really embed, defend yourself.
Against DDOS, and a lot of things as a consequence of that
and there's a Litany of other little basic design principles
that we've rolled in. The other thing is that we're
very agile and the way we've been going about Ouroboros, the
team has gone through. I think six or seven major
revisions of the the protocol since Inception of 2016.
And we're probably to go through another six or seven revisions
over the next year or two as we learn more.
And every time we do it, we gained some new dimension like
this bootstrap. From Genesis is a major
advancement and I think a lot of POS vendors are going Be
Inspired from our work and modify their protocols
accordingly to try to capture what we've done so far.
I think only Al Gore and and Ouroboros have this particular
property. So that's that's more of a meta
point. I think to your question of why
is it better? It's more of a question of what
does the space as a whole demand.
What you know if you're an investor or an external person
the papers are getting too complicated the read.
The technology is getting too complicated too much
domain-specific knowledge you have to have the sort fact from
fiction. Action.
So rather what you need is trusted third parties or a
trusted third party process to verify that the things I'm
saying are actually, right? And so that's why peer review so
essential second, we need to have better conversations with
each other. And in the problem is we have
commercial incentives. Not to have good conversations
with each other. Because if Bob has created his
thing and I've created my thing and we have competing tokens,
Bob doesn't want to make my token better pop wants to make
his token better. So he's going to be closed off.
Unless I Got Bob's token. So in the academic world is kind
of like a fair Commons where we can have these conversations and
quickly learn from each other and steal from each other to try
to converge to a collection of good design principles.
And then third, you have to get much better about.
What are your business requirements?
For the cryptocurrency that you're deploying who gets to be
in charge? Do you want to have finality or
probabilistic finality? Do what do you want to have for
these types of systems? What do you need for your
business domain? Do you need really fast
settlement or is it okay to have?
Much longer probabilistic settlement, you know, it's like
what do you actually need in that that set up?
And so what we'd rather have is a spectrum of protocols
Ouroboros. Being one, El Gran, being one
tenorman, being one another's and then what happens is once
you collect your business requirements, for the blockchain
that you need and system. You need, you run the, the you
spin the wheel. And then it says, Ah, this is
the flavor that I require for my system.
And when you adopt that the hope is that because they have a
common DNA in terms of the rigor, the Already in the
design, you know, that whatever you're implementing is going to
work well, for you the system architect.
So I think this is the process that needs to be followed
designing consensus. Algorithm is hard guys, and it's
not a new field. It's been around since the 1970s
and there's a lot of people who know how to do this.
Really, really well, what bothers me is when people just
go and do it and think they're experts at it and they make
outlandish claims, you know, for example, The hyper Ledger guys.
They're very grounded. They're very realistic people.
When I go talk to Christian and I say what are you guys using?
They say bft simple. Here's why the guys written
literal. The textbook on distributed
systems theory. You're either reading that or
Nancy Lynch's book or something like that.
It's a good book. Okay.
And then you go to the EOS guys and they claim they're getting
two orders of magnitude more performance in this best
practice, you know, bft protocol.
And I've seen your thinking is the head of the icr and all
these scientists at IBM. Competent and a guy with a
bachelor's degree from vintage. If Virginia Tech is just a
solvent and he's come up with a system that performs two orders
of magnitude better. It's crazy.
And let's say it does perform at this level.
They're saying they can move blocks around 500, milliseconds
around the entire Globe takes 300 milliseconds to set a single
around the entire planets, okay? And and and and then I said,
well, what independent verification, we have that.
Did anybody performance Benchmark any of these things?
The third party firm provide. No, but they just say it.
Hash graph says stuff. Everybody just says stuff iotus
this stuff there's no verification that these things
that people are saying are actually true and oftentimes
when you deploy them you discover.
Oh, there was something I was in accounting either.
I've actually deployed a broken system, that's not secure at
all, or my system is secure, but it's a hell of a lot slower than
I claimed, right? I've heard, she people like
claim, like ten, thousands of TPS and I'm like, where did you
test that? It's like, oh, on my local
machine, right? That's not how you test the
distributed system. No, you know, it's so It's so
it's so this is my biggest gripe for it.
So the point of the Ouroboros project is to try to separate
fact from fiction to try to Fetter eight, the POS problems
that we're having as a community to try to create a trusted
Commons, which doesn't have a financial incentive to pick,
winners and losers. Rather, it's just focused on
what's right and what's wrong and to try to have an
intelligent discussion about trade-offs and intelligent
discussion, about things like performance and benchmarking and
best practices and so forth. As the inheritor of that our
conjecture is that the output of this.
The process will be a really good protocol for
cryptocurrency. It might not be the best
protocol for your cryptocurrency but for cardano we feel that it
will converge to that particular State and every project will
benefit from our research because it's all out there.
We try to annotate as much as we can and and anybody's free to
borrow anything they want, there's no patents.
It's completely open source. I love Silvio to death.
He's a good friend. I every time I see him, I
complain about the patents and I'll Grant I think that's
counterproductive for the space so we've chosen to follow open
source philosophy. Safiye.
And that's what we're trying to accomplish with cardano.
As a whole, is that every building block in the system,
whether it be an interoperability building block
with side, chains or performance, building block with
Rena and Ouroboros or a governance building block with
the Treasury System in the voting system.
That's all out in the open domain.
It's all through peer review. And you know, if we got some
wrong you have a different opinion, that's fine, change it.
But if we got something right, everybody in the world is free
to use it and it just it makes all of our projects better in a
certain respect, right? I mean now, that's really good,
too. Here because I know a lot of
people like I've heard that like people criticize I reach K and
cardano as like you're using like academic pedigree as a
special marketing getting but like I find this is actually a
really good reason. It's a way of like reaching all
Branch out to like the more academic community and so that
sounds really useful and suddenly they don't need us.
That's what we have to understand.
Like these cryptographers have their own lives.
They've been around a lot longer before us man public-key.
Crypto came out in the 70s. You know what we have done as a
community is we're kind of co-opting cryptography is brand
and its really pissing off the cryptographic community because
they say, look guys, if you're a full stack Ruby developer, you
are not a cryptographer and just because you can Implement one of
these. Protocols doesn't mean you can
design them, and make them secure.
And what they're doing is they're having like this acid
flashbacks of the 70s. When the very state of
cryptography was anybody who knew how to write code was
implementing their own crypto, and they're violating every
basic principles, you know, Security via obscurity and, you
know, they were getting proper random numbers.
It's like, it's like just horrific when you actually look
at these things in practice, it's not elitism.
It's just a science. I mean, it's kind of funny and
everything else were okay with professionalisation.
Like, you would like your doctor to actually be certified.
And you like your doctor to have actually gone through residency
and proper training, if he's going to perform an operation on
you, but then in cryptography is like totally okay for somebody
to have no professional training or knowledge.
But then go implement. That's going to keep you private
and secure and prevent, you know the Iranian government from
knocking on your door and black bagging you because they
discover you're gay or something or they discover you've been
using it illegal crypto currency or the same for China.
Yet it takes an equal amount of training to become a
cryptographer as it does to become a doctor.
In fact, in some cases more, you know, you're really at it in
your 30s. So it's just it's just really.
And I think what we need to do as a community is respect that
there are people came before us respect that these are very Hard
problems and respect that these problems are not going to be
solved in one grand paper and by one person they're going to be
salt and stages as a community, over a long Arc of time as we,
as we build up normal, computer science, right?
Like basically, we have to be able to like, talk the talk so
we can, like get the ear of the people who've done it and I'm
trying to like, start my own saying, but which I've been
pushing ever since, like the Neo Fiasco, I've been trying to
start the saying like, don't you The already have.
Don't roll your own crypto. Don't roll your own consensus.
I'll go quickly. What did the network break?
When one note broke? That's yeah, this intolerant.
Yeah. It was just some weird stuff
going on. So, another question I have
about Ouroboros, right? One thing I've always had some
trouble, understanding, is like, in a lot of proof of stake,
algorithms, like Snow White or borrows, especially in the
affinities stuff. There's always just like, huge
focus on randomness Well, which I never quite understood.
So, for context and tender, meant we do a just so there's
every block has a proposer and we have a deterministic round
robin and like I know who the proposer one block from now, is
I know which only five blocks and I know it's going to be 2000
block from now and you know, maybe it has something to do
with the fact that tender meant like distributes Rewards.
We to all the values and all the validators are because of the
bft nature. Everyone is participating in it.
But like, to me, the biggest thing that I understand
Randomness is nice. I think the biggest thing that
can help with is like DDOS prevention.
But why the huge focus on like the randomness?
Well, there's partly Legacy partly practicality.
So most, if you do a literature review, a cryptographic attacks,
or look where systems have been broken, almost, always there's
some sort of Random Number issue at the end of the rainbow and
we're like, we screwed up somewhere and there's some bits
got leaked or something. And there's a bit more to
determinism than we'd like to admit.
So cryptographers are professionally paranoid about
how clean the randomness is as a basis.
The other thing is that Our common best practices that exist
like you can use MPC. For example, to develop random
is shown makers scheme from crypto. 99 is one, we made a
modified version of it, that's linear time called scrape.
But in general, if you say okay the security assumptions in my
proof rely on, you know, a Pure Source of Randomness then your
system is not provably secure and less you know, you have
that. So you have to put a lot of work
into your Paper and the cryptographic community holds
you a very high standard to prove that you've done.
That that's why is almost seems disproportionate a lot of
efforts put into the explaining that in the paper because it's
just a community. Expectation requirement no more
practical sense. There were a Litany of attacks
in early proof of stake like grinding attacks where you know
people could buy us their chance of winning to favor them just by
careful selection of things. And it's like is so you would
like to make sure that you've ameliorated that it's a
historical problem in the space but Do it again, it depends on
your network topology, you know, if your dpos for example and
it's everything is 21 nodes or 101 or whatever the Quorum set
is and you kind of know the order that they're doing this,
whether it be ran, round robin or not, does it really matter as
much? But Randomness, well, there's
some question there, but not really.
Whereas, if you're actually going to elect a true Committee
of people Porsche proportion to their steak, you kind of have a
different need for that. The other thing is, if you build
a source of random is carefully within your Tikal.
That becomes a cryptographic beacon that you can reuse for
collection of other activities. So let's say you have Smart
contracts that require a source of randoms, it's a horrifically.
Bad idea to have people roll their own source of Randomness
within a smart contract. In fact, I think there's a paper
out of Cornell that did an analysis of the rngs in smart
contracts and they said these things failed miserably or might
have been out of UIUC. I can't remember which group did
it, so, it'd be nice as an API to say.
Hey, we have a beacon built into the protocol and because we've
done a really Good job of making that as pure as possible, that
becomes a public utility that the blockchain provides in
addition to consensus that can be reused for other building
blocks, whether that be lotteries or player matching
protocols, or these types of things.
And, you know, that that's a fair source of Randomness which
is very valuable for all cryptographic.
So it's kind of a mixed bag part of it is Legacy because when it
wasn't a focus things went horribly wrong part of it as a
community expectation, where literally your paper could
sometimes not survive, peer review, if you don't spend
enough time talking, Ink about it and doing things with it,
part of it as a public good. And part of it as a structural
property, depending upon how your Quorum is setting up and
you know how you're voting on people and systems like
Ouroboros or algorithms. For example, do require up here
source of Randomness or really good source of Randomness to
operate with a with proper security.
Okay. So one of the interesting things
about our car Dino is most of your implementation is in is in
Haskell. So you have chosen has Haskell.
The only other project that has chosen a functional language is
stasis right with. Oh camel tone.
Okay, Tina. It also implements their
blockchain and Haskell and also digital asset Holdings does all
their stuff in Haskell but that's in the permission side of
things and Barclays Innovation group is all in Haskell as well.
I think risk. Black is there?
So it if you look for it you can find it, but you're right.
It's not a common language choice.
So what why did you make that choice?
What's the add one digital Pascal here?
Yeah, so it really when it comes down to it, there's first the,
the imperative versus functional war and I think over time people
are starting to concede that. Even if you're on the imperative
side like here, you love your, you love your Java and it just
never got not love your Java. There are some things that make
sense to do in a functional sense.
Like that's why lambdas came to Java is job to a Java 8, right?
And so a programming in general is becoming increasingly more
functional because we're at a lot less about resources and
weird. A lot more about things like
concur. Currency and weird.
A lot more things like correctness of behavior and
conciseness because these you know these repos are just
getting so big and there's so many things going on.
So I like functional languages because I just believe that
they're easier to reason about. I believe that it's easier to
test implementations and I also believe it's easier to build
distributed systems and functional languages.
And actually if you look at a lot of the internet giants, like
for example Netflix their entire back-end microservices with
Scala You know if you if you look at Facebook large chunks of
their systems are running in functional languages or like the
components that are mission critical have some sort of a
functional component, same for Google and a certain respect so
it's less of a decision of well, okay, should we go functional
imperative for Mission critical software?
That's distributed that requires lots of testing potential
verification in my view, it is functional.
It's more of a question of ok, which functional language occupé
it and there's a spectrum of functional languages.
You have hybrid languages like clojure and Scala.
Allah. And if sharp wear, when you want
to be imperative, you can be imperative, it's call is great
at that. Whereas if you want to be
functional you can be functional.
Then you have purify languages like oh camel and Haskell or
very pure in that respect. And that you have even more peer
languages like Idris which is you know dependently typed
language that is just mind-bendingly hard to write
code in so why we chose Haskell was a?
We have access to the royalty of the Haskell space.
The inventor of the language, fill waddler amongst Others
there was a committee that created it works for.
I 0 HK so when the guy who created the programming language
happens to work for you, it's like it's probably a pretty good
idea to at least consider that as a viable candidate for your
system s. We have access to pretty much
all of the Haskell consultancy firms.
Well-typed twig. We've talked to F be complete
and so forth. So all the people who are
acknowledged to be like the top 5% of the space, in terms of
development ability work for us or we consult with us or we talk
to on a regular basis. Third.
I think there's a huge value in going Boutique as opposed to
going mainstream. So we are one of the largest
Haskell projects in the world and actually one of the most
valuable and prominent has called project the world.
So if you go to Haskell Reddit and you you go and say what is
cardano, everybody in the red. It will know it as a project.
So basically you know, a lot of people Haskell space like us, no
us. And means that we have a higher
probability of getting independent contributors from
the Haskell. Ready to come in and eventually
over time. Commit code.
Reader code. Give us feedback and so forth.
Another reason is that, we're following formal methods and so
we start with formal specification that we'll be
releasing one of the few weeks for our wallet back end.
And if you want to prove that you've actually correctly
Implement a code, you kind of really need a functional
language to do that and you can do with Oak ML and cock.
You can do with Isabel and Haskell.
There's differences of opinion of what's better, but you need
some flavor of that so that we don't really have an option.
There it would be damned. Here in possible to do it with
JavaScript or Java or something like that.
It's really, really, really hard.
It also noting that conciseness is amazing, just to give you a
sense of numbers are mantis client for aetherium.
Classic is only twelve thousand lines of code compare that to
the C++ Bitcoin client. It's like over 100,000 lines of
C++ code so it's about a tenth of the size to do something that
does more as a virtual machine and all this network stuff and
things that are more advanced than than Bitcoin.
So yeah More sophisticated protocol and you use 10 times
less code for a more sophisticated protocol.
What does it mean? Means that just by lines of
code, there's much less to do. There's much less to think about
and it's much easier to write good test, Suites and could test
coverage for that and reason about the code.
So the conciseness has a huge maintenance and Technical debt
value in my view over over for post Nets.
And so, I really like that now there's a lot of Haskell
specific things that we really enjoy, and a school is probably
the most advanced functional language because the community
is really invest in an enormous amount of time into making GHC
and other things really Advanced and they put a lot of cool
things in with the type system. The whole concept of the monad
is really easy to work with and it gives you a lot of tools for
modeling concurrency and distributed System Theory.
There's also actually some beautiful things like Cloud
Haskell for example which takes all the erlang goodness it was
OTP and it brings it into the Haskell space so you like that's
the another language you could look at like Erlanger.
For example I think eternity is using erlang and that's a great
language for building a cryptocurrency and as well don't
have to make any compromises. We have erlang stuff that we can
pull into Haskell as well. So from a correctness, a concise
has a testing a community. Oh one last thing
personnel-wise, if you hire a Haskell developer, they probably
have a master's degree in computer science or a PhD or at
very least. They have a lot of professional
experience. No one starts with Haskell,
unless they go to edit Uber or Oxford?
Or you like some really good place, most people start with an
imperative language and then professionally out of
frustration. They find functional
programming, and there's something they like about it.
So if you hire Haskell developer General, you end up.
It's a beautiful filter that gives you access to a much more
experienced group of people that are more mathematically oriented
they have an easier time reading formal specs, they have an
easier time reasoning about things and they tend to be a
little bit greater in the beard. So we wanted to have that added
filter in our personnel and so we can have smaller teams.
More experience that are smarter and an overall I think that
we'll have a better output for our process but you know we do
more than just Haskell. We also write Scala code and
then we also write a lot of JavaScript code as well.
The entire dead list front end is written in JS and we try to
make that immutable where we can but you know it's still an
imperative approach and that's a separate team.
Yeah I mean I think this formal verification focus is really
great. Like I was a huge fan of pesos
as well for the same reason. I think that what you got
especially like When you guys are doing the formal
verification of your wallet because I don't think I've ever
seen anyone ever do that before, that would be really cool
especially, because that's usually one of the points where
like the easiest attack vectors on on systems.
Another thing I could you tell me a bit more about the K
framework is I know this is something you guys are focused
on a lot and it's a very like cutting-edge topic that I don't
think that many people are not let alone understand like even
aware of and so Speak a little bit about what made you decide
to focus on this when there seems to be no other block
games, there seems to be a huge shift towards like webassembly
everything, right? And so why the K framework,
right? Okay.
So first, you guys should really have Professor grigory row shoe
on your show. He's based at the University of
Illinois, wonderful guy. He runs runtime verification,
and he's worked at Nasa and he's done.
All these really, really cool things, but he's the creator of
the K framework and he works very closely, Only with Iowa HK,
we actually have on contract, 19 people full time for this plank.
So it's not an insignificant pool of resources but and they
do amazing work. Okay, so what is K all about K
is kind of like a meta language. It's a language to build
programming languages. So languages have syntax and
they have semantics and syntax are your symbols and your
letters and these types of things and semantics are when
you chain them together. What the hell does that actually
mean? Now it's a formal language.
So it has to be ambiguity free. And so what ends up happening
usually, is the Graphic language designer will go ahead and write
some document and we'll have all the semantics written down in a
mathy style language and say here are your language
semantics. So if you encounter a statement
in a language here's how you're supposed to interpret that and
then the developer will go implement the language and
hopefully if they read the spec correctly, the they should be
one to one. So for any statement that you
read there should be semantics to cover that.
Now, in practice this has not historically been the case.
Even in languages, like C for example, especially for
languages like C. So what K is all about is saying
instead of writing your operational semantics of your
language in a math symbols that you put on paper, right?
And encode in the K framework and a special type of markup and
then what will happen is K can actually build your language for
you. So you have a correct by
construction implementation of the language, all your tooling.
Now where it gets really interesting is less about the
construction of language that's really fascinating from a PL.
Active and of correctness perspective and it's great for
research, which gets fastening is translation.
So what K can do with something called semantic?
Space compilation. It's something we're working on
with RV very closely and it's a lot of work is that you can take
a to find program and translate it into another K to find
program. So let's say you write the case
semantics of java which has been done and you write the K
semantics of C which is also been done.
Hypothetically using semantic space compilation.
You can take a c program and translate it into a Java program
and it runs just like the seat. Program ran.
Okay. And words this is interesting is
then that means you can build the ideal perfect virtual
machine for your cryptocurrency. So in this case it's yellow it's
the virtual machine that RV designed for cardano and then
for interoperability all you have to do is just go and write
the K. Semantics for lots of
programming languages and the SBC stuff will just translate
those languages right to your perfect v m.
So this kind of helps you a bit because you know like the whole
argument for webassembly is it's not Is the optimal thing for
cryptocurrencies. It's that a lot of people
working really hard to make this as interoperable as possible
with as many programming languages and they have to do a
lot of work there, but the thing is, it's not fine tuned at all
for cryptocurrencies so we can do is build something that's
fine. Tuned for your application and
then your interoperability strategies, just go and spend a
few weeks writing semantics down and then you're done forever.
You just append those to the blockchain in there and if you
want, if you're curious to see what they look like, just Google
runtime verification GitHub and you Should or excuse me, K
framework GitHub. And then you can actually see
the semantics for Java and the semantics for JavaScript and
things like that. Now, here's the other cool
thing, let's say you version your virtual machine, you go
from version one to version, two ordinarily.
When you go to version 2, you have to update all the
compilers. So you kind of have like a
maximum threshold of comfortable languages, you can support
because when you update your VM you know, you have to say well
if I have a thousand languages I have to update a thousand pieces
of code to get all these things to work with my new version with
the K framework. Don't do anything.
You just update the semantics of your VM and then the SBC stuff,
sort it all out for you so you can support unlimited languages
and you don't do any additional work whenever you version your
system, upgrade your system and so forth.
But guess what? Here's the best part let's say
for the sake of the argument that webassembly wins out, we
could write to semantics of webassembly in K and support
that as well. And so translate to webassembly
or from yellow. If we if we want to take our
backyard and seen that like there, I think there existed
did. They are actually working on
webassembly semantics and and we're actually also building a
Kade llvm back end so that we can get basically a handwritten
code performance from the machine generated code.
So it's a lot of theory. There's a lot of things involved
here. It's a deeply involved project.
That's why there's so many people working on.
I think all of them have phds or damn near close to it.
And there's about 10 years of computer science, research.
That's gone into this particular framework and it's actually
already been used in practice. It's a practical product runtime
verification, for example, works.
With NASA and Boeing and they do verification work with these
organizations, not small companies and not low Assurance
settings. So so we're really excited to
try to bring this into the cryptocurrency space already.
It's given us, the ability to be very pragmatic, we wrote the
operational semantics for the KE v m.
So we actually have etherium semantics and will be launched
our test net. We're going to actually launch a
ethereum test that alongside the yellow test that.
So if you're a solidity developer you have web 3 and
Viper and all this other stuff. Guess what?
It's gonna be one to one compatible just as if it was in
a theorem known, but we didn't actually have to implement that
virtual machine. It's actually being implemented
by the K framework. So when we launched our test
net, it will actually have a correct by construction VM
that's built right from the semantics, pretty cool stuff.
No ambiguity, it passes. All the ethereum test vectors
and it'll be the same for yellow later on.
We'll start looking at things like proof carrying code and
things like hooks in the VM that allow formal verification be
much better. Like, for example, of RV wrote a
formal semantics for the RC 20 token standard and this is a
kind of evoke topic right now because some of these ERC 20
tokens aren't necessarily Implement completely correctly
and it creates problems so wouldn't be so cool.
They actually have an artifact that you can have with your ERC
20 deployment, that verifies that you follow the
specification, so you get a proof of correctness with that.
So you know, that your ERC 20 is right, you know, if you have
billions of dollars of value behind something, Allah owes
probably a really good idea to, you know, to verify that that
token is correctly implemented. And these are kinds of things
that are going to be really easy to do in our view when yellow
comes out, because we've custom-built the, the VM to
accommodate that, but we don't have to sacrifice
interoperability. Now, here's the other really
cool thing. Let's say that you want our
virtual machine to support your language.
Eventually, what you'll be able to do is write the semantics of
your language in K and then issue a special transaction to
embed it into the Block Chain itself, then we, as a developer,
here's how your development experience looks, you write your
contract in that language. And you go and put a header in
the thing to go, look up on the blockchain for that particular
language, and if the semantics of there, it can pull it.
And then use the SBC mechanics, just translate it to run on the
yellow. Yellow.
Don't have to talk to me. Don't have to say, Charles can I
get support or go and build a complicated compiler or anything
like that, you just have to write the semantics of your
language which you already have to do if you're creating a new
language for example. But now there's a more rigorous
formal way of doing that where, you know these things there and
there's a lot of other things like debuggers and, you know,
all this other framework that will be interoperable between
each other. So, K is great project.
K framework is just phenomenal, piece of work and it's being
incubated at a major computer science institution.
The University of Illinois Urbana-Champaign is.
I think that in the top five of all CS schools in the world or
at least in the United States, it's right up there with MIT and
Carnegie Mellon and there's and it's known for formal methods
and pl. This is a big hub for it, so
it's got kind of the right balance of practicality of
theory. There's definitely the right
team working on it. If you guys want to know more
about it grigory. A wonderful guy to bring on and
I think he'd be able to give a far more Justice Decay than then
I could. And that that seems like an
Federal, she asleep awful invention and thing to adopt for
smart contracts, right? Because at the end of the day,
developers going to want to write contracts, the languages
they want. It's kind of funny when Joe or
any of these other guys from a theorem.
So like aetherium is one, it's inevitable.
You know, we have all the developers is like you have all
the solidity developers, the language, you created yourself
but how many Developers. Do you guys have where you have
a C++ developers? Do you guys have like the vast
majority of people who write code, do not know how to write
code or are not writing code for your platform?
So you need to be pragmatic and create a way to bring those
people into your ecosystem and that should not be using
different programming language and throw away all the things
you've come to know and love and your entire career.
It is said bring as much of what you you have into our system and
it should just work now. It doesn't mean it's going to be
secure, doesn't mean it's going to be practical.
It doesn't mean We performance that doesn't mean it's going to
optimize gas cost all of that is like facts and circumstances.
But it says that you can use the stuff you're already familiar
with and then you can have a conversation about those other
questions over time as those communities and merge code.
So now we have a guest idea to go to the shoe so we'll have
them. We'll have him on epicenter and
discuss the create a framework. Charles, thanks a lot for the
great conversation over the past hour is like, whenever we
invite, you will learn a lot of Of things that we never knew
about. I remember the last time you
came on the show prior to the show, you showed us your
collection of books and that was mind blowing in itself.
That that should be an episode, you know, like Charles
collections of books, I don't know if this one off, did I?
This is actually one of my favorite math books, it's
something I read. As an undergrad naive set theory
from Paul. How most did I show that one off
last time though? I know that's new to me so so
it's like if you ever actually become serious and You have to
take set theory and Math logic. And anyway, how most wrote, this
is kind of like a primer to help you learn about things like
Russell's Paradox and but on Starsky and you know, how
natural numbers are constructed and so forth.
And how most is one of my favorite authors because he
followed, what was called the inductive book method.
So basically what he would do is he right the first chapter and
then he'd go and write the second chapter and then go back
and rewrite the first chapter that he go and write the third
chapter and go back and rewrite the first and the second
chapter. So if you ever read a book by
Hamas, the The first chapter is amazing.
It's like the best thing you've ever read.
You're like, wow, this guy is such a great author.
But then something happens that the quality tends to the crime
is good for championship last year.
Terrible, the hell, is this guy talking about or something like
that, but wonderful book, highly recommended.
And she ever wanted to know about set theory and pianos
axioms and things like that. Cool.
So we look, we look forward to having you again, perhaps, when
you have the next release of card.
I know, I think that's the Shelly release will probably
invite. Back and talk more about your
smart Contracting system and other elements of God.
I know that we couldn't touch on today.
So if your listener, thank you for joining us.
Today, we release new episodes of epicenter every Monday or
Tuesday, And subscribe to the show on iTunes SoundCloud or
your favorite podcast app for IOS and Android.
You can also watch a video version of this show on YouTube
at youtube.com slash epicenter. Bitcoin, we also Lise recently
started a guitar Community to hear more from our listeners and
what they'd like to see. You can find that at epicenter
.t V / Gator and we always welcome iTunes reviews that
helps us improve a nitrate on our delivery so do write some
reviews for us on iTunes and we look forward to being back next
week. Thank you.