►
From YouTube: Consistent Distributed Systems - Denny Portillo
Description
This talk was given at IPFS Camp 2022 in Lisbon, Portugal.
A
A
Is
it
that
are
we
being
too
optimistic
when
making
software,
because,
starting
from
the
design
point,
we
think,
just
as
an
A
to
B
behavior
for
our
software,
we
completely
forget
that
the
state
of
failure
is
present.
We
just
developed
a
linear
State
space
of
our
app
now.
The
products
we're
building
today
are
distributed
systems
by
default.
That
means
that
end
clients
need
to
handle
validate
and
output
information
that
has
to
be
consistent
with
the
data
living
on
chain.
A
A
A
Now
we
can
take
intact
as
reference
that
A
system
that
is
consistent,
cannot
have
a
statement
that
can
be
both
true
and
false.
At
the
same
time
now
what
is
actually
distributed
system,
the
father
and
the
creator
of
the
concept
of
a
distributed
system.
Leslie
Lambert
says
that
this
is.
These
are
processes
that
are
especially
distribute
all
over
the
world
and
they
use
messages
as
a
way
of
communicating
one
another.
A
Now,
with
the
products
we're
building
today,
we
can
think
of
his
of
it
as
there's
a
computer
that
is
an
iPhone
and
there's
a
computer.
That
is
the
cloud
or
a
set
of
computers
that
are
distributed
all
over
the
world
just
as
ipfs,
but
the
test
nodes
processes
elements
actually
communicate
just
by
messages
transactions,
Network
request,
they
actually
communicate
by
events.
A
So
everything
that
happens
in
a
distributed
system
can
be
thought
of
as
an
event,
but
when
we
think
of
something
that
happens
right
now,
something
that
can
happen
in
another
place,
something
that
can
happen
in
the
universe.
We
start
incorporating
the
concept
of
order
of
events,
and
we
are
also
relying
on
a
physical
system
in
this
case
the
time
and
just
us
we're
talking
about
time.
Time
is
relevant,
just
as
it
is
in
the
universe.
So
how
do
we
order
these
events?.
A
We
can
think
of
the
ordering
of
events
in
two
type
of
ordering.
There
is
the
partial
event
in
which
I
think
most
of
us
are
familiar
with
it.
If
you
use
skit,
when
you
have
a
master
branch
and
you
get
Branch
your
code
to
a
local
version,
you
start
throwing
some
code
at
it
and
basically
have
a
local
version
of
that
Master
Branch.
Then
you
try
to
do
a
pull
request
and
actually
merge
your
code
changes
with
that
Master
branch
and
that
is
called
a
total
order
of
the
events.
A
And
now
let
me
explain
this
with
a
little
a
small
example.
Imagine
there's
a
data
point
that
I
want
to
I
want
this
input
to
modify
it
and
a
specific
element
on
a
specific
data
point
and
now
picture
yourself
as
another
person
trying
to
actually
modify
the
same
data
point.
What
will
happen?
A
We
as
front-end
developers,
kind
of
forget
about
this
and
simply
do
optimistic
rights
to
the
incline
completely
validating
that
the
data
and
the
information
we
are
presenting
to
the
users
is
valid
within
the
state
space
of
the
app
and
indeed
within
the
whole
system,
now
to
show
a
better
presentation
of
what
I'm,
trying
to
say,
I
will
use
telegram
as
an
example,
I'm.
Sending
a
message
to
my
friend
and
telegram
is
giving
me
a
little
icon
as
a
representation
of
what's
happening
in
this
case.
A
I
know
that
the
message
was
sent
to
another
end
and
in
this
case
I
know
that
the
person
has
read
the
message
so
I'm
communicating
one
brain
with
another
brain
in
this
system
now
think
of
it.
What
happens
if
I
have
a
network
issue?
Now?
Imagine
that
telegram
didn't
think
of
this
little
icon,
representing
that
there's
a
lot
in
a
state
within
the
system
that
has
to
be
validated
against
a
server
or
the
data
living
within
itself.
A
A
If
we
jump
back
to
the
very
beginning
of
my
presentation,
in
which
I
said,
I
I
was
giving
a
talk
to
a
community
about
these
time
systems
I
elaborated
around
this
idea
of
making
Daft
Punk
complete
software.
What
does
it
mean
that
our
software
is
harder
faster,
better
and
stronger,
it's
harder
to
fail
faster
to
chip,
which
leads
to
better
results
and,
of
course,
to
a
stronger
products?
Thank
you.