►
From YouTube: Baseline Hackathon2020 Scaling
Description
The backgrounder on the Baseline Protocol Hackathon 2020 Challenge #1, codenamed "Scaling".
https://bitcoin.co/hackathon/baseline/onboard
Details here: https://github.com/ethereum-oasis/baseline-roadmap/issues/155
A
Hi,
I'm
john
walpur,
and
I'm
here
with
the
baseline
protocol
and
we're
going
to
interview
andreas
freund,
who
is
one
of
the
great
contributors
to
the
baseline
protocol,
both
the
specification
and
the
ideation
around
what
how
it
works
and
andreas
you're
going
to
take
us
into
the
baseline
protocol.
A
Hackathon
2020s
scaling
challenge,
which
is
a
2
000
bounty
by
the
time
you,
I
think,
that's
that's
the
final
number,
if
it's
a
little
different
when
you
it
might
be
more
might
be
the
same,
but
so
two
thousand
dollars
on
this
bounty
and
you're
going
to
tell
us
about
how
how
to
get
involved
in
this
challenge,
how
to
get
running
fast
and
how
to
succeed.
How
to
succeed
with
this
challenge.
Take
it
away.
B
Absolutely
give
me
give
me
a
second.
Let
me
share
my
screen
so
that
everybody
can
see
where
things
where
things
are,
where
you
can
find
it.
It
should
be
linked
from
the
from
the
bitcoin
from
the
bitcoin
challenge
page,
but
if
you're
in
the
in
in
the
repo
and
want
to
find
it
it's
in
the
baseline
main
road
map.
Here,
it's
issue
number
155.,
so
you
can
find
that
and
the
challenge
addresses
two
things
number
one.
B
When
baseline
is
becoming
really
really
popular,
we
need
to
process
a
lot
of
transactions,
and
public
blockchains
are
typically
not
great
at
processing
that
many
transactions
on
the
one
hand
and
on
the
other
hand
there
are
other
people
who
also
want
to
use
the
public
mainnet.
So
it's
it's.
We
don't
want
to
be
a
netflix
in
in
in
the
year
1997
with
the
internet,
so
that
would
be
a
big
of
a
problem
right.
A
B
We
need
we
need
to
have
room
and
we
need
to.
We
need
to
bring
the
cost
down.
You
know
it's
like
50,
000
gas
still
cost.
You
cost
you
a
bit
when
you
put
it
on
a
on
a
per
document
basis
that
you
would
want
to
want
to
baseline
in
your
in
your
business
business
processes
and
your
cfo
definitely
definitely
is
going
to
going
to
ask
you.
Why
are
you
spending
a
dollar
on
a
document
when
you
when,
when
you
can
you
know
email
a
pdf
for
for
for
next
to
nothing
right.
B
Part
of
the
of
the
of
the
challenge
is,
is
by
increasing
throughput
through,
as
you
like,
to
call
it
fancy
batching.
We
also
need
to
reduce
the
the
transaction
costs
significantly
from
what
it
is
right
now
by
a
few
orders
of
magnitude.
So
that's.
A
Of
doing
it,
we'll
give
them
ideas
for
the
ways
we
think
it
ought
to
be
done,
but
at
the
end
of
the
day,
the
the
challenge
is
to
increase
throughput
or
show
a
way
to
do
it
to
increase
throughput
and
reduce
costs
on
a
per
work
step
basis.
B
That
is
correct,
that
is
correct
and
and
the
the
the
scaling
challenge
has
two
components:
there's
a
required
challenge,
which
is
show
that
you
have
a
hundred
participant
pairs
and
that
on
a
sustained
basis
for
10
minutes,
you
can
you
can
in
each
pair
you
can
process
one
record
per
second,
and
that
is
that
is
that
doesn't
sound
like
a
whole
much,
but
it's
it's!
You
know
you're
looking
at
at
100
transactions,
a
second
for
600
seconds,
so
that
that's
okay,
that's
not
that's!
B
Not
that's!
Not
that!
That's
not
nothing
and
to
make
to
make
it
fun
it
has.
It
should
be
invoices.
So
what
you
need
to
do?
You
need
to
understand
how
baseline
treats
these
process
documents,
such
as
invoices
and
orders
and
and
so
forth.
So
you
need
a
basic
understanding
how
baselining
works?
It's
probably
a
good.
B
You
know
to
work
through
the
through
the
documentation
as
a
first
step
and
then
maybe
take
a
look
into
into
how,
in
into
the
code
where
you're
you're
looking
how
a
document
is
submitted,
how
it's,
how
it's
currently
currently
currently
processed
and
then
how
it
is
anchored
on
on
on
layer.
One
again,
you
don't
need
to
go
into
all
the
nuts
and
bolts
of
the
of
the
code.
B
A
a
broad
review
is
enough,
because
you
have
the
opportunity
to
write
the
next
iteration
of
of
of
the
reference
implementation.
C
B
The
code
needs
to
evolve
significantly.
New
architectural
patterns
are
required
so
and
we've
always
we've
talked
about
privacy
a
lot,
so
you
don't
have
to
be
a
zk,
snark
or
zk
stark
or
bulletproof
expert.
However,
it
would
be
good
that
you
understand
the
basic
things
how
a
zk
snark
works.
So
how.
B
Yes,
from
a
conceptual
level,
so
you
understand
the
words
and
then
and
I'll
go
into
that
in
a
second,
the
the.
B
There's
some
there's
some
background.
There's
some
background
text
that'll
allow
you
to
find
the
to
find
the
links,
because
there
are
quite
a
few.
A
C
A
Competing
should
go
to
the
get
onto
baseline
protocol.org
if
you're
not
already,
there
get
the
slack
inviter
this
community
800
strong,
is
not
mostly
on
slack,
sorry,
not
discord
or
other,
although
we
have
folks
in
that
go
on
the
slack
channel,
and
this
and
there's
a
channel
on
there
called
hackathon
2020
dash
scaling,
join
that
and
you'll
be
in
the
in
the
in
the
groove,
with
the
people
that
know
what
they're
doing.
B
Yeah,
so
you
have
here
your
technical
requirements,
you
know
exactly
what
you
need
to
do,
oh,
and
by
the
way
the
optional
challenge
is
once
once
you
have
baselined
all
those
wonderful
invoices,
then
you
should
be
able
to
tokenize
them.
That
is
an
opportunity
for
you
to
collaborate
with
other
teams
that
are
that
working
on
different
challenges,
and
if
you
get
to
that
point,
you
might
want
to
reach
out
to
them,
because
this
is
about
tokenization.
B
This
is
about
being
able
to
exit
a
state
from
one
workflow
and
then
and
then
doing
doing
something
with
it.
So
the
tokenization
and
the
workflow
exit
teams
could
already
have
something
that
you
can
use
and
that
they
might
be
willing
to
share.
If
you
share
what
you
have
so.
A
Some
of
the
other
challenges
that
are
happening
at
the
same
time
and
see
if
you've
got
your
scaling
solution.
Cooking
up,
you
could
say:
hey
you
know
you
might
want
to.
You
might
be
able
to
be
useful
for
those
other
projects
andreas.
One
of
the
things
that
I
find
interesting
about
this
one
is
the
complication
right.
So
all
good
stories
right.
They
start
with
a
with
a
problem,
but
then
there's
an
interesting
complication
to
the
problem.
A
This
one
tell
me
if
I'm
wrong,
but
the
interesting
problem
is
it's
easy
enough
to
batch
things,
and
you
know
you
could
set
up
any
kind
of
server
for
batching
and
you
could
you
know
land
that
plane
on
the
on
the
main
net
from
time
to
time,
and
you
can
use
any
number
of
schemes
for
doing
so,
but
the
trick
with
baselining
is
that
you
have
to
maintain
assurance
that
sequencing
is
done
correctly
right.
A
A
This
is
one
of
the
things
that
you
don't
that
baselining
prevents,
at
least,
if
you
do
it
all,
on
a
single
state
machine
like
the
main
net,
maintaining
that
sequencing
that
strong
sequencing
in
fancy
batching
with
things
like
mutex
approach,
approaches
like
mutex,
you
know
you
you,
you
have
to
be
able
to
maintain
that.
Do
you
have
anything
to
say
about
that.
B
Yes,
I
mean
that
is,
that
is,
that
is
part
of
that's
that's
part
of
part
of
the
the
challenge
that
you
need
to
check
for,
for
what
you
would
call
technically
state
dependencies.
So
is
your
is
your.
Is
your
previous
state
or
your
new
state
you
know
is
there,
are
there?
Are
there
are
two
competing
transactions
that
that
reference
the
same
state
and
is
that,
okay,
or
not
so
or.
B
That
is
true,
because
the
zero
knot
circuit
will
encode
the
the
business
logic
to
be
full
filled
and
actually
there.
There
will
then
need
to
be
need
to
be
updates.
That
says
that,
oh
by
the
way,
this
proof
tells
me
right
that
I
have
now
have
now.
My
price
has
gone
down.
So
in
this
case,
where
you
have
your
invoices,
is
the
price
correct,
while
the
price
you
can
only
check
if
the
price
is
correct
on
an
on
an.
A
B
Right
and
that
should
be
part
of
your
of
your
text
test
fixtures
right.
I
mean
your
your
your,
where
you
demonstrate
that
that
all
your
technical
requirements
hold
is
in
your
in
your
in
your
test,
suite
that
have
outputs
that
demonstrate
that
all
the
technical
requirements
that
are
that
are
specified
are
full
fulfilled
in
each
and
single
one.
Each
single
one
of
them
can
be
can
be
fulfilled
through
a
provably
fulfilled
through
through
a
test,
either
through
a
positive
or
through
a
a
negative
test.
B
So
that's
up
to
you
to
do
that,
because
the
judges
will
look
at
that
and
say:
is
your
test
coverage
of
your
solution
complete
compared
to
the
to
the
technical
requirements
so
that
that's
that's
one
of
the
one
of
the
the
judging
criteria
that
are
that
are
that
are
highlighted
down
here?
B
Which
really
brings
me
also,
then,
to
the
to
the
suggested
components
that
you
want,
that
you
want
to
have
here
so
and
and
let
me
let
me,
walk
and
walk
through
them
and
tell
you
why
they
have
been
included
and
and
where
to
where
to
find
where
to
find
them.
B
So,
let's
actually,
let's
actually
start
at
the
at
the
top
here,
one
of
the
things
that
the
current
reference
implementation
doesn't
have
is
you
cannot
upgrade
your
smart
contracts
and
in
this
challenge
here
you
have
a
hundred
pairs
in
the
current
setup.
You
would
have
to
deploy
a
hundred
smart,
smart
contract
architectures
to
process
that,
so
that
is
not
really.
A
Good
at
all,
and
and
in
the
middle
of
the
co
in
the
contest,
the
folks
that
may
not
be
fully
understanding
that
problem,
they
can
catch
up
with
you
and,
and
you
can
take
them
through
it.
B
They
can,
they
can
cut,
they
can
catch
up
with
me.
There
is
in
fact
there
is
there.
There
is
so
the
reason
why
is
you
need
to
obviously
go
into
the
baseline
reference
implementation
and
just
look
what's
currently
there
and
then
realize?
Aha,
if
I
were
to
do
that,
you
know
if
I
had
you
know
100
pairs,
I
would
need
currently
a
hundred
different
different
different
setups,
but
I
can.
I
can
only
have
one
set
up.
A
Just
in
case
somebody's
following
along
and
yeah,
so
so
andres,
this
is
great.
It's
a
pretty,
I
I'll
say
to
anybody
watching.
This
is
a
pretty
deep
challenge,
probably
the
deepest
one
technically,
and
this
is
not
just
an
opportunity
to
win
some
thousands
of
dollars.
It's
also
a
real
opportunity
to
distinguish
yourself
and
your
team
and
get
some
real
opportunities
to
be
out
in
front
of
this
growing
community
of
of
of
baseliners,
and
I
think
anybody
that
that
works
this
one
to
the
ground.
A
Even
if
you
don't
to
be
clear
andreas,
this
one
does
not
require
that
it
actually
pass
right.
This,
the
the
the
whoever
gets
the
farthest
and
has
a
good
judging
is
going
to
be
the
winner,
but
I
don't
think
that
we're
we're
requiring,
compile
and
and
and
and
build
right.
B
It
it
should,
it
should
meet.
You
know
the
more
of
the
technical
criteria
that
are
that
are
that
are
listed,
that
you
meet
the
better
right.
So
what
I
can
tell
you
right
now
like
hidden
hint
right,
if
you,
if
you
want
to
get
a
get
a
little
ahead
of
time,
right
utilize,
the
diamond,
upgrade
pattern,
because
it
allows
you
to
have
multiple
different
contracts
effectively
attached
to
to
to
a
to
a
to
a
management
contract
that
allows
you
to
do
all
the
good
things.
B
So
there
is
a
repo
you
can
cut
it.
You
can
literally
clone
that
and
start
off
with
an
up
with,
with
with
an
upgradable,
smart
contract
architecture
right
off
the
of
the
of
the
bat.
A
simple
google
eip2535
github
will
get
you
to
that.
We'll
also
link
link
link
to
it
here.
If
you
want
to
get
started
on
the
right
architecture,
understanding
how
current
current
scaling
solutions
for
ethereum
are
are
utilized.
B
Like
matter
labs,
aztec
starkware
go
to
their
repos
and
look
at
what
they're,
what
they're
doing,
how
they're
doing
it
again.
There's
there's
there
there
they're
different
different
approaches,
the
one
that
I
personally
like,
because
there's
a
lot
of
documentation
available
already,
is
the
one
from
from
matter
labs,
not
affiliated
in
any
way
shape
or
form.
I
just
I
just
found
it
very
easy
to
use.
Zinc
is
very
easy
to
use.
B
You
can
write
your
your
your
business
logic
in
in
in
in
a
rust
type,
smart
contract
language
and
they
have
the
tooling
that
will
compile
it
down
to
to
what
you
need
they're,
actually
in
production,
implementation
of
of
a
layer,
two
scaling
for
transfers,
which
you
can
easily
extend
to
to
to
what
you
need
to
do.
Zk
sync
there
that
is
also
a
repo
you
can
clone
and
go
go
in
there.
You
have
four
weeks,
you
can
do
it
it
will.
B
A
Speaking
of
speaking
of
that
andreas,
that's
my
last
question,
and
I
mean
it's:
okay,
if
you
don't
have
a
specific
spot,
but
you
might
are
there
places
that
you
can
show
us
right
here
in
the
code
base.
That
would
give
people
sort
of
a
clue
as
to
where
to
start
like
where
what
part
of
the
repo
would
you
want
to
be
digging
into.
First.
B
Again,
I
would
start
I
would
start
with
the
with
the
doc
documentation.
Then
I
would
look
at
the
at
the
at
the
messaging
module.
C
Let
me
let
me
actually
go
and
let
me
go
back
to.
C
A
Under
core
bri
ones
under
examples,
so
core
is
right
here,
and
these
are
the
interfaces.
B
For
the
basic
contracts,
the
messaging,
how
things
are
persisted,
these
are
the
these
are.
This:
is
the
privacy,
the
zk,
the
zk
snarks
are
or
are
in
there?
So
if
you,
if
you
the
the
the
the
interesting
thing,
is
this
is
it
it
might
be
worth
briefly
looking
into
that,
but
what
you're
going
to
do
is
going
to
be
very,
very
different
than
what
is
currently
being
what
is
currently
being.
B
That
will
also
be
be
yeah.
It's
like
think
about
what
I
can.
What
I
can
I
can.
I
can
tell
you,
the
current
implementation
uses
smart
contracts
for
storing
the
the
the
state
trees
for
the
for
for
for
the
workflows,
bad
idea,
not
gonna
work
for
in
a
in
in
a
in
a
scaling
environment.
This
has
to
be
off
chain
which
means
think
about
what
type
of
type
of
type
type
of
database
you
should
be
using
for
for
for
your
state
merkle
trees
for
the
for
the
for.
B
Think
about
the
concept
of
an
account
so
there's
another
there's
another
github
issue
that
has
some
of
the
requirements
for
a
scaling
solution
in
there
that
you
might
want
to
actually
look
at.
I
think
it's
issue
1
56
or
something
like
that.
A
And
then
just
real
quick
navigate
back
up
just
to
make
sure
people
see
where
so.
This
is
where
core
is,
but
then
the
bri
one
that's
baseline
reference
implementation.
One
is
under.
C
B
B
Yes,
exactly-
and
this
is
this-
just
is
pretty
much
the
the
you
know,
the
the
libraries,
the
the
the
connector
proxy
there's,
there's
one
for
for
google
for
google
sheets
you're
you're
effectively
integrating
google
sheets,
but
that's
not
really
relevant.
You
can
just
you
can
just
use.
You
can
just
use
like
a
postman
or
or
that's.
A
B
C
A
So
I
think
this
is
gonna.
This
is
great
stuff
andreas
and
I
know
that
clearly
everyone,
the
there's,
the
money,
there's
the
fame
and
there's
also
a
chance
to
work
with
some
brilliant
people
who
know
what
they're
talking
about
in
the
space,
and
so
I
I
hope
that
we
see
you
in
the
challenge-
and
I
hope
this,
this
short
segment
helps
you
get
off
and
running
by.
B
A
The
one
that's
a
real
friendly
crew,
just
jump
on
the
slack
and
and.
B
Just
do
that
and
also
reach
out
to
to
the
guys
over
at
at
starkware
or
aztec
or
matter
labs.
They
have
their
discord
channels
and
everything
I'm
always
happy
to
make
a
warm
handshake,
introduction
and
they're
always
eager
to
help
people
who
are
who
are
using
their
code
so
especially
in
a
in
a
high
profile,
hackathon
hackathon
such
as
this.
So
I
I
encourage
you
to
reach
out
and
and
if
you
don't
already
know
them,
then
then
right
now.
A
A
Andreas
thanks
so
much
for
your
time.
I
know
you're
busy
and
this
is
gonna-
be
great
I'll
I'll
I'll
put
it
up
on
youtube
right
away.