►
From YouTube: Agoric + Protocol Labs // Part 1 - Distributed Programming for a Decentralized World - Mark Miller
Description
Part 1: Distributed Programming for a Decentralized World
To reach our goal of bringing the world economy into the decentralized world, we need to improve the developer experience. Current approaches to smart contract and dApp development are too hazardous, non-composable, use unfamiliar languages, and are subject to single-chain lock-in. We introduce the Agoric stack for creating safe, composable and interoperable smart contracts.
A
Yeah,
so
this
is
the
first
talk
in
this
talk
series:
that's
a
collaboration
by
protocol
labs
in
a
gorrik
on
distributed
programming
for
decentralized
world,
and
what
I'll
be
explaining
today
is
an
overview
of
the
agora
architecture.
I'll
be
touching
on
many
things
that
later
talks
in
this
talk
series
we'll
go
into
in
some
depth.
A
For
30
years,
many
of
us
have
been
dreaming
about
using
modern
cryptography
to
bring
the
world
economy
online
into
the
distribute,
the
centralized
world
of
crypto
commerce,
and
it's
finally
now
happening
because
of
this
world
of
blockchain.
However,
the
way
it's
happening
has
some
show-stopping
problems
that
need
to
be
fixed
before
we
can
actually
realize
that
dream.
A
The
current
way
people
write
smart
contracts
is
too
hazardous.
We
see
experts
putting
a
lot
of
effort
into
crafting
simple
contracts
that
turn
out
to
have
bugs
that
cause
hundreds
of
millions
of
dollars
to
disappear
overnight,
with
no
recourse.
The
languages
in
which
programmers
are
asked
to
write.
Smart
contracts
are
unfamiliar
languages.
A
Any
market,
that's
limited
to
what
happens
on
a
single
chain
does
not
have
that
network
effect
to
get
the
network
effects
of
markets.
You
have
to
spend
chains
and
non
chains,
public
and
private.
You
have
to
make
the
inroads
into
existing
real
world
markets,
so
there's
a
bridge
that
people
can
cross
to
come
into
the
new
world,
so
we're
setting
out
to
address
these
problems.
A
Agaric
is
currently
at
test
net.
A
little
poll
who
here
knows
what
test
net
is
okay,
what
test
net
means
is
that
our
system
is
working
in
to
end
well
enough
that
people
can
start
using
it
in
a
realistic
way,
but
not
with
real
assets.
At
stake
do
not
risk
real
assets
at
stake
on
the
system,
as
it
is
now,
but
you
can
write
contracts
you
can
play
with
the
security
properties,
and
the
system
is
working
in
to
end,
including
our
software
running,
on
a
genuine
blockchain
up
at
servers
that
are
not
in
our
house.
A
And
those
the
blockchain
we're
building
on
a
cosmos
zone,
we
announced
that
we're
a
test
net
at
Z,
Con
1,
and
when
we
did
that
we
showed
the
pixel
dust
demo.
What
the
pixel
dust
demo
is
about
is
it
creates
this
little
real
estate
market
that
is
running
on
the
chain,
which
is
this
square
of
pixels,
where
each
pixel
can
be
individually
owned
and
traded.
And
if
you
own
a
pixel,
you
have
the
right
to
change
its
color.
A
So
not
only
can
you
buy
and
sell
pixels
and
negotiate
for
pixels
create
a
market
in
pixels.
You
can
create
auction
institutions
of
various
kinds
for
trading
these
rights.
You
can
create
derivative
instruments
covered
calls,
futures,
etc,
and
if
you
can
do
that
for
rights
to
color
a
pixel,
you
can
do
it
for
multi-million
dollar
financial
instruments.
A
A
What
if
the
pixel
is
not
on
Alice's
machine
is
not
co-located
with
Alice
what
if
the
pixel
is
elsewhere
on
a
chain?
As
in
what
you
saw
well
now,
instead
of
dot,
we
use
the
the
in
fix
bang
operator,
which
means
eventual
send
send
an
asynchronous
message.
The
syntax
is
currently
proposed
to
the
Ekman
script
Committee.
A
It's
simple,
syntactic
sugar
for
things
that
you
can
write
without
the
syntax,
but
the
semantics
of
it
are
send
the
message
to
the
object
wherever
the
object
is
so
when
Alice
sends
that
message,
she's
sending
it
as
an
object
message
as
if
the
pixel
object
is
local.
That
object
message
makes
it
to
the
serialization
layer,
which
is
our
cap
teepee
system
for
the
capability,
Tran
port
protocol,
and
what
that
cap
TP
layer
does.
Is
it
serializes
the
object
message
into
a
serialized
blob?
A
The
serialized
blob
is
handed
over
to
the
IBC
layer.
The
enter
the
entire
blockchain
protocol,
which
agaric
and
cosmos
are
collaborating
on
and
what
that
does
is
it
adds
the
crypto
so
that
the
message
will
be
recognized
as
legitimate
by
the
destination
and
then
it
sends
it
between
machines
and
since
the
receiving
machine
in
this
case
is
a
chain,
it
has
to
broadcast
the
message.
A
So
it
arrives
at
all
the
relevant
validators
and
each
validator
then
does
the
same
thing,
which
is
the
IBC
layer,
validates
and
removes
the
crypto,
leaving
the
binary
blob
that
gets
unsee
realized
by
the
cap,
TP
layer,
turning
it
into
an
object
message
that
gets
delivered
to
the
pixel.
So
this
technology
stack
comes
in
several
layers
at
the
bottom,
we
have
the
Machine
layer
in
the
machine
layer.
Each
of
the
individual
rectangles
here
represents
a
distinct
physical
machine,
but
every
stack
is
a
logical
machine
to
us.
A
blockchain
is
simply
a
logical
machine.
A
A
Where
the
objects
are
themselves
layered,
on
top
of
the
the
connections,
the
data
pipes
between
the
vats
so
that
the
object
messages
are
conveyed
by
the
cryptography
at
the
data
pipe
level
and
we
use
our
system
of
secure
distributed
objects
to
build
our
smart
contracting
system.
Our
system
of
electronic
writes
and
smart
contracts,
and
we
crucially.
A
A
The
smart
contract
layer
demonstrates
why
blockchain
is
a
fundamental
value
in
bringing
about
the
kind
of
world
of
smart
contracting.
We
need
some
contracts,
such
as
the
exchange
of
one
value
for
another.
Let's
say
some
contracts
need
to
be
globally,
mutually
credible
and
transparent,
and
by
running
those
contracts
on
a
blockchain.
A
Everyone
knows
that
everyone
else
is
seeing
the
same
activity
and
with
the
same
result,
however,
not
all
contracts
need
that
kind
of
global
visibility.
Many
contracts
would
prefer
to
execute
in
a
more
private
manner,
so
our
overall
fabric
covers
this
whole
heterogeneous
variety
of
platforms,
well
again,
chains
and
non
chains,
public
and
private.
So
you
can
run
the
individual
contract
wherever
it's
mutually
acceptable
for
the
participants
in
that
contract.
A
These
layers
are
held
together
by
layers
of
protocol,
the
IBC
layer,
the
internet,
the
interblock
Train
protocol
builds
these
secure
data
pipes
out
of
the
system
of
separate
machines.
Cap
TP,
the
capability
transport
protocol
builds
the
world
of
distributed
objects
out
of
the
world
of
secure
data
pipes
and
then
ER
TP
is
the
electronic
rights
transfer
protocol,
which
is
now
a
set
of
object.
Interfaces
for
expressing
electronic
rights
in
a
generic
fashion
so
that
we
can
build
highly
reusable
and
composable
contracts
that
can
apply
to
a
wide
range
of
rights.
A
This
isn't,
this
is
not
actually
the
end
of
the
talk.
Rather,
this
talk
is
divided
into
four
parts.
This
is
the
end
of
the
first
part
at
the
end
of
each
part,
I'll
be
pausing
briefly
for
questions
and
then
taking
remaining
questions
at
the
end,
and
the
remaining
parts
will
go
into
some
of
these
layers
in
somewhat
more
depth
and
then
following
talks
in
the
series
we'll
explore
them
in
greater
depth.
So
any
questions
so
far.