[Applause]
questions they're gonna try to go
through but if any of you have a
question you can just ask it or a CNN
the topic you're passionate about you
can also just move up here
kick me out sit down and leave the topic
but if you don't speak up even though I
said that we shouldn't be special I
think you guys should just introduce
yourself like in a one sentence and
whoever comes scriptures do the same so
then if you want to start everyone my
name is Leo I work on
[Music]
it could help them now they need to be
eating their juices
hi I'm Chuck hi on top of I work I
mostly do EDM and my mouth except
working on solidity wasn't the case here
muscle for them it wasn't alright let's
jump in to some of these questions maybe
start with a big one which is no pricing
of computational and arithmetic octaves
that has been I think you get started I
will today the discussion will give him
one inoculations not sure if any of you
guys have seen that talk there today and
but there was also a paper that some
instructions may be mispriced and in
Istanbul heart work may have seen the IP
one eight eight four which also suggests
two to repress a couple instructions so
what do you guys think about
instructional pricing is everything
correct it's it's kind of impossible for
it
right across all the machines the best
we can do is try entires an average
machine but with different reasons for
transitive difference because D is
different parameter teachers and so on I
was never gonna be completely correct we
just have to try
arrival pricing scheme isn't so far off
base that it converts a subject dearest
text and that's why we had to do things
like what are they for
in order to or whether it's like the
disruption to existing stock contracts a
problem but it's not avoidable one who
is the alternative is that we just
simply what we've got and inside we have
a contract that
yes just to add to it I think just as
replacing is tough I think it's also
kind of we want to go in the future but
also in a high life it is we often say
what we call simple make love change so
we should keep that in mind it's not
that's why we will have we want to do
something most of the crisis that
happened the papers are welcome this is
actually about accessing exterminator
PDF and like this is actually externally
in the door it's just a way to do it
something from from the outside let's
say this for something like memory and
and I think this is what we mostly
struggle with the on the other hand the
computation of the kind of higher price
comparing to DHT time in texting
so it's up like big safe margin here and
I actually have a claim us even if we
prize the computation of course by the
same amount of them it wouldn't matter
because it still so by comparing it to
the other car
that's like it's not exploitable I
kind of algorithm instead of something
something more so the worst case I think
what I think of code that's duplication
and division but still I think the
margin is big enough and we are bounded
by but I think they could be smaller if
that helps for exactly to be to go more
into state that stateless contract so
you can compute more instead of staying
there the computational ones are are
highly WordPress today but now you say
that to your commutation yeah I
personally would be likely to lower them
but well we cannot try them accurately
like each other but they're not like oh
this other things they not in terms of
time they eat they take to execute and
the crisis that's not also a queue at
the moment but somehow it's not
exploitable from the security point of
view but yeah if you want more fair
prices I think they should be
indefinitely lowered by by some time but
bye bye geek geek Mountain
I mean indecisive
so stank blood concerns really mostly
like unfortunately the store so I think
that as well we're talking about
reducing the cost of just the
computational ones right now that are
using custom topics wouldn't to say that
if you're moving towards stateless
contracts that you would actually have
to decrease the price up to come to
there's always to make reasonable yeah
otherwise your user Richman's have been
late to spend yeah actually they
expensive very different lower the cost
be mindful
yeah yeah the maintenance trane this is
the crisp call data so lovely and it's
great progress that the VIP were
reducing the cost of call data is going
into Istanbul if it wasn't for that I'll
be pretty pessimistic but that was great
progress and it's like about halfway to
where we want to go so if we do that
again the next work once the price
proposed for Istanbul as you know the
network is still stable if that's the
case we can make progress and reduce it
further that will be will be well on the
way and but I think the other difficult
part is going to be versioning and
versioning will be necessary to prevent
breaking existing contracts so but if we
have versioning then we can propose new
costs and it will incentive these new
costs plugs will be cheaper than the old
costs and
the and existing contracts that are
blowing the state will eventually be
based out because people will be
incentivized to vote today cheaper of
stateless pocket house
yeah I think I think it's a great idea
also because it kind of solves that
problem
oh I have this contract like it's my
grave do this I'm a good stuff so is it
a good idea various countries that's the
regime you wouldn't also sold diseases
free with the sponsor news it's an
evening for me are you guys developers
or are joining deaf developers and are
you guys writing contracts are you happy
with the prices what are you not happy
with the gas price as a misdemeanor of
actions and you cry too much for them or
the specific if you have to like wait
yes are you storing enough data is is
that the main challenge but just try to
execute
yes I've recently deployed contractor to
Nicole's a signature for deployment wing
yeah people so the gas prices on 31
like who creates bison
beforehand for the lifetime right it's
not that because the cheap
we can improve the efficiency because my
name's pollution was you can't really
like to sell a future and they would be
guaranteed
works for there's the potentially
effective guest token works by
exploiting data and issues with the
refund mechanics where you can basically
most of the miners do twice as much work
as you pay but it's not very scalable I
mean I kind of wonder if we shouldn't if
you say nothing it would be awful but at
least it wouldn't be wasting stories
yeah I wish I was wearing my I was
bringing my god yes token
we're in today but it was the funny
thing is that it was warned about in
2015 and the least authority you know
report like analysis before it's very
enlarged and but well the way they
warned about it was minor versus minor
storage bombs and it's not exactly what
guess token has what did has the same
effect
yeah some of the relate such as
depression is like we say that you
forgot stateless so then guess if you
ever stateless mode that sure on that
layer we can maybe price that's
different but guarantee execution
environments could have the same sort of
thing like you can design a
controversial I just stores the
compassion for each child
we have destructive list and they say
the great deal guess that mrs. teevee
similarly does the same thing we only
store - and I think yeah one of the
contractor on that is you could also
like using sensors to do any
calculations but kind of if you have
like a two-party system and that's
trading or something and you have a
formula that derives the total points
both parties on both sides actually have
incentives to calculate the closest
value and you could actually catch the
value of storage and then make them
constantly some transactions to get an
actual Maggie
so yeah interesting stateless so maybe
the unisex you said that and you
senators who just arrived at the hash
how do I get the date that you're
sitting on the order of at least the
kilobyte very intrigued basically we
think that saying like 500 bytes of
exercise for DNA century and so you you
know use the Mercer report
things of how the beam and it verifies
thank you
stores the Hessian that definitely hold
some of the links one assignment that
Kate Hewson back and used to the
previous record verify passionately and
so on see some changes but it's not a
long title but storage is very expensive
and it's been watching that possibility
twice by apologizing as it is one cycle
data and store Freeland independent ever
decides that if you do have a lot of
data you need to pass in and you need to
do certain mental computation on them to
derive two distinct you store there's
like a trio Farragut is way cheaper to
store stuff on I think it depends on the
computation so in this case I think it's
obviously in this case when you're
passing of the redundant are the only
computation
some codes to verify that the cycnus is
passed and verified last time so we
don't repeating a lot of computation
because their clarifications only two
months
actually
I guess two bets for our panel this you
want use his works Welland the issue is
when there when every part is Merkel
cruises and all that Merkel data is what
makes the call to it's interesting you
senators currently just passing it you
know just that just the DNS data and
then that's about to be you know four
times cheaper after history all right so
we still need he receive the code
deposit limit I think it's your see
because I mean the contract yeah thank
you because I thought some discussion
and a big magician forum that there is
some debate and I think more and more
demanding into this limit and this is
really needed some of the problem is
that was any static scheme is not
contracted alone
say not disk and also just the basic
Java test analysis for the whole thing
and it's the size that is I'm down to
did something consumers a very large
contracts that only execute to say to
all codes before exiting and the the VM
is to do a great deal of work for very
little gas so that the OS vector so
until we ever be a solution
I kind of use that as easy any plan
implementer because yeah they said it's
like I know when I actually build myself
to adapt the code size will not be
graded on that and I can have my summer
sample some new notch because except
that something like analysis you have to
do when you load the count and you about
execute it but I think that I way to
kind of work around that I mean some of
these analysis can be done nicely but
it's much more complicated and we could
do now I just come to code once and also
this this this this analysis can be can
be cached but yeah actually hugely
exploiting that doing much more things
doing this analysis because I know the
the curse I swap meets
super huge I get it so yeah it's limited
by the gas price we can yeah you cannot
deployed super big contracts because
like you pay for them to bite to the
blank dad
but for me it's it's not static routing
information because this change is way
too wrong
so when I actually like make design
decisions doing yeah implementing EVM
this is not like strict grant redux I
mean I cannot guess what works it's like
the reasonable size for you I mean like
I know that for example for example if
you you know how if you're like let's
say you sum up of the cost of all the
curve I know it's gonna not exceed like
it to this value because it's like
the maximum code of codes
constants is created which is 42 K and
multiplied by the Scout size it still
will be a 32-bit limit so things like
that so i know i can i can store like
this information within a 32-bit limit
that's many things like this so you have
at least I also can actually generate
like the worst cases
businesses in Shekau how much time
elapsed egg so like this is some kind of
security precaution like yeah in the
worst case and it's like they're the
order of yeah yeah I mean I mean I feel
also like much context there's no saying
no use contractors lives the case that
represents trying to make contract in
too much or that you should be motorized
and in doing place so it's about
complaint or resident I don't think it's
I think it's there are definitely
contracts that product
but your first reaction will be rather
to it should be to the to do the review
of your college and say how am i try the
correct way too much stuff as maybe or
on Changmin is it something to take off
chains and stuff I didn't walk instead
of computing and storing looks like that
or kind of modular eyes the business in
case the TV set context registers was a
budget ear based algorithm is an ancient
letters of the civil contract without
which makes it more flexible and also
ensures
[Music]
but I'm talking about the bucket limit
is the limiting factor for the
contrapositive anyway so currently when
the when the movie was in host and
proximate was like four million and that
was the mark and now it's at 8 million
10 million and so it would be double the
Jebusites that they in have to guess
from the contract hasn't changed
so they'd still be trying to do
yes we increased against one that's
right increasing as much of arresting it
became more expensive to run the CPM to
inlining the back end part of the cosmic
separation so it can make it will often
make it worse being relatively
[Music]
this kind of research but I mean very
differently about just having some
context about the idea that safety look
at the so so I still like that idea and
I think what I bring that Nicholas was
actually the fact that they business
static cost
and it's like same amount of gas this
car time and it doesn't really reflect
what you do we actually running and so
what I would like to see is something
more like what the operating system does
it does the computation of 30 your I
don't know your your index library from
Thirsk once it's a memory it can just
recall that and to get that advantage so
like and water in the transaction the
first floor was priced at something and
it may be to somebody else pair as
European philosophers and I think it
makes sense for the same reasons the
other option is that we do system to
propose well used contractors
Milton's didn't say I mean my own
personal Viennese registry yeah is now a
built-in and it cause it's fifty years
to go let's go see a doctor
because you expect American clients to
feel safe just like everybody uses this
yeah it almost cheap enough you could
get up recompile it suggested some kind
of advanced caching in the IPD
grandmother's though this contractor was
addresses happens
contract especial St Trinian's
individual presentations can choose to
really badly or advisor complain
Lotus has been very evident
it's kind of the wasn't a frog but
that's actually Martin Martin's Wanda I
work with the client and secured their
foundation but for the infrastructure in
the EVM and I was up another and also we
were just discussing pricing and pricing
in general and what we ended up with I
think Nick proposing that so regularly
used contracts or libraries with
right so how would you so I have a
problem with there's a general thinking
sometimes that caching
clients have caches so we should make
the things memory in the caches cheaper
and my problem with that is that caches
allow the level of freedom to have
whatever cash eviction policy you want
it can be least frequently used lost
recently used caches and if you have a
big machine you have a large cache in if
you're running it on a Raspberry Pi a
very small cache it will be slower but
if we like say well the cache should be
this and this should be cheaper than we
all of a sudden encode in cash
eviction policy into a consensus engine
and we hope fast slice into the
consensus engine and we need to make
sure that if something is put into this
cache and it's been a revert that we
need to clean it up from this cache
again so it's not sitting around we need
to have a journal covering this cache
and basically it's no longer cached but
we've added the new consensus structure
with very strict rules on what needs to
be in the must means not being there and
yeah and it's room so the the old cache
has become just another consensus
structure which doesn't help
make it more complicated so the question
is if we want to make it cheaper I don't
think we should have like anything
except in the last town solid you need
to be very clear about what should cheer
and why and what kind of data structure
- anything - I agree and I'm actually
against caches very easily attacked by
the eventually we saw the need to do is
make sure that he realizes that
application so they think would when you
don't really need them and they fail
when you need it most and you always
have to assume the worst case that
everything is a certification therefore
you can't actually optimize your stuff
further at least you can do this when
times are good your sink is slightly
faster still if you're catching out or
maybe a lot faster what I was proposing
is is one of two things one is
effectively extinction and it gets
to apply to corporations the other
option is a way for the idea is to say
the contractors by previous address why
it is considered a public road in this
roost regularly because of the science
and math coding or something and
executing the cool off code to this
world across 20 guests because we expect
every client emergent to the American
style and it'll be a very limited Caesar
small contracts that work the CMAs
basically yeah on the first thing yeah I
think it would make sense but probably
be a maybe a limited usability and on
the second idea I think that would be
yeah really
that look okay period I think use what
my team will use music because it was an
email a library that has a serious
mentality functions
the contracts were star engage cools the
defendant gets saved in deferral
orientation about the library
[Music]
tie back to that if you get cheaper call
the next time you call something that
you've already called that's like the
more generic version of Alex or typical
self and I took that Eve and I did an
analysis we can get up on the screen
there but the analysis looked at if you
have a someone's malicious well at the
contract which repeatedly calls itself
as many clients as of town first in Java
means it calls itself recursively to
limit word can't do that any longer and
when it runs on the gas there it will do
it again
so it could be like down down go even
though
[Music]
the first contract does just a second
time and what the second one does is it
calls itself in the case of reduced toss
to something that's already been
installed this would fall in the same
general framework and this is how it
basically looks so first you have a
recursive call tree going to a certain
depth this
Gasca current and in total there two to
six decorations where it goes to the
depth of 344 and total 13,000 cause
animate 10 million yes
and if xyx implements the where the
reduce will be the 1400 there will be
welcome is the more important to five
iterations and the maximum that for 503
and what you can see what's that on gift
without any state to anything and i only
the cure gets run times the execution
time jumped up to one point 18 seconds
and I'm sure the must be the floor
yeah and then became 171,000 Coulson
pump oh that's pretty steep difference
yeah but I mean you could adjust the gap
priced right right but so do you have to
decide what so yeah both the number 14
[Music]
that's what spokes third person from
reaching 1,000 foot boards but when that
recursion them souls all those 164 sorry
turn and we can go one level down and do
the depression again it'll be short
because started so there's no need to
use an explicit call that plan that was
do
just have one but just to be clear that
proposed 14 or whatever it was to the
guestlist it was just starting number
which means do the benchmark which is
right where this is always good to happy
with it yeah say to you you have this
just repricing with dynamic repressing
for goal that you more often there is
like an eternity
I mean even if we pull call something
that's working close there is an
inherent over up in the yes they can do
condemn sweets no such a the questions
like how bad is this fundamental
[Music]
right this probably means 700 is pretty
cheap to compare it to an extra cash but
it's super expensive and then you get
into the incentive so I can write
modular contracts instead of fabula a
huge we're all artists just so because
there were just a small war then the
repression of all would affect that so
you should write for one tool a contract
which are easier to understand lengths
probably safer in general but if you're
very extremely months and guests they
would just like writing which in huge
contract and just intro calls and
functions and Anna just conjoined
between them but then say there's
incentive to write more contracts
against similar contract but that's
inherent that means jump is inherently
cheaper for the event
correct right over those will be you
know you take care all the sorts of
variables and of veracity call is like
the other email takes care although yes
personally I'm just from the perspective
of the incentive for coders to write my
comments that's the perspective can be
backtrack a tiny bit you went here at
the beginning and I know that some
people
questions of the previous cover death
but we started off with one single
question in position quite a bit the
single question was why is the code says
mechanic or TM to be extended and it is
a lot of different topics we can discuss
in with it whatever you think one we
suggested that it makes sense to break
up contracts to make them more matter
but that has the issue of of the cost of
fall and you know these overheads and we
also explained that the code size limit
is there because of an issue analysis
cost and it's it's a u.s. record and I
know there was a question probably there
which we never answered
can we moved to the analysis earlier a
deployment and I think it's certainly
possible
to type in that case the deployer is
already paying yes proportional to
inside
paid for at least there's no description
seeing because there
invisible change
the contract actually BPM
implementations to be able to serialize
that and they also said that efficiently
loaded up again execution
if even if they do that we would
incentivize people to create bigger
contracts device company to make them
practical and still but let's assume we
would we would make this easier and we
would mr. Coates estimate that we
wouldn't do anything on the call cost
then then we would be just expanding
this piece to make more monolithic
contracts and the the alternative to
that is maybe consider making multiple
contracts more attractive and that's
what we have been discussing
but scientists soon
let me put it in fact we find some
material and we're distant projects
every time you recall it
would be possible to have in my contract
the ability to indicate that a club
could be at one so I can still write a
modular but I'm not paying the price of
a bull call because of load times
there's some hints there saying you know
this is gonna be probably eventually
been a lot of sectoral month exactly
like I want to write a module early but
I don't want to pay this cost so in -
cause it seems more like a optimization
the the difference would be events the
summer night there's no in my contract
okay I'm not in line but the code is not
in line in the contract it's an
indication to the end time so I don't
pay the cost of this bloated contract
but then the others has to be studied
for it yes it was but they do make
medium beta cos it's a widely neglected
I'm paying some overhead costs to
indicate in line but I'm not paying
I trust everything to the college said
it's a one-time I think
this may change if I can get not too
surprising I'm curious you should times
there about what the two seconds for a
block full of these we
in this case and I explained then we
shouldn't really be written about verse
1 because they could just write the
other thing which would be worse for us
I actually already have one so we should
be getting pretty much but that we
wouldn't be making things worse once we
get rid of those so they will go back to
that one so I'm asking how far away this
is from a reasonable position well I
mean I think we can go in that general
direction
but we kept like pretend that the call
is equivalent to a jump because it is
very middle but I don't think it's ever
I don't think a cool to Sophos what's a
matter
so this is is this suggesting that it
would be resisted using muscle 14 yeah
yeah so yeah
[Music]
but anyway this is only for call to self
which was motivated by Viper and Viper
initially for every single functional
defining writer it would do an external
call so that to make those functions
fully pure and this has changed I
believe last year in the classroom this
year and the writer is also using jumps
for internal calls because obviously we
want people to use the language so the
motivation of this proposal was to
reduce the call to self so that Viper
could could keep using this safer method
fewer functions and also suddenly they
could start using them exactly I mean
I'm not a big fan of that because it
requires you to serialize your whole
documents retirement in AC realize that
we say even if for self switching
problems
[Music]
especially say this conflict buddy I
mean you would have to navigate the home
63-64 throws which would cause issues so
every time you make a call you can only
send along maximal sixty three sixty
fourths of the gas that you have which
makes it practically impossible to
breathe or recursion record up something
like yeah and that so the conflict which
is in the contract world where
everything is based on causes little
jumps that can be problematic on the
belt of series ation so we do have like
the EBI including across different
contracts but if you're calling yourself
you may not not be to use it you can use
your own wizard main match to man but
you do still need things much like if
you've got a data structure that
yeah
[Music]
parents okay said that that's just what
was in the under call called yourself a
new free starting to stand up good for
that then we really made it a very
specific case but earlier on we also
said that this between more generalized
outside of all to sell and to disk and
calls to contracts which were already
called in
execution and that's that's the one
which would be useful if you want to
have more model contracts to your
libraries
[Music]
so you guys giving any issues
considering this more generative case is
questioning you need to do a bit of
analysis on how much can usually be
enough attention to load into hurry like
tech square shows the number of was your
banking everybody contract seventy times
because BVM intention has to be
I occasionally if we featured a
technologist over education
choose a recipe it seems like if that's
a nice meal
so an interesting case there is you have
given contract to use a bunch of
librarians to keep pulling them you
catch the top them and I applied to a
brand new contract and then you want
also catch stuff which is happening
there
I knew I mean should that be the case or
shouldn't you be able to reuse that
system I mean I really like the idea but
I'm really worried that it's gonna pull
it to the same problem system s
customers that gas means no nominee
repeat old specifically that the
realization history imprints the issue
but apart from do me in transient was
just quite complex and there were so
many versions of that basket and it's
forever and even in the the last heart
fork on coming up to this and will
guess we drink it seems to be hard to to
get people to write down a key of
specification and beer tyskie the story
and I mean I wrote the very first
petition against metering and with
respect I wish at least focused on
trying to get me think it's to exactly
reflect what the airdrome culture and
morale just Simone
simple protection catches some
inefficiencies rather than a more
complex one who tries to reflect a mover
so maybe that's the approach we take on
I'm not actually up to date on the
latest variant of the proposals I think
they leave this one has some an extra an
extra rule just directly
because so think there was like an
article or a paper some time ago is
showing that like we were presented with
like it was really a high percentage of
contracts that are actually the same
workplace and I guess most difficult
safe math and similar contracts like
what so this whole thing that we're
talking about the repricing alcohol
would be a developer's not really too
many these are for what what would be
the difference for declined
okay one case right now have all this
contracts being the same of course I
don't assume that a client stores all of
them separately but then if you have
people start writing more modular
contracts and just delegating poles then
you're going to have a fear of them
deployed to what different
or would would have been basically the
same I'll say it's already already
hashed by 30 stores Becky Becky stole it
it's definitely raised to little such as
the other day the most popular contract
or theory of one of the most
so the clients currently store the
conference on at once but that's not
something we should and trying or soon
because there are there are
it might change over time and that
verdict no I was thinking primarily
because if they are store if they're um
right now that they duplicated
and if they're on the duplicated that
makes it possible to have another
representation which is more amenable to
things like lip-synching
[Music]
it's actually impossible to delete
things from which
how does creative
billions County
most party
I mean I invited contract storage
solution building a store stewardship
adjustment to store frequently changed
author at the end but if people start
doing that we are gonna run to issues we
need to start college committee contract
so so well I mean the garbage collecting
the contracts there is with the the
repricing coming up for esto there's
this other discovery that it is cheaper
if you have a lot of linear data it is
cheaper to store this in context and use
Xcode copy more even to polish and
hostage return some of the time of my
code yeah it's in the case when it's
just pure data and you X goes up here
then a difference config
[Music]
my test ugh but I don't think it's a
neat bad I think it's just it reveals
area we know these polytrauma minds this
previously hasn't been enough initiative
just be entitled but I think that the
costs of contract storage roughly
relates to the actual costs of
individual clients it's cheap Livaudais
reasons
we store we've got was mrs. Patricia
training but this this also opens up the
question why is the story to tell you
about the key that is storage venue
limited that's where the two bytes
because if you move if you could have
more in their names of interest and i
storage should absolutely get me a page
table time it's it up with large pages
so it cost a lot but perspective page
and variable quantities
that's how just a story a lot of the
machines
okay that's when there's been a copy
time waiting for each to return half the
time receiving the data and maybe much
besides straight dick you know I even
either probably do it without changing
table covers you just make it store a
lot more of a chance but we've got
thousands hundreds of thousands of
contracts deployed that rely on the
ultimate live use contract storage of
the massive hash table over 19 if victim
plea is instead of treating contract
storage something 286 that played 2
bytes of data to buy that you would
traces the series of pages and so when
you do a you basically treat the
last few bits of the position of the
page of first but as which patients and
then you you know the first time you
defeat genuine page you charge their own
gas for that and
like maybe two or three five times well
apparently slope costs but then the
several times with a page sorry of
memory you charge only
comparable to get luggage costs total
load of cows purchase in the store back
potentially and city of codes would be
the sign that still justice lightly a
store that's just treating that
semantically that's treating the belly
differently suits their lives forty two
quite so that's kinda still we really do
contain lots of they're only under
twenty eight nightly just keep infinity
let you hospital and that's longest you
you go within the same page only charged
much of it at their scale but that would
radically change health and we just
needed to store data instead of using
the entire storage by cash table
everything to start using things like
red black trees and so on
it all just all stuff from contiguous
range ISM a similar idea was was
explored too soon I guess we could
extend by discussed it hmm similar but
not the same and instead of using s load
two together pages it would be memory
mapping the entire storage some are pink
tonight
but there's one trade up here it pushes
hmm
it pushes the other curve to do hash
tables to the language well so
differently shouldn't be hash tables
because hash table say their motorized
on one and every time you need to expand
the edge table user 208 word which means
that you know every 10,000 or agree you
know two thousand transactions and it
refers what needs to use so they're
gonna do this fixed along in time like a
red black tree and it doesn t need to do
that in part
[Music]
from developer experience point of view
a lot of contracts really rely on a
mapping yes
that's like the core data structure we
use I think it's still headset it's just
what the language was different seasons
yeah I don't think it's an issue that
the language will have to know
everything will be just an initial
investment all these languages would
have to do quite something
and then perhaps somebody magical but
but even then she mentioned either it
will be in the bytecode invisible
deployed by two or you would have to
generalize it out into some kind of
library or by the end of it the same
same issues as we discussed before so it
seems to be all of these you want to
change a tiny thing and you you have
suddenly a bunch of every primitive
well let's just say that I mean all sort
of being a page table that's the reason
the punch provision we get under the
eyes in the beginning impact of
expandability we could write much more
natural violence if we could everybody
into the stack of the other and so on
just that this was marriage bubble is
here now because Bethel was discussing
it with 10 weeks ago venules Lee why my
is advantageous and just wondering if
this was discussed before to give some
background to you guys this this was a
discussion on the solidity def channel
which is open to anyone to join its most
people to compiler but this has some of
these kind of interesting questions and
it's originated from memory management
anybody's finished the compiler I mean
in the context but it's it's prism I can
color and you can only expand the memory
you cannot do anything else and in any
given function they want to just use
temporary memory and the the issue was
that we wanted to maybe we use memory
usage because memory is expensive and
you want to await their temporary memory
but it's kind of a challenge if you want
to be sitting in a generic way because
you leaves so you know if you're
starting memory or to use to certain
extent you get me to follow you through
you want to interpret memory but at some
point you may also want to store data
which wouldn't be temporary and it
becomes a challenge but if you have page
tables then that you can
it goes to me for some reason I knew
this very moment that we could actually
change that without big impact on
existing contracts because if we using
page tables and we have the same guest
cost of letters will announce memory you
use it throughout look the first invites
the existing contracts are continue to
operate the way they are but new
contracts that take advantage of effect
it suddenly think of right to take off
something
Steve proposal Daniel came up with a
special so we took the memory page the
most that you know the proposal was to
maybe use some hybrids of the the offset
the page table so what's your opinion
don't know about the high bid well you
don't I think like do we like but a lot
of nice features to have but I am sure
it's practical to use so like
do it in the way it up between or affect
existing contracts the hybrids are kind
of I don't like using habits within the
average 56 values when you implement
stuff you actually can just trim it to
like 32 bits of memory access and then I
have to actually consider the upper of
your fixer-upper like part of the value
maybe it's also big deal with I usually
do when there is no proposal I try to
make a prototype implementation and then
I can actually comment how so maybe
there's a way to kind of come up but I
don't like my first choice would be to
use the even if you have some like bit
mesquite and like differentiate like
addresses
[Music]
first one that was
so one of the questions we have here is
which still relates to the earlier
discussion on stateless contracts
why are zero bytes in the transaction if
cheaper than one Z of X there are
already present no maybe they were
thumbs sixteen from sixty but only yeah
so so okay so context around this and
it's in a transaction it has
historically been the case that the data
that goes into transaction I think that
if it's the bike is zero it was before
and if it's nonzero it was 68 gasps now
for calls that happen within within yeah
with it from a contract to another
contract there is no such distinction
what you pay for is memory expansion if
the memory expansion address sorry I
mean you can send a long megabyte of
data but not actually cost anything in
the gasps if you have already expanded
the number to that megabyte yeah so with
this double we're lowering with this
post of 68 which those are some of the
outermost
it's actually lowering it to 16 and the
initial reasoning to have a different
between otherwise there would have to be
a more intricate scheme to figure out
the time also when you have added data
suppose
[Music]
all right we have another question
stimulating talk about pricing and we
kind of explored and nothing somebody
wanted to ask that question but should
be should occur pricing be updated every
hard work using some benchmarks so
should we always be priced things to do
what they are at that we do seem to have
like a solid benchmarks it always gone
there so like always adding things to it
as well would that mean we will needs
fixed set of benchmarks first which case
so what I think still like we have to
split like state axes of curves and
computation of curves I think that they
should be addressed differently actually
has something like remind some idea how
to make maybe try to evaluate a
computation of course a more systematic
way to actually have some kind of
a bench - to remind these will tell
something like a script to reproduce
Jenkins yeah I mean that's what the hard
part right our part is designing yeah
benchmark analysis like the one Martin
did or against among to determine that
estimate was commander price that the
one that these guys did the paper they
came on 72 second walks okay so you know
once we have those then you know we can
start repeating and systematically
running these benchmarks but haven't
really had these you know analyses until
quite recently
yeah my ideal situation would be like
with help us like some planning to say
algorithm or program deflection you can
rather than in outputs numbers and then
we can discuss about their the algorithm
and the program not negative numbers
themselves so like maybe done we need to
change the algorithm and so we mostly
talk about the script of that produced
the numbers
that would be I think they do the best
we can have but they should stop
whenever it's doable I think what is I
think that technically it would be ideal
to do repricing set self as we can but
then there is like social aspect that we
actually do screw up for people when we
do it needs to be done a little bit oh
oh yeah I didn't think actually like we
should actually use that to advise and
hard work but these like check for yeah
the question yeah yeah I've also missed
something like unless we need it I think
it's not worth to do and for
computational on one side coming up
distant wall probably mostly triggered
by usually an appeal realizing as though
people were concerned that it's gonna
it's gonna break the contract or its
expensive Widow Sudheer seems to be a
really big big clash between those
people who ride the clients and try to
ensure that passes are so much
reflective to what is happening compared
to the people who use I mean you can't
really hope in to like yeah I want to
use some more expensive going to deploy
after the new rules I think you can
blackberries plus no I mean you're
responsible for whatever
but they'd like to change something that
affects ploy lately it doesn't it come
down to on for the new version is
calling a contract that you know support
with the over it so it's running as he
answered yeah and it's difficult like if
you have it if you deploy an old-style
deployer contract deploy any contract is
throughout it and then in the new world
that they deployed with me that's a good
way yeah for the lower gas price all the
really cheap competition I mean you
assume that say the new version which
you can often would have things which
are cheaper and things which are more
expensive and they will often be
discount somewhere cheap right but the
things that are cheaper and accomplish
the same thing as the
they're more expensive in the all
version like you know instead of reading
data for peso of you created from
default data you know it's not open but
it's not a cure but it doubled up guys
can you mark yeah
so there were a couple of different
possibilities for business and one of
them would say that
you can select the version you're
deploying and everyone was saying that
you could only deploy the new word check
you can deploy the other complications
for when you within the contract and
already deployed contract if you want to
create another contract can you define
the words from there
what should it take diversion of all the
contract you have yeah then what happens
when you call content of different
versions what can it will sell out there
yeah well I think that was figure out
decided not to actually and then I think
man think it was fully resolved what was
probably sold is the current set of
contracts deployed where should one
we're doing two and if you like boys I
think that's only
yes but how you deal with versioning you
know what I mean what scares me about
version is more like I mean this one
kind of yeah what scares me as if
they're you know would be a new version
at every hard work and then also we have
five inversions that run concurrently
that's just way too complex so really
the one had one new version and that's
one where we continually update you know
how guests cost of anybody assumes it's
constant well you know that inversion
it'll break you know get rid of the 20
[Music]
because you helped the enactments to the
new new rules
yeah I mean this recipe is ideal with me
you know
there was this other aspect to it that
there might be two different kinds of
gas changes there one set of gas changes
is where where you want to make some
features better and compensate against
some other things but the other set of
changes is fixing something against in
the u.s. vectors so something depressing
issue which you cannot just do in
version two on the new version of one's
own because you can already exploit the
conversion one and people anticipate as
possible that there are various outputs
whose gas prices could change by like
order of magnitudes in the future
because in my opinion in regards to this
proposal where a smart contract
developer could opt in to a gas system
where gas prices do change I think it
would be like a code smell if the code
you write today is already close to you
know I hitting the block of gas limit
and sorry
and and so you know your your
transactions should be much smaller than
that in general and so the changes are
marginal I think that we find for most
developers but I mean is it possible
that certain op codes could have their
gas prices changed by worse magnitude
rather up or down I think it's unlike it
happened actually I think esto was a 15
and raised to a month crisis other in
order of magnitude cortisone and as I
was going to go up to big Rome - uh yeah
but Estelle that's an order of magnitude
from the first one today and if you I
mean softballs DBM one benchmarks this
morning then you would see there's room
for like order of magnitude price
changes yeah I just did some research
recently just looking execution times
from zero negative instructions and you
can say like well the size dependent
instructions and they're being crazy so
I expect that that's the price over time
will erase the community
yeah me too but we could go down I mean
it's like morning because because goes
so I choose to stay for a minute feels
like because if you had some assumptions
like everything else that's cheaper than
like the single occupant stays it might
be with my adventure language dictates
everything before which take us between
it is
yeah oh yeah and that transfer to this
type of issue freakin parts have been
that cheaper you know I mostly cook like
talking about like not state taxes if
you want to lower the confrontation of
goods so like this is two options like
rice everything cup because we don't
have like actually lot of space here
because this is my tenth of them like I
think there will be a lot of issues to
the existing contract to tell that
because all of these like cars passing
two different cones and so on so
actually you can like lower them this
makes the subject of this fraction
[Music]
there was a yeah so you guys I have a
question related about so um where are
you talks about the storage layout
because what I'm trying to do is how can
I get X product of a culture like
inspect this product very easily I think
right now you need to go to the initial
deployment look for all the transactions
get all the traces of the contract and
then you can do any computation or is
there any war there is actually I think
it's not working Phuket that there have
been proposals at least on solidity that
the compiler would ever demand off the
storage and you would use that there has
been a proposal
nothing has been implemented yet but
this might happen itself
they're often Depot methods satellite
dump the storage of a contract address I
don't know America there's RPC yes there
is so and it's appropriate only on the
gathered clients I'm not sure
rain storage range at direct and storage
range allows you to in
the storage of a contract I don't I
suspect that you won't get it from my
Fuhrer but no no - probably not I don't
think they expose me you can't you can
have their try sentiment
no it's not racist it's just the same
courage slug but it can't buy a rule
which you seem to say now excuse me
yeah it was it was implement living gift
for the use of a dress and I mean you
want to know yeah I want to know that
they only like the solidity
to visualize it so it has to be I need
the input is the contact address and I
want to get what do you want to get into
trailers that are there at the moment
yes
what do you see in the contract storage
ranges yes they went like that balance
mapping that we need to know so they
location
the map ends up passing - yeah you need
to know it both feeling aesthetics
partially up yeah like what you want to
remix has the end of that you want to
see what exactly this what's these
nothing that's what stores rings but
your conflict versus conservative
original key right because your hash the
key overlapping so if you use the
there's a pre-image tone as well so it
saves on reimage keys and I'm
remembering all this existed that was
something was bugging me and I mean now
it's a feature and and remixed I help
them with the picture with the historic
mapping so remix has this lake state yet
to show the you know the state members
of mess Distortion keys to the solidity
variable names
yeah
[Music]
editor question I'm using an di
interview - for my contract and it's
still experimental right what so the
main reason why they been good army - I
hadn't been properly really easy as
non-experimental is that we're still
fuzzing it a lot and the fuzzer wasn't
prepared and fully to fuzz all the
complicated cases for the event could it
be - because there's a lot of erosion
areas so that's the main reason
basically and but for the next breaking
over these years to zero it's still very
experimental but at least I'm gonna need
you to warning anymore but it shouldn't
because and maybe it's something
experimental and there was just talk
about that fuzzing effort right yeah
[Music]
it's a good idea to by default have
contracts
so like from my perspective like I
truly horribly hate this one because all
the calls because whenever I implemented
khasim ABM I do it wrong and I did it
like like 10 times already and every
time I do it it because like all the
precise order it doesn't specify
enjoying page it when stiffened is not
it like when you actually check the gas
and like if it's there are a lot of
conditions in the call yeah and I think
there are cases where you could do them
different order in the test suite was
the same successfully so I think it's
because but anyway some context around
this so there's one group of people will
think that there's problems that I
cannot send money to a contract and
prevent it from executing code I cannot
sell it zero gasp and some cash and then
there is not a group of people think
that any time you receive ether it's
Rita awesome that you can execute code
and it should always be given full gas
to do whatever it wants right now I
think even for 300 transfers use less
time a middle ground where people say
there should be it should be allowed
execute code but it should not be able
to do state multiplications and that's
kind of where this 2300 comes from the
current gas data because that was
sufficient to a log operation or two
maybe even a stove but not actually to
the state multiplication and right now
is 2,300 thing is kind of ugly
catch-22 allow a bit of execution no too
much execution not allow state militia
so there are different ways that this
discussion goes like one one group maybe
wants to do have a special call on some
money and do nothing
transferring the group you might not
have ecstatic pokeman value and logs so
the receiver can do that can consume
infinite number into the gas but he can
really only do like aromatics log
operations I think that where the people
are different we want this discuss which
one issues good what is the reason
people want to have good executed when
they receive and there's some reasons
people want them today in the first one
I believe they want if they were
guaranteed to be yeah to have the code
executed and the one of the main reasons
people want that they want to be checked
and coming transfers if the contract is
not supposed to score money because if
you don't do that and it stores money
and you don't have a way to between it
then it just lost the second thing
people want to do is have a log and be
able to catch but still you have the
option of doing it through this method
then you know it's clearly now
absolutely calling contacts to choose
whether the country calling in
how the other lien takes you to code
enough and then it seems like this yes
Stefan doesn't still serve a purpose
because it doesn't enforce the
invariants that the convict you're
calling into can always execute code is
this case read count
yeah no what is that devious consistent
which was a safety feature and probably
analyze you know the chain has treated
see how many times that's kept people
from burning into a condo attempting to
set it to contract that what those to
receive it I wonder you know how many to
people how much easier it saved throw it
with quite a little argue that this is
like that
[Music]
yeah my turn the past in regards to that
some people proposed I don't think this
would happen at this point I proposed
that ether native ether
as in the ERC 21 that we wouldn't have
this like penquin asset it's a special
case from like a team and developers
perspective is there any reason that
either
that's have to be was nominated thing or
is it theoretically possible that it
could be an ER c 20 contract crazy
[Music]
I think yeah wrapped wrapped Eva
I don't think there's a way around to
first not look but for what the original
vision was for reading let's say they're
like two endpoints to different posts to
the discussion one instead of the ERC
twenty stuff so we've done what people
do is as rep Teeter and you can actually
write to a contract in the way you only
use the years of 20 interface reject all
the transfers and then it's it's a UX
issue that you require users to use
crafty turkey on top of that it also has
an extra cost and whether you want to
pay that costed so for that there were
there was one proposal that maybe the
red eater should be kind of versus
standard system contract with people and
it would be practically feet to the
other death and users wouldn't need to
mentally transfer the interest in to
disrupt your contract you could just
through this extra contract you could
handle your ETA as if it were your C 20
but it wouldn't affect everything else
is the beginning of your question why is
eater dis dis native thing cannot you
just make it more flexible and these
other things there was a proposal long
way to go for it can't abstraction to it
was just a first step in the process to
getting rid of each
native thing with in theory you could
use other things to pay for execution
but that is a really long process and it
stopped at the first step it never got
so the building
it's basically the base layer it's
actually what we you exist you like if
you don't want you to use it to use rap
to end whatever you can't fold the tools
or Robert what are you interactions
Mississippi you can get quite fall the
divers
Martin what do you think about this idea
of having test the special contract
which gives in the air see too many but
basically you wouldn't need to transfer
your money into it is it good
[Music]
something that I need to think about
some more
[Music]
like something why is it that like
inside the EPI
look back more than 256 blockages
because the light clients wouldn't be
able to dougie I mean it's it's a pretty
to round them number though yes I don't
know pretty big but it had to use a
light clients as far as I know download
all the others that doesn't verify
everyone maybe like every just random
number just a minute it's higher
yes it was it's very motivated yeah so
your professional wine up up codes and
I think even the the initial set of
freaking christ-like
the sheriff f6 rapidly along with
catching all those words and then those
accept a check we went out to this new
concept of recompenses kitchen and he
was left to kiss it would be more like
it except obviously the address
basically online so what would be the
benefit having them as well
so to me like people exhausting the
space my big deal it's mine ya know it's
like stuff feels like problems yeah I
don't know from this point I wanna
contain much concern but I I so 5° like
that's not the issue at all but I think
I was corrected in fact it is so he
still has next but well there's no white
water on it
[Music]
like how do we know about the space
there's this interesting VIP or what
Gavin - instead of having like oh yeah
exactly instead of having six you know
sixteen different types of calls you
have one and then
it's a parameter or what kind of quality
one going to do seven reduce the space
yeah so while you also get to levy on
one there was a question whether there
any other optimization student apart
from what to expend in the morning yeah
number of damn but they're kind of like
like the growth engine named off so this
like I don't know if I can even start
but yet reallocate stock
yeah yeah yeah we can simplify that
because of the block of instructions
yeah but you can also calculate the
desire you are yeah and there were the
morons in the work so I thought it's the
most important model but actually it's
not
I mean so I think good news like the
integer implementation I think we
actually change the integer
implementation we hire from gusto and
index and it's like three times
so things change
Mark Martin brain insecurely idea yes
this is definitely faster than the bigot
library but in practice it doesn't make
a difference
no because when even if you make 10
times faster if they are thematic the
contribution of their automatic offs to
the actual execution time is only this
portion it doesn't matter this so you
were benchmarking it against like the
full Saint yeah right that's it
but if you run a numerical benchmark
just a traditional opcodes you would see
a big speed up yes so if you would have
to deploy those changes and habit
actively we could reprise those as we
discuss it
of those thing could be get rid of some
difficult levels of things well
ideally you want people to be able to
like write to me printf function to rely
on the the client is to tonight oh yeah
there gets the very impossible in terms
of displacements accompany against what
treatment miles velocity excess are over
it's a fail on for so many staff yes
it's unfortunate II like that but then
[Music]
one of the problem speaking Francis
people just want to get these features
and not enough to to wait so they cannot
do many of these things on the again
today so that's banana have to ask for
somebody to compose it and be lucky to
be accepted and then going too hard for
get some points and give and be on the
sugar veteran goes into the heart from
two weeks before the hard work Evans
yeah okay so you made some benchmarks
and I think you made some benchmarks for
some existing people who has maybe some
proposed ones but are there any one
switch with like EVM one or anyone's
which could be just done home with India
moment without having them specialize
whether in such cases we have only to me
it was well I mean the thing is we have
to be careful about power metering you
know those new codes and so we don't
have the studies done to show that we
can safely meter them and get the full
speed up so that's it's going to be done
if we're optimistic yeah I think it's
that's when show would be sufficient to
replace the Green Mile but cricket they
asked was did you in a way did you check
where the gas went in
I guess when to computational answer
what when things to memory sheltering of
theta and
[Music]
No so we haven't done any gas analysis
we just did the you know runtime fetch
my runtime on EVM one that stable okay
well this is way less than the Hartnell
socket so then it should cost less than
you know but that assumes weekend you
know optimistically price up codes and
that there are worst case runtimes and
EVM once nowhere where we have to be
more conservative with our embraced them
[Music]
there is the way to actually start you
can also see the some calls I mean this
minimax again except rates some calls
and our our process on in this course
task image everything other tasks travel
costs and this think LLVM and
documentation and attached documentation
that describes many of these tricks you
can disable to go through for
frequencies so twice on the like base
map which formal app don't make it like
four times slower like yeah like we
mostly interested in in my difference is
writing and many other things but I also
got checked there the variation of
extender
[Music]
but I mean that's the easy case the hurt
is when you start dealing with the i/o
operations
yeah that's I'm not striking at all
thank you for discussion
let's finish this
[Applause]