►
From YouTube: MSFT ION - Daniel Buchner
Description
ION is a project that Microsoft started contributing to around scalable Decentralized Identifiers. Listen in as Daniel Buchner guides you through all of the ins and outs of this exciting new project.
For more information on IPFS
- visit the project website: https://ipfs.io
- or follow IPFS on Twitter: https://twitter.com/IPFS
Sign up to get IPFS news, including releases, ecosystem updates, and community announcements in your inbox, each Tuesday: http://eepurl.com/gL2Pi5
A
What
ion
is,
is
it's
basically
a
project
that
Microsoft
started
contributing
to,
and
you
know,
kicked
off
around
scalable
decentralized
identifiers.
It's
it's
one
component
of
the
work
that
we're
doing
in
the
decentralized
identity
body
of
work
that
we
have
internally
and
it's
a
big
component.
So
what
is
a
di
di
I
saw
a
level
set
by
talking
a
little
bit
about
a
di
D.
It's
a
decentralized
identifier.
A
It's
it's
an
upcoming
standard
in
w3c
that
codifies
how
strings
like
URI
strings
as
D
IDs
are
code
are
developed
and
you
know
what
how
they're
represented
and
basically
it's
it's
like
an
equivalent
of
a
decentralized
version
of
like
email,
addresses
or
user
names
right.
If
you
wanted
an
ID
that
you
could
have
or
multiple
IDs
that
was
not
owned
by
a
company
or
other
entity,
that's
what
a
div
essentially
represents
and
they're,
backed
by
keys
and
endpoints
right.
So
it's
and
if
I
had
to
get
an
analogy,
it's
very
much
like
DNS.
A
Today,
right
you
have
domain
names
and
then
you
have
DNS
zone
files
and
you
have
the
certificate
authority
system
on
the
security
side.
So
what
we
want
to
do
is
sort
of
remove
from
the
system
these
centralized
entities
and
authorities
right
and
that's
really
important,
because
you
know
your
IDs
owning
them
is
really
the
key
to
unlocking
some
of
the
cooler
parts
of
like
decentralized
web
technologies
and
apps.
If
you
have
their
IDs
owned
by
a
company
it,
you
know,
it's
really
a
hazard
at
a
certain
point:
it's
it's
all
fun
and
games.
A
Well,
you
know
you
have
your
posting
cat
photos
or
like
what
you've
made
for
lunch
or
something
on
Facebook.
You
know
via
your
Facebook
ID,
if
you
have
one
of
those
accounts,
but
it's
it's
a
whole
different
ballgame
where
you,
when
you
start
storing
like
data
encrypted
with
keys
that
are
attached
to
IDs,
you
know
app
via
sensitive
data
messages
between
friends,
things
like
that
and
and
it
becomes
even
more
of
like
a
moral
or
Human
Rights
hazard.
A
If
you
were
to
start
associating
proofs
like
very
important
things
about
your
life
to
it,
and
that's
because
there's
really
two
to
catastrophic
failure:
modes
for
centralized
IDs.
If
you
were
to
tie
everything
to
email,
addresses
or
user
names,
the
company
can
either
cut
you
off.
You
know,
as
we've
seen
some
of
these
social
things
or
it
can
just
go
out
of
business.
You
know
if
someone's,
not
running
an
email
server.
A
You're
done
so
we
want
systems
that
are
a
little
bit
stronger
and
more
censorship
resistant
and
what
ion
is
is
an
implementation
of
something
called
the
side
tree
protocol,
which
is
a
blockchain
ledger
agnostic
protocol
on
top
of
Bitcoin,
and
it
does
incorporate
ipfs
for
a
key
component
of
it.
So
why
do
we
do?
Why?
Don't
we
create
ion?
Well,
you
know
it's
pretty
trivial,
to
create
D
ID
methods,
they
call
them.
Like
a
you
know,
implementation
of
D
IDs
that
are
basic.
A
One
super
simple,
D
ID
method
is
D
ID
key
and
it's
basically
just
a
public
key
right.
That's
the
identifying
string!
You
can't
roll
your
keys.
You
can't
do
anything
because
it's
it's
really
just
a
key
and
that's
fine
like
if
you
just
want
a
burner
and
you
throw
it
away
or
something
not
really
use
it
for
anything
too
serious
you
can.
A
You
can
do
that,
but
if
you
wanted
a
scalable,
D
ID
system
that
had
the
ability
to
roll
keys-
and
you
know
change
endpoints
and
all
of
that
stuff,
you
would
need
something:
that's
a
little
more
capable
and
and
actually
able
to
stand
up
to
the
sort
of
scale
that
we
want
to
see
the
world
adopt,
and
so
we're
really
faced
with
this
trilemma
of
you
know
maintaining
decentralisation
in
a
solution
while
also
achieving
scalability
and
security.
This
is
not
something
that
you
know.
A
We've
seen
we
had
seen
when
we
started
this
work
a
couple
years
ago,
so
we
really
wanted
to
get
to
maximize
all
three
of
these
and
you
have
to
look
at
really
the
scale
of
identity.
There's
some
other
D
ID
implementations
that
you
know
have
kind
of
taken
in
an
easy
way
out
and
said:
well,
we're
just
gonna
have
D
IDs
just
be
for
companies
or
governments
or
something
we
don't
need
B
tzer's
to
have
IDs,
so
they
can
just
have
keys
and
throw
them
away
and
constantly
churn
and
not
have
their
own
say
decentralized.
A
You
know
we
have
billions
of
users.
We
need
to
be
able
to
service
that
sort
of
scale
at
day
one
but
DoD's
don't
only
have
to
be
for
humans
that
could
be
for
devices
or
enterprises
or
anything
as
well.
Anything,
that's
an
entity
that
you
want
to
represent
my
ID,
so
what's
required
for
D
IDs
right
without
saying
the
word
blockchain,
because
you
know
there's
a
lot
of
BS
in
the
space.
The
requirements
are
a
global
immutable,
append-only
log
right.
A
A
That's
her
initiating
state
if
she
changes
that
state
right
and
she
gets
a
new
phone
and
wants
to
roll
that
key
to
a
new
public
key
that
associate
ID
she's
gonna
need
somewhere,
where
there's
a
global
log
where
people
can
can
see.
This
can
see
the
state
change
and
can
have
secure
awareness
that
of
her
lineage
of
state
right.
A
We
also
want
this
log
to
not
have
any
central
providers
or
authorities
so
that
it's
censorship
in
tamper
resistant,
because
you
know
if
all
he
wanted
was
you
know
a
bunch
of
servers
that
run
some
very
simple
Byzantine
protocol.
That's
just
based
on
like
authorities
in
the
system
trusted
validate
or
no
it's
voting.
It's
just
not
very
censorship.
Resistant,
and
you
know
it's
probably
not.
Gonna
stand
up
to
the
sort
of
guarantees
that
we
want
to
make.
So
that's
really
what
dpi
requires.
Let's
see
how
we
can
maybe
do
that.
A
One
key
realization
we
had
is
that
the
problem
of
PKI,
specifically
dpi
is,
is
not
the
same
as
double
spend,
so
you
don't
really
need
blockchain
transactions
at
the
native
layer
to
represent
di
D
operations.
It
it's
a
little
different
than
that,
and
what
you
need
to
understand
is
that
there
is
a
correct,
lineage
right.
There's
that
there's
a
lineage
that
a
lat
Alice
may
be
created
a
div
notes
in
time.
One
went
to
state
from
state
1
to
state
2
to
state
3,
but
but
Alice
doesn't
spend
her
IDs
right.
A
If
you
remove
out
of
the
system
the
idea
of
friendly
names,
which
these
D
IDs
are
not
there
big,
like
you,
know,
50
byte
ugly
strings
and
you
make
it
so
so
that
you
don't
support
the
concept
of
sale
right,
like
I'm,
I'm
Alison
a
sell,
my
D
ideas,
someone
on
this
I'm
gonna,
have
them
buy
it
from
me.
It's
gonna
transfer,
like
you
would
cryptocurrency
you
can
actually
ride.
Atop
the
rails
of
double,
spend
proof
systems
and
have
something
that
scales,
because
it
doesn't
need
that
that
level
of
of
protection
so
technical
overview.
A
So
what
is
I
on
it's?
A
public
permissionless
overlay
network
that
runs
on
top
of
Bitcoin
and
leverages
dpi
dpi
protocol
called
SCI
tree
and
site
tree
is
blotching
gnostic.
You
can
implement
it
on
other
things.
There's
there's
one
that's
implemented
on
aetherium
called
elements.
There's
a
trust
block
I
believe
is
along
that
secure
key
did
on
fabric
like
you
can
implement
on
top
of
any
ledger,
but
it
can
only
ever
be
as
decentralized
as
ledger.
A
You
implement
it
on
so
there's
some
other
systems
out
there
that
you
know,
obviously
that
are
based
on
trust,
Authority
models
and
stuff.
We
didn't
want
that.
You
know
we
wanted
something
that
even
we
were
not
a
trusted
Authority
in
so
I
on
doesn't
have
any
special
protocol
tokens.
It
doesn't
have
any
validators.
It
doesn't
have
really
any
things
you
know.
Signatories
Microsoft
has
no
control
other
than
the
fact
that
we,
you
know
we
contribute
lots
of
code
to
it,
but
that's
about
it
so
technical
assumptions.
So
there's
no
tech,
no
secondary
consensus
required.
A
In
fact,
the
chain
itself
Bitcoin
in
ipfs
having
the
data
is
really
the
only
consensus
necessary.
So
there's
no
like
Byzantine
protocol
on
top
that
nodes,
don't
talk
and
come
to
agreements
on
anything
they
can
be
in
agreement
mathematically.
So
no
conflicting
states
are
allowed
Alice
and
Bob's
IDs.
Can't
you
know
change
essentially
like
you.
They
can't
change
each
other
state
based
on
you
know
one
getting
a
weird
state
or
another
I
mean
IDs,
not
transferable,
so
you
can't,
you
know,
switch
IDs.
You
can't
extend
Bob
your
ID
like
I,
talked
about
earlier.
A
So
what
does
ion
look
like
in
terms
of
the
system?
And
this
is
where
we'll
start
talking
a
little
bit
about
IP
us,
and
so
basically
anyone
can
run
a
node
inside
a
note,
there's
really
three
main
pieces:
there's
a
transaction
writer,
a
processor,
some
processing
logic
and
then
there's
an
IP
FS
node
as
well
as
the
you
know,
the
underlined
chain
node,
which
would
be
like
Bitcoin
here.
A
So
if
someone's
running
it
like-
let's
say
node
one,
they
can
anchor
in
Bitcoin
one
or
up
to
10,000
ID
operations,
so
that
could
be
like
creates
or
updates
or
recoveries
or
whatever
the
OP
is
right
and
for
all
sorts
of
users.
Now,
if
you
wanted
the
most
self
sovereign
trust,
this
way,
you'd
run
a
node
and
you
create
a
transaction,
a
set
of
operations
which
are
backed
by
some
ipfs
files.
That
I'll
show,
and
you
would
anchor
this
anchor
hash
in
Bitcoin.
A
And
if
you
just
add
one
operation
in
your
batch
of
your
own,
you
would
have
to
pay
the
Bitcoin
fee,
but
you
don't
have
to
ask
anyone's
permission.
It's
sort
of
like
lightning
in
that
way.
It's
just
this
some
deterministic
protocol.
So
there's.
If
you
follow
the
rules,
it
basically
works,
but
you
probably
don't
want
to
ever.
Have
everyone
just
paying
for
Bitcoin
transactions,
nor
would
it
scale
so
the
reality
is.
People
will
probably
send
ops
to
other
nodes
Microsoft's
running
one
now
and
several
other
companies
are
as
well.
A
Tree
network
ion
they're.
Looking
for
these
hashes
to
come
through
bitcoin
they're,
inspecting
op
returns
and
they're
basically
very
concerned
about
these
hashes.
They
wants
as
quickly
as
possible,
to
replicate
and
pin
this
data
so
when
they
find
one
they
reach
out
to
all
the
other
nodes,
and
this
is
actually
the
only
way
that
nodes
communicate
with
each
other
is
through
ipfs.
They
look
for
this
data
that
backs
these.
These
files
that
are
anchored
there
and
when
they
start
streaming
it
in,
they
pin
it.
A
So
it's
it's
replicating
a
subset
essentially
of
the
IP
of
s
in
public
network,
which
is
these
files,
and
then
they
process
them
in
basically
a
deterministic
set
of
functions
that
always
outputs
the
same
thing.
So
it's
a
it's
a
strongly
eventually
consistent
system
that
gets
gets
to
the
same
answer
as
nodes
without
having
some
sort
of
secondary
consensus.
A
What
does
it
look
like
the
anatomy
of
an
operation?
This
is
where
we'll
talk
a
little
bit
more
of
that
ipfs
inside
Bitcoin
there
is
inside
Bitcoin.
There
is
you
know,
transactions
obviously
embedded
within
those.
Are
these
these
transaction
hashes
and
they're
see
IDs
of
the
anchor
file
anchor
files
linked
to
batch
files?
The
difference
here
is
that
anchor
falls
are
small,
proving
files,
whereas
batch
files
are
like
large,
verbose,
the
verbose
data
of
PKI
ops
right.
A
So
if
you
just
stored
the
anchor
files,
you
would
have
trustless
way
to
on-the-fly
resolve
any
D
ID
in
the
system
that
about
almost
two
orders
of
magnitude,
smaller
in
size
for
nodes
and
then,
if
you
store
two
all
batch
files,
it'd
be
like
full
nodes.
The
ascent
the
equivalent
right
is.
If
you
didn't
prune,
you
got
like
all
the
batch
vault
data
where
we're
developing
the
light
nodes
stuff
now,
so
you
can
run
a
small
footprint
right
now.
A
Anion
node,
with
an
ipfs
node
inside
and
bitcoin
everything
will
run
about,
will
run
on
a
nook
like
our
target
hardware,
as
of
2017
I,
five,
with
like
a
half
a
gig
terabyte
of
storage-
and
you
know
four
gigs
around,
so
you
can
run
these
on
on
normal
devices.
People
could
run
at
home
one
last
technical
slide
to
understand
what
what
site
ridi
IDs
are
specifically
I
on.
Is
there
they're,
basically
giant
CRT
T's?
A
And
if
that
word
sounds
weird
to
you,
a
CRT
TV
values
them
any
multi
writer,
sort
of
collaborative
app
that
you've
ever
used
like
Google
Docs.
You
know
where
Docs,
for
instance,
for
like
a
comedy.
These
are
CRT
T's.
They
basically
take
in
deltas
of
changes
from
participants
and
there's
a
coordinating
server
that
takes
these
changes
and
they're
incremented
with
integers.
As
you
can
see
on
the
slide,
you
know
basically,
operations
as
it
were,
and
they're
joined
together
in
a
logical
and
deterministic
fashion.
A
Now
traditional
CRT,
T's
use,
vector,
clocks
and
the
vector
clocks
are
you
trust
the
participants
to
increment
them,
and
then
you
trust
the
coordinator,
say
Google
or
Microsoft
or
someone
else
to
put
them
together?
What
bitcoin
does
is,
gives
us
one
big
vector,
clock
Oracle,
which
is
one
forward
counting
vector
clock
based
on
its
block
progression
and
transaction
ordering.
That
is
deterministic,
so
you
can
replay
you
don't
need
to
trust
the
participants
for
what
the
vector
was
because
it's
Bitcoin
and
you
don't
need
to
trust
someone
to
assemble
it.
Because
it's
a
stick.
A
You
know
it's
a
system,
that's
deterministic,
so
we've
essentially
removed
out
of
C
R
DT
systems
that
sent
centralized
intermediary.
So
what
do
we
get
massive
scale?
You
know
we're
operating
at.
You
know
up
to
tens
of
thousands
of
operations
per
seconds.
What
we've
tested
on
this
knock.
That's
an
absurdly
large
number
of
D
I
D
ops.
Just
to
give
you
sense
of
scale.
A
thousand
ops
per
second
would
be
the
equivalent
of
getting
50
billion,
D
IDs
in
to
the
system
in
a
year.
So
you
know
if
we
were
able
to
do
that.
A
I
think
we're
pretty
successful
as
a
community
50
billion
dod's
means
everyone's
using
it,
which
is
great
cost
efficient
right.
Ten
thousand
operations
in
one
Bitcoin
transaction
means
that
I
don't
really
care
too
much
about
fees,
and
you
know
that's
a
hundredth
of
a
penny
per
op.
So
it's
not
too
big
a
deal
and
it's
permissionless.
We
wanted
to
remove
ourselves
as
much
as
possible
from
this.
A
We
think
that
the
path
to
our
bus
network
is
three
stages:
we're
going
to
get
lots
of
larger
organizations
to
run
the
nodes
because
they
can
do
so
right
away
and
miR
all
the
data
like
full
nodes,
and
that
includes
the
IP
FS
data
and
then
start
you
know
picking
up
that
long
tail
as
we
go
and
enable
users
to
have.
You
know
subsets
of
the
ipfs
data
required
and
sort
of
just
build
a
robust
mirrored
network
of
peers
so
how
to
get
involved.
A
My
last
slide,
all
the
work
is
hex
actually
happens
in
decentralized
identity,
foundation,
site
tree
and
I
on
are
both
projects
that
are
not
within
Microsoft's
own
open-source
repos.
We
did
this
work
as
a
contribution
to
the
community
and
we've
been
working
closely
with
the
ipfs
folks
for
all
of
those
components
and
hope
to
upstream
any
you
know,
changes
or
anything
that
we
can.
You
know
help
with
there
as
they
they
come
to
be,
but
yeah
just
participate,
like
jump
in
you
know,
run
ion.
A
A
But
we
want
to
make
sure
that
D
IDs
are
supported
the
same
exact
way
that
you
can
log
into
Windows,
eventually
apps
and
stuff,
like
that,
with
Open
ID
Connect,
we
have
a
D
ID
based
version
of
Open
ID
Connect
that
you're
the
issuer
right.
There
is
no
IDP
in
the
middle
and
we
intend
to
support
that
in
our
products.
B
A
No
right
now,
you
can't,
like
you
can't
like
create
a
d
ID.
This
is
I've
thought
a
lot
about
this.
That's
right,
I
really
wanted
to
do
this
a
long
time
ago,
but
you
can't
create
a
D
ID,
that's
like
essentially
rooted
in
one
chain
or
all
of
them
at
once.
The
problem
is
actually
relativistic.
It's
like
you,
you
don't
actually
know
if
a
transaction
on
one
chain
or
another
happened
at
what
time.
So
you
would
need
like
some
bird
Oracle
to
essentially
align
all
those
states
and
tiebreak
and
understand
all
these
things.
A
So
my
you
know
our
next
milestone
after
beta
is
going
to
be
getting
this
thing.
I'm
off
you
know,
and
and
just
fully
v1
final,
and
you
know
rolling
the
network
out
and
obviously
for
Microsoft.
You
know
that
that
means
just
for
us
that
we're
running
our
node,
obviously
it's
scaled,
but
we
want
to
help
the
bigger
the
wider
ecosystem
that
all
the
nodes
get
to
a
point
where
the
underlying
code
is
hardened
and
you
know
battle-tested.
A
We
think
that
might
take
another
few,
but
we
certainly
hope
to
do
that
in
this
calendar
year
in
terms
of
what
ipfs
can
help
us
do
right
now,
we're
using
JSI
PFS,
so
it'd
be
great
to
have
native.
You
know,
ability
with
you
know
the
DHT
implemented
in
JSI,
pia
ipfs,
and
some
of
the
other
things
that
Ingo
ipfs
that
are
like
you
know,
present
there
and
not
maybe
yet
present
in
jess
ipfs.
B
A
Can
an
ion
network
based
on
a
different
blockchain
interoperate
with
the
dick
wound,
so
I
wouldn't
call
it
an
ion
network.
So
ion
is
the
Bitcoin
instantiation
I
would
call
whatever
they
call
their
network
so,
for
instance,
on
decide
to
implement
on
on
the
theorem
right
now.
It's
called
elements.
It
is
a
separate
network,
they
are
separate.
A
The
only
thing
they
have
in
common
is
ipfs.
Actually,
so
that's
the
same
network.
What
are
the
consequences
if
the
blockchain
is
broken
so
interesting
thing
about
ion-
and
this
is
actually
a
change
we
had
just
made
is
ion
is
is
crypt?
Is
quantum
resistant
in
the
sense
that
Bitcoin
bitcoin
is
secured
by
sha-256?
There
is
there's
a
reasonable
degree.
We
believe
that
hashing
functions
are
more
secure,
obviously
than
EC.
A
Grover's
algorithm
only
gives
you
about
a
doubling
like
it
only
halves
the
difficulty
right
that
you
would
need
to
correct
to
be
able
to
reverse
hashing,
or
so
that's
the
thought
right.
So
so
we
do
this
thing
called
pre
commitments
in
I
on
where
you
pre
commit
to
a
key.
That's
a
connect
reveal
scheme,
it's
kind
of
like
beta
script,
beta
key
hash
in
Bitcoin,
R
you're,
not
actually
revealing
your
next
updates
keys.
A
Yet
so
you,
you
basically
get
a
point
where,
if
there's
a
quantum
break
on
some
sort
of
ECC
underlying
crypto
foundation,
you
would
roll
your
key
and
sign
it
quickly
and
then
roll
into
a
commitment
against
maybe
like
some
sort
of
lattice
encryption
or
something
that
is
quantum
resistant
on
the
on
the
signature
side.
So
but
the
the
network
itself
in
the
history
is
secured
almost
all
by
sha-256.
So
it's
it's
rather
resistant.
A
Ok!
Is
there
any
blocker
you
see
in
the
future
in
terms
of
IP,
fest
technology
feature
included,
I
mean
gosh
is
so
I
know
one
one
thing
that
we
haven't
explored
yet,
but
that
I
really
want
to
see.
If
we
can
leverage
is
the
pub/sub
stuff,
I
know
that
there's
like
been
traditional.
You
know,
I
worked
at
Mozilla
previous
to
Microsoft,
and
you
know
there's
traditional
issues
with
flooding
of
certain
pure
technologies.