►
From YouTube: libp2p 2020 + launching Testground
Description
Learn about the latest developments in the libp2p project, as well as the newest star in the interplanetary constellation: Testground.
Testground is a platform for testing, benchmarking, and simulating distributed and p2p systems at scale.
A
A
Is
the
first
time
I
participated
in
a
conference
like
this
all
right
so
for
those
who
are
not
familiar
with
Libby
to
be
Libby
to
be?
Is
a
modular
peer-to-peer
networking
stack
that
gives
you
a
set
of
building
blocks
that
you
can
compose
together
to
assemble
the
networking
layer
of
decentralized
apps
and
systems
and
platforms?
So
basically,
you
stitch
together
those
exact
to
assemble,
exactly
the
networking
stack
that
is,
gonna
drive
your
platform
or
your
decentralized
system.
A
We
have
seven
implementations
of
Lapita
PE
of
the
Lapita
piece
back
at
different
levels
of
maturity,
actually
I
think
all
seven
of
them
are
actually
very
stable.
Each
of
these
implementations
is
led
by
essentially
a
different
community
and
a
different
team.
The
Libby
to
be
ecosystem
is
super
eater.
A
genius
is
open,
it's
public
and
it's
open
for
everybody
to
purse.
It
go
to
participate.
All
of
these
seven
implementations
follow
the
new
PTP
specifications.
There
is
a
jeaious
implementation
and
go
Lippe
a
go
implementation.
Both
of
these
we
share
protocol
labs.
A
There
is
Russ,
let
me
to
be
implementation,
which
was
built
by
the
y3
foundation
and
also
being
used
at
the
etherium
to
project
the
need
to
project
there's
a
Python
implementation,
JVM
implementation,
C++
development
implementation
and
each
of
these
is
specialized
to
concrete
environment.
So,
for
example,
the
Jas
validation
is
mostly
targeted
to
node
and
also
the
browser.
The
golden
the
goal
lipids,
the
implementation
has
wasn't
supported,
which
our
friends
at
zero
hex
are
using
Russ
Libby
to
be
also
has
was
some
support
them.
There.
A
B2B
is
specially
geared
for
constrain
and
embedded
devices
and
JVM
the
b2b
in
the
future
should
be
suitable
for
for
Android
devices
as
well.
So
having
said
that,
what
to
introduce
sorry
enumerate
a
few
of
the
adopters
of
of
Libby
to
be
many
of
these,
so
there
is,
of
course
the
I
BFS
project,
which
is
where
Libby
to
be
was,
was
originally
boring,
polka
dot.
If
you're
into
point
O
file
coin.
Madam
asked
open
Bazaar
some
leaders,
implementations,
golem,
0
X,
some
latest
implementers
are
matrix.
Other
implementers
are
sorry
not
implementers.
A
Adopters
are
considering
adopting
the
b2b
as
well
called
a
protocol,
cosmos
and
so
on,
and
basically
what
these
adopters
have
in
common
is
that
once
they
start
looking
at
how
to
implement
the
networking
foundations
for
a
peer-to-peer
system,
they
realize
that
there's
already
hit
something
out
there.
That
gives
them
a
lot
of
of
the
building
blocks
that
they
need.
So
that's
why
they
look
at
Libby
to
be
to
and
they're
adopting,
Libby
to
be
and
contributing
back
to
the
community,
which
is
what
open
source
is,
is
all
about.
A
So
one
of
the
one
of
the
one
of
the
adopters
that
that
I
just
mentioned
it's
easy
to.
Since
my
last
talk
at
that
point,
five
I
don't
know,
I,
don't
know.
If
you
were
there,
the
world
has
changed
a
lot
right.
That
was,
that
was
a
world
where
we
could
actually
travel
now
we're
doing
conferences
in
a
row
in
a
remote
manner,
which
is
also
great
because
you
know
there's
a
lot
more
people
who
can
join
but
but
yeah
back
then
there
was
the
III
project
was
adopting.
A
The
p2p
was
developing
a
number
of
clients
and
at
this
point
they're
already
at
a
stage
where
they've
deployed
test
nets
and
there's
actually
two
Testaments,
that's
the
lessee
test
net
I'm,
not
sure
if
I'm
pronouncing
pronouncing
it
right.
This
is
a
multi-client
test
net,
which
I
believe
is
prison
and
night
house
that
are
that
are
participating
in
this
test
net.
You
might
have.
If
you
join
the
ready
layer
one
yesterday,
you
would
have
heard
Adrienne
running
speak.
A
He
is
a
developer
on
the
lighthouse
project
and
then
there
was
the
tapas
test
night
as
well,
which
is
I
believe
personally,
and
both
of
these
test
nets
are
powered
by
believe
Italy.
There
are
some
recent
awesome
experiments
that
have
that
we've
seen
in
the
ecosystem.
There
is
the
rumor
project,
which
is
a
red
pole
for
the
e
to
a
networking
stack
which
also
works
over
telecom,
and
this
was
great
about
proto
lambda.
A
If
you
follow
the
eats
to
be
through
developments,
you
will
know
that
he's
a
very
prolific
researcher
there
and
he's
been
experimenting,
a
lot
of
a
lot
with
with
Limpy
to
be,
and
it's
and
the
implementation
for
for
the
youth
to
networking
stack.
So
this
is
pretty
cool
check
out
that
that
ripple
and
get
hot
for
the
lambda,
slash,
rumor
and
then
matrix
has
also
adopted.
Let
b2b
and
I've
done
some
experiments
where
they're
actually
running
the
matrix
protocol
over
over
individually.
A
So
this
is
all
very,
very
cool
and
fun
stuff,
oops
skipping
ahead
to
soon
right.
So
I
want
to
talk
about
some
of
the
features
and
some
of
the
functionalities
that
we've
worked
on
in
the
in
the
last
in
the
last
months
and
stuff
that
we're
going
to
be
working
on
in
the
in
in
the
rest
of
the
year
and-
and
you
keep
seeing
a
lot
of
news
about
this.
So
the
first
thing
that
I
want
to
mention
is
that
we
have
new
security
channels.
There
is
a
new
handshake.
A
There
is
a
new
crypto
handshake,
which
is
called
you
you.
If
you
follow
protocols
and
so
on,
you
will
have
heard
about
the
noise
protocol
framework.
It
is
a
framework
to
build
to
build
shakes.
You
see
using
diffie-hellman,
it's
very
it's
a
formula,
basically
a
formal
specification
that
allows
you
to
combine
specific
messages
with
different
properties
and
so
on,
to
derive
different
different
handshakes
that
will
have
different
guarantees.
A
We
have
adopted
the
xxxx
handshake
and
it's
already
available
in
most
there
between
implementations,
so
go
j,
SJ
j
BN
by
synonym,
the
only
one
that's
missing
there
is
C++.
So
if
you
fancy
sending
him
a
pull
request
and
in
familiar
weather
with
a
noise
framework,
you
free
to
contribute.
The
good
thing
about
noise
is
that
it
is
two
or
three
times
as
far,
which
is
kind
of
like
a
word
lightweight
protocol,
the
lightweight
protocol.
That
may
be
to
the
implementations
default
too.
A
So
we
expect
to
replace
ICAO
over
the
next
weeks
or
months,
we're
going
to
deprecated
and
in
favor
of
Lloyd's,
because
now
noise
is
available
in
almost
all
implementations
and
TLS.
1.3
has
also
been
version
is
now
enabled
by
default
in
more
stuff
web
security.
We
have
implemented
sighing
peer
records,
so
peers
now
exchange
to
self
certified
records
with
our
endpoint
addresses,
and
this
basically
is
a
is
a
huge
security
advancement
in
the
sense
that
it
allows
us
to
to
thwart
some
man-in-the-middle
attack
attack.
A
So
basically,
in
the
past,
some
protocols
were
insecure,
because
intermediaries
or
or
peer
or
peers,
that
were
relaying
over
addresses
for
other
peers,
could
basically
manipulate
those
addresses
in
fight
now.
This
is
no
pot.
This
is
no
longer
possible
because
peers
can
certify
that
the
set
of
addresses
that
they're
advertising
for
themselves
are
the
one
that
the
set
of
addresses
that
are
being
relayed
about
themselves
are
the
ones
that
they
have
actually
confirmed.
The
sign
peer
records
is
this
feature
is
actually
composed
of
two
structures.
A
There
is
a
signed
envelope
and
there
is
a
peer
record
payload
and
a
signed
envelope
itself
is
a
flexible
container.
So
in
the
future
we
we'll
add
new
payload
types,
such
as
provider
records
for
the
DHD
and
things
there
is
a
PR
with
a
spec
update
there.
In
case
you
want
to
follow,
and
one
example
where
sign
peer
records
have
been
adopted,
is
in
the
in
gossip
subs
prune
peer
exchange,
interaction
which
I'll
talk
about
in
a
second
and
also
there
is
an
implementation
of
this
in
the
diversity.
A
Another
project
that
we
have
been
working
on
very
hard
in
the
b2b
team,
and
this
has
been
a
joint
endeavor
where
the
rest
lab
whatever
Brazilian
that
networks
lab
organization
within
protocol
labs,
is
a
set
of
extensions
for
a
gossip
sub
for
security
and
resilience.
So
there's
a
huge
number
of
features
that
have
gone
into
this.
The
gossip
sub
protocol
in
case
you're,
not
aware
of
it.
A
It
is
an
efficient
pubsub
protocol
that
combines
flood
flooding
with
gossiping
about
a
message:
dissemination
within
the
network,
so
that
peers
can
form
best
better
routes
and
they
can
they
can
broadcast
messages
in
an
efficient
way
without
flooding
the
network
and
features
that
we
have
that
have
gone
into
this.
These
extensions
are
explicit.
Peering
agreements
peer
exchange
on
prunes
are
basically
when
a
peer
decides
to
prune
or
tell
another
peer
to
go
away
from
their
topic.
They
now
can
send
a
list
of
alternative
candidates
that
that
other
peer
can
try
to
bond
to.
A
So
this
creates
a
more
collaborative
network.
We
have
also
added
flood
publishing.
Adaptive
gossip
dissemination.
Peer
scoring
has
been
a
huge
part
of
this
with
a
number
of
parameters
and
things
like
opportunistic
grafting
and
improvements
and
validator
actions.
There
is
in
case
you're
interested
in
this.
There
is
a
spec
venison
merge
and
then
a
b2b
specs
repository.
A
So
if
you
go
into
they're
going
to
the
gossip
sub
folder,
you
will
find
a
dedicated
document
for
1.1
and,
as
I
said,
the
this
this
endeavor
has
been
a
joint
endeavour
with
the
resident
lab
group
here
at
protocol
labs.
So
this
is
ResNet
lab
is
a
mixture
between
is
a
group
that
that
kind
of
like
travels
between
research
and
engineering,
and
helps
to
import
research
ideas
into
our
engineering
pipeline.
A
This
whole
endeavor
has
been
heavily
data
and
evidence
driven
and
we've
been
using
test
grounds
extensively
to
perform
a
range
of
attacks
against
gossip
sub
1.0
and
in
order
to
capture
a
baseline
and
then
to
iterate
through
mitigations
parameter
configurations,
mechanisms
and
so
on.
To
represent
acts
and
compare
them
to
reproduce
to
try
to
it
to
reproduce
those
attacks
against
the
hardened
implementation,
the
sub
sub
1.1
and
compare
those
results
with
1.0.
So
things
we've
done
things
like
running
crazy
things
like
running
10,000,
nodes
of
hybrid
networks
of
attackers,
Sybil's,
honest
nodes
and
so
on.
A
A
So
DHT
enhancements
we
have
in
terms
of
performance,
we
have
merged
a
number
of
changes
to
the
DHD
that
were
driven
mostly
by
the
IGF,
has
0.5
release.
You
will
have
heard
from
Mali
yesterday,
and
the
good
thing
about
Libby
to
be
is
that
these
changes
are
now
available
to
all
adopters
of
Libby
to
be
so,
even
though
we
actually
implemented
them,
because
we
needed
them
for
IB
FSM
to
speed
up
the
network.
These
changes
are
now
available
to
anybody
out
there
that
wants
to
that
wants
to
that
is
using
the
DHT
system.
A
Alright,
so
a
few
further
things
that
are
coming
down
the
pike
we're
going
to
be
working
on
a
conformance
test
kit
to
certify
product
to
certify
protocol
compliance
across
implementations
of
Libby
to
B.
This
has
been
missing
in
our
system
for
a
while,
and
we
need
this
desperately
women
gonna
be
to
be.
Are
we
gonna
do
further
repla
consolidation?
A
A
Basically,
the
observability
consult
for
Lapita
pa1
delve
deep
into
this,
but
just
stay
tuned,
because
it's
gonna
be
amazing.
Cool
awesome
awesome.
So
this
is
a
change
of
registries
and
basically,
what
I
wanted
to
what
I
wanted
to
do
today
as
well.
We've
been
working
on
test
ground
for
a
lot
for
for
for
weeks
for
months
now,
and
we
think
that
we
thought
that
today
would
be
a
good
opportunity
to
launch
tests
on
to
the
world.
So
what
is
that
sound?
A
So
basically,
what
we
do
is
we
articulate
assumptions,
gather
evidence,
formulate
hypotheses
speculate
about
the
science
and
iterate
on
on
proposed
changes,
the
issue
with
not
being
able
to
test
our
assumptions
and
where
our
changes
and
our
proposed
changes
holds
us
back
in
many
cases,
because
the
the
risk
of
merging
a
change
you
can
like
you
can
run
unit
tests,
you
can
run
Ben
micro
benchmarks
and
so
on,
but
extrapolating
those
results
into
how
a
particular
change
is
going
to
affect
a
network
consisting
of
tens
of
thousands
of
nodes.
It's
not
it's
not
an
easy.
A
It's
not
an
easy
transition
right.
So
this
is
why
we
created
test
product.
It
was
a
platform
that
we've
been
that
we've
used
to
to
improve
the
DHD,
to
improve
gossip
sub,
to
improve
bit
swap
and
we're
now
releasing
it
to
the
world,
because
we
believe
this
is
a
asset
that
is
going
to
be
very
useful
to
the
decentralized
ecosystem
at
large.
So,
just
to
give
you
a
sneak
peak
of
what
running
and
test
looks
like
in
test
ground
of
a
100
node
DHT
test.
A
What
this
is
doing
is
instantiating
a
network
of
100
nodes
with
a
number
of
bootstrappers
and
it's
connecting
and
forming
a
topology
in
a
very
specific
way.
Setting
lakes
and
seas
as
well.
I'll
guide
you
through
to
what's
possible
what
test
found
in
in
a
second
and
it's
basically
running
this
test
and
producing
a
set
of
metrics,
and
this
is
now
being
a
book
for
you
for
you
to
use
in
your
projects
and
test
your
sisters
way.
A
So
some
of
the
some
of
the
metrics
that
so
how
his
test
grant
really
helped
us
we've
been
during
12
our
engineering
endeavor
of
producing
the
report
of
producing
ipfs
0.5
and
evaluating
some
changes
like,
for
example,
the
security
handshakes
that
I
just
discussed.
We've
been
using
test
ground
to
produce
to
produce
raw
data
and
grow
observations
and
compare
different
versions
of
the
particular
change
and
capture
metrics.
A
A
We
have
also
created
a
Doc's
website
and,
oh
my
god,
we
have
a
full
Doc's
website.
We
must
be
serious
right,
and
this
is
like
the
first
time
that
we're
releasing
the
station
that
we're
releasing.
You
know
that
were
announcing
the
Republican.
We
already
have
a
phone
talks
website,
so
yeah.
We
have
make
sure
that
you
go
through
it
read
through
the
concepts
read
through
the
architecture.
A
We
have
put
a
lot
of
love
into
the
stock
website
into
the
stocks
side.
Some
of
the
complex
some
some
of
the
concepts
are
a
little
bit
complex,
so
make
sure
that
if
it's
not
explained
well
make
sure
that
you
open
the
ticket
make
make
sure
that
you
open
issues,
although
we
can
help
you
figure
it
out
and
iterate
on
the
other
documentation
itself,
it's
under
construction.
So
how
does
test
going
to
actually
work?
A
One
of
the
key
differences
between
test
grant
and
other
similar
platforms
for
a
distributed
testing
is
that
you
don't
with
test
ground.
You
don't
actually
need
to
package
your
application
or
the
system
that
you're
testing
as
a
separate
demon,
exposing
all
kinds
of
api's
and
configuration
parameters
or
whatever
by
a
you
know
very,
like
fine-grained
api,
so
that
you
can
puppeteer
it
with
the
script.
You
don't
need
to
do
this
with
test
card
writing
test,
but
Tess
Brown
is
on
is
basically
like
writing
unit
tests.
A
So
to
do
that,
the
test
for
an
SDK
offers
a
sync
API
and
the
sync
API
is
read
as
backed
and
is
used
to
communicate,
out-of-band
information
between
instances
and
it
offers
a
number
of
synchronization
primitives
such
that
instances
can
model
a
distributed
state
machine
such
that
they
can
signal
entry
in
particular
States
and
said
barriers
to
wait
for
a
number
of
instances
to
have
entered
a
particular
state
to
then
see
right.
So
it's
kind
of
like
a
choreography
API
and
it's
read
as
back.
A
A
A
So
this
is
kind
of
like
a
B
testing
right
and
comparative
testing
and
at
the
same
time,
we
needed
to
be
able
to,
in
a
test,
run,
assemble
different
groups
of
different
instances
such
that
certain
groups
were
built
against
a
version,
and
another
group
was
built
in
another
against
another
version.
Why
is
this
important?
Because
once
you've
released
a
version
of
some
peer-to-peer
software,
some
peer-to-peer
system,
you
no
longer
control
who's
running
what
version
so,
whenever
who's
running
what
version
out
there
in
the
world?
A
So
whenever
you
are
you're
about
to
release
a
new
version,
you
need
to
make
sure
that
that
new
version
interoperates
correctly
with
past
versions
and
also
you
need
to
characterize
how
that
interoperability
actually
works.
Right
is
those
interactions
with
older
versions
less
efficient,
more
efficient?
How
does
the
system
vary
right?
So
this
is
a
feature
that
we
made
part
of
of
test
round
and
you're
able
to
trigger
it
by
just
setting
come
on
parameter.
A
Now,
as
I
said
before
inside
your
inside
your
test
plan,
you
synchronize
instances
between
each
other
amongst
each
other
right,
but
at
the
same
time
as
things
are
happening
in
your
test
plan,
you'll
record
observations,
metrics
and
success
and
failure.
Statuses
within
the
test,
man
in
test
run,
collects
all
of
this
output
and
makes
it
available
to
you
and
another
thing
that
you
can
do
is
say.
For
example,
you
want
to
omit
the
detailed
event
trace
of
some
kind,
some
raw
data
of
some
kind
such
that
you
can
run
data
processing
scripts
later
on.
A
You
can
also
omit
those
those
assets
and
test
run
will
collect
them
for
you
and
once
of
will
serve
them
and
will
bundle
them
for
you.
Now
you
can
schedule
test,
runs
by
a
tormal
base,
composition
file.
So
it's
very
easy
to
read
in
this
composition
file
you
basically
assemble
a
test
run,
saying:
hey
I
want
to
run
test
run,
I
want
to
run
a
10,000
node
test
plan.
Sorry
test
run
with
1,000
instances
with
these
test
parameters.
2000
instances
of
these
parameter
with
these
parameters
against
this
particular
version
and
so
on
in
test
ground.
A
A
So,
what's
next
for
the
test
ground
for
a
test
run
team
we're
gonna
be
working
over
the
next
over
the
next
weeks
on
hardening
this
release.
This
rate
we're
over
next
weeks
we're
going
to
be
starting
a
phase
that
we
called
test
that
has
found
itself
so
you're
gonna,
improve
in
in
reliability
and
robustness.
Internally,
we're
gonna
be
producing
a
0.6
release
and
we're
gonna
be
building
a
lot
more
features.
A
Another
thing
that
were
you
going
to
be
working
on
that
I'm
super
excited
super
excited
about,
is
Jupiter
notebooks
integration,
so
basically
imagine
having
a
workbench
that
allows
you
to
do
end-to-end
testing
of
distributed
systems
where
you
can
spawn
distributed
test
jobs
and
like
the
results
and
analyze
them.
Imagine
this.
We
actually
already
have
this.
A
This
was
some
of
the
developers
working
on
the
gossips,
a
project
actually
already
implemented,
so
we
just
need
to
rejigger
it
and
package
it
in
a
way
such
that
it's
open
and
available,
and
it's
not
tied
to
that
particular
set
of
test
plans
so
happen
over
the
next
weeks.
So
just
before
I
say
goodbye.
I
want
to
give
you
some
some
links
on
how
to
get
started.
You
can
first
of
all
follow
us
on
Twitter
at
run,
underscore
test
ground.
A
You
can
start
and
play
with
test
ground,
so
just
go
just
go
over
just
head
over
to
github.com
slash
test
contest
ground,
which
I
got
the
repo
me
around
with
it,
and
make
sure
that
anything
that
you
find
your
accredit.
Make
sure
that
you
that
you
are
test
as
well
on
Twitter.
Make
sure
that
you
open
an
issue
and
we're
completely
open
to
contributions.
Make
sure
you
check
out
our
Docs
we've
put
a
lot
of
love
in
this.
A
B
About
this,
go
over
the
sessions
tab
and
go
ahead
and
hop
in
and
create
a
session,
and
anybody
that's
interested
in
continuing
to
learn
more
and
actually
get
some
details
feel
free
to
head
over
to
that
session.
I
think
that
will
be
the
best
today
and
you
don't
have
any
time
box
space
and
having
to
follow.
You
know
follow
that
chat.
All
right.