[Music]
6 p.m. final slot everyone wants to talk
at 6 p.m. and also listen to talks at 6
pm. all right well hello I am Carl we're
going to talk about interoperability for
ethereum so defragmenting ethereum we
are in let's pick up where we left off
so I really measure time based on devc
cons it's like one devc con and then two
devc cons you know go that's kind of how
I measure it and I really think it's
kind of legit in that every Devcon there
feels like a new sea change that happens
all the brains get together and they
mash up and I feel like Devcon 5 it was
this crazy proliferation or this
beginning of like optimistic rollups ZK
rollups and then we had next you know
the super chain and prolifer of all
these op stack chains across ethereum
and then boom now we are in a new phase
which I like to call interoperation
because unfortunately with the
proliferation phase you end up with a
whole bunch of
fragmentation but this is exciting we
have a moment where we literally have an
unbelievable amount of lwh hanging fruit
to bring all of these chains together
through open-source interoperability
standards across ethereum so nothing is
that new by the way this is a PSA people
Nothing is that new nothing is that
unexpected and Technology marches
forward very very slowly in other words
we've known about all of these problems
since the you know scaling road map for
ethereum that vitalic put out way too
many years ago and you know sometimes I
think of myself as like a little snail
moving along like seeing the tech
progress go and then and then I whip on
my phone and I'm like oh my God what's
going on and I'm on the moon but no it's
fake news just calm down we're making
progress one step at a time so so you
know right like we knew that we would
have a bunch of chains and we'd fragment
the rollups and then we'd you them join
them together into a happy Union like
that's that's kind of that's been the
point um so anyway I want to talk about
the the basically my goal for this talk
is to show a very large amount of you
know lwh hanging fruit that we can all
pluck for this interoperability phase
and you know before even all of these
devc cons I was but a mere Geral
developer working on memes of mcraft you
know my my absolutely killer application
it was incredible you know I had
everything that you needed for a killer
app in ethereum right you I had a
Manifesto I had a i had a team page and
I even had an unusable application it
was like literally killer app material
but I knew that there was one thing that
would hold me back and that was my
application would never scale to the
number of users that I needed I knew the
world was going to use memes of mcraft
10 TPS you know 10c latency not going to
make it and so I got into the trenches
we all got into the trenches and we
started building out both the rollup
technology and now the interoperability
technology to make it possible and so it
really is a moment where it has become
possible the loow hanging fruit is
immense so let's go over kind of like
all a smattering a kind of shotgun of
all the different things that we need to
fix candidly um to make this happen
things by the way that are not new like
the great thing about this low hanging
fruit is that it has been done before
for example asynchronous programming
paradigms that is the norm in normal
application development we can build
those in pass Keys thankfully web 2 did
us a solid and fix a bunch of our wallet
ux for us sessions like session keys for
when I log into a website and I do a
bunch of interactions without constantly
clicking sign transaction over and over
and over again there's no reason that
this stuff and more can not be used in
the crypto space so in order to kind of
like make this a little bit more
tangible I'm going to go through a user
Journey kind of a developer journey and
then just like talk more about the tech
so let's get into the user Journey what
is the user journey of memes of meme
craft this incredible application for
the masses right we're going to have a
login screen the login screen familiar
terms we're talking about logging in no
seed phrases pass keys I'm sorry I just
have to we need decentralization but we
just got to make it usable at the same
time so both both Mass adoption and
decentralization for the world so you
know click log in sign in with a pass
key user off with face ID boom you're in
great now the next stage mint let's we
need to of course mint our memes so what
do I need to do I need to click on mint
no extra signature just like boom
transaction succeeded in the background
don't worry about it easy now I have my
memes and now I'm going to battle them
of course what else would you do with
your memes so I'm going to matchmake
boom I found a battle match person and
success I won right great and now of
course I'm going to share my battle
because that's what we miss about web
web two and web 3 the ability to click
the share button I've never clicked the
share button unfortunately but anyway
really I just wanted to talk about
composability and that was my little
segue into it so simple right like that
was like a very normal like honestly
incredibly boring user flow
unfortunately well no no no it's a great
user flow memes and mecraft taken off um
but the developer journey is actually
kind of immense to make all that happen
while preserving the open source
decentralized protocols that we all know
and love so developer Journey building
all these things okay first I'm going to
kind of skip past a bunch of the
developer Journey because it's not
actually just I you know too much but
you know imagine we're on a AI code
editor and in the browser with auto
refresh and all the you know bells and
whistles okay so for the login side of
things we're going to sign in okay what
do we need here well we need easy to use
frontend libraries that I can just very
easily import start a pass key kind of
session smart wallets with sessions or
or or even just a temporary wallet
that's fine by me a super RPC so that I
can actually send transac actions to all
of these different chains I don't need
to click on that Network switching kind
of you know icon all of this built in
very seamlessly please give me a very
good solution for this all the chains
across ethereum you know let's do it so
right clicked mint Etc now this this
little
flow this little flow is actually
insanely challenging so what happened
here first off I have assets across a
whole bunch of chains I clicked mint and
I paid for you know gas I paid for the
you know the the mint of that Meme and I
did not have to worry about any of these
silly chains why did I not have to worry
because we got things like ERC 7683 the
easiest ERC to say and what that is is
intense you're able to abstract away and
say okay a user has cash on you know one
chain one ecosystem there's a really
High latency bridge that connects them
well happens to be that there's an open
protocol for fast liquidity providers
that you know they can you can send them
your capital on this chain and then boom
they will give you the same amount on
the destination chain no problem they'll
handle rebalancing and this is great
it's a win-win for everyone instant user
experience for the user and fees for the
liquidity providers regardless of the
speed of your message passing now this
and we can get a good ux for this too
you know abstracted into a very simple
interface that everyone can use all
right so first off that's how we
consolidate all the assets into one
chain but obviously because my example
has this in it the mint function is on a
different chain so what did I do well I
wrote an asynchronous smart contract so
you know we're building out these
interoperability protocols if you use a
kind of like you know intertwinement
based interop protocol then you can
achieve 2 second or or really instant
interoperability and that is a major
unlock because now developers across the
ethereum ecosystem it's one thing to
build a smart contract that does a kind
of you know endtoend two chain flow with
you know when you have to wait for like
you know even five minutes is a long
time but if it's just an instant flow
between the chains that's like I don't
know I personally experienced it you
will too and it's pretty sick um anyway
so we can actually build out a whole
bunch of asynchronous programming uh you
know libraries pretty easily even today
right you can you know use common
promise syntax that you'll be familiar
with if you you know do for example
JavaScript um and promise sponsorship
you know we are going to be able to
reuse all of this intent based
infrastructure for General messages and
by the way Ben wrote an async you know
library and Ben is not even like well
he's a physicist he's not he's not some
coding he wrote it in three days you
know what I mean this is like this is
the level of like obvious stuff like you
don't have to be smart to be like oh
JavaScript has solved this problem this
way and it's not solved in my language
Let me just do that you know what I mean
like that's the kind of problem that I
like you know cuz I can't think of smart
things generally that's hard um okay so
anyway battling right we're going to
battle matchmaking boo booop found all
right that's that remember that's what
happened what happened in the background
well what did we do first off we found a
low congestion chain because guess what
battling is transaction intensive of
course got to do a lot of battles um
anyway and they're going to be chains
that have high liquidity that will
always have high fees because there's an
incentive if the price moves and you
need to arbit and you got a bunch of
bots you get a bunch of spam well you
need some chains that are explicitly not
going to be the mega tvl chains that can
do your little battles you
know and you also probably want to have
subsets of chains that you interact with
explicitly for example memes of mcraft
actually has two chains and one of them
is kind of medium usage and one of them
is low and so the front end will
automatically just check and see okay
the gas fees are very low on this chain
let me deploy the batt there speaking of
deploying the battler installing
contracts this is this is 100% like you
know contract deployment should be
permissionless by default and then
developers can restrict where they want
their contracts to live this ecosystem
that ecosystem this chain that chain but
for a large swath of public good
contracts for example you really want to
to have that be available as many places
as possible and so you know instead of
just developers having to like choose
where to deploy the front end should
just deploy it directly and we can do
that with create 2 Factory which is
available on like pretty much all the
evm
chains cool so now on to the bragging
section well this is obviously I added
this Tac this in because I really wanted
to talk about composability and chill a
very particular
concept that is you know a little crazy
but think about it composability is key
web 3 composability that is like the
magic sauce what is the most analogous
you know composable first thing in my
opinion it is the web browser the web
browser is this amazing Universe where
all these websites can link to each
other and use each other and all that
stuff and what did they do they made
this crazy Choice the people who did the
the smart things over there in the web
browser
they decided to literally send code
instead of just like binary blobs for
over the wire to then display in the
browser what did that do this was an
intentional Choice by the web browser
developers they wanted to make it so
that users anyone can rightclick inspect
element and read the code that runs and
Powers their website kind of sound
familiar Well turns out we are doing the
same thing all the time we're just going
to Ether scan and then getting very
frustrated that the contract has not
been verified yet and then we're like
how do I verify it and it's horrible so
anyway I'm just really I think we can
like 10x the amount of you know code
collaboration and the speed of our
feedback Cycles if we have things like
onchain package managers or inspect
element for smart contract some kind of
environment that makes coding with smart
contracts more collaborative now
obviously you know it maybe it doesn't
work for a crazy dii protocol you want
to formally verify but I just think
smart contract programing can be so fun
doesn't need to be a horrible mess and I
don't know we just haven't invested so
let's invest and make the feedback
Cycles fast and make it so that it's
easy to learn because there's tons of
examples of how people are doing it and
we can really Foster an open source
culture not just at the protocol layer
but also at the Smart contract layer so
now that was a kind of developer kind of
shotgun of all the tech let me just list
it all out in one big list so first off
right cross chain reads and messaging I
could do a whole talk on this one I'm
not going to get into too many Deets but
the tldr of like these and by the way
this is all open source protocols like
there's no this is just this is just a
fact of the the universe basically that
you can build interoperability protocols
which use this kind of optimistic or
speculative uh you know output so you're
on one chain and you're like okay I
think that the chain this other chain is
going to resolve to this value so I will
optimistically include that value and
then move forward and this works for zkp
based proofs and te based proofs and all
sorts of proofs it's just a literally
it's kind of you know how we you know
lowered the Lany of l2s by introducing a
sequencer and more predict in the
ordering before it hits ethereum same
kind of same kind of thing so anyway
Mark can tell you Proto can tell you
more about that and then of course we
got
intense um that you know there's been
many talks shout out to Hart from from
before also of course chain specific
configs and chain specific addresses all
on L1 so that we can deterministically
derive all of these different chains
from ethereum
super important also cross-chain token
standard very exciting all of these
people we can have interoperable tokens
with you know zero slippage liquidity
and we've got this is my favorite
section because it's the essentials it's
obvious we need to build this and it's
just it's just badly supported now so
like promise libraries that like hook
into solidity as it is today or even
modifications to Viper solidity that
support promises better please please
um and then also async contract upgrades
is going to be a whole thing oh my God
if you want to build the new like open
Zeppelin you know thing like man there
is going to be you know real patterns
that de that develop there and we need
to like standardize what those asynchron
upgrade patterns look like I already
talked about how users should be able to
install contracts on chains that is
enabled with these like create two
deployments you're able to
permissionless deploy a contract at a
particular address and you know not mess
with the figs and pasy wallets we need
to solve the we need to solve user
experience and so then of course finally
the dream section right I just really
want this like collaborative coding
environment it would be so nice also alt
VMS you know shout out to all the alt
VMS and you know you know write some
rust or whatever oriz everything I want
all these RPC requests to come with
signatures so that I can like you know
use literally just use them for whatever
if I'm really horrible I can like grab
do an RPC request and use that as a
bridge for my horrible degenerate uh you
know token Bridge thing um you know
don't definitely probably don't do that
um missed browser okay no that that one
is a little I'm going to get some Flack
for that one um but I don't know I just
still want to like not have to rely on a
central party and load up a
decentralized website like fully
deterministically um I don't know and
obviously the the you know that's kind
of the point of the dream section I
don't know everything
um so you know we are this little slow
snail progressing through the
technological thing
and but sometimes we come upon a tree
and a whole bunch of fruit and you know
what in those moments those are the
moments to capture and just absolutely
devour all that lwh hanging fruit
because it is I mean it's it's it's easy
and I will say that I was last week
shout out to Proto shout out to Mark
shout out to the interro like peeps they
put together this interro devet and I
was like playing with it and it really
felt like 2016 again I don't know this
is such a reminiscing talk for me I
don't know why um it felt like 2016
again where like everything is so
obvious that needs to be built and yet
no one has built it because no one
actually I don't know has like I don't
know done it yet and it's just it was
exciting it was exciting like all the
pieces coming together it's like more
collaborative because you're because
you're not like you know fighting over a
tiny little you know slice of a pie
you're like oh I'm going to work on this
and then you're going to work on that
and we can compose together and we'll
all win together I mean like that is how
we unify ethereum
IMO and finally create memes of meme
craft so you know this is our this is
our timeline but what about Devcon 8
well Devcon 8 we are it is mass adoption
time we're going to have 8 billion users
ethereum going going to solve the
fertility crisis um
no can't stop until Global adoption
every single person and so obviously you
know very very excited for the future
but we still got a lot of things to do
we got to ship inter up obviously all
these standards we got to scale Etha we
got to dog food the protocol we got to
build all these Dev tools and hopefully
either's Phoenix willing you know we'll
be able to unify ethereum defra ethereum
I guess is what I should have been
saying create a retroactive public goods
flywheel so that we're funding open
source software from now into the future
and you know that's why we're building
the optimism Collective together we can
make impact equals profit and sumon
ether Phoenix build the user owned
internet thank you very much all right
[Applause]
Carl you know when I was watching him
perform I was a reminder of someone who
moves a lot and so much energy and it
was such a joy watching you do that
presentation when someone is so
passionate about something you cannot
help but smile and the first and most
popular question Carl is how does Carl
have so much
energy because I'm deeply anxious and I
Channel it into
excitement what a gently answer I'm
deeply anxious okay um anyway moving on
to the other questions thank you for
that lovely question uh Carl um if if I
were to start building a library or
framework today to make building
horizontally scalable apps as possible
what should I build nice okay if you are
a solidity nerd then go out compete Ben
because you definitely will H just
kidding um um and build an async promise
Library something like that no um the
other thing if you want to just be be I
don't know key to my heart I built a
horrible like create two based deployer
thing I just want to make create two
deployments really easy because I don't
know I just don't like uh dealing with
the I don't know the it's just the
tooling is bad you know please please do
help me with that um yeah those are two
of them and the slides have even more
fantastic when will optimism meet become
a ZK rollup we already have um so
obviously optimism is you know the name
we're very optimistic people we
obviously love optimistic designs but
notably optimism is not a ZK rollup not
an optimistic rollup it's actually not
really it's a it's a super chain but um
the tech the op stack supports all types
of proofs and in fact one of our design
principles is to be proof agnostic so
that we don't need to choose between
this proof or that proof and instead we
can use them all because to be honest
they're all really bad so when you have
a lot of bad things you stack them on
top of each other and hope that nothing
well they they all don't break at the
same time um that's called multi prooof
by the way it's not just trolling you
have got to be the most entertaining
speaker I've ever had chance to to mc4
isn't super chain kind of like vendor
lockin what would you say to that I mean
I think there is a you know definitely
an aspect but what are you getting
locked into is my question you are
getting quote unquote locked into op
Source protocols which fund public goods
and you know create a flywheel that
hopefully we all benefit from and guess
what ethereum I don't know okay they
should they're going to get mad at me
but anyway no I think you can Fork
everything you know Fork us and by the
way actually Fork friendly is in our
Constitution and in everything that we
do it is incredibly important that it's
open source so that you can if you get
vendor locked in in a bad way Fork to a
different system by the way oh another
thing right uh web 3 the whole point of
web 3 is enabling a somewhat more robust
right to voice vendor lock in is
inevitable in some sense and that is why
in web 2 this whole like just exit this
platform for the other platform we see
it doesn't work instead what we need to
do is we need to build systems where
governance represents the constituent
parties so that's what we're trying to
do very good we got one and a half
minutes excellent answer one and a half
minutes let's see how many questions we
can go through which are the key things
dream interrupt has to have we want it
to be fast trustless and and secure um
no uh but okay yes 100% fast honestly
yeah fast trustless and secure um but
for real fast was my like I honestly
undervalued the fast thing until I
started using the fast thing I got a
little addicted cuz cuz like there's a
very big difference if you like have to
go like if it's more than a couple
seconds then I'm going to click to a
different web page and I hate like I
can't like I'm never going to go back
and so I don't know when I started even
when I'm testing it's so much nicer to
be able to like do everything real quick
so fast really fast Subs scent and subc
cheap I guess is the thing I forgot to
say all right we got 20 seconds you want
to do one more last one what are the
biggest mistakes the ethereum equos
system risk making as it works on
interrup making it work on interrupt
risks well okay I don't know what that
actually means and I'm not good at
reading and so I can't figure it out but
what I'm going to say is the biggest
risk for ethereum is to forget our
values we are building open- Source
protocols that will create the world
computer there is one world computer
we're all building it remember that we
can do this together don't you know get
too mad at each other it's fine the
algorithms don't control
us well that was truly the most
entertaining Q&A I've ever hosted let's
give him a big round of applause Carl