►
From YouTube: Ethereum Core Devs Meeting #39 [06/01/18]
Description
A
B
B
B
Yeah
so
yeah
I,
I,
weighed
in
on
this
in
getter
and
I,
don't
think
it's
a
ton
of
work
and
I.
Don't
think
the
problem
isn't
necessarily
the
communication
problems
between
implementers.
It's
more.
We
need
to
agree
on
like
a
driver
for
this
project.
So
if
you
told
me
right
now,
hey
Frederick,
you're
responsible
for
this
I
take
it
on
I'll,
try
to
come
up
with
a
proposal
for
a
schema
and
it
takes
it.
It'd
take
me
a
couple
of
days
or
a
week
or
something
but
I
think
we
need.
C
That
driver
otherwise
it's
it's
just
not
gonna
happen
because,
like
there's
a
lot
of
differences
between
the
different
formats
and
you
kind
of
need
to
actually
dig
in
and
understand
all
those
differences.
So
basically
we
need
to
dedicate
a
person
to
work
just
on
that
issue
and
I.
Don't
think
it
would
be
a
ton
of
work
like
I'm,
imagining
like
a
week
of
work
or
something
yeah
I.
C
Also
waiting
on
that
and
I
would
I
totally
agree
that
we
need
a
schema,
because
otherwise
we
will
again
wind
off
in
the
case
where
we
have
some
kind
of
non-formal
description
and
differed
a
you
can
entertain,
planted
in
different
waste
and
then
the
consequence
being
that's
yeah
five
months
down
the
road.
There
is
mismatch.
D
E
E
D
Fourth,
when
so,
basically
when
you
say
that
the
design
team
for
a
Kulak
is
this
number
after
that
number,
all
of
their
rules
agreed
with
Byzantine
applied
things
like
code
files
are
also
apply.
It
visit
visit
fork.
Well,
yes,
okay,
well,
I'll
just
go
with.
What's
there
now
and
make
a
schema
like
that,
and
then
it
can
be
modified
as
we
go,
but
if
we
just
turn
on,
if
we
just
start
enforcing
it,.
B
E
D
B
E
B
B
B
Bet
a
good
idea
that
we
will
prefer
not
to
implement
that
for
gas,
because
I
think
the
compiler
can
optimize
better
I
guess
I
would
I
wouldn't
argue
for
that.
But
I
would
also
argue
for
maybe
a
slightly
different
approach
to
testing,
which
would
be
every
client
fills
the
tests,
and
then
you
compare
the
resulting
JSON.
So
in
that
case
you
wouldn't
even
have
the
gas
price
in
because
right
now
what
we.
D
Do
is
we
have
CVP
etherium,
fill
the
tests
and
then
the
clock,
the
other
clients
run
the
tests
instead
and
there's
no
reason
we
can't
just
have
you
know
every
client
fill
the
tests
instead
and
other
than
you
know.
All
the
engineering
workers
can
take
to
make
that
happen.
Every
client
fill
the
tests
in
the
report.
The
resulting.
E
Actually,
any
any
client
could
just
run
it
it's
more
safe,
because
when
you
regenerate
the
tests,
you
might
change
something
you
even
don't
notice,
but
once
you
feel
the
tests,
you
have
like
a
set
of
instruction
and
the
result
and
every
client
could
tech
record
for
every
client
what
filled
and
that's
what
would
happen
for
CPP
aetherium.
It's
just
that.
Instead
of
storing
things
like
the
final
gas
and
the
final
balances
of
accounts.
E
B
Final
gas
and
stuff
like
that,
you
would
I
just
look
at
the
filled
version
of
the
test
and
then
you'd
be
well
I.
Don't
know,
I
also
like
that.
It
would
give
you
more
fine-grained
assertions
because
you
might
have
is
right
now.
It
seems
that
a
lot
of
it
is
done.
Based
on
you,
know,
hashing
the
resulting
state
and
then
preparing
hashes
and
not
really
a
block
contest
has
a
set.
B
E
Is
a
main
type
of
test
for
the
clients,
so
basically
it
repeats
the
procedure
of
importing
blocks
and
just
comparing
the
post
state
after
importing
all
of
the
blocks,
it's
not
about
hashes
and
about
feeling
yeah.
It
will
be
a
good
if
other
clients
could
do
the
test
filling
process,
but
as
a
client,
if
they
don't
have
to
create
their
own
test
tool,
which
reads
the
test
filler
and
the
create
final
test.
All
the
interest
from
from.
B
Having
a
tool
that
reads
the
filled
tests
honestly,
like
you,
read
the
JSON,
you
you
know
figure
out
which
parts
of
the
Free
State
you
run
those
to
set
up
your
client,
and
then
you
run
the
code
and
just
drop
state
apart
and
just
generate
the
post.
Eight,
it's
called
easier
about.
Genesis
format
is
because
I
wanted
other
clients
to
be
able
to
generate
the
test
of
what
to
do
that.
I
have
to
have
those
earpiece
emitters
which
I
transfer
the
instruction
how's.
B
E
E
D
E
E
E
For
it
and
then
we'll
I
guess
we'll
see
where
it
goes
from
there.
D
E
B
B
B
F
B
F
C
Memory
crooning,
we
do
on
the
state
and
it's
implemented
a
streaming
memory
crooner,
which
performs
a
lot
better.
That
is
really
tangential
to
some
other
work
is
doing,
which
I
mentioned
two
weeks
ago
about
a
new
model
for
fast
sync,
a
new
protocol
which
he
is
experimenting
with
them.
We
have
high
hopes
for
that
and.
D
Okay,
we'll
move
on
with
fixing
some
stuff
so
we're
about
to
release
in
a
week
or
so.
This
release
is
about
performance.
You
have
to
and
drugs
to
be
now
it
reads
faster
from
five
to
ten
times
and
another
thing
is
stability
because
we
had
to
protect
from
eclipse
attacks
because
they
are
happening
on
the
main
Network
and.
G
H
It's
like
you
know:
Martin
we
had,
we
hadn't
been
protected
from
many
connections
with
the
same
IP
address,
and
there
are
some
addresses
that
it's
like
it's
like
you
know.
A
lot
of
such
addresses,
like
maybe
about
10
or
20,
maybe
50
addresses
I,
have
noticed
that
does
a
lot
of
connections
from
different
ports
and
they
just
do
no
handshake.
So
this
is
just
like
looks
like
an
eclipse
attack
the
primitive
Eclipse
attack
we
hadn't
been
protected
from
so
now.
We
are
and
very
interesting
you're.
H
H
We
didn't
count
how
many
bites
in
LP
before
allocating
a
memory
like
that
could
be
in
a
lens
of
array
with
about
gigabytes
like
let's
say
a
10
G
give
at.
So
we
try
to
allocate
such
big
array
before
understanding
that
our
LP
is
much
shorter.
So
this
was
another
kind
of
attack
like
yeah,
but
we
had
to
protect.
H
H
A
Experiencing
both
the
pleasures
in
the
pain
of
working
with
a
with
a
less
known
language,
pain
being
obvious
feel
that
we
have
to
develop
a
lot
of
base
components
like
big
integer
support,
cryptography,
we're
working
on
networking,
making
sure
that
that's
solid,
all
those
things,
the
pleasure
being.
Obviously,
the
enthusiastic
support
we've
had
from
the
NIMH
community,
so
we
managed
to
produce
the
number
of
libraries
that
supplied
these
base
components.
I
I
Okay:
let's
go
to
research
updates,
I
think
I'm,
the
only
one
here
on
the
casper
side
of
things
as
the
clients
have
begun.
Implementing
AIP
we've
been
kind
of
iterating
and
worked
through
some
of
the
finer
details,
mainly
around
executing
transactions
in
parallel
and
kind
of
handling
the
transactive
o
transaction
cute.
I
A
A
Awesome
great,
thank
you
for
the
update.
Okay,
let's
do
ye
Hwa's
Mexican
friends
is
one
of
you
guys
want
to
give
an
update
from
the
it
wasn't
team.
A
A
Are
you
planning
on
starting
a
new
Testament
for
this
or
like
making
one
of
them?
He
wasn't?
No,
it
would
be
a
brand-new
test
net
and
and
it
would
have.
F
J
Mostly
run
by
I
go
eat
cereal,
and
that
would
mean
we
would
need
to
support.
He
wasn't
an
inchoate
areum
which
isn't
the
case
at
this
moment
yet,
and
so
this
new
test
net
would
be
run
with
CPP
theorem
and
hopefully
shortly
after
that
it
may
be
joined
by
the
assyrians.
It
was
an
implementation,
but
we
have
no
ETA
on
that.
Yet
cool
sounds
good.
C
J
J
C
A
I
J
J
Well,
I
guess
the
only
only
real
problem
right
now
would
be
this
TVM
tourism
tool
isn't
fully
finished
yet
so
you
cannot
just
I,
try
to
use
it
and
run
every
single
contract.
You
would
want
to
run.
It
can
run
a
subset
of
contracts
and
we
do
plan
to
finish
it
to
a
level
where
it
would
ran
some
common
patterns
of
contracts
and
but
definitely
it
would
be
missing
out
on
some
other
edge
cases.
J
I
I
G
K
K
K
J
K
J
J
K
K
F
K
F
They,
you
know,
and
any
other
number
of
plug
thanks
to
Mike
to
and
past
at
the
KC
er
I
put
a
link
into
it.
It
was
it
was
pretty
late.
F
G
K
L
L
But
we
didn't
know,
we
were
kind
of
hoping
optimistically
that
v8,
for
instance,
the
the
Watson
jet
engine
in
chrome
and
in
nodejs,
because
the
validation
pass
over
Watson
code
is
linear.
There
is,
we
were
smoking,
some
opium,
that
maybe
the
jet
age.
It
would
also
be
linear.
You
know,
have
a
linear
time
upper
bound.
So,
finally,
a
couple
weeks,
couple
weeks
ago,
again
so
a
couple
weeks
ago,
when
we
tried
to
ask
bury
it,
we
tried
to
reach
out
and
ask
various
jet
compiler
expert
experts
and
know
them
could
really
give
a.
L
L
They
there
are
20
kilobyte
pieces
of
web
assembly
code,
which
is
even
smaller
than
the
current
say.
I
mean
the
current
maximum
contract
size
you
can
deploy
on
the
main
net
for
EBM.
It's
like
32
kilobytes.
So
these
waz,
these
pieces
of
wasone
code
are
even
there's
even
smaller
than
that
and
took
about
two
seconds
to
instantiate
or
compile,
and
in
v8
and
they're
kind
of
funny
to
look
at
because
you
can.
You
can
see
the
the
like
the
highly
nested
loops
and
different
features
that
that
might
be
tripping
up.
L
L
Where
there's
a
directory
of
cached
Tod
exe
files,
so
every
contract,
when
it
gets
deployed,
the
waz
encode
gets
compiled
ahead
of
time
to
exe
file,
and
so
the
client,
instead
of
maintaining
a
state
tree
of
where
it
pulls
the
VM
bytecode,
interprets
it.
It
maintains
a
cache
directory
of
exe
files,
one
for
each
contract
that
it
executes
when
eaten
when
each
contract
is,
is
called,
and
it
sounded
really
difficult
to
me,
but
then
Paul
who's
also
on
the
call
is
Paul
there.
L
I
hope
you
can
hear
me
I
hope,
I'm
sitting
next
slain
I
hope
we
don't
have
neck.
Oh
yes,
yep
you're,
coming
in
clear
yeah
Paul
explained
the
I
was
able
to
explain
to
me
how
how
ahead
of
time
might
work
and
I
guess
I'll.
Just
let
him
take
over
now
just
to
introduce
myself
10
seconds
I'm
on
a
grant
for
the
darien
foundation
working
at
pi
web
assembly.
I
am
trained
in
mathematics
and
I'm.
Reading
the
lab
assembly
specification,
it's
reporting,
typos
and
so
I'm,
not
an
expert
on
Ange.
L
It's
in
there
how
things
are
implemented,
but
I
know
that
to
implement
a
web
assembly.
There
are
a
lot
of
things
you
have
to
do
in
there.
There
could
be
a
lot
of
things.
I
didn't
hear,
Greg,
clearly,
I
think
the
question
so
I
don't
know
how
to
answer
exactly
to
Greg's
question,
but
I
think
the
question
to
me
was
ahead
of
time.
Yes,
so
we
take
alluvium
the
compiler
and
we
compile
it
to
webassembly,
so
WebAssign
so
LLVM.
So
there's
sort
of
a
a
compiler
compiling
a
compiler
me
I'll
LVM
to
webassembly.
L
We
meter
that
and
then
we
use
that
metered
LLVM
tool
chain
to
compile
smart
contracts
to
x86,
64
and
arm
binaries,
and
perhaps
over
time
we'll
have
wool.
We
will
support
different
binaries.
So
that
was
the
big
idea
and
we'll
meter
this
compilation.
So
that's
that's
it
for
me.
I
hope
that
answers
yes
did
the
issue
is
the
yasm
setup,
so
you
you
can
traverse
it
in
linear
time,
which
means
it's
possible
to
run
through
most
of
your
optimizing
compiler
tricks
and
n
log
n
tight,
typical
compilers.
Don't
do
that
they.
N
A
web
page
goes
walky,
the
web
itself
does
fine
and
whoever
weds
whoever's
web
page
it
is
has
to
fix
it,
but
when
a
contract
goes
wonky,
it's
a
security
hole,
so
I
don't
see
any
real
answer,
except
that
somebody
has
to
write.
Bomb-Proof
has
some
compilers
that
we
can
run
ahead
of
time
now
in
the
c++
compiler,
it's
an
almost
trivial
change.
N
K
Their
public,
but
their
areum
address
I.
Just
don't
see
why
financing
that
effort
could
be
any
kind
of
problem.
I
respond,
I
know
at
least
about
a
year
ago.
I,
don't
know
if
it's
still
the
case,
but
Firefox
actually
does
have
a
one
pass.
A
single
linear
pass
compiler
to
binary
from
web
assembly
to
binary
and
in
the
background
it
has
the
eye
on
optimizing
compiler.
K
K
Said
that
there's
no
solutions,
these
are
two
possible
paths.
Exactly
I
can
also
chime
in
and
say
that
parody
is
working
and
has
a
great
interest
in
writing
one
of
these
compilers.
So
you
know
there
there's
also
that
possibility.
I'll
also
add
that
you're
great
you're
talking
about
compilers,
doing
optimization
work
and
there's
actually
really
good
reason
to
not
do
that
and
for
the
web.
We
can't
expect
that
people
writing
programs,
like
naturally
optimize
their
and
code
and
a
browser,
has
a
very
legit
reason
to
do
all
sorts
of
crazy
optimizations
on
the
wasn't
level.
K
I
think
we
can
push
that
to
the
users.
So,
if
you're
writing
a
smart
contract
and
like
if
I'm
writing
it
and
rust,
I'd
expect
LLVM
to
output
what
is
already
optimized
wasn't
code
and
the
compiler
from
while
isms
a
binary
doesn't
actually
have
to
do
any
optimization
when
you
have
a
smart
contract,
that's.
N
Responsible
for
hundreds
of
millions
or
billions
of
dollars,
and
it's
a
tiny
little
piece
of
code,
there
is
no
excuse
not
to
put
absolutely
huge
amounts
of
work
into
it
from
every
angle.
So
I
don't
see.
How
was
an
optimization
makes
that
more
secure,
though,
if
anything,
it
makes
it
less
secure
to
change
around
what
the
bytecode
is
exactly
so
you're
right,
right,
right,
incredibly
efficient
bytecode
and
look
for
something
like
an
old-fashioned
C
compiler
that
doesn't
almost
one-to-one
translation.
C
Well
then,
the
question
is:
why
are
there
vulnerabilities
and
the
standard
wasn't
jet
engines?
It
was
because
they're
they're
trying
to
do
a
bunch
of
magic,
optimization
stuff
to
make
really
low
performance.
Shitty
code
run
faster,
yeah,
you're,
you're,
talking
legacy
graphics
code
I
mean
what
would
be
ideal
from
an
ethereal
client
developer.
Perspective
would
be
if
these
off-the-shelf
engines
came
with
a
flag.
That
said,
do
school,
línea,
aérea
compilation
and
not
you
know,
fancy
stuff
that
that
opens
you
up
to
won't
get
bombs
as.
K
C
L
I
K
K
C
N
C
Lot
of
concerns
with
the
denial
of
service
attacks.
Once
when
you're
implementing
the
specification,
you
can
do
it
several
different
ways.
Parts
of
the
spec
are
left
to
the
implementation,
so
just
sort
of
this
compilation.
Time
is
one
thing,
but
there
there
are
a
list
of
other
things
that
we
should
sort.
M
C
L
Control
flow
is
implemented
how
to
escape
from
a
trap.
I
made
a
list
actually
of
different
things.
Different
concerns
that
I
have
that.
A
lot
of
implementations
deviate
from
the
spec
for
optimisation
reasons,
so
there
might
be
asynchronous
execution
that
would
be
sort
of
unusable
for
us
resource
exhaustion.
K
L
N
List
somewhere,
oh
my
github
username,
is
Keowee
and
it's
one
of
my
repository
as
well
awesome
security
concerns.
Maybe
Lane
will
post
it
with
the
notes,
Thanks
and
the
list
is
growing
by
the
way.
I
guess
the
the
question
for
me
isn't
how
to
make
the
most
bomb-proof
virtual.
N
Since
nobody's
answering
the
easiest
ways
to
use
some
off-the-shelf
software,
the
safest
way
is
maybe
to
inspect
a
single
pass
to
you
know,
compile
JIT
or
maybe
ahead
of
time
and
to
check
all
the
different
things
in
the
spec.
All
of
my
concerns
and
other
people's
concerns
to
make
sure
that
what
to
identify
the
attack
factors
to
tax
it
properly
with
gas,
so
us
I
think
us
what's
the
easiest,
the
easiest
is
just
use
off-the-shelf
that
might
have.
N
N
L
Is
there
a
running
list
of
VIPs
that
are
essentially
gonna?
Go
on,
there's
no
link
on
there
yeah
there
are
a
couple:
I
can
try
to
pull
these
out
of
the
agenda
from
a
couple
of
meetings.
You
go
sorry
if
we're
not
doing
that
ahead
of
time.
I
feel
like
block
hash.
Refactoring
is
one
of
them
and
maybe
a
couple
of
others.
Let
me
look
yeah,
so
shape-shifting
is
and
look
at.
N
What
else
is
there
so
recently,
there's
cropped
up
a
few
suggestions:
there's
a
skinny
create
two
by
vitalik,
which
is
really
nice
in
my
personal
opinion,
because
it
allows
you
to
do
counterfactual
contracts.
Basically,
you
know
where
a
contract
will
wind
up
based
on
an
init
code,
because
the
address
is
derived
from
the
end
code.
Then
there
is
a
three
that
nick
has
proposed
very
recently,
the
Neff
gas
mate
ring
yeah.
Well,
these
three.
We
haven't
really.
F
F
A
F
D
Well,
I
think
yeah
the
same
day
or
the
day
after
so
yeah
recently,
just
I,
don't
think
it
has
ever
been
discussed
after
actually
becoming
an
EP
right,
but
it
will
be
good,
so
I
don't
know.
Maybe
it's
not
possible
to
discuss
it
today,
but
it
would
good
if
the
people
Orion
is
called
look
into
it.
I
personally,
like
it
well
table
this
as
well
and
bring
it
up
again.
Maybe
when
metallic
or
someone
else
can
speak
to
that
particular
AIP.
F
D
To
this
or
speak
about
this
I'll,
just
briefly
summarize
here,
usually
chained,
rent
is
brought
up
in
the
context
of
the
main
net,
where
we
debate
whether
contracts
etc.
Cryptokey
should
be
allowed
to
pose
large
storage
overhead
on
full
nodes,
but
he's
making
the
point
here
that
that
this
is
an
issue
on
on
test
nets
on
rinkeby.
There
are
many
contracts
with
over
ten
megabytes
of
data,
at
least
one
instance
of
over
82.
F
Megabytes
of
compressed
storage,
it
poses
enormous
overheads
and
synchronization
limits.
The
usefulness
of
test
networks
for
the
entire
ecosystem
is
there.
Any
possible
solution,
may
be
a
limited
form
of
chain,
rent
or
other
limitations
on
contract
storage
that
might
help
keep
these
abuses
more
manageable.
Any
thoughts
and
the
storage
usage
for
run
contracts.
What
prevents
users
from
creating
multiple
contracts?
F
D
A
F
So
the
latest
model,
being
that
you
had
you,
set
some
gas
amount,
some
costs
per
time,
units
for
keeping
the
data
in
states,
and
then
every
user
who
makes
a
transaction
to
this
contract
would
pay
to
top
up
the
contracts
lifetime
to
five
years.
So
when
you
deploy
a
contract,
you
get
five
years
and
then
any
user
who
interacts
with
the
contract
pays
to
top
it
up
to
five
years
again.
F
So
if
a
contract
is
used
a
lot
and
you
would
just
pay
them
super
small
micro
fee
to
top
it
up
like
an
hour
or
a
day
or
something
if
a
contract
is
very
rarely
used,
then
it
costs
more
to
interact
with
it
and
after
if
no
one
uses
it
in
five
days
it
gets
removed
from
states.
And
then,
if
someone
wants
to
reinstate
it,
it
would
cost
that
five
year
fee
again
and
I
think
that's
a
reasonable
model
and
it's
pretty
low
overhead
on
the
user's.
F
B
D
D
I
mean
you
would
obviously
not
base
it
on
on
actual
time,
you'd
base
it
on
number
of
blocks,
so
I'm,
not
sure
yeah
I
mean
I,
haven't
looked
at
this
into
enough
detail
like
a
nun
implementation
level
to
say
how
easy
or
hard
this
is
or
what
it
introduces,
but
sure
that
you
now
have
to
agree
that,
whether
or
not
something
is
in-state
or
not
as
well.
Yeah
I
mean
if,
if
it
would
be
really
nice,
if
you
guys
could
write
this
down
and.
C
We
could
maybe
we
could
try
it
on
a
test.
Note
yeah,
do
you
think
Phil
would
be
interested
in
reading
any
AP
or
at
least
like
a
limited,
spec
I
think
definitely
you'd
be
interested,
but
I'd
have
to
ask
him.
Stateless
clients
would
also
solve
this
problem
and
might
be
easier
to
implement
versus
storage
rent.
C
C
The
contract
you're
interested
in
then
people
can
prove
that
it
was
the
correct
one,
but
then
the
other
problem
with
that
is
people
still
have
to
maintain
old
implementations
of
EVM.
Instead
of
allowing
us
to
eventually
forget
those
yeah
I,
think
of
stateless
clients
as
very
similar
to
storage
rent
with
what
do
they
call
it
reincarnation,
but
without
all
the
complexities
of
the
rent
part
I
mean
all
the
red
Braca
second
layer,
the
problem
I
would
still
have
with
it
is.
C
C
C
Yeah
I
totally
lost
connection.
E
E
E
L
E
The
most
bomb-proof
virtual
machine
in
history,
but
determining
what's
the
easiest
way
to
enable
users
to
deploy
their
own
pre
compiles,
which
requires
a
a
reasonably
bomb-proof
system
right.
So
just
reasonably
bomb-proof,
but
not
make
it
perfect.
But
we
can
make
it
good
and
be
prepared
to
deal
with.
The
US
is
when
they
happen.