foreign
[Music]
good okay
so
uh my name is uh well my name is Makoto
by ens is my talking dog is how many
people got this swag things
great okay so probably support someone
with you I was a man behind you know
between the nice swag and you know that
you so like you know just making sure
you guys are cute alcohol and all that
stuff but uh I'm hope hoping that now I
don't really have to explain what the
ens is so it's a basically Webster
username whether you go to uh Co-op or
Instagram or openc or easy XYZ it's all
my token.is so that's my name and so
today I think this this room is mostly
in a theme of a L2 track so we are going
to talk about
kind of L2 of gen interchange strategy
on what ens is doing and we are actually
been doing since kind of 2020 and there
was a lot of talk and work going on but
people are not quite sure where we are
at right now and it's actually some of
the feature it's two and a halfway of
the road map but it's some of them are
already available so first I was going
to explain what kind of the Cross chain
example already available to you so this
one doesn't really require any
technology
technical knowledge then I go a bit
deeper to the underhood definitely so
probably I I show a bit of code so
mostly for devs and therefore what's
next section is yeah what's going to
happen in the probably a bit technical
okay so uh for some of you may know uh
coinbase I want the biggest exchange I
recently announced that they decide to
issue subdomain to all the users I think
there's a couple from the coinbase I'm
gonna raise the hands okay thank you
and it's great because like whenever you
go to like you know exchange that you
change uh you get your fiatu coinbase
then you will not move into somewhere
for the D5 then like passing struggle is
like oh what's how to send to you know
same address in there I think it's great
that it's been uh ens is available
available from the kind of assurance a
new user got on board with crypto and uh
I got you know when
makoto.cb.id because matokeo is already
not available unfortunately but like if
you go to your in a profile page and
another thing is so coinbase has I think
coinbase.ed eth but they chose uh CB dot
ID firstly because it's a lot shorter
and another thing is uh ens is just not
just about dot eth you can actually
import the order your Internet domain as
a ethereum name so like origin wallet
has a DOT XYZ and you can make or
comment the stuff so they decide to use
cb.id to import the DNS to kind of ens
world then decided to issue subdomains
so once it's done you can see my Q
handwritten Avatar and yeah website and
the email address and if you look into
this our ens manager you can actually
see the same thing so it's the data
which is stored in I think it's in a
database in coinbase it's processes
route uh basically same layer one so
that any doubts or like a
well that can actually access the data
and the great thing is uh the user
hasn't paid any single gas
and another exam interesting example so
I think coinbase cases was in a company
of chain in the database so lens is
another kind of uh web3 social network
which provide the user profile and how
many people have lenses profile okay
maybe half of it and so this
lens actually have a ens Association
address Associated and something you
might not know is uh it's actually
that's also a proxy to the uh
you say I'm L1 after ens and on layer
one so if you actually look into it you
can actually see that on our EMS manager
and this is kind of recent uh release
but now uh beta mask supports so that
like if you try to send
no one really has to send ease to study
you know if you want to you know you go
to stanley.lens.xyz uh that that's
already available and this is another
interesting things like so optimism uh
there's some Community user just posted
on their our Forum that hey we created a
name service and they actually just
spoke the uh what we are doing and they
create a kind of nft and they decided to
issue some domain on their nft and it's
actually available on optimism which I
didn't even know until he posted which
was kind of crazy and
I do explain there's some Nuance on the
difference on how you do she's doing and
that what we could do in uh next chapter
and this is a really really crazy thing
is like so we I'm saying like off chain
which can be anything so I showed like
database example I showed you the lens
is basically the polygon other ebm
example this is literally the Google Doc
and someone put that kind of integration
so that if you type the data into the
Google spreadsheet it actually updates
which is kind of crazy and yeah some I
only got to know because someone tweeted
it so this is kind yeah it's called
sheets though is apparently okay so and
so current state is so these things
we've been doing it's not something you
can uh
you can do it without any integration so
we actually talked to many partners and
the integration Partners to integrate
this thing first so
if you adapt developer if you want to
have these like a coinbase sub domain or
land sub domain or uh sheets subdomain
as long as your app has He suggests uh
later than 560 or web3 Pi B6 or web3 JS
b493 uh you already have the uh
feature integrated and also I think
nowadays people use framework kind of
tool like wag me or used up they because
they use esl.js underneath that's
already supported
yeah right away and for the wallet side
there's a wallets like I'll follow it uh
urgent metamask
Umbra coinbase trust wallet wallet
connect and it's a scan they all uh
integrate so if you're using this you
can actually uh send money to basically
study or like any coinbase user who has
CBI d sub domains if you want to
and so yeah what's common across oh yeah
I just realized I can just read that
sorry uh okay so what's coming across
this example is basically storage like
no stick it can be the best polygon
optimistic optimism or Google
spreadsheet and depends on the storage
uh yeah if it's in like a L2 or side
chain you might pay a little bit of gas
if it's enough chain complete uh gasless
and the interesting thing is like I
think most of stuff I'm lucky
if you use different chain first things
you have to do exactly you go to
metamask and you know change the network
ID and the stuff you don't have to do it
because you don't want to know which
chain these users data are and they're
like I don't want to know like you know
where data is for the coinbase users or
lens users so that for the read-only
purpose data is all available through L1
and this one I will explain later but we
call it kind of trust not minimized
you'll find out a bit more detail
okay so under the hood uh
so if there's any pretty much all the
things I'm going to say is in this docs
ens.domains and there's a QR code so if
you you are interested you can just you
know take a shot
and sorry
yeah okay
four or five years and the basic model
is we have three
well basically two big components one is
called registry where it's a big
gigantic dictionary key Value Store
and instead of registry hence the value
we return so for example in this example
uh you ask uh what's the user says
what's the uh
food or is has in example it returns
x1234 which is some another smart
contract called resolver and the
resolver is a one if you ask that
resolver what's the address of food.edh
that Returns the actual ECM address so
that kind of two ways right and the
reason we did is is the flexibility that
uh
once you kind of change it's very
difficult to change smart contract once
you deployed to ask everybody to change
point to the new one so but if you have
a resolver each user or each name owner
this is important to understand is a can
swap the resolver and have their own
custom uh logic or if we release a new
feature you can upgrade to the new
feature or by uh by each user by each
domain okay so this is a basic and with
this in mind
uh what we do with this new interchange
of
across chain uh thing is something
called ccip read also known as
eip3668 uh secure of chain data
retrievable and what I'm going to
explain is it's going to the instead of
the two-step model of the existing
resolver it's a three-step model and
request and a verify
okay so what it does for the first time
is like for example if you go ask for
the uh
data on the resolver uh instead of
returning the data it actually throw the
exception called off chain lookup and so
like this error message came from I
think solidity eight point something and
this interesting thing is like a
basically it returns a different kind of
a data type by calling the same function
so that like you don't have to client
doesn't have to know whether the
function call is towards L1 or L2 other
place it's just like you uh e reverts
and it catches and then once you revert
you catch the revert message it has the
information about uh this address which
is a resolver then it has something
called URL which is we call a Gateway
server and plus the core data which you
know you send for the function call and
of gem is over Reservoir so this is I
think
the function type of the uh
function which you're gonna call once
again once the Gateway returns up
results
and what the code is a bit old so there
might be some consistency that so step
one revert and that's solidity code
and the once that's done uh
so this is a web service that URL you
know you just catch in a revert you call
this uh web services and the uh things
it does is uh fast line is the Salvador
art is just like a
function uh
ccipv server Library offers like any or
any of the web services you have you can
kind of chuckle in this uh capability
easily then what you do is you basically
query the data from somewhere it could
be database it could be of
a side chain it could be Google
spreadsheet then after that we basically
ask the gateway to sign the data and it
returns uh back to the client and once
it's returned uh again this is in L1
that uh it basically calls this function
to and you decode this signature and you
check like if we verified and if you
it's verified by the Gateway it was
specified in revert we say okay we trust
this Gateway service so like hence we
return the data so bye by using smart
contract to be kind of proxy yeah user
can retrieve the off-chain data without
switching metamask or not knowing any
other information but all these things
are kind of encapsulated especially
using esos.js so most data use you don't
actually even see it but if we want to
do directly with the interactive smart
contract you kind of have to know
yeah
and so once the basic logic of the of
generated redrubal is
explained next thing you also have to
know is another EIP called ensip10 so
wild card resolution for issue sub
domain is like one thing you need to
know in the case of we are talking about
biggest use case as a issue in
sub-domains and when it goes to uh for
example cbe.id
cbd.id does have a resolver contract on
the L1 which basically acts as a Gateway
too of chain but use the subdomain
actually doesn't have any data on L1 and
what it does is this isn't just another
rule we Define in a client level that if
I I have a let's say my token in this
example it says eth and the IFA dot
matokeo.eth it doesn't exist no one
doesn't have a resolver at the client
library on asked to the parent in that
case matokundo is to say do you know
anything about your child then that
child goes to LT or of chain and get
data so that's how uh China allows you
to issue subdomains which is gas free
because it doesn't exist on L1
and
so
the consequence of this approach is fast
so no unchain event for issuing
subdomain or records so quite often when
you build adapts nowadays you kind of
rely heavily on like something like
subgraph to retrieve data with
information uh in current specification
which don't have that so in our case we
kind of hard coding like you know
especially if you have done any coding
on the ens for example text record a key
value store which key has been uh said
we actually are or which coin type has
been said we actually retrieve from
the subgraph the graph sub graphs and
because it the graph information doesn't
exist we actually basically hardcore and
if you look into the ens manager and if
you look into the subdomain of the
cbd.id or lens or XYZ you actually see
like it doesn't exist because that whole
thing doesn't exist on L1 and another
so this is specific to the uh the ccip
protocol itself but another thing what
we are doing right now is it's actually
kind of
halfway through going to our what we
really want to do and currently because
we are rely on this kind of centralized
Gateway model to sign the keys so if you
find a key which Gateway is has is
compromised the Mauritius actor could
potentially basically we point all the
sub domain address to my address so they
all the money so
protecting the Gateway it has some
security concern and for that reason if
you have a gate where you you have to
deploy Gateway by yourself you can't let
other people to deploy it Gateway and
use their own so that's kind of
limitation current approach however it
it's here and it's working so another
uh photo time is that if you want to try
out this approach into uad app this is a
QR code to take a photo with me smiling
thank you and so what's next and so we
are kind of yeah as I said it's kind of
halfway and so we did the off-chain data
retrieval ticked and basic library and
wallets integrated checked and so
there's three other things we kind of
have to solve to to go to where we
really want to achieve go and the first
thing is I call CC
sorry a ccwdp AKA eip559 is called cross
chain right deferral protocol but I
think it's the joint uh EIP with I think
coinbase and then Nick Johnson I think
is basically so far you saw that uh all
the data can be retrieved
on L1 so that you don't need to switch
Network to read the data but
once the next step is actually you want
to let users to update the data and
currently I think uh in case of lens
lens have its own interpersonal L2 so
like you have to know that you have to
update on lens in case of a coinbase you
have to know that you have to do in a
coinbase uh basically extension but this
one kind of uses similar approach to
ccip reads to return the like where
uh you need to kind of be points to your
end point or like a URL to update the
data so this is kind of fresh oh no it's
June so it's been there but I only get
to know like
cycle that this existed so uh it's fresh
but like there's already draft so you
can take a look
and uh next so yeah trust minimize
resolver Eco uh Roll-Ups so that so far
I was talking about quite kind of
centralized approach like you have to
trust the Gateway well we
uh have design is going uh so yeah one
of the stuff of the Roll Up is the fact
that like you most of the roll up
whether it's a kind of uh optimistic or
DK that their basic principle is to
batch right uh L2 data to periodically
in a battery data into L1 that means you
can actually uh verify the state or belt
too on L1 using L1 Contra uh so yeah
optimistic uh roll up uses Cloud proof
and a DK user validity proof and once
and my understanding is that uh optimism
or like stock where all these companies
listed they do have a basic function so
once we have that function what we're
gonna do I explain
how do I here so here it's uh just like
retrieving the data and signing the uh
message but what you can do on the L2
rollup is like you can get basically get
the proof data with the proof and uh
yeah you construct the Marco R3 and on
this uh verify station on a smart
contract you can basically call uh I
forgot the name of the optimism code do
you remember verify
was State commitment something called a
function to verify and by doing the uh
even if a Gateway returns just data oh
my time is already up okay uh
you can uh you don't have to trust so
that's are you gonna it's a complete app
of another five minutes okay so uh
I think I already mentioned
and there's a demo which we did two
years ago for the optimism so optimism
we know like how it works and we are
right in the middle of updating to the
latest version and yeah I'll skip that
order and all the end you know this now
YouTube my old photo so sorry so the QR
code so you should refer to and the more
important things is yeah we have a set
of ens by Nick Johnson for salty uh so
yeah that's it