►
From YouTube: Introducing the Filecoin Virtual Machine
Description
The FVM brings general programmability and EVM-compatible smart contacts to the Filecoin blockchain! Learn about the vision, the thousands of opportunities the FVM unlocks, the implementation roadmap, and how to join the action.
A
All
right
so
welcome
to
day
two
of
falcon
orbit.
I'm
tremendously
excited
to
be
sharing
this
one
year
anniversary
with
the
filecoin
ecosystem.
My
name
is
raul,
krupalani
and
I've
been
at
protocol
labs
for
three
years
and
a
half
where
I've
been
tech,
leading
projects
like
libby
to
be
test
ground
and
several
falcon
initiatives.
A
A
We
can
think
of
these
two
primitives,
as,
together
being
the
layer
0
of
the
stack
and
today
falcoin
is
able
to
provide
reliable
storage
and
retrieval
for
humanity's
most
valuable
data
and
you've
heard
it
many
times
before
all
throughout
this
event,
but
the
falcon
network
is
currently
providing
12
xp
bytes
of
data
and
capacity
being
offered
by
3
and
400
and
more
storage
providers.
A
But
storage
is
only
the
start.
The
goal
of
the
fvm,
which
is
what
we're
introducing
today
and
announcing
to
the
world,
is
to
enable
users
to
deploy
their
own
smart
contracts
on
the
file
point
blockchain.
We
call
them
actors
in
the
filecoin
programming
model
and
this
introduces
the
ability
to
perform
on-chain,
computation
or
a
computation
of
a
state
which
can
be
thought
as
sort
of
like
resolving
the
layer.
One
of
the
file
coin
capability
stack
once
you
have
layer
0,
which
is
storage,
and
you
have
a1,
which
is
computation
over
over
state.
A
So
this
is
on
chain
computation.
There
are
many
many
many
new
downstream
use
cases
that
can
emerge
either
on
chain
or
also
off
chain
and
those
off
chain
use
cases
are
what
we
call
layer,
2
use
cases
and
those
are
things
like
computation
over
data.
I'm
going
to
go
into
more
detail
in
the
next
slides
now.
A
Imagine
anybody
should
be
able
to
write
as
new
a
new
smart
contract
that
makes
new
deals
to
maintain
a
specific
level
of
replication
of
a
specific
data
set
or
data
being
added
to
the
network
by
a
given
client
things
like
trustless
reputation,
systems
or
storage,
bounties
and
auction
mechanisms.
If
you're
familiar
with
filecoin
today,
you
know
that
clients
have
to
find
providers
to
store
their
data
with.
A
But
imagine
imagine
inverting
that
process
such
that
clients,
post,
bounties
and
have
providers
compete
for
storing
that
data
that
those
use
cases
are
currently
not
possible
but
will
be
possible
with
the
fem
and
layer,
one
things
like
futures
and
derivatives
on
storage
that
compose
in
a
d5
like
fashion
or
things
like,
for
example,
conditional
loans
to
to
to
providers
for
sector
pledging
or
time
locked,
retrieval,
perpetual
storage,
you
name
it.
A
There
are
so
many
so
many
things
that
can
be
built
on
the
fvm
that
we're
so
excited
about,
and
we
really
want
to
get
you
thinking
about
the
possibilities
here
now,
if
you
think
about
it.
Use
cases
like
these
are
actually
hard,
if
not
impossible,
to
build
with
centralized
and
cloud
storage
solutions,
and
this
is
where
falcoin
and
the
fvm
are
really
going
to
shine.
A
I'm
going
to
deep
I'm
going
to
deep
dive
into
some
of
these
use
cases
in
the
next
slides
data,
verse
and
data
dowse.
Imagine
kickstarting
the
data
set
economy
by
tokenizing
data.
That's
in
order
to
capture
and
represent
the
value
of
those
data
sets
to
society.
A
Imagine
if
those
tokens
were
harvested
and
exchanged
between
peers
to
request
things
like
computation
to
be
performed
on
that
data.
Things
like,
for
example,
validation
or
transformations,
feature,
detection
and
extraction,
machine
learning,
analysis
and
a
lot
more
now
chain.
These
processes,
together
and
and-
and
you
will
end
up,
compounding
the
value
and
augmenting
the
value
of
those
data
sets
iteratively
and
just
to
top
it
all
up.
A
Imagine
deploying
self-governing
entities
on
chain
to
steward,
maintain
curate
preserve
those
data
sets
that
are
really
valuable
to
humanity
and,
like
potentially
those
data
dials
could
be
funded
by
crowdfunding.
These
are
this
is
one
of
the
use
cases
that
I'm
personally
really
excited
about
to
see
happen
with
the
fvm.
A
Another
use
case
is
that
another
use
case
that
is
very
interesting,
is
replication
workers,
so
imagine
having
being
able
to
write
actors
or
smart
contracts
that
take
one
piece
of
data
and
make
sure
that
it's
replicated
end
times
across
the
network
and
obeying
and
using
a
user-defined
policy
that
specifies
things
like
the
region,
selection
or
the
latency
price
or
other
things
other
characteristics.
A
A
Another
really
exciting
thing
is
the
ability
to
have
layer,
two
systems
commit
onto
the
layer,
one
of
the
filecoin
blockchain,
and
this
provides
consensus,
backed
commitment
and
provability
facilities
for
solutions
like
bridges
such
as,
for
example,
textile
bridges
and
other
bridges
that
have
been
built
with
with
a
flow
blockchain
with
near
with
the
ethereum
blockchain
polygon,
and
a
lot
more
who
are
currently
operating
without
a
layer.
A
The
ability
to
renew
deals
without
repeating
data
transfers
over
and
over
again,
when
deals
expire
when
deals
get
slashed,
self-repairing
deals
so
say,
for
example,
is
a
provider
has
sectors
that
fail
and
they
want
to
recover
that
data
instead
of
having
clients
send
that
data
over
to
them
again,
they
could
harness
those
replication
workers
to
have
that
data
sent
back
to
them
again
and
the
sector
restored
things
like,
for
example,
retrying
deals
where
clients
dispatch
their
deal,
data
to
a
depot
and
pay
a
small
fee
to
have
the
deal
data
be
transmitted
satisfactorily
delivered
to
the
provider.
A
Things
like
time,
locked,
retrieval,
making
storage
deals
with
data
that
cannot
be
retrieved
by
anyone
until
a
specific
window
of
time
lapses,
trust
less
reputation,
systems
with
so
many
providers
in
the
file
coin
network.
How
do
you
pick
the
ones
that
you
want
to
deal
with,
based
on
the
quality
of
service
guarantees,
performance,
latency
regen?
A
There
are
already
a
bunch
of
solutions
in
the
ecosystem,
but
imagine
being
able
to
build
a
overlay
network
of
nodes
that
are
patrolling
the
network,
performing
observations
and
recording
them
on
the
blockchain,
so
that
reputational
scores
can
be
calculated
in
a
trustless
manner
and
also
they
can
be
traced
and
disputable.
If
there
is
any
disagreement
now.
Another
use
case
that
is
super
super
exciting
and
you
can
hear
more
about
this
use
case
later
on
in
in
a
talk
by
by
porque
coin,
is,
is
decentralized,
verifiable
computation.
A
A
A
All
of
that,
with
the
concepts
that
I
just
mentioned
earlier
about
the
database
about
tokenization
of
data
sets
and
suddenly
you're
in
a
whirlwind
whirlwind
of
computation
that
is
pushed
to
the
edges
that
is
pushed
to
the
providers
that
have
that
data
and
with
an
incentivization
circuit
and
a
provability
circuit,
with
which
you
can
verify
that
the
results
are
correct.
A
So
really,
there
are
boundless
opportunities
for
innovation
that
layer,
one
programmability
is
gonna,
unleash
and
fall
going,
and
the
falcon
community
is
super
creative.
They
have
just
you
know,
made
it
evident
in
the
last
year
and
you've
seen
everything
that
has
been
presented
in
falcon
orbit
so
far,
so
I'm
pretty
sure
that
there'll
be
no
shortage
of
ideas
hitting
mainnet
very
soon
after
the
fbm
launches.
A
A
I
want
to
give
a
huge
shout
out
to
community
members
such
as
stab
stabalian,
xspeed,
boris
mann,
aaron
chick
and
many
others
that
have
been
contributing
over
the
last
few
weeks
to
to
refine
these
discussions
and
to
refine
and
to
define
the
the
the
architecture
and
design
of
the
falcon
virtual
machine.
Now,
just
to
give
you
a
little
bit
of
history,
the
file
coin,
virtual
machine
and
the
fn
and
level
one
layer,
one
programmability
has
been
a
roadmap
for
a
very
long
time
and
it
was
rekindled
by
fib
discussion
113..
A
If
you
want
to
go
into
it,
take
a
read,
understand
how
things
got
kick-started
again
or
assumed
again.
The
thing
that
got
us
really
prompted
to
prioritize
this
work
now
is
the
overwhelming
positive
reaction
to
this
fip
from
developers,
storage
providers,
ecosystem
partners
and
a
lot
more.
This
god
is
incredibly
motivated
and
made
us
jump
right
into
action
to
make
it
happen
for
the
farcoin
community.
A
Now,
as
I
said
before,
the
user
user
programmability
had
always
been
part
of
the
roadmap
in
filecoin
since
the
very
beginning,
but
the
road
to
get
where
we
are
today
wasn't
easy.
Falcoin
had
been
in
development
for
six
years
prior
to
mainnet
launch
and
just
to
build
a
secure
and
permissionless
decentralized
storage
network.
A
We
had
to
solve
fundamental
challenges
and
limitations
that
led
to
important
breakthroughs
things
like
proof
of
space
time,
proof
of
replication,
expected
consensus,
unbiasable
randomness,
sneak
zk
snark
applications
and
a
lot
more,
and
at
that
time
it
wasn't
clear
what
the
future
of
blockchain
vms
was
gonna
look
like
was
there
a
standard
emerging
with
the
ebm?
Was
this
kind
of
like
the
silver
bullet?
Was?
A
Wasn't
this
new
kid
on
the
block
that
was
receiving
a
lot
of
attention
and
traction
gonna
be
the
thing
there
was
also
secure,
ecmascript
that
was
being
proposed.
Nlb
mir,
some
blockchains
were
looking
into
that.
So
during
that
time,
we
decided
to
focus
on
layer,
zero,
the
storage
and
retrieval
layer
and
to
kind
of
like
wait
it
out
to
see
where
the
vm
ecosystem,
trended
towards
and
consolidated
towards
now.
A
Just
to
give
you
a
little
bit
of
a
few
light
touches
on
what
the
inspiration
of
the
design
of
the
of
the
filecoin
vm
has
been.
There
are
several
key
concepts
here.
The
virtual
machine
hypervisor
model
inspires
the
architecture
of
the
fvm
and
like
hypervisors.
Contourization
are
two
concepts
that
inspire
the
architecture
and
the
ability
to
host
multiple
runtimes
in
an
isolated
manner
over
a
common
base
layer.
A
Another
thing:
another
concept
from
computing
that
really
that
really
resonates
with
us
and
like.
I
think
this
is
really
where
we
we
strongly
think
that
this
is
where
blockchain
computation
will
go
in
the
future
is
the
actor
model
and
concretely
erlang
earning
otb
as
a
runtime
is,
is
a
paradigm
that
that
inspires
us.
We
particularly
like
the
functional
approach
that
helps
you,
the
health,
the
self-healing
mechanisms,
the
location,
transparency
and
the
messaging
model,
which
is
which
are
great
concurrency
primitives,
to
build
parallelizable
computation
on
blockchains
over
time.
A
We
looked
at
other
things
like
llbm
ir,
the
jvm,
secure,
javascript,
another
sorry,
secure,
ecmascript
and
other
options
for
the
core
layer
of
the
fem
and
ended
up
settling
on
wasm.
For
those
who
are
not
familiar
with
wasm,
it
is
a
portable
execution
format
that
initially
was
built
for
the
web
and,
in
theory
meant
to
replace
javascript
but
which
has
transcended
to
other
runtimes,
and
it
has
seen
a
massive
attraction
and
uptake
in
in
blockchain
ecosystems.
A
So
we
believe
that
that
joining
distraction
and
joining
this
community
will
also
help
speed
things
up
and
and
solidify
things
together,
as
a
blockchain
community
for
for
with
other
with
other
members
and
other
other
partners.
A
Now,
one
key
aspect
of
the
fvm
is
that
one
thing
that
it
should
do
is
interact
with
ipld
state
tree
data
efficiently.
We've
we're
putting
a
lot
of
attention
to
this
now
native
actors
can
be
written
in
languages
that
compile
to
wasm.
A
This
doesn't
mean
that
you
want
to
use
any
language
that
composed
or
wasn't
because
you
do
have
to
be
aware
of
the
runtime
costs
of
certain
languages
and
the
overheads
of
certain
languages,
one
language
that
we
think
produces
really
succinct
and
nice
wasm
is
rust,
so
we're
building
the
sdk,
the
reference,
sdk
and
rust,
and
one
key
aspect
of
the
fem
is
that
it
has
support
for
foreign
runtimes
foreign
vms,
such
as
the
evm
and
eventually
the
agorix
s,
potentially
llvmir
bpf
and
other
other
virtual
machine
models.
A
Now.
The
thing
that
I
wanted
to
stress
is
that
we're
trying
really
hard
to
launch
the
fvm
with
evm
compatibility
out
of
the
box.
We've
heard
strong
requests
from
the
falcon
developer
community
for
the
fvm
to
support
evm
and
solidity
compatibility
out
of
the
box.
A
So
we
made
this
a
priority
with
the
fvm
developers
will
be
able
to
deploy
ethereum
smart
contracts
to
the
falcon
blockchain
directly,
and
this
makes
a
lot
of
sense
because
the
ethereum
community
has
amassed
a
massive
corpus
of
useful
and,
most
importantly,
audited
and
battle-tested
smart
contracts
over
time,
for
example,
erc
20
tokens,
nfts
dows,
flash
loans.
You
name
it
so
having
the
ability
to
take
these
contracts
and
deploy
them,
as
is
to
the
falcon
blockchain,
is
a
great
onboarding
ram
for
for
developers
that
are
already
familiar
and
and
trust
those
contracts.
A
Now,
the
ethereum
ecosystem
has
amazing
developer
tools
like
truffle
remix,
hard
hat
plugins
for
for
ideas
and
a
lot
more
and
also
solidity
has
become
the
de
facto
smart
contract
programming
language
that
smart
contract
developers
out
there
basically
master,
so
this
facilitates
their
own
boarding
into
into
the
file
coin
ecosystem.
A
Now,
just
to
give
you
a
little
bit
of
a
technical
view
on
how
to
how
we
plan
to
make
this
happen,
the
plan
is
to
adopt
an
evm,
bytecode
and
wasm
approach
instead
of
working
off
solidity
directly.
This
choice
guarantees
almost
perfect
execution,
fidelity
and
parity
and
mitigate
risks,
otherwise
present
in
the
solidity
to
wasm
compilation
path.
A
We
concretely
looking
at
adopting
the
sputnik
vm
project,
which
has
emerged
as
the
de
facto
wasn't
compatible
ebm
implementation
in
the
industry,
and
it
was
initially
developed
by
the
fox
at
parity,
but
it's
also
been
adopted
by
the
blockchain
select
near
in
project
aurora.
We
still
have
many
difficulties
to
solve
around
the
mapping
between
the
evm
and
the
fem
models,
things
like
the
memory
and
storage
model
and
ipld
gas,
accounting
calling
conventions
representing
events
and
logs,
but
we're
confident
that
we'll
figure
this
out
and
also
with
your
help.
A
So
please
make
sure
that
you
join
the
discussion
to
help
to
help
build
this
out.
Now,
a
few
touches
on
the
data
layer
itself.
We
can
consider
the
fem
a
computation
engine
for
ipld
data
file
coin,
the
falcon
state
tree
and
the
actor
states
are
iplt
objects
and
the
fem
essentially
executes
computation
on
those
inputs
to
produce
outputs.
So
building
libraries
and
primitives
to
interact
with
ipld
data
must
be
a
core
priority
and
it
deserves
a
lot
of
attention.
A
We're
also
looking
at
implementing
an
ipld
based
interface
description
language
to
describe
actor
interfaces.
So
you
can
think
this
think
of
this,
as
kind
of
like
the
scope,
the
whistle
and
soap
or
the
idl
and
grpc
for
on-chain
actors,
which
will
then
power
tools
to
generate
clients
for
cross-actor
calls.
It
is
all.
It
is
also
worth
mentioning
that
this
vm
is
isn't
directly
tied
to
and
coupled
tightly
coupled
to
filecoin,
and
it
can
be
adopted
in
other
contexts
such
as
ipfs
and
and
ipl
and
ipld
itself.
A
A
Another
thing
that
I
wanted
to
mention
is
that
user-defined
actors
will
exponentially
increase
the
demand
for
space
on
the
blockchain
and
the
significant
research
going
on
at
protocol
labs
within
consensus,
lab
looking
into
things
like
sharded
and
hierarchical
consensus
with
parallel
execution,
and
this
has
a
bunch
of
implications
in
the
fem,
such
as
the
the
kinds
of
calling
patterns
that
will
happen
depending
on
whether
actors
on
what
the
calls
are
intra,
shard
or
cross
ride.
Now
you
should
totally
attend
marco's
talk
later
today
on
on
consensus,
scaling
and
charting
for
the
falcon
network.
A
Now,
if
you
want
to
I've
just
kind
of
given
given
a
few
light,
touches
on
the
technical
design
of
the
fvm,
if
you
want
to
learn
a
lot
more,
then
you
can
go
into
that
that
repo
explore
the
docs
and
contribute
there's
a
lot
more
detail
in
the
in
the
technical
documentation
in
that
repo.
A
Now
on
to
the
part
that
I
guess
most
people
are
interested
interested
in,
which
is
when
will
this
shift?
We've
got
into
that
part
all
right,
so
the
roadmap
consists
of
four
phases:
phase
zero
is
to
have
the
fvm
implemented,
running
the
built-in
system
actors
and
having
canary
deployments
of
various
clients,
filecoin
clients
on
mainnet
running
a
non-programmable
fvm,
and
we
expect
to
have
this
done
by
the
end
of
this
year.
All
of
all
of
these
timelines
are
very
tentative
phase.
A
One
will
introduce
changes
to
the
network
to
prepare
the
network
for
user
programmability,
and
this
will
happen
in
q1
by
the
end
of
q1
and
in
2022.
We
believe
phase
two
will
be
all
about
launching
user
programmability
proper
with
native
actors
and
evm
foreign
actors,
and
the
goal
here
is
to
really
enable
user
programmability,
and
we
think
that
this
will
happen
sometime
in
q2
2022
and
in
phase
three
we'll
redesign
the
system
actors
for
improved
programmability
against
them,
and
this
is
also
going
to
ship
around
q2
2022.
A
There
are
still
many
unknowns
here,
so
these
timelines
might
might
change
in
reality,
but
hopefully
these
will
be
the
these
will
be
able
to
to
stick
to
them
and,
with
your
help,
will
be
able
to
figure
things
out
as
well.
So
how
can
you
get
involved?
A
First
of
all,
if
you
want
to
check
out
the
flip
discussion,
make
sure
to
that
would
be
one
thing
that
I
recommend
you
to
do
next
thing
is
to
follow
and
engage
in
the
falcoin
project,
fvm
repo
itself.
Another
thing
that
you
can
do
is
join
the
fem
channel
on
the
filecon
slack
to
stay
tuned
with
everything
that's
happening.
A
Admittedly,
it
is
still
a
little
bit
early,
but
you
can
really
help
out
help
out
in
fleshing
fleshing
out
technical
detail
by
looking
at
by
helping
in
the
discussions
and
kind
of
like
participating
in
the
discussions
in
the
fem
repo,
where
we're
investigating
all
of
these
uncertainties
and
kind
of
like
unknowns
that
we
still
need
to
figure
out
and,
of
course,
one
thing
that
we
love
people
to
start
doing
is
to
to
start
thinking
about
the
use
cases
that
they
want
to
build
and
thinking
as
well,
about
kind
of
like
those
base,
libraries
and
tools
and
examples
and
actor
templates
that
are
going
to
make
life
easy
for
everybody
in
the
ecosystem.
A
So
we
really
imagine
things
like,
for
example,
open
zeppelin
in
the
ethereum
ecosystem,
which
is
a
very
nice
toolbox,
library
to
emerge
in
the
fvm
ecosystem.
Things
like
local
test,
sandboxes,
test
frameworks,
deployment
tools,
ipld,
ideal
generators
and
a
lot
more.
These
are
things
if
you,
if
you're
interested
start
talking
to
us
in
in
those
forums
in
the
in
the
github
repo
and
then
the
fem
channel
on
slack
and
we'll
figure
things
out
now
before
I
go.
A
I
just
wanted
to
leave
you
with
one
thought:
the
fem
is
basically
a
green
field
ecosystem
that
is
just
getting
started
now
with
a
new
programming
paradigm
and
it
is
an
op.
A
There
is
an
opportunity
to
start
thinking
early
on
about
composability
and
modularity
up
front,
drawing
inspiration
from
kind
of
like
you
know,
the
erc
model
in
the
theorem
ecosystem
and
defy
composability
so
really
start
thinking
in
terms
of
file
coin
standard
interfaces
for
reusable
primitives
that
can
be
composed
with
one
another
to
create
complex
actors,
things
like
payment
channels,
vesting
schedules,
multi-sigs
and
voting
mechanisms,
loans
and
a
lot
more.
A
A
Thank
you
so
much,
oh
and
before
I
go,
I
wanted
to
just
plug
in
a
job
a
job
opening
for
in
case
you're
interested
in
working
on
the
fvm
and
also
in
building
the
future
of
decentralized
computation.
Make
sure
to
check
out
this
url
to
to
see
what
opportunities
are
open.