Ethereum Basics (Vitalik Buterin) | AI Podcast Clips
YAaJ6j1DNeg • 2020-03-20
Transcript preview
Open
Kind: captions
Language: en
so then what is the origin story maybe
the human size but also the technical
side of ethereum sure so I joined the
Bitcoin community in 2011 and they
started by just writing I first wrote
for the sort of online thing called
Bitcoin weekly then I started writing
for Bitcoin magazine
um and sorry to interrupt you have this
funny kind of story true or not is that
you were disillusioned by the downsides
of centralized control from your
experience with Wow world of warcraft is
this true or you're just being witty I
mean the event is true the fact that
that's the reason I do decentralization
is witty maybe just a small tangent have
you always had a skepticism of
centralized control is that sloppy Korea
has that feeling evolved over time or is
that just always been a core feeling
that decentralized control is the future
of our human society it's definitely
been something that felt very attractive
to me ever since I can't afford that
such a thing is impossible possible yeah
it's so great so you're you joined the
Bitcoin community in 2011 you say you
began writing so what what's next
started writing moved from high school
to university halfway in between that
spent a year in university then at the
end of that year I had dropped out to do
Bitcoin things full-time and this was a
combination of continuing to write
Bitcoin magazine but also increasingly
work on software projects and I traveled
around the world for about six months
and just going to different Bitcoin
communities like I went to first in New
Hampshire then Spain other European
places I'm Israel and then San Francisco
and along the way and have met a lot of
other people that are working on
different Bitcoin projects and when I
was in Israel there were some kind of
very smart teams there that were working
on ideas that people were starting to
kind of called Bitcoin 2.0 so one of
these worse colored coins which is
basically saying that
hey let's not just use the watchit for
Bitcoin bullets also I kind of issue
other kinds of assets on it and then
there is a protocol called master coin
that supported issuing assets but also
supported many other things like
financial contracts like domain name
registration and a lot of different
things together and I spent some time
working with these teams and I quickly
kind of realized that this master coin
protocol could be improved by kind of
generalizing it more right so the best
the analogy I use is that the master
coin protocol was like this Swiss Army
knife you have 25 different transaction
types for 25 different applications but
what I realized is that you can replace
a bunch of them with things that are
more general-purpose so one of them was
that you could replace like three
transaction types for three types of
financial contracts with a generic
transaction type for a financial
contract so just once you specify
mathematical formula for kind of kooky
how much money each side gets by the way
it's a small pause what's you say
financial contract just the terminology
what is the contract
what's a financial contract so the this
is just generally an agreement where I
know if either one or two parties kind
of put collateral or kind of in and then
they depending on and if certain
conditions like this could involve
prices of assets this could involve
different the actions of the two parties
could involve other things but they you
kind of get and of different amounts of
assets out that it just depends on
things that happened so a contract is
really a financial contract as at the
core it's the it's the core interactive
element of a financial system yeah
there's there's many different kinds of
financial contracts like there's things
like options where you kind of give
someone the right to buy a thing that
you have for some specific price for
some period of time there's contracts
for difference where you basically are
kind of making a bet that says like for
every dollar this thing goes up I'll
give you $7 or for every dollar the
thing goes down you give me $7
like that you know but the main idea
that these contracts have to be enforced
and trusted there yes exactly you have
to trust that they will work out in the
system when nobody can be trusted yes
this is such a beautiful complicated
system okay so the huge seeking to kind
of generalize this basic framework of
contracts mm-hmm so what is that entail
so what what technically are the steps
to creating aetherium sure so I guess
just they're gonna continue a bit with
this master coin story so started by an
of giving ideas for how to generalize
the thing and eventually this turned
into a much more kind of fully fleshed
proposal that just says hey how about
you scrap all your future is and instead
you just put in this programming
language and I gave this idea to them
and their response was something like
hey this is great
but this seems complicated and it seems
like something that we're not gonna be
able to put onto our roadmap for a while
and my response to this was like wait do
you not realize how revolutionary this
is well just go do it myself and then I
what was the name of the programming
approach I just called it ultimate
scripting great so then I went through a
couple more rounds of iteration and then
the idea for aetherium itself started to
form and the idea here is that you just
have a blockchain where the cores unit
of the thing is what we call contracts
as this and if accounts that can hold
assets and that they have their own
internal memory but that are controlled
by a piece of code and so if I send some
ether to a contract the only thing that
can determine where that and if either
the the currency inside aetherium I
never goes after that is the code of
that contract itself and so basically
you're kind of sending assets to
computer programs becomes this kind of
paradigm for creating these sort of
agreement self executing agreements self
executing as so cool that code is
that are part of this contract so that
that's what's meant by smart contracts
yeah so how hard was it to build this
kind of thing harder than expected I
mean originally I actually thought that
this would be a thing that I would kind
of casually work on for a couple of
months publish and then go back to
university then I released it and a
bunch of people or I released a white
paper white paper that yeah the idea
paper a whole bunch of people came in
offering how about huge number of people
and have expressed interest and this was
something I was totally not expecting
and then I have realized that this would
be something that's kind of much bigger
than I had ever thought that it would be
and then we started on this kind of much
longer development slog of making
something that lives up to this sort of
much higher level of expectations what
are the some of those is it
fundamentally software engineering
challenges it was our social okay so
there's a social so so what are the
biggest interesting challenges that
you've learned about human civilization
and in software engineering through this
process so I guess one of the challenges
for me is that like I'm one of the I
know
apparently unusual geeks course and have
never treated with anything but kindness
in school yes and so when I God into
crypto I kind of expected everyone will
just kind of be the same kind of
altruistic and nice in that same way but
the and of the algorithm that I used for
finding co-founders for this thing was
not very good it was and if literally
what computer scientists called the
greedy algorithm it's said of the first
15 people who replied back offering to
help and if I were the cofounders do you
mean like literally the the people that
for will form to be the founders
cofounders of the community the
algorithm I like how you call it the
algorithm yeah and so what happened was
that these but especially as the
project's got really big
started to be a lot of this kind of
infighting and there are a lot of like I
wanted the thing to be a non-profit and
some of them wanted to be a for-profit
and then there started to be people who
were just kind of totally unable to work
with each other there were people that
were kind of trying to get an advantage
for themselves in a lot of different
ways and this just about six months
later led to this big governance crisis
and then we got a reshuffled leadership
a bit and then the project kept on going
that nine months later there was another
governance crisis and then there was a
third governance crisis and so is there
a way to looking at the human side of
things is there a way to optimize this
aspect of the cryptocurrency world it
seems that there is from my perspective
there's a lot of different characters
and personalities and egos and like you
said I don't know you know I also like
to think that most of the world mostly
people in the world are well-intentioned
but the way those intentions are
realized may perhaps come off as you
know as negative like what is there is
there a hopeful message here about
creating a governance structure for
cryptocurrency that where everyone gets
along and after about four rounds of
reshef like I think we've actually come
up with something that seems to be
pretty stable and happy and I think
inion I definitely do think that you
know most people are well-intentioned I
just think that one of the reasons why I
like decentralization is just because
there's like this thing about power
where power attracts people with egos
and so that just allows a very small
percentage of people to just ruin so
many things you think you go as uh you
think ego has a use like is ego always
bad it seems like sometimes does well
then the etherium research team I feel
like we've found also kind of a lot of
very good people that are just I mean if
primarily you're just interested in
things for this
nology and the thing says seem to just
generally be going quite well yeah when
you're when the focus and the passion is
an attack so on so that's the human side
of things but and the technology side
like what have you learned what would
have been the biggest challenges of
bringing aetherium to life on the
technology side so I think first of all
just you know there's like the first law
of software development which is that
when someone gives you a timetable of
which the unit of time to the next
largest unit of time and add one and
like we basically fell victim to that
and so instead of taking there's like
three months it ended up taking like 20
months to watch the thing and that was
just I think under estimating the sheer
technical complexity over the thing
there were research challenges like so
for example one of the things that we've
been saying from the start that we would
do one is uh switch from a proof of work
to a proof of stake more proof of stake
yes and this alternative consensus
mechanism where instead of they're
having to waste a lot of a computing
power on solving these mathematical
Possible's that don't mean anything you
kind of prove that you have access to
coins inside of the system and this
gives you some level of participation
and the consensus can you maybe
elaborate on that a little bit I
understand the idea of proof of work I
know that a lot of people say that the
idea of proof of stake is really
appealing can you maybe linger on a
longer explain what it is
sure so basically the idea is like if I
kind of walk up a hundred coins then I
turned that into a kind of quote virtual
miner and the system itself fine if
automatically and randomly assigns that
in a virtual miner is a right to create
blocks at particular intervals and then
if someone else has 200 coins and they
walk and walk there's 200 coins then
they get a and if twice as big a virtual
miner they'll be able to create a blocks
twice as often good so it tries to do
similar things to approve of
except instead of the thing and if
limiting your participation being your
ability to crank out solutions to and if
hash challenges the thing that real love
is your participation is kind of how
much coins your interlocking into this
mechanism
okay so interesting so that that limit
of participation doesn't require you to
run a lot of compute mmm-hmm
does that mean that the richer you are
so rich people are more like their
identities more right and this stable
yeah verifiable or whatever whatever the
right terminology is right and this is
definitely a copied critic I think my
usual answer to this is that like proof
of work is even more of that kind of
systems exactly yeah I didn't mean it
and that's there's a criticism I think
you're exactly right that's equivalent
the proof of work is the same kind of
thing but before work you have to also
use physical resources yes and burn
computers and burn trees and all of that
stuff is there a way to mess with the
system of the proof of proof of stake
there is but you will once again need to
have a very large portion of all the
coins that are locked in the system to
do anything bad got it yeah and just to
that maybe take a small tangent one of
the criticisms of cryptocurrency is the
fact that it gets for the proof of work
mechanism if to use so much energy in
the world yes is one of the motivations
of proof of stake is to move away from
this definitely like what's your sense
of it
maybe I'm just under informed is there
like legitimately environmental impact
from this yeah so the latest thing was
that Bitcoin consumed as much energy as
the country of Austria or something like
that yeah and then aetherium is like
right now me only like half an order of
magnitude smaller than Bitcoin I've
heard you talking about a theorem 2.0 so
what's the what's the dream of a theorem
2.0 what's the the status of proof of
stake is the mechanism that a theory
moves towards and also how do you move
different mechanism of consensus sure
that within a cryptocurrency so theorem
2.0 is a collection of major upgrades
that we've wanted to do to aetherium for
quite some time the two big ones one is
a proof of stake and the other is so we
call sharding sharding solves another
problem with block chains which is a
scalability and what sharding does is it
basically says instead of every
participant in the network having to
personally download and verify every
transaction every participant in the
network only downloads and verifies a
small portion of transactions elands you
kind of randomly distribute who gets how
much work and because the issue of how
the distribution is random it still has
the property that you need a large
portion of the entire network to corrupt
what's going on inside of any shard but
the system is still in a very redundant
and very secure brilliant how hard is
that to implement and how hard is proof
of stake to implement like on a
technical level
yes software level proof of stake in
charting are both challenging might say
charting is a bit more challenging the
reason is that proof of stake is kind of
just I changed the how the consensus
lawyer works sharding does both that but
it's also a change to the networking
layer the reason is that charting is
kind of pointless if at the networking
layer you still do what you do today
which is you kind of gossip everything
which means that if someone publishes
something every other node and the
clients yours it a like from on the
networking layer and so instead we have
to have and if sub networks and the
ability to quickly switch between sub
networks and other sub networks talk to
each other and this is all doable but
it's say yeah more complex architecture
and it's definitely the sort of thing
that it has not yet been done in
cryptocurrencies so most most of the
networking layer in cryptocurrency is
your shouting like broadcast messages
and this is more like ad hoc networks
like yeah you're shouting within smaller
groups small group but do you have like
a bunch of sub net like exactly then you
have to switch between ah man I'd love
to see that as a beautiful idea so from
a graph theoretic perspective
but just the software that who's
responsible is a theorem project like
the people involved would they be
implementing like what's the actual you
know this is like legit software
engineering who like how does that work
how do people collaborate build that
kind of project is this like almost like
is there a software engineering lead is
there it's like is it legit almost like
large-scale open-source projects
yeah so we have someone named Danny Ryan
on our team has just been brilliant and
great all around and he is a kind of
de-facto kind of development coordinator
I guess it's like you have to invent job
titles for this stuff yes the reason is
that look we also have this unique kind
of organizational structure where the
theorem foundation itself and of does
research in-house but then the actual
implementation is done by independent
teams that are separate companies and
they're located all around the world and
fun places like Australia and and so you
know you can kind of just need a bunch
of and have almost non-stop cat herding
to just keep getting these people to and
have talked to each other and never kind
of implement the spec make sure that
everyone agrees on manev whoa what's
going on and kind of how to interpret
different things so how far into the
future are we from these two mechanisms
and aetherium 2.0 like what's your sense
of the timeline keeping in mind the
previous comment you made about the sort
of general curse of software projects so
if you're iam 2.0 is split into three
phases so face gyro just create supper
of steak network and it's actually
separate from and of proof of the proof
of work that work at the beginning just
and if give it time to grow and and
improve itself do people get to choose
sorry to interrupt if people get to
choose I guess we can think yes I choose
to move over if they want to then phase
one adds sharding but it only adds
sharding of and of data storage and not
sharding of computation and then after
that there is an of the merger phase
which is where
and if the accounts kind of smart
contracts like all of the activity and
uh the existing is one system just kind
of gets cut and pasted into eighth - and
then the proof-of-work chain gets
forgotten and then and things all the
things that we're living there before
you're just gonna have continual living
inside of the proof stake system so for
timelines um phase zero has been kind of
almost fully implemented and now it's
just a matter of a whole bunch of
security auditing and testing my own
experience is that right now it feels
like we're at about a phase comparable
to when we were doing the original
etherium watch when we were maybe about
four months away from lunch that's just
a hunch then that's just a hunch yeah so
how you know it took it took like over a
decade for people to move from Python to
Python 3 how do you see the move from
like this phase of zero of four for
different consensus mechanism do you see
there being a drastic phase shift in
people just kind of jumping to this
better mechanism so in phase zero don't
expect too many people to do much
because in phase zero in phase one then
you chain the unit deliberately and it
doesn't have too much functionality
turned on it's there just like if you
want to be a proof of stake a validator
you can get things started if you want
to store data for other blockchain
applications you can get started but
existing applications will largely keep
living on East one and then when the
merger happens then the merger is a
operation that happens all at once
mmm good so instead of one of the
benefits of I can sense a system that
Nick on the one hand you have to
coordinate the upgrade but on the other
hand the upgrade to be coordinated so
what's Kasper FFG by the way um Kasper
FFG is their consensus algorithm that we
are using for our of stake is there
something interesting specific about
Kasper FFG like some beautiful aspect of
it that's there is so in Casper FFG
combines together and of two different
schools of a consensus algorithm design
so the general two different schools of
the design are right one is a 50% fault
tolerant but dependent on network
synchrony so 50% fault tolerant fault
tolerant but it didn't sink it's all
rate up to 50% of faults but not more
but it depends on an assumption that all
of the nodes can talk talk to each other
within some limited period of time like
if I send the message you'll receive it
within a few seconds and the second of
school is 33% fault tolerant but safe
under a synchrony which me instead like
if we agree on something then that thing
is finalized and even if the network
goes horribly wonky the second after
that thing is finalized there's no way
to revert that thing and that's
fascinating how you would make that
happen it's definitely quite clever I'd
recommends the Casper FFG paper if you
just search like archive if I said like
arXiv Casper FFG it's that's the papers
an archive yeah yeah who are the authors
myself and ever Joel Griffith that's
awesome I take a small tangent this idea
of just putting out white papers and
papers and putting them on archive just
putting them publicly is it a set is
that at the core is that a necessary
component of cryptocurrencies that the
tradition started with Satoshi
nakamoto's what do you make of it like
what do you make of the future of that
kind of sharing of ideas I guess so yeah
and it's definitely something that's
like kind of mandatory for crypto
because like crypto is all about making
systems where you don't have to trust
the operators to trust that the thing
works and so if anything behind our
system works is close sourced and that
kind of kills the point and so there is
the kind of a sense in which the
fundamental properties of the category
of the thing we're trying to build just
kind of forces openness but also
openness just has proven to be a really
great way to collaborate and there's
actually a lot of event of
innovation and academic collaboration
that's just kind of happened
ad hoc in the crypto space the last few
years so like for example we have this
forum called ether research that's like
e th re se AR and then dot CH and there
we publish and of just ideas in a form
that's kind of half formal like it's
half way in between like it's it's a
kind of a text write up and then you can
have math in it but it's often and of
much shorter than a paper and it turns
out that the great majority of new ideas
like they're just kind of fairly small
nuggets that you can explain and like
five to ten why and said they don't
really need the whole formality paper
exactly they don't require they're kind
of like ten pages of Ana filler and so
introduction conclusion is not needed
yeah and so instead you just kind of
published the idea and then people can
go comments on it don't really yeah
great for us I think I interrupted you
was there something else on Casper
effigy that's like just Casper FFG is
just kind of combines together these two
schools and so basically it creates this
system where if you have more than 50
percent that are honest then the and you
have a network synchrony then the thing
kind of goes has a chain but then if
network synchrony fails then kind of the
last few blocks in the chain might we
kind get replaced but anything that was
finalized by this side of more
asynchronous process gets I can't be
reverted and so you essentially get a
kind of best of both worlds between
those two models okay so I know what I'm
doing to name I'm currently reading the
gasp refugee paper apologize for the
romanticized question but what to you
are some or the most beautiful idea in
the world of aetherium just something
surprising something beautiful something
powerful yeah I mean I think the fact
that money can just emerge out of a
database if enough people believe in it
I think it's definitely one of those
things that's up there
I think one of the things that I really
love about aetherium is also this
concept of composability so this is the
idea that if I build an application on
top of aetherium then you can build an
application that talks to my application
and you don't even need my permission
you don't even need to talk to me right
so one really fun example of this as
there was this Senate game on aetherium
called a Krypto kitties the gist involve
head of breeding digital cats yes and
someone else created a game called
crypto dragons where the way you play
crypto dragons is you have a dragon and
you have to feed it crypto kitties and
they just created the whole thing just
like as an etherium contract that you
would send these these tokens that are
defined by this other etherium contract
and for the interoperability to happen
like the projects that don't really need
to like the teams don't really need to
talk to each other you just kind of
interface with the existing program it's
just arbitrarily composable in this kind
of ways you have different you know
groups they can be working so you could
see it scaling to just outside of
dragons and kitties it could be you
could build like entire ecosystems of
software yes I mean especially in the
decentralized finance space that's been
popping up in the last two years there's
been a huge amount of really interesting
things happen as a result of this is it
particularly kind of like financial
applications kind of thing yeah I mean
there's like stable coins so this is a
kind of tokens retain value I'm equal to
one dollar but they're kind of backed by
crypt cryptocurrency then there is
decentralized exchanges so when as far
as thinkin decentralized exchanges go
there's this really interesting
construction that has existed for about
1 1 and a half years Dale called yoona
swap so what Yunus huapi has let's say a
smart contract that holds imbalances of
two tokens will call them token a and so
can be and it maintains an invariants
that the balance of token a multiplied
by the balance of token B has to equal
the same value
and so the way that you trade against a
thing is basically like you have this
kind of curve you know like x times y
equals K and yeah before you trade it's
at some points on the curve after you
trade just like pick some different any
to any other points on the curve and
then whatever the Delta X is that's the
amount of a tickets you provide whatever
the Delta Y is that's the amount of
beats okay so you get or vice versa and
that's just and then and if the slope is
I'm at the current points on the curve
and it is the price and so that just is
the whole thing and that just allows you
to have have this exchange for tokens
and even if there's very few
participants and the whole thing is just
like so simple and it's just very easy
to set up very easy to participate in
and it just provides so much value to
people so and the fundamental the the
distributing application infrastructure
allows that somehow yes so this is a
smart contract meeting this is all a
computer program that's just running on
areum smart contracts to are just
fascinating they are
you
Resume
Read
file updated 2026-02-13 13:24:36 UTC
Categories
Manage