SlideShare a Scribd company logo
1 of 85
Alternative Cryptocurrencies
Stefan Dziembowski
University of Warsaw
Workshop on Bitcoin, Introduction to Cryptocurrencies,
Kfar Maccabiah, Ramat Gan, Israel, June 6-7, 2016
Drawbacks of Bitcoinโ€™s PoWs
costs money
bad for
environment
1. high energy consumption
2. advantage for people with
dedicated hardware
Drawbacks of Bitcoin transaction
system
1. lack of real anonymity
2. non-Turing complete scripts
OP_DUP OP_HASH160
02192cfd7508be5c2e6ce9f1b6312b7f268476d2
OP_EQUALVERIFY OP_CHECKSIG
Natural questions
Can we have:
1. PoWs where there is no mining in hardware?
2. more energy-efficient PoWs?
3. PoWs doing something useful?
4. PoWs that are impossible to outsource (so there are no
mining pools)?
5. a cryptocurrency with real anonymity?
6. a cryptocurrency with Turing-complete scripts?
Answer to most of these questions: yes (but still some more
research is needed).
Alternative cryptocurrencies
a) Litecoin โ€“ a currency where hardware mining is
(supposedly) harder
b) Spacemint โ€“ a currency based on the Proofs of Space
c) Currencies based on the Proofs of Stake
d) Currencies doing some useful work (Primecoin,
Permacoin)
e) Zerocash โ€“ a currency with true anonymity
f) Ethereum โ€“ a currency with Turing-complete scripts
g) Other uses of the Blockchain technology
Disclaimers: (a) some of them are just academic
proposals, (b) this order is not chronologic.
Plan
1. Litecoin โ€“ a currency based on the
Scrypt hash function
2. Spacemint โ€“ a currency based on the
Proofs of Space
3. Currencies based on the Proofs of Stake
4. Currencies doing some useful work
(Primecoin, Permacoin)
5. Ethereum โ€“ a currency with Turing-
complete scripts
6. Other uses of the Blockchain technology
Litecoin
Released in Oct 2011 by Charles Lee.
Instead of SHA256 Litecoin uses scrypt hash function
introduced in:
Colin Percival, Stronger Key Derivation via Sequential Memory-
Hard Functions, 2009.
Idea: scrypt is a function whose computation requires a lot of
memory, so itโ€™s hard to implement it efficiently in hardware
as of June 2016:
Market cap โ‰ˆ 226 million USD
1 L๐“๐‚ โ‰ˆ 5 USD
really?
How scrypt works?
๐•๐Ÿ = ๐‡(๐—) ๐•๐Ÿ = ๐‡(๐•๐Ÿ)๐•๐ŸŽ = ๐— ๐• ๐‘ตโˆ’๐Ÿ = ๐‡(๐• ๐โˆ’๐Ÿ). . .
second phase: compute the output by accessing the table
โ€pseudorandomlyโ€
Z โ‰” ๐‡(๐• ๐โˆ’๐Ÿ)
for i = 0 to N โˆ’ 1 do
๐ฃ โˆถ= ๐— ๐ฆ๐จ๐ ๐
Z โ‰” ๐‡(๐™ โŠ• ๐•๐ฃ)
output Z
computing scrypt(X)
init phase: fill-in at table of length ๐ with pseudorandom expansion of ๐—.
๐•๐ŸŽ ๐•๐Ÿ ๐•๐Ÿ ๐•๐Ÿ‘ ๐•๐Ÿ’ ๐•๐Ÿ“ ๐•๐Ÿ” ๐•๐Ÿ• ๐•๐Ÿ– ๐•๐Ÿ—
result (for N = 10):
What is known about scrypt?
[Percival, 2009]:
โ€ข it can be computed in time ๐‘ถ(๐),
โ€ข to compute it one needs time ๐“ and space ๐’ such that
๐’ ร— ๐“ = ๐›€ ๐ ๐Ÿ
this holds even on a parallel machine.
Pictorially:
a circuit
computing
scrypt
output
input
T
S
An observation
[Alwen, Serbinenko, STOCโ€™15]: this definition is not
strong enough.
The adversary that wants to compute scrypt in parallel
can โ€œamortize spaceโ€. Example:
S S S
T
๐Ÿ‘๐’
๐Ÿ
can be
computed in
parallel as
follows:
Note:
๐Ÿ‘๐’
๐Ÿ
โ‰ช ๐Ÿ‘๐’.
So: the bound provided by Percival is meaningless.
circuitfor
scrypt
circuitfor
scrypt
circuitfor
scrypt
The contribution of [Alwen and Serbinenko]
1. the โ€œrightโ€ definition:
2. a construction that satisfies this definition (uses
advanced graph theory).
a circuit
computing
scrypt
T
S
instead of looking at ๐’ ร— ๐“. . . look at the sum of
memory cells used over
time
โ€œthe area on the pictureโ€
Open problem
Prove security of the
scrypt function in the
[Alwen, Serbinenko]
model.
Plan
1. Litecoin โ€“ a currency based on the
Scrypt hash function
2. Spacemint โ€“ a currency based on the
Proofs of Space
3. Currencies based on the Proofs of Stake
4. Currencies doing some useful work
(Primecoin, Permacoin)
5. Ethereum โ€“ a currency with Turing-
complete scripts
6. Other uses of the Blockchain technology
Spacemint
[Sunoo Park, Krzysztof Pietrzak, Albert Kwon, Joรซl Alwen,
Georg Fuchsbauer, Peter Gaลพi, Eprint 2015]
Based on the Proofs of Space [D., Faust, Kolmogorov, and
Pietrzak, CRYPTO 2015]
Main idea: Replace work by disk space.
Advantages:
โ€ข no โ€œdedicated hardwareโ€,
โ€ข less energy wasted (โ€œgreenerโ€).
Example of an application other than
cryptocurrencies
Goal: prevent malicious users from opening lots of fake
accounts.
Method: force each account owner to โ€œwasteโ€ large part
of his local space.
Important: the space needs to be allocated as long as the
user uses the service.
cloud computing service
(e.g. email system)
Main difference from PoWs
To prove that one wasted n CPU cycles one needs to
perform these cycles.
while:
To prove that one wasted n bytes one does not need
touch all of them.
Advantages
โ€ข more energy-efficient
โ€ข no โ€œhardware accelerationโ€
โ€ข cheaper (user can devote their unused disk space)
The security definition
How to measure time and space
Time is measured in terms of the calls
to a random oracle ๐‘ฏ.
Space is measured in blocks of length ๐‘ณ
(outputs of ๐‘ฏ).
E.g. ๐‘ณ = ๐Ÿ๐Ÿ“๐Ÿ”.
block
๐‘ณ
The general scenario
verify prove
R
๐‘ต blocks of length ๐‘ณ.
...
๐ˆ๐ง๐ข๐ญ(๐ˆ๐)
๐๐ซ๐จ๐จ๐Ÿ
๐๐ซ๐จ๐จ๐Ÿ proveverify
proverโ€™s memory
verifer prover
output โˆˆ {๐š๐œ๐œ๐ž๐ฉ๐ญ, ๐ซ๐ž๐ฃ๐ž๐œ๐ญ}
๐ˆ๐, ๐‘ต ๐ˆ๐, ๐‘ต
The proof is done with respect to an identifier ๐ˆ๐ (e.g. email address).
๐ˆ๐ should be unique for each execution
(e.g. can contain a nonce from a verifier)
How to define security of a PoS
Properties:
โ€ข completeness,
โ€ข soundness, and
โ€ข efficiency.
If the prover is honest then
the verifier will always
accept the proof.
less trivial to define
How to define the efficiency?
Let us show a very simple (but not efficient)
PoS.
Note: we have not defined the security yet, so
itโ€™s just an โ€œinformal exampleโ€.
A โ€œtrivial PoSโ€
๐‘น = (๐‘น ๐Ÿ, โ€ฆ , ๐‘น ๐‘ต)
๐‘ฑ โŠ† ๐Ÿ, โ€ฆ , ๐‘ต
such that ๐‘ฑ = ๐’Œ
๐‘น๐’Š ๐’Šโˆˆ๐‘ฑ
R
๐๐ซ๐จ๐จ๐Ÿ
checks if
the answer
is correct
Note: if ๐‘น is generated pseudorandomly then he need to store
only the seed.
Easy to see:
to pass the verification the
prover needs to store โ‰ˆ ๐‘น
data.
Problem:
the initialization phase
requires the verifier to do a lot
of work
๐ˆ๐ง๐ข๐ญrandom
๐’Œ โ€“ security
parameter
Efficiency
verifier prover
๐ˆ๐ง๐ข๐ญ ๐ฉ๐จ๐ฅ๐ฒ(๐ฅ๐จ๐  ๐‘ต , ๐’Œ) ๐ฉ๐จ๐ฅ๐ฒ(๐‘ต)
๐๐ซ๐จ๐จ๐Ÿ ๐ฉ๐จ๐ฅ๐ฒ(๐ฅ๐จ๐  ๐‘ต , ๐’Œ) ๐ฉ๐จ๐ฅ๐ฒ(๐ฅ๐จ๐  ๐‘ต , ๐’Œ)
We require that the computing time of the parties is as
follows:
Note:
this also imposes limit on communication complexity.
Remark:
In our protocols ๐ฉ๐จ๐ฅ๐ฒ is small (e.g.: ๐ฉ๐จ๐ฅ๐ฒ ๐ฅ๐จ๐  ๐‘ต , ๐’Œ = ๐ค โ‹… ๐ฅ๐จ๐  ๐‘ต).
How to define soundness?
Informally:
we want to force a cheating prover to constantly
waste a lot of memory.
What would be the goal of a cheating prover?
โ€œCompressโ€ ๐‘น:
verify prove
...
Init(Id)
proof
proofverify
๐‘ฟ
๐‘ต ๐ŸŽ โ‰ช ๐‘ต โ€œblocksโ€
prove
๐‘น
๐‘ต
Observation: a cheating prover has a simple
(but inefficient) winning strategy.
Init(Id)
erase ๐‘น but store all the
messages from the verifier:
each time
before the
proof:
erase ๐‘น
X
๐ฉ๐จ๐ฅ๐ฒ(๐ฅ๐จ๐  ๐‘ต , ๐’Œ)
answer by
simulating
expand by
simulating
Rproof
X
Moral:
we need to restrict the power of
a cheating prover.
Restrictions on cheating prover
We restrict his operating time.
We say that ๐‘ท is an
๐‘ต, ๐‘ป -cheating prover
if:
size of
๐‘ทโ€™s storage
time used by ๐‘ท
during ๐๐ซ๐จ๐จ๐Ÿ
(we also have a variant of a definition with a restriction on
๐‘ท โ€˜s space during proof).
Note: no restrictions on ๐‘ทโ€™s computing power during ๐ˆ๐ง๐ข๐ญ.
Security definition
A protocol is a ๐‘ต, ๐‘ป -Proof of Space if it is
complete, efficient, and sound.
โˆ€
๐‘ต, ๐‘ป
-cheating
prover
๐š๐œ๐œ๐ž๐ฉ๐ญ๐ฌ
P( ) โ‰ค ๐ง๐ž๐ ๐ฅ(๐ค)
The constructions
Why is constructing the PoS schemes hard?
Time-memory tradeoffs
R
X
time
๐‘ต
R
๐‘ต
๐‘ต
Instead of storing ๐‘ต blocks
the adversary stores ๐‘ต blocks
and before every ๐๐ซ๐จ๐จ๐Ÿ phase
computes ๐‘น in time ๐‘ต.
For example:
Example of a time-memory
tradeoff: function inversion
๐‘ญ: ๐ŸŽ, ๐Ÿ ๐’ โ†’ ๐ŸŽ, ๐Ÿ ๐’ โ€“ a random permutation
Fact: ๐‘ญ can be inverted efficiently if one can do
precomputation and store the result in memory of
size ๐Ÿ ๐’
.
1. compute F on every ๐’™ โˆˆ ๐ŸŽ, ๐Ÿ ๐’
and
put every ๐’™, ๐‘ญ ๐’™ into a table ๐‘ป
2. sort the table ๐‘ป by the
second column
๐’™ ๐ŸŽ ๐‘ญ ๐’™ ๐ŸŽ
๐’™ ๐Ÿ ๐‘ญ ๐’™ ๐Ÿ
๐’™ ๐Ÿ ๐‘ญ ๐’™ ๐Ÿ
๐’™ ๐Ÿ‘ ๐‘ญ ๐’™ ๐Ÿ‘
๐’™ ๐Ÿ‘ ๐‘ญ ๐’™ ๐Ÿ‘
๐’™ ๐ŸŽ ๐‘ญ ๐’™ ๐ŸŽ
๐’™ ๐Ÿ ๐‘ญ ๐’™ ๐Ÿ
๐’™ ๐Ÿ ๐‘ญ ๐’™ ๐Ÿ
Can we build a PoS out of it?
No ๏Œ
[M. Hellman, 1980]: a time-memory tradeoff exists for
this problem:
๐‘ญ can be inverted in time ๐‘ต given pre-processing in
space ๐‘ต.
Main technique
๐‘ฎ = (๐‘ฝ, ๐‘ฌ) โ€“ a directed acyclic graph with ๐‘ฝ = ๐‘ต.
๐‘ฏ๐ˆ๐ โ€“ a hash function that depends on ๐ˆ๐.
(for example ๐‘ฏ ๐‘ฐ๐’… ๐’™ = ๐‘ฏโ€ฒ(๐‘ฐ๐’…||๐’™) for some other hash function ๐‘ฏโ€ฒ)
We construct ๐‘น = ๐‘น ๐Ÿ, โ€ฆ , ๐‘น ๐‘ต by recursively labelling vertices ๐‘ฝ as
follows:
1 2
3 4
5
๐‘น ๐Ÿ = ๐‘ฏ ๐‘ฐ๐’…(๐Ÿ) ๐‘น ๐Ÿ = ๐‘ฏ ๐‘ฐ๐’…(๐Ÿ)
๐‘น ๐Ÿ‘ = ๐‘ฏ ๐‘ฐ๐’…(๐Ÿ‘, ๐‘น ๐Ÿ, ๐‘น ๐Ÿ) ๐‘น ๐Ÿ’ = ๐‘ฏ ๐‘ฐ๐’…(๐Ÿ’, ๐‘น ๐Ÿ)
๐‘น ๐Ÿ“ = ๐‘ฏ ๐‘ฐ๐’…(๐Ÿ“, ๐‘น ๐Ÿ‘, ๐‘น ๐Ÿ’)
Note: every ๐‘ฎ induces a function ๐’‡ ๐‘ฎ of a form ๐ˆ๐ โ†ฆ (๐‘น ๐Ÿ, โ€ฆ , ๐‘น ๐‘ต).
Very informally
A graph that is bad if it can be โ€œquicklyโ€ labeled if one
stores a โ€œsmallโ€ number of labels.
Example of a bad graph:
1 2 3 Nโ€ฆ
๐‘ต ๐‘ต
The adversary that stores labels in positions
๐Ÿ, ๐‘ต, ๐Ÿ ๐‘ต, โ€ฆ can compute every label in ๐‘ต steps.
Call a graph good if it is not bad.
How to build a PoS from a good
graph?
Problem: the entire ๐‘น needs to be sent to the verifier.
๐‘น = (๐‘น ๐Ÿ, โ€ฆ , ๐‘น ๐‘ต)
๐‘ฑ โŠ† ๐Ÿ, โ€ฆ , ๐‘ต
such that ๐‘ฑ = ๐’Œ
๐‘น๐’Š ๐’Šโˆˆ๐‘ฑ
๐ˆ๐, ๐‘ต ๐ˆ๐, ๐‘ต
Compute
๐‘น = ๐‘น ๐Ÿ, โ€ฆ , ๐‘น ๐‘ต โ‰” ๐’‡ ๐‘ฎ ๐ˆ๐
๐ˆ๐ง๐ข๐ญ
๐๐ซ๐จ๐จ๐Ÿ
Solution: let the prover commit to ๐‘น with a
Merkle tree.
๐‘น ๐Ÿ ๐‘น ๐Ÿ ๐‘น ๐Ÿ‘ ๐‘น ๐Ÿ’
๐‘ฏ(๐‘น ๐Ÿ, ๐‘น ๐Ÿ) ๐‘ฏ(๐‘น ๐Ÿ‘, ๐‘น ๐Ÿ’)
๐‘น ๐Ÿ“ ๐‘น ๐Ÿ” ๐‘น ๐Ÿ• ๐‘น ๐Ÿ–
๐‘ฏ(๐‘น ๐Ÿ“, ๐‘น ๐Ÿ”) ๐‘ฏ(๐‘น ๐Ÿ•, ๐‘น ๐Ÿ–)
C
Recall: Merkle trees allow to efficiently prove that each block
๐‘น๐’Š was included into the hash ๐‘ช.
This is done by sending ๐Œ๐ž๐ซ๐ค๐ฅ๐ž๐๐ซ๐จ๐จ๐Ÿ ๐‘น๐’Š
๐Œ๐ž๐ซ๐ค๐ฅ๐ž๐๐ซ๐จ๐จ๐Ÿ ๐‘น ๐Ÿ“ =
๐‘น ๐Ÿ”, ๐‘ฏ ๐‘น ๐Ÿ”, ๐‘น ๐Ÿ• , โ€ฆ๐Œ๐ž๐ซ๐ค๐ฅ๐ž(๐‘น ๐Ÿ, โ€ฆ , ๐‘น ๐Ÿ–)
New ๐ˆ๐ง๐ข๐ญ phase
๐Œ๐ž๐ซ๐ค๐ฅ๐ž(๐‘น)
๐ˆ๐ ๐ˆ๐
Compute
๐‘น = ๐‘น ๐Ÿ, โ€ฆ , ๐‘น ๐‘ต โ‰” ๐’‡ ๐‘ฎ ๐ˆ๐
b c
a
๐‘น ๐’ƒ ๐‘น ๐’„
๐‘น ๐’‚
checks if
๐‘น ๐’‚ = ๐‘ฏ ๐‘ฐ๐’… ๐’‚, ๐‘น ๐’ƒ, ๐‘น ๐’„
if yes, then we say
that ๐’‚ is consistent
repeat ๐’Œ times
New ๐๐ซ๐จ๐จ๐Ÿ phase
In the ๐๐ซ๐จ๐จ๐Ÿ phase the prover opens the Merkle
commitment to every ๐‘น๐’Š he is asked about.
๐‘ฑ โŠ† ๐Ÿ, โ€ฆ , ๐‘ต
such that ๐‘ฑ = ๐’Œ
๐‘น๐’Š ๐’Šโˆˆ๐‘ฑ
Easy to see
๐‘ฎ โˆ’ a graph to which a malicious prover committed.
If the consistency check was ok for ๐’Œ times, then most
likely:
a large fraction of nodes in ๐‘ฎ is consistent.
How to deal with the inconsistent
nodes?
graph ๐‘ฎ: ๐’™ inconsistent
nodes
The adversary can โ€œsaveโ€ memory
by not storing these ๐’™ blocks.
Observation: such an adversary
with memory ๐‘ต ๐ŸŽ can be
โ€œsimulatedโ€ by an adversary with
memory ๐‘ต ๐ŸŽ + ๐’™ that commits to a
graph with no inconsistent nodes.
Techniques
We construct good graphs such that the time-memory
tradeoffs for computing ๐’‡ ๐‘ฎ are bad.
For this we use techniques from graph pebbling.
The constructions are based on tools from graph theory:
โ€ข hard to pebble graphs of Paul, Tarjan, Celoni, 1976,
โ€ข superconcentrators, random bipartite expander graphs,
and
โ€ข graphs of Erdos, Graham, Szemeredi, 1975.
The details are in the paper.
The results of [DFKP15]
We construct a ๐’„ ๐Ÿ ๐‘ต, ๐’„ ๐Ÿ ๐‘ต โˆ’Proof of Space.
(for some constants ๐’„ ๐Ÿ, and ๐’„ ๐Ÿ)
We also have a construction that is secure when the
proverโ€™s space during the execution is restricted.
Caveat: in the model we need a โ€œsimplifying
assumptionโ€ that the adversary can explicitly state
which block he knows.
A question
How to construct a
cryptocurrency on top of PoS?
Why cannot the PoSโ€™s be used to
directly replace the PoWs?
1. PoW is single-phase, while PoS has the Init
phase
2. How to make the reward proportional to
invested resources?
3. Where does the challenge come from? (we will
talk later about it)
Single-phase vs. โ€œwith initializationโ€
random ๐’™
proof ๐’” random ๐’™
proof ๐’”
commitment ๐‘ช โ‰”
(Merkle(f(Id)),Id)
Note: the consistency
check can be performed
in the proof phase
Good news: also PoS is โ€œpublic coinโ€.
PoW: PoS:
prover verifier prover verifier
The solution
Every user who joins the system โ€œdeclaresโ€ how
much space he can devote. This is done as follows:
Gen (secret key sk, public key pk)runs
๐‘น ๐Ÿ, โ€ฆ , ๐‘น ๐‘ต = ๐’‡ ๐ฉ๐ค
๐‘ช โ‰” ๐Œ๐ž๐ซ๐ค๐ฅ๐ž ๐‘น ๐Ÿ, โ€ฆ , ๐‘น ๐‘ต
Take a PoS scheme
๐’‡ โ€“ the function that fills-in the memory
transaction โŒฉ๐œ๐จ๐ฆ๐ฆ๐ข๐ญ, ๐‘ช, ๐ฉ๐ค โŒช
Note: no need to run
the consistency check
(this is done later)
How to make the reward proportional
to invested resources?
Suppose we have 5 miners, with the
following proportion of space:
How to determine who has the right to
extend the chain in from a given block?
Observation
Let ๐‘ต ๐Ÿ, โ€ฆ , ๐‘ต ๐’Œ be the memory sizes of the miners.
Suppose ๐‘ต ๐Ÿ = โ‹ฏ = ๐‘ต ๐’Œ.
Suppose we have a random challenge ๐’™.
Observe that the PoS of [DFKP15] is public-coin.
Let every miner execute the PoS with respect to this
challenge:
In Bitcoin the
challenge was
the previous
block.
๐’™
๐’” ๐Ÿ“๐’” ๐Ÿ ๐’” ๐Ÿ‘ ๐’” ๐Ÿ’๐’” ๐Ÿ
๐‘ฎ: ๐ŸŽ, ๐Ÿ โˆ— โ†’ {๐Ÿ, โ€ฆ , ๐‘พ} โ€“
a hash function (with
very large ๐‘พ)
๐‘ท๐’Š is the winner if ๐‘ฎ( ๐’” ๐’Š) is larger than all the other ๐‘ฎ( ๐’” ๐’‹)โ€™s.
๐‘ท ๐Ÿ ๐‘ท ๐Ÿ ๐‘ท ๐Ÿ‘ ๐‘ท ๐Ÿ’ ๐‘ท ๐Ÿ“
proofs
Easy to see:
For each ๐‘ท๐’Š his probability of
winning is equal to ๐Ÿ/๐’Œ.
This is because for a given
commitment ๐‘ช and a the challenge
๐’™ the solution ๐’” is uniquely
determined.
Note: this is not true if
one can change ๐‘ช.
This is why we require
the miners to post
commitments on the
blockchain
If it was not the case then a malicious miner could try
different ๐’”โ€™s.
Hence we would be back in the Proof of Work scenario.
But what if the ๐‘ต๐’Šโ€™s are not equal?
We need a function ๐‘ซ ๐‘ต ๐’Š
such that the following condition
yields a winner with probability
๐‘ต๐’Š
๐‘ต ๐Ÿ + โ‹ฏ + ๐‘ต ๐’Œ
Turns out that
๐‘ซ ๐‘ต ๐’Š
(๐’”) โ‰” ๐‘ฎ(๐’”)/๐‘พ ๐Ÿ/๐‘ต ๐’Š
is such a function (the details are in the paper).
๐‘ท๐’Š is the winner if ๐‘ซ ๐‘ต ๐’Š
(๐’”๐’Š) is larger than all the
other ๐‘ซ ๐‘ต ๐’Š
(๐’”๐’‹)โ€™s.
Quality of the
blockchain
Using the function ๐‘ซ ๐‘ต ๐’Š
we can also define the quality
of the block chain.
First, let ๐’—๐’Š โ‰” ๐‘ซ ๐‘ต ๐’Š
๐’”๐ข .
Define:
๐‘ธ ๐’—๐’Š โ‰” ๐ฆ๐ข๐ง
๐‘ต
๐๐ซ ๐’—๐’Š < ๐’˜: ๐’˜ โ† ๐‘ซ ๐‘ต(๐‘ผ) โ‰ฅ ๐Ÿ/๐Ÿ
in Bitcoin it is its length
๐’” ๐Ÿ ๐’” ๐Ÿ ๐’” ๐Ÿ‘ ๐’” ๐Ÿ’ ๐’” ๐Ÿ“ ๐’” ๐Ÿ”
the space required to get a better proof than ๐’—๐’Š
on a random challenge with probability 1/2.
Then let the total quality of blockchain to be equal to the
sum of ๐‘ธ๐’Šโ€™s.
uniform
This solution need some small
modifications
1. To avoid bad events that happen with small
probability we need to limit the maximal
๐‘ธ๐’Š that counts
(this limit is imposed with respect to the
median of other ๐‘ธ๐’Š
โ€ฒ
s).
2. What if the amount of space in the system
increases dramatically?
Then the adversary that โ€œstarts computing the blockchain from
the beginningโ€ can produce a better quality chain (even if his
memory is <1/2 of the total).
Solution: only last 1000 block count (note: it requires
checkpoints)
time
space
Where does the challenge ๐’™ come from?
1. Use a NIST beacon or some other trusted source โ€“
not a good solution for a โ€œfully distributedโ€ currency.
2. โ€œAskโ€ some other miner โ€“ possible but complicated
(what if he is not online?)
3. [Bitcoin solution]: Use some previous block.
not so easy as in
Bitcoin...
Problems with using previous block:
By manipulating the transaction list the miner can
produce different ๐’™๐’Š
โ€ฒ
๐‘ .
๐’™i ๐’™i+1
transactions
from period
i+1
H
This again would lead to Proofs of Work...
this is called
โ€œgrindingโ€
Solution
The challenge does not depend on the transactions.
Spacemint blockchain syntax:
Block ๐‘ฉ๐’Š+๐Ÿ
s๐‘–+1
signature
transactions
Block ๐‘ฉ๐’Š
s๐‘–
signature
transactions
Block ๐‘ฉ๐’Š+๐Ÿ
s๐‘–+2
signature
transactions
signature
chain
proof
chain
x ๐’Š+๐Ÿ = ๐‘ฏ(s๐’Š) x ๐’Š+๐Ÿ = ๐‘ฏ(s๐’Š+๐Ÿ)
Yet another problem
Suppose there is a fork
blocki+1
blocki+2 blockโ€™i+2
blocki+3
If ๐›๐ฅ๐จ๐œ๐ค ๐ข+๐Ÿ
โ€ฒ
gives a challenge that is โ€œgoodโ€ for him,
then itโ€™s better for him to work on this chain
Note: in Bitcoin working on a shorter chain never made sense.
Solution: look deeper in the past
The challenge for block ๐’Š is a hash of block ๐’Š โˆ’ ๐Ÿ๐Ÿ๐ŸŽ.
Why not to look deeper into the past?
We do not want the miners to know that they can
stay long offline (so they could erase their disks)
A more subtle problem
In Proofs of Work mining costs, while in Proofs of Space it is
โ€œfor freeโ€.
So a miner that sees a fork the best (selfish) strategy is to work
on both chains.
In this case he โ€œwinsโ€ in both cases!
blocki
blocki+1
blocki+2 blockโ€™i+2
blocki+3 blockโ€™i+3
A similar problem shows up in โ€œProofs of Stakeโ€:
โ€œThe problem with Proofs of Stake is that there is nothing at stakeโ€
Solution: penalize such behavior
blocki
blocki+1
blocki+2 blockโ€™i+2
blocki+3 blockโ€™i+3
discovers that these
blocks were signed
by the same party
posts a transaction with a
โ€œproofโ€ of this, and gets a
reward
(the party that signed 2
blocks looses her reward)
Full description of the protocol
See [PPKAFG 2015].
This paper contains also a game-theoretic model and a
security proof.
Open problem
Understand better the
bounds in these
constructions
(currently there are
many hidden
constants)
Plan
1. Litecoin โ€“ a currency based on the
Scrypt hash function
2. Spacemint โ€“ a currency based on the
Proofs of Space
3. Currencies based on the Proofs of Stake
4. Currencies doing some useful work
(Primecoin, Permacoin)
5. Ethereum โ€“ a currency with Turing-
complete scripts
6. Other uses of the Blockchain technology
Proofs of Stake
The โ€œvoting powerโ€ depends on how much money one
has.
Justification: people who have the money are naturally
interested in the stability of the currency.
Currencies: BlackCoin, Peercoin, NXT,
shares of coins โ€œvoting powerโ€
โ‰ˆ
Challenges when constructing Proof-
of-Stake currencies
Similar to the Proofs of Space (note: Proofs of Stake is
a much earlier concept).
How to determine which miner has the right to extend
the chain?
How to prevent mining on many chains? (โ€œThere is
nothing at stakeโ€)
How to prevent grinding?
Other problems
1. How to distribute initial money?
2. How to force coin owners to mine?
A potential speculative attack on
PoStake coins
[Nicolas Houy, It Will Cost You Nothing to 'Kill' a Proof-of-Stake Crypto-
Currency, 2014]
I am going to destroy
your currency by
buying > ๐Ÿ“๐Ÿ% coins
and gaining the
voting majority
shall I sell
him my
coins?
if I believe
that he
succeeds then
I should sell
at any non-
zero price
if everybody thinks this way then the
coin price will quickly go close to zero
I buy the coins
now (cheaply)
Plan
1. Litecoin โ€“ a currency based on the
Scrypt hash function
2. Spacemint โ€“ a currency based on the
Proofs of Space
3. Currencies based on the Proofs of Stake
4. Currencies doing some useful work
(Primecoin, Permacoin)
5. Ethereum โ€“ a currency with Turing-
complete scripts
6. Other uses of the Blockchain technology
Idea
Can we have a currency that does
something useful?
Some ideas proposed:
โ€ข Permacoin [A. Miller, A. Juels, E. Shi, B. Parn, J. Katz,
Permacoin: Repurposing Bitcoin Work for Data
Preservation, 2014]
โ€ข Primecoin [Sunny King, Primecoin: Cryptocurrency
with Prime Number Proof-of-Work, 2013]
Permacoin
Main idea: parametrize PoWs with a large file ๐‘ญ (โ€œtoo
large to store by individualsโ€).
To solve a PoW one needs to store some part of ๐‘ญ.
(the more you store, the higher your probability is).
Why is it useful?
Can be used data that is useful for some purpose.
Difference between Permacoin and Spacemint:
โ€ข Permacoin is still a Proof of Work (consumes
energy)
โ€ข The data in Spacemint is random (in Permacoin it is
not random)
โ€ข Permacoin doesnโ€™t scale (maybe in 20 years
everybody will have the library of congress data on his
mobile?)
Another nice feature of Permacoin
Itโ€™s PoWs are nonoutsourcable:
A miner in a mining pool can always steal the PoW
solution.
Hence: creating mining pools makes no sense.
See also:
[Miller, Kosba, Katz, Shi, Nonoutsourceable Scratch-
Off Puzzles to Discourage Bitcoin Mining Coalitions,
ACM CCS 2014]
Primecoin
Proof of Work: finding chains of primes.
Chains of primes
โ€ข Cunningham chain of the
first kind:
โ€ข ๐’‘ ๐ŸŽ
โ€ข ๐’‘ ๐Ÿ = ๐Ÿ๐’‘ ๐ŸŽ + ๐Ÿ
โ€ข ๐’‘ ๐Ÿ = ๐Ÿ๐’‘ ๐Ÿ + ๐Ÿ
โ€ข ๐’‘ ๐Ÿ‘ = ๐Ÿ๐’‘ ๐Ÿ + ๐Ÿ
โ€ข โ€ฆ
(all ๐’‘๐’Šโ€™s are prime)
Example: 2, 5, 11, 23, 47,...
โ€ข Cunningham chain of the
second kind:
โ€ข ๐’‘ ๐ŸŽ
โ€ข ๐’‘ ๐Ÿ = ๐Ÿ๐’‘ ๐ŸŽ โˆ’ ๐Ÿ
โ€ข ๐’‘ ๐Ÿ = ๐Ÿ๐’‘ ๐Ÿ โˆ’ ๐Ÿ
โ€ข ๐’‘ ๐Ÿ‘ = ๐Ÿ๐’‘ ๐Ÿ โˆ’ ๐Ÿ
โ€ข โ€ฆ
(all ๐’‘๐’Šโ€™s are prime)
Example: 151, 301, 601,
1201,...
โ€ข bi-twin chain: ๐’‘ ๐ŸŽ, ๐’’ ๐ŸŽ, ๐’‘ ๐Ÿ, ๐’’ ๐Ÿ, ๐’‘ ๐Ÿ, ๐’’ ๐Ÿ, โ€ฆ such that
โ€ข ๐’‘ ๐ŸŽ, ๐’‘ ๐Ÿ, ๐’‘ ๐Ÿ are Cunningham chain of the first kind,
โ€ข ๐’’ ๐ŸŽ, ๐’’ ๐Ÿ, ๐’’ ๐Ÿ are Cunningham chain of the second kind, and
โ€ข each (๐’‘๐’Š, ๐’’๐’Š) is a prime twin pair (i.e. ๐’’๐’Š = ๐’‘๐’Š + ๐Ÿ)
Famous Conjecture: for every ๐’Œ there exist infinitely many
chains like this of length ๐’Œ.
Main idea of Primecoin
Proof of Work = โ€œfind as long chains as possibleโ€
Some challenges:
1. Verification of a PoW solution
should be very efficient
Solution:
โ€ข limit the size of the numbers
โ€ข allow pseudoprimes
2. Quality measure of the solution should be more fine grained than
just the length of the chain.
Solution:
accept chains ๐’‘ ๐Ÿ, ๐’‘ ๐Ÿ, โ€ฆ , ๐’‘ ๐’Œ, ๐’‘ ๐’Œ+๐Ÿ, where all ๐’‘๐’Šโ€™s but the last one are
prime.
The quality of such a solution is equal to ๐’Œ + ๐’“, where ๐’“ โ€œmeasures
how close is ๐’‘ ๐’Œ+๐Ÿ to a primeโ€
โ€œin terms of the Fermat testโ€
a โ€œpseudoprimeโ€ is a composite
number ๐‘› that passes
Fermat test:
โ€œcheck if ๐Ÿ ๐’โˆ’๐Ÿ = ๐Ÿ (๐ฆ๐จ๐ ๐’)โ€
Yet another question
How to โ€œlinkโ€ the solution to the hash of the previous
block ๐๐ข?
Answer:
Require ๐’‘ ๐Ÿ + ๐Ÿ to be a multiple of ๐‘ฏ(๐‘ฉ๐’Š).
For more details see [Sunny King, Primecoin:
Cryptocurrency with Prime Number Proof-of-Work,
2013].
Research direction
Any other ideas for
โ€œuseful Proofs of
Workโ€?
Plan
1. Litecoin โ€“ a currency based on the
Scrypt hash function
2. Spacemint โ€“ a currency based on the
Proofs of Space
3. Currencies based on the Proofs of Stake
4. Currencies doing some useful work
(Primecoin, Permacoin)
5. Ethereum โ€“ a currency with Turing-
complete scripts
6. Other uses of the Blockchain technology
Ethereum โ€“ a โ€œcurrency
designed for contractsโ€
main feature: Turing-complete scripts
the transaction ledger is maintained using the GHOST protocol of
Sompolinsky and Zohar
Developers: Gavin Wood, Jeffrey Wilcke, Vitalik Buterin, et al.
Initial release: 30 July 2015
currency unit: Ether (ETH)
as of 24.05.2016:
Market cap โ‰ˆ 1 billion USD
1 E๐“๐‡ โ‰ˆ 12 USD
Main uses: decentralized organizations, prediction markets, and
many othersโ€ฆ
Susceptible to verifierโ€™s dilemma?
Research direction
Understand the
impact of verifierโ€™s
dillema
Plan
1. Litecoin โ€“ a currency based on the
Scrypt hash function
2. Spacemint โ€“ a currency based on the
Proofs of Space
3. Currencies based on the Proofs of Stake
4. Currencies doing some useful work
(Primecoin, Permacoin)
5. Ethereum โ€“ a currency with Turing-
complete scripts
6. Other uses of the Blockchain technology
Namecoin (NMC)โ€“ a
decentralized DNS
Idea: use Bitcoinโ€™s ledger as a DNS.
It maintains a censorship-resistant top level domain .bit.
The same blockchain rules as Bitcoin.
Placing a record costs 0.01 NMC.
Records expire after 36000 blocks (โ‰ˆ ๐Ÿ๐ŸŽ๐ŸŽ days) unless
renewed.
this money is
โ€œdestroyedโ€
Thank you!
ยฉ2016 by Stefan Dziembowski. Permission to make digital or hard copies of part or
all of this material is currently granted without fee provided that copies are made
only for personal or classroom use, are not distributed for profit or commercial
advantage, and that new copies bear this notice and the full citation.

More Related Content

What's hot

OpenGL 4.4 - Scene Rendering Techniques
OpenGL 4.4 - Scene Rendering TechniquesOpenGL 4.4 - Scene Rendering Techniques
OpenGL 4.4 - Scene Rendering TechniquesNarann29
ย 
A research-oriented introduction to the cryptographic currencies (starting wi...
A research-oriented introduction to the cryptographic currencies (starting wi...A research-oriented introduction to the cryptographic currencies (starting wi...
A research-oriented introduction to the cryptographic currencies (starting wi...vpnmentor
ย 
Java Core | Understanding the Disruptor: a Beginner's Guide to Hardcore Concu...
Java Core | Understanding the Disruptor: a Beginner's Guide to Hardcore Concu...Java Core | Understanding the Disruptor: a Beginner's Guide to Hardcore Concu...
Java Core | Understanding the Disruptor: a Beginner's Guide to Hardcore Concu...JAX London
ย 
Let's talk about Garbage Collection
Let's talk about Garbage CollectionLet's talk about Garbage Collection
Let's talk about Garbage CollectionHaim Yadid
ย 
Concurrency: Rubies, Plural
Concurrency: Rubies, PluralConcurrency: Rubies, Plural
Concurrency: Rubies, PluralEleanor McHugh
ย 
Concurrency: Rubies, plural
Concurrency: Rubies, pluralConcurrency: Rubies, plural
Concurrency: Rubies, pluralehuard
ย 
Optimizing Parallel Reduction in CUDA : NOTES
Optimizing Parallel Reduction in CUDA : NOTESOptimizing Parallel Reduction in CUDA : NOTES
Optimizing Parallel Reduction in CUDA : NOTESSubhajit Sahu
ย 
Engineering fast indexes (Deepdive)
Engineering fast indexes (Deepdive)Engineering fast indexes (Deepdive)
Engineering fast indexes (Deepdive)Daniel Lemire
ย 
JVM Memory Model - Yoav Abrahami, Wix
JVM Memory Model - Yoav Abrahami, WixJVM Memory Model - Yoav Abrahami, Wix
JVM Memory Model - Yoav Abrahami, WixCodemotion Tel Aviv
ย 
Gpu workshop cluster universe: scripting cuda
Gpu workshop cluster universe: scripting cudaGpu workshop cluster universe: scripting cuda
Gpu workshop cluster universe: scripting cudaFerdinand Jamitzky
ย 
Cassandra NYC 2011 Data Modeling
Cassandra NYC 2011 Data ModelingCassandra NYC 2011 Data Modeling
Cassandra NYC 2011 Data ModelingMatthew Dennis
ย 
Kubernetes Me This Batman
Kubernetes Me This BatmanKubernetes Me This Batman
Kubernetes Me This BatmanRichard Boyd, II
ย 
Kubernetes Me this Batman
Kubernetes Me this BatmanKubernetes Me this Batman
Kubernetes Me this BatmanSonatype
ย 
Processing Big Data in Realtime
Processing Big Data in RealtimeProcessing Big Data in Realtime
Processing Big Data in RealtimeTikal Knowledge
ย 
Rust: Reach Further
Rust: Reach FurtherRust: Reach Further
Rust: Reach Furthernikomatsakis
ย 
Building High-Performance Language Implementations With Low Effort
Building High-Performance Language Implementations With Low EffortBuilding High-Performance Language Implementations With Low Effort
Building High-Performance Language Implementations With Low EffortStefan Marr
ย 
Brace yourselves, leap second is coming
Brace yourselves, leap second is comingBrace yourselves, leap second is coming
Brace yourselves, leap second is comingNati Cohen
ย 
Non-blocking synchronization โ€” what is it and why we (don't?) need it
Non-blocking synchronization โ€” what is it and why we (don't?) need itNon-blocking synchronization โ€” what is it and why we (don't?) need it
Non-blocking synchronization โ€” what is it and why we (don't?) need itAlexey Fyodorov
ย 

What's hot (20)

OpenGL 4.4 - Scene Rendering Techniques
OpenGL 4.4 - Scene Rendering TechniquesOpenGL 4.4 - Scene Rendering Techniques
OpenGL 4.4 - Scene Rendering Techniques
ย 
A research-oriented introduction to the cryptographic currencies (starting wi...
A research-oriented introduction to the cryptographic currencies (starting wi...A research-oriented introduction to the cryptographic currencies (starting wi...
A research-oriented introduction to the cryptographic currencies (starting wi...
ย 
Java Core | Understanding the Disruptor: a Beginner's Guide to Hardcore Concu...
Java Core | Understanding the Disruptor: a Beginner's Guide to Hardcore Concu...Java Core | Understanding the Disruptor: a Beginner's Guide to Hardcore Concu...
Java Core | Understanding the Disruptor: a Beginner's Guide to Hardcore Concu...
ย 
Let's talk about Garbage Collection
Let's talk about Garbage CollectionLet's talk about Garbage Collection
Let's talk about Garbage Collection
ย 
Concurrency: Rubies, Plural
Concurrency: Rubies, PluralConcurrency: Rubies, Plural
Concurrency: Rubies, Plural
ย 
Concurrency: Rubies, plural
Concurrency: Rubies, pluralConcurrency: Rubies, plural
Concurrency: Rubies, plural
ย 
Optimizing Parallel Reduction in CUDA : NOTES
Optimizing Parallel Reduction in CUDA : NOTESOptimizing Parallel Reduction in CUDA : NOTES
Optimizing Parallel Reduction in CUDA : NOTES
ย 
Engineering fast indexes (Deepdive)
Engineering fast indexes (Deepdive)Engineering fast indexes (Deepdive)
Engineering fast indexes (Deepdive)
ย 
JVM Memory Model - Yoav Abrahami, Wix
JVM Memory Model - Yoav Abrahami, WixJVM Memory Model - Yoav Abrahami, Wix
JVM Memory Model - Yoav Abrahami, Wix
ย 
Gpu workshop cluster universe: scripting cuda
Gpu workshop cluster universe: scripting cudaGpu workshop cluster universe: scripting cuda
Gpu workshop cluster universe: scripting cuda
ย 
Cassandra NYC 2011 Data Modeling
Cassandra NYC 2011 Data ModelingCassandra NYC 2011 Data Modeling
Cassandra NYC 2011 Data Modeling
ย 
Kubernetes Me This Batman
Kubernetes Me This BatmanKubernetes Me This Batman
Kubernetes Me This Batman
ย 
Kubernetes Me this Batman
Kubernetes Me this BatmanKubernetes Me this Batman
Kubernetes Me this Batman
ย 
Processing Big Data in Realtime
Processing Big Data in RealtimeProcessing Big Data in Realtime
Processing Big Data in Realtime
ย 
Rust: Reach Further
Rust: Reach FurtherRust: Reach Further
Rust: Reach Further
ย 
Heatmap
HeatmapHeatmap
Heatmap
ย 
Building High-Performance Language Implementations With Low Effort
Building High-Performance Language Implementations With Low EffortBuilding High-Performance Language Implementations With Low Effort
Building High-Performance Language Implementations With Low Effort
ย 
Brace yourselves, leap second is coming
Brace yourselves, leap second is comingBrace yourselves, leap second is coming
Brace yourselves, leap second is coming
ย 
Non-blocking synchronization โ€” what is it and why we (don't?) need it
Non-blocking synchronization โ€” what is it and why we (don't?) need itNon-blocking synchronization โ€” what is it and why we (don't?) need it
Non-blocking synchronization โ€” what is it and why we (don't?) need it
ย 
Kafka short
Kafka shortKafka short
Kafka short
ย 

Similar to Alternative cryptocurrencies

zkStudyClub - zkSaaS (Sruthi Sekar, UCB)
zkStudyClub - zkSaaS (Sruthi Sekar, UCB)zkStudyClub - zkSaaS (Sruthi Sekar, UCB)
zkStudyClub - zkSaaS (Sruthi Sekar, UCB)Alex Pruden
ย 
Meltdown & Spectre
Meltdown & Spectre Meltdown & Spectre
Meltdown & Spectre Marco Cipriano
ย 
High Performance Systems Without Tears - Scala Days Berlin 2018
High Performance Systems Without Tears - Scala Days Berlin 2018High Performance Systems Without Tears - Scala Days Berlin 2018
High Performance Systems Without Tears - Scala Days Berlin 2018Zahari Dichev
ย 
Introduction to PyTorch
Introduction to PyTorchIntroduction to PyTorch
Introduction to PyTorchJun Young Park
ย 
ZK Study Club: Supernova (Srinath Setty - MS Research)
ZK Study Club: Supernova (Srinath Setty - MS Research)ZK Study Club: Supernova (Srinath Setty - MS Research)
ZK Study Club: Supernova (Srinath Setty - MS Research)Alex Pruden
ย 
Introduction to computing Processing and performance.pdf
Introduction to computing Processing and performance.pdfIntroduction to computing Processing and performance.pdf
Introduction to computing Processing and performance.pdfTulasiramKandula1
ย 
Parallel Computing with R
Parallel Computing with RParallel Computing with R
Parallel Computing with RAbhirup Mallik
ย 
Paper Study: Transformer dissection
Paper Study: Transformer dissectionPaper Study: Transformer dissection
Paper Study: Transformer dissectionChenYiHuang5
ย 
Neural network basic and introduction of Deep learning
Neural network basic and introduction of Deep learningNeural network basic and introduction of Deep learning
Neural network basic and introduction of Deep learningTapas Majumdar
ย 
Writing Faster Python 3
Writing Faster Python 3Writing Faster Python 3
Writing Faster Python 3Sebastian Witowski
ย 
Hardware Acceleration for Machine Learning
Hardware Acceleration for Machine LearningHardware Acceleration for Machine Learning
Hardware Acceleration for Machine LearningCastLabKAIST
ย 
Pepe Vila - Cache and Syphilis [rooted2019]
Pepe Vila - Cache and Syphilis [rooted2019]Pepe Vila - Cache and Syphilis [rooted2019]
Pepe Vila - Cache and Syphilis [rooted2019]RootedCON
ย 
Using R in remote computer clusters
Using R in remote computer clustersUsing R in remote computer clusters
Using R in remote computer clustersBurak Himmetoglu
ย 
01 - DAA - PPT.pptx
01 - DAA - PPT.pptx01 - DAA - PPT.pptx
01 - DAA - PPT.pptxKokilaK25
ย 
Defcon 22-paul-mcmillan-attacking-the-iot-using-timing-attac
Defcon 22-paul-mcmillan-attacking-the-iot-using-timing-attacDefcon 22-paul-mcmillan-attacking-the-iot-using-timing-attac
Defcon 22-paul-mcmillan-attacking-the-iot-using-timing-attacPriyanka Aash
ย 
Parallel Computing 2007: Bring your own parallel application
Parallel Computing 2007: Bring your own parallel applicationParallel Computing 2007: Bring your own parallel application
Parallel Computing 2007: Bring your own parallel applicationGeoffrey Fox
ย 
Node.js Event Loop & EventEmitter
Node.js Event Loop & EventEmitterNode.js Event Loop & EventEmitter
Node.js Event Loop & EventEmitterSimen Li
ย 
The free lunch is over
The free lunch is overThe free lunch is over
The free lunch is overThadeu Russo
ย 

Similar to Alternative cryptocurrencies (20)

zkStudyClub - zkSaaS (Sruthi Sekar, UCB)
zkStudyClub - zkSaaS (Sruthi Sekar, UCB)zkStudyClub - zkSaaS (Sruthi Sekar, UCB)
zkStudyClub - zkSaaS (Sruthi Sekar, UCB)
ย 
Meltdown & spectre
Meltdown & spectreMeltdown & spectre
Meltdown & spectre
ย 
Meltdown & Spectre
Meltdown & Spectre Meltdown & Spectre
Meltdown & Spectre
ย 
High Performance Systems Without Tears - Scala Days Berlin 2018
High Performance Systems Without Tears - Scala Days Berlin 2018High Performance Systems Without Tears - Scala Days Berlin 2018
High Performance Systems Without Tears - Scala Days Berlin 2018
ย 
Introduction to PyTorch
Introduction to PyTorchIntroduction to PyTorch
Introduction to PyTorch
ย 
PostgreSQL: Joining 1 million tables
PostgreSQL: Joining 1 million tablesPostgreSQL: Joining 1 million tables
PostgreSQL: Joining 1 million tables
ย 
ZK Study Club: Supernova (Srinath Setty - MS Research)
ZK Study Club: Supernova (Srinath Setty - MS Research)ZK Study Club: Supernova (Srinath Setty - MS Research)
ZK Study Club: Supernova (Srinath Setty - MS Research)
ย 
Introduction to computing Processing and performance.pdf
Introduction to computing Processing and performance.pdfIntroduction to computing Processing and performance.pdf
Introduction to computing Processing and performance.pdf
ย 
Parallel Computing with R
Parallel Computing with RParallel Computing with R
Parallel Computing with R
ย 
Paper Study: Transformer dissection
Paper Study: Transformer dissectionPaper Study: Transformer dissection
Paper Study: Transformer dissection
ย 
Neural network basic and introduction of Deep learning
Neural network basic and introduction of Deep learningNeural network basic and introduction of Deep learning
Neural network basic and introduction of Deep learning
ย 
Writing Faster Python 3
Writing Faster Python 3Writing Faster Python 3
Writing Faster Python 3
ย 
Hardware Acceleration for Machine Learning
Hardware Acceleration for Machine LearningHardware Acceleration for Machine Learning
Hardware Acceleration for Machine Learning
ย 
Pepe Vila - Cache and Syphilis [rooted2019]
Pepe Vila - Cache and Syphilis [rooted2019]Pepe Vila - Cache and Syphilis [rooted2019]
Pepe Vila - Cache and Syphilis [rooted2019]
ย 
Using R in remote computer clusters
Using R in remote computer clustersUsing R in remote computer clusters
Using R in remote computer clusters
ย 
01 - DAA - PPT.pptx
01 - DAA - PPT.pptx01 - DAA - PPT.pptx
01 - DAA - PPT.pptx
ย 
Defcon 22-paul-mcmillan-attacking-the-iot-using-timing-attac
Defcon 22-paul-mcmillan-attacking-the-iot-using-timing-attacDefcon 22-paul-mcmillan-attacking-the-iot-using-timing-attac
Defcon 22-paul-mcmillan-attacking-the-iot-using-timing-attac
ย 
Parallel Computing 2007: Bring your own parallel application
Parallel Computing 2007: Bring your own parallel applicationParallel Computing 2007: Bring your own parallel application
Parallel Computing 2007: Bring your own parallel application
ย 
Node.js Event Loop & EventEmitter
Node.js Event Loop & EventEmitterNode.js Event Loop & EventEmitter
Node.js Event Loop & EventEmitter
ย 
The free lunch is over
The free lunch is overThe free lunch is over
The free lunch is over
ย 

More from vpnmentor

On the Bit Security of Cryptographic Primitives. by Michael Walter
On the Bit Security of Cryptographic Primitives. by Michael Walter On the Bit Security of Cryptographic Primitives. by Michael Walter
On the Bit Security of Cryptographic Primitives. by Michael Walter vpnmentor
ย 
Homomorphic Lower Digit Removal and Improved FHE Bootstrapping by Kyoohyung Han
Homomorphic Lower Digit Removal and Improved FHE Bootstrapping by Kyoohyung HanHomomorphic Lower Digit Removal and Improved FHE Bootstrapping by Kyoohyung Han
Homomorphic Lower Digit Removal and Improved FHE Bootstrapping by Kyoohyung Hanvpnmentor
ย 
Michael schapira - Hebrew University Jeruslaem - Secure Internet Routing
Michael schapira - Hebrew University Jeruslaem - Secure Internet RoutingMichael schapira - Hebrew University Jeruslaem - Secure Internet Routing
Michael schapira - Hebrew University Jeruslaem - Secure Internet Routingvpnmentor
ย 
Review of Previous ETAP Forums - Deepak Maheshwari
Review of Previous ETAP Forums - Deepak MaheshwariReview of Previous ETAP Forums - Deepak Maheshwari
Review of Previous ETAP Forums - Deepak Maheshwarivpnmentor
ย 
Indiaโ€™s National Biometrics ID - Presented by Mr. Deepak Maheshwari
Indiaโ€™s National Biometrics ID - Presented by Mr. Deepak MaheshwariIndiaโ€™s National Biometrics ID - Presented by Mr. Deepak Maheshwari
Indiaโ€™s National Biometrics ID - Presented by Mr. Deepak Maheshwarivpnmentor
ย 
Alternative cryptocurrencies
Alternative cryptocurrenciesAlternative cryptocurrencies
Alternative cryptocurrenciesvpnmentor
ย 
Smart contracts and applications part II
Smart contracts and applications   part IISmart contracts and applications   part II
Smart contracts and applications part IIvpnmentor
ย 
Smart contracts and applications part I
Smart contracts and applications   part ISmart contracts and applications   part I
Smart contracts and applications part Ivpnmentor
ย 
Automated Analysis of TLS 1.3
Automated Analysis of TLS 1.3Automated Analysis of TLS 1.3
Automated Analysis of TLS 1.3vpnmentor
ย 
On the Security of TLS-DHE in the Standard Model
On the Security of TLS-DHE in the Standard ModelOn the Security of TLS-DHE in the Standard Model
On the Security of TLS-DHE in the Standard Modelvpnmentor
ย 
TLS: Past, Present, Future
TLS: Past, Present, FutureTLS: Past, Present, Future
TLS: Past, Present, Futurevpnmentor
ย 
On the Security of TLS 1.3 and QUIC Against Weaknesses in PKCS#1 v1.5 Encryption
On the Security of TLS 1.3 and QUIC Against Weaknesses in PKCS#1 v1.5 EncryptionOn the Security of TLS 1.3 and QUIC Against Weaknesses in PKCS#1 v1.5 Encryption
On the Security of TLS 1.3 and QUIC Against Weaknesses in PKCS#1 v1.5 Encryptionvpnmentor
ย 

More from vpnmentor (12)

On the Bit Security of Cryptographic Primitives. by Michael Walter
On the Bit Security of Cryptographic Primitives. by Michael Walter On the Bit Security of Cryptographic Primitives. by Michael Walter
On the Bit Security of Cryptographic Primitives. by Michael Walter
ย 
Homomorphic Lower Digit Removal and Improved FHE Bootstrapping by Kyoohyung Han
Homomorphic Lower Digit Removal and Improved FHE Bootstrapping by Kyoohyung HanHomomorphic Lower Digit Removal and Improved FHE Bootstrapping by Kyoohyung Han
Homomorphic Lower Digit Removal and Improved FHE Bootstrapping by Kyoohyung Han
ย 
Michael schapira - Hebrew University Jeruslaem - Secure Internet Routing
Michael schapira - Hebrew University Jeruslaem - Secure Internet RoutingMichael schapira - Hebrew University Jeruslaem - Secure Internet Routing
Michael schapira - Hebrew University Jeruslaem - Secure Internet Routing
ย 
Review of Previous ETAP Forums - Deepak Maheshwari
Review of Previous ETAP Forums - Deepak MaheshwariReview of Previous ETAP Forums - Deepak Maheshwari
Review of Previous ETAP Forums - Deepak Maheshwari
ย 
Indiaโ€™s National Biometrics ID - Presented by Mr. Deepak Maheshwari
Indiaโ€™s National Biometrics ID - Presented by Mr. Deepak MaheshwariIndiaโ€™s National Biometrics ID - Presented by Mr. Deepak Maheshwari
Indiaโ€™s National Biometrics ID - Presented by Mr. Deepak Maheshwari
ย 
Alternative cryptocurrencies
Alternative cryptocurrenciesAlternative cryptocurrencies
Alternative cryptocurrencies
ย 
Smart contracts and applications part II
Smart contracts and applications   part IISmart contracts and applications   part II
Smart contracts and applications part II
ย 
Smart contracts and applications part I
Smart contracts and applications   part ISmart contracts and applications   part I
Smart contracts and applications part I
ย 
Automated Analysis of TLS 1.3
Automated Analysis of TLS 1.3Automated Analysis of TLS 1.3
Automated Analysis of TLS 1.3
ย 
On the Security of TLS-DHE in the Standard Model
On the Security of TLS-DHE in the Standard ModelOn the Security of TLS-DHE in the Standard Model
On the Security of TLS-DHE in the Standard Model
ย 
TLS: Past, Present, Future
TLS: Past, Present, FutureTLS: Past, Present, Future
TLS: Past, Present, Future
ย 
On the Security of TLS 1.3 and QUIC Against Weaknesses in PKCS#1 v1.5 Encryption
On the Security of TLS 1.3 and QUIC Against Weaknesses in PKCS#1 v1.5 EncryptionOn the Security of TLS 1.3 and QUIC Against Weaknesses in PKCS#1 v1.5 Encryption
On the Security of TLS 1.3 and QUIC Against Weaknesses in PKCS#1 v1.5 Encryption
ย 

Recently uploaded

Enjoy NightโšกCall Girls Dlf City Phase 3 Gurgaon >เผ’8448380779 Escort Service
Enjoy NightโšกCall Girls Dlf City Phase 3 Gurgaon >เผ’8448380779 Escort ServiceEnjoy NightโšกCall Girls Dlf City Phase 3 Gurgaon >เผ’8448380779 Escort Service
Enjoy NightโšกCall Girls Dlf City Phase 3 Gurgaon >เผ’8448380779 Escort ServiceDelhi Call girls
ย 
โ‚น5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] ๐Ÿ”|97111...
โ‚น5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] ๐Ÿ”|97111...โ‚น5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] ๐Ÿ”|97111...
โ‚น5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] ๐Ÿ”|97111...Diya Sharma
ย 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Servicegwenoracqe6
ย 
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Delhi Call girls
ย 
VIP Kolkata Call Girl Salt Lake ๐Ÿ‘‰ 8250192130 Available With Room
VIP Kolkata Call Girl Salt Lake ๐Ÿ‘‰ 8250192130  Available With RoomVIP Kolkata Call Girl Salt Lake ๐Ÿ‘‰ 8250192130  Available With Room
VIP Kolkata Call Girl Salt Lake ๐Ÿ‘‰ 8250192130 Available With Roomishabajaj13
ย 
Call Girls In Pratap Nagar Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”
Call Girls In Pratap Nagar Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”Call Girls In Pratap Nagar Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”
Call Girls In Pratap Nagar Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”soniya singh
ย 
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxAWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxellan12
ย 
Call Girls In Model Towh Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”
Call Girls In Model Towh Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”Call Girls In Model Towh Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”
Call Girls In Model Towh Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”soniya singh
ย 
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebGDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebJames Anderson
ย 
Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.soniya singh
ย 
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024APNIC
ย 
Low Rate Call Girls Kolkata Avani ๐ŸคŒ 8250192130 ๐Ÿš€ Vip Call Girls Kolkata
Low Rate Call Girls Kolkata Avani ๐ŸคŒ  8250192130 ๐Ÿš€ Vip Call Girls KolkataLow Rate Call Girls Kolkata Avani ๐ŸคŒ  8250192130 ๐Ÿš€ Vip Call Girls Kolkata
Low Rate Call Girls Kolkata Avani ๐ŸคŒ 8250192130 ๐Ÿš€ Vip Call Girls Kolkataanamikaraghav4
ย 
Call Girls In Sukhdev Vihar Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”
Call Girls In Sukhdev Vihar Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”Call Girls In Sukhdev Vihar Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”
Call Girls In Sukhdev Vihar Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”soniya singh
ย 
Call Girls In Saket Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”
Call Girls In Saket Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”Call Girls In Saket Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”
Call Girls In Saket Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”soniya singh
ย 
VIP Kolkata Call Girl Kestopur ๐Ÿ‘‰ 8250192130 Available With Room
VIP Kolkata Call Girl Kestopur ๐Ÿ‘‰ 8250192130  Available With RoomVIP Kolkata Call Girl Kestopur ๐Ÿ‘‰ 8250192130  Available With Room
VIP Kolkata Call Girl Kestopur ๐Ÿ‘‰ 8250192130 Available With Roomdivyansh0kumar0
ย 
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With RoomVIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Roomgirls4nights
ย 
On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024APNIC
ย 
How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)Damian Radcliffe
ย 

Recently uploaded (20)

Enjoy NightโšกCall Girls Dlf City Phase 3 Gurgaon >เผ’8448380779 Escort Service
Enjoy NightโšกCall Girls Dlf City Phase 3 Gurgaon >เผ’8448380779 Escort ServiceEnjoy NightโšกCall Girls Dlf City Phase 3 Gurgaon >เผ’8448380779 Escort Service
Enjoy NightโšกCall Girls Dlf City Phase 3 Gurgaon >เผ’8448380779 Escort Service
ย 
โ‚น5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] ๐Ÿ”|97111...
โ‚น5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] ๐Ÿ”|97111...โ‚น5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] ๐Ÿ”|97111...
โ‚น5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] ๐Ÿ”|97111...
ย 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
ย 
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
ย 
VIP Kolkata Call Girl Salt Lake ๐Ÿ‘‰ 8250192130 Available With Room
VIP Kolkata Call Girl Salt Lake ๐Ÿ‘‰ 8250192130  Available With RoomVIP Kolkata Call Girl Salt Lake ๐Ÿ‘‰ 8250192130  Available With Room
VIP Kolkata Call Girl Salt Lake ๐Ÿ‘‰ 8250192130 Available With Room
ย 
Dwarka Sector 26 Call Girls | Delhi | 9999965857 ๐Ÿซฆ Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 ๐Ÿซฆ Vanshika Verma More Our Se...Dwarka Sector 26 Call Girls | Delhi | 9999965857 ๐Ÿซฆ Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 ๐Ÿซฆ Vanshika Verma More Our Se...
ย 
Call Girls In Pratap Nagar Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”
Call Girls In Pratap Nagar Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”Call Girls In Pratap Nagar Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”
Call Girls In Pratap Nagar Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”
ย 
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxAWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
ย 
Call Girls In Model Towh Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”
Call Girls In Model Towh Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”Call Girls In Model Towh Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”
Call Girls In Model Towh Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”
ย 
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebGDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
ย 
Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
ย 
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
ย 
Low Rate Call Girls Kolkata Avani ๐ŸคŒ 8250192130 ๐Ÿš€ Vip Call Girls Kolkata
Low Rate Call Girls Kolkata Avani ๐ŸคŒ  8250192130 ๐Ÿš€ Vip Call Girls KolkataLow Rate Call Girls Kolkata Avani ๐ŸคŒ  8250192130 ๐Ÿš€ Vip Call Girls Kolkata
Low Rate Call Girls Kolkata Avani ๐ŸคŒ 8250192130 ๐Ÿš€ Vip Call Girls Kolkata
ย 
Call Girls In Sukhdev Vihar Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”
Call Girls In Sukhdev Vihar Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”Call Girls In Sukhdev Vihar Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”
Call Girls In Sukhdev Vihar Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”
ย 
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
ย 
Call Girls In Saket Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”
Call Girls In Saket Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”Call Girls In Saket Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”
Call Girls In Saket Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”
ย 
VIP Kolkata Call Girl Kestopur ๐Ÿ‘‰ 8250192130 Available With Room
VIP Kolkata Call Girl Kestopur ๐Ÿ‘‰ 8250192130  Available With RoomVIP Kolkata Call Girl Kestopur ๐Ÿ‘‰ 8250192130  Available With Room
VIP Kolkata Call Girl Kestopur ๐Ÿ‘‰ 8250192130 Available With Room
ย 
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With RoomVIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
ย 
On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024
ย 
How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)
ย 

Alternative cryptocurrencies

  • 1. Alternative Cryptocurrencies Stefan Dziembowski University of Warsaw Workshop on Bitcoin, Introduction to Cryptocurrencies, Kfar Maccabiah, Ramat Gan, Israel, June 6-7, 2016
  • 2. Drawbacks of Bitcoinโ€™s PoWs costs money bad for environment 1. high energy consumption 2. advantage for people with dedicated hardware
  • 3. Drawbacks of Bitcoin transaction system 1. lack of real anonymity 2. non-Turing complete scripts OP_DUP OP_HASH160 02192cfd7508be5c2e6ce9f1b6312b7f268476d2 OP_EQUALVERIFY OP_CHECKSIG
  • 4. Natural questions Can we have: 1. PoWs where there is no mining in hardware? 2. more energy-efficient PoWs? 3. PoWs doing something useful? 4. PoWs that are impossible to outsource (so there are no mining pools)? 5. a cryptocurrency with real anonymity? 6. a cryptocurrency with Turing-complete scripts? Answer to most of these questions: yes (but still some more research is needed).
  • 5. Alternative cryptocurrencies a) Litecoin โ€“ a currency where hardware mining is (supposedly) harder b) Spacemint โ€“ a currency based on the Proofs of Space c) Currencies based on the Proofs of Stake d) Currencies doing some useful work (Primecoin, Permacoin) e) Zerocash โ€“ a currency with true anonymity f) Ethereum โ€“ a currency with Turing-complete scripts g) Other uses of the Blockchain technology Disclaimers: (a) some of them are just academic proposals, (b) this order is not chronologic.
  • 6. Plan 1. Litecoin โ€“ a currency based on the Scrypt hash function 2. Spacemint โ€“ a currency based on the Proofs of Space 3. Currencies based on the Proofs of Stake 4. Currencies doing some useful work (Primecoin, Permacoin) 5. Ethereum โ€“ a currency with Turing- complete scripts 6. Other uses of the Blockchain technology
  • 7. Litecoin Released in Oct 2011 by Charles Lee. Instead of SHA256 Litecoin uses scrypt hash function introduced in: Colin Percival, Stronger Key Derivation via Sequential Memory- Hard Functions, 2009. Idea: scrypt is a function whose computation requires a lot of memory, so itโ€™s hard to implement it efficiently in hardware as of June 2016: Market cap โ‰ˆ 226 million USD 1 L๐“๐‚ โ‰ˆ 5 USD really?
  • 8. How scrypt works? ๐•๐Ÿ = ๐‡(๐—) ๐•๐Ÿ = ๐‡(๐•๐Ÿ)๐•๐ŸŽ = ๐— ๐• ๐‘ตโˆ’๐Ÿ = ๐‡(๐• ๐โˆ’๐Ÿ). . . second phase: compute the output by accessing the table โ€pseudorandomlyโ€ Z โ‰” ๐‡(๐• ๐โˆ’๐Ÿ) for i = 0 to N โˆ’ 1 do ๐ฃ โˆถ= ๐— ๐ฆ๐จ๐ ๐ Z โ‰” ๐‡(๐™ โŠ• ๐•๐ฃ) output Z computing scrypt(X) init phase: fill-in at table of length ๐ with pseudorandom expansion of ๐—. ๐•๐ŸŽ ๐•๐Ÿ ๐•๐Ÿ ๐•๐Ÿ‘ ๐•๐Ÿ’ ๐•๐Ÿ“ ๐•๐Ÿ” ๐•๐Ÿ• ๐•๐Ÿ– ๐•๐Ÿ— result (for N = 10):
  • 9. What is known about scrypt? [Percival, 2009]: โ€ข it can be computed in time ๐‘ถ(๐), โ€ข to compute it one needs time ๐“ and space ๐’ such that ๐’ ร— ๐“ = ๐›€ ๐ ๐Ÿ this holds even on a parallel machine. Pictorially: a circuit computing scrypt output input T S
  • 10. An observation [Alwen, Serbinenko, STOCโ€™15]: this definition is not strong enough. The adversary that wants to compute scrypt in parallel can โ€œamortize spaceโ€. Example: S S S T ๐Ÿ‘๐’ ๐Ÿ can be computed in parallel as follows: Note: ๐Ÿ‘๐’ ๐Ÿ โ‰ช ๐Ÿ‘๐’. So: the bound provided by Percival is meaningless. circuitfor scrypt circuitfor scrypt circuitfor scrypt
  • 11. The contribution of [Alwen and Serbinenko] 1. the โ€œrightโ€ definition: 2. a construction that satisfies this definition (uses advanced graph theory). a circuit computing scrypt T S instead of looking at ๐’ ร— ๐“. . . look at the sum of memory cells used over time โ€œthe area on the pictureโ€
  • 12. Open problem Prove security of the scrypt function in the [Alwen, Serbinenko] model.
  • 13. Plan 1. Litecoin โ€“ a currency based on the Scrypt hash function 2. Spacemint โ€“ a currency based on the Proofs of Space 3. Currencies based on the Proofs of Stake 4. Currencies doing some useful work (Primecoin, Permacoin) 5. Ethereum โ€“ a currency with Turing- complete scripts 6. Other uses of the Blockchain technology
  • 14. Spacemint [Sunoo Park, Krzysztof Pietrzak, Albert Kwon, Joรซl Alwen, Georg Fuchsbauer, Peter Gaลพi, Eprint 2015] Based on the Proofs of Space [D., Faust, Kolmogorov, and Pietrzak, CRYPTO 2015] Main idea: Replace work by disk space. Advantages: โ€ข no โ€œdedicated hardwareโ€, โ€ข less energy wasted (โ€œgreenerโ€).
  • 15. Example of an application other than cryptocurrencies Goal: prevent malicious users from opening lots of fake accounts. Method: force each account owner to โ€œwasteโ€ large part of his local space. Important: the space needs to be allocated as long as the user uses the service. cloud computing service (e.g. email system)
  • 16. Main difference from PoWs To prove that one wasted n CPU cycles one needs to perform these cycles. while: To prove that one wasted n bytes one does not need touch all of them.
  • 17. Advantages โ€ข more energy-efficient โ€ข no โ€œhardware accelerationโ€ โ€ข cheaper (user can devote their unused disk space)
  • 19. How to measure time and space Time is measured in terms of the calls to a random oracle ๐‘ฏ. Space is measured in blocks of length ๐‘ณ (outputs of ๐‘ฏ). E.g. ๐‘ณ = ๐Ÿ๐Ÿ“๐Ÿ”. block ๐‘ณ
  • 20. The general scenario verify prove R ๐‘ต blocks of length ๐‘ณ. ... ๐ˆ๐ง๐ข๐ญ(๐ˆ๐) ๐๐ซ๐จ๐จ๐Ÿ ๐๐ซ๐จ๐จ๐Ÿ proveverify proverโ€™s memory verifer prover output โˆˆ {๐š๐œ๐œ๐ž๐ฉ๐ญ, ๐ซ๐ž๐ฃ๐ž๐œ๐ญ} ๐ˆ๐, ๐‘ต ๐ˆ๐, ๐‘ต The proof is done with respect to an identifier ๐ˆ๐ (e.g. email address). ๐ˆ๐ should be unique for each execution (e.g. can contain a nonce from a verifier)
  • 21. How to define security of a PoS Properties: โ€ข completeness, โ€ข soundness, and โ€ข efficiency. If the prover is honest then the verifier will always accept the proof. less trivial to define
  • 22. How to define the efficiency? Let us show a very simple (but not efficient) PoS. Note: we have not defined the security yet, so itโ€™s just an โ€œinformal exampleโ€.
  • 23. A โ€œtrivial PoSโ€ ๐‘น = (๐‘น ๐Ÿ, โ€ฆ , ๐‘น ๐‘ต) ๐‘ฑ โŠ† ๐Ÿ, โ€ฆ , ๐‘ต such that ๐‘ฑ = ๐’Œ ๐‘น๐’Š ๐’Šโˆˆ๐‘ฑ R ๐๐ซ๐จ๐จ๐Ÿ checks if the answer is correct Note: if ๐‘น is generated pseudorandomly then he need to store only the seed. Easy to see: to pass the verification the prover needs to store โ‰ˆ ๐‘น data. Problem: the initialization phase requires the verifier to do a lot of work ๐ˆ๐ง๐ข๐ญrandom ๐’Œ โ€“ security parameter
  • 24. Efficiency verifier prover ๐ˆ๐ง๐ข๐ญ ๐ฉ๐จ๐ฅ๐ฒ(๐ฅ๐จ๐  ๐‘ต , ๐’Œ) ๐ฉ๐จ๐ฅ๐ฒ(๐‘ต) ๐๐ซ๐จ๐จ๐Ÿ ๐ฉ๐จ๐ฅ๐ฒ(๐ฅ๐จ๐  ๐‘ต , ๐’Œ) ๐ฉ๐จ๐ฅ๐ฒ(๐ฅ๐จ๐  ๐‘ต , ๐’Œ) We require that the computing time of the parties is as follows: Note: this also imposes limit on communication complexity. Remark: In our protocols ๐ฉ๐จ๐ฅ๐ฒ is small (e.g.: ๐ฉ๐จ๐ฅ๐ฒ ๐ฅ๐จ๐  ๐‘ต , ๐’Œ = ๐ค โ‹… ๐ฅ๐จ๐  ๐‘ต).
  • 25. How to define soundness? Informally: we want to force a cheating prover to constantly waste a lot of memory.
  • 26. What would be the goal of a cheating prover? โ€œCompressโ€ ๐‘น: verify prove ... Init(Id) proof proofverify ๐‘ฟ ๐‘ต ๐ŸŽ โ‰ช ๐‘ต โ€œblocksโ€ prove ๐‘น ๐‘ต
  • 27. Observation: a cheating prover has a simple (but inefficient) winning strategy. Init(Id) erase ๐‘น but store all the messages from the verifier: each time before the proof: erase ๐‘น X ๐ฉ๐จ๐ฅ๐ฒ(๐ฅ๐จ๐  ๐‘ต , ๐’Œ) answer by simulating expand by simulating Rproof X Moral: we need to restrict the power of a cheating prover.
  • 28. Restrictions on cheating prover We restrict his operating time. We say that ๐‘ท is an ๐‘ต, ๐‘ป -cheating prover if: size of ๐‘ทโ€™s storage time used by ๐‘ท during ๐๐ซ๐จ๐จ๐Ÿ (we also have a variant of a definition with a restriction on ๐‘ท โ€˜s space during proof). Note: no restrictions on ๐‘ทโ€™s computing power during ๐ˆ๐ง๐ข๐ญ.
  • 29. Security definition A protocol is a ๐‘ต, ๐‘ป -Proof of Space if it is complete, efficient, and sound. โˆ€ ๐‘ต, ๐‘ป -cheating prover ๐š๐œ๐œ๐ž๐ฉ๐ญ๐ฌ P( ) โ‰ค ๐ง๐ž๐ ๐ฅ(๐ค)
  • 31. Why is constructing the PoS schemes hard? Time-memory tradeoffs R X time ๐‘ต R ๐‘ต ๐‘ต Instead of storing ๐‘ต blocks the adversary stores ๐‘ต blocks and before every ๐๐ซ๐จ๐จ๐Ÿ phase computes ๐‘น in time ๐‘ต. For example:
  • 32. Example of a time-memory tradeoff: function inversion ๐‘ญ: ๐ŸŽ, ๐Ÿ ๐’ โ†’ ๐ŸŽ, ๐Ÿ ๐’ โ€“ a random permutation Fact: ๐‘ญ can be inverted efficiently if one can do precomputation and store the result in memory of size ๐Ÿ ๐’ . 1. compute F on every ๐’™ โˆˆ ๐ŸŽ, ๐Ÿ ๐’ and put every ๐’™, ๐‘ญ ๐’™ into a table ๐‘ป 2. sort the table ๐‘ป by the second column ๐’™ ๐ŸŽ ๐‘ญ ๐’™ ๐ŸŽ ๐’™ ๐Ÿ ๐‘ญ ๐’™ ๐Ÿ ๐’™ ๐Ÿ ๐‘ญ ๐’™ ๐Ÿ ๐’™ ๐Ÿ‘ ๐‘ญ ๐’™ ๐Ÿ‘ ๐’™ ๐Ÿ‘ ๐‘ญ ๐’™ ๐Ÿ‘ ๐’™ ๐ŸŽ ๐‘ญ ๐’™ ๐ŸŽ ๐’™ ๐Ÿ ๐‘ญ ๐’™ ๐Ÿ ๐’™ ๐Ÿ ๐‘ญ ๐’™ ๐Ÿ
  • 33. Can we build a PoS out of it? No ๏Œ [M. Hellman, 1980]: a time-memory tradeoff exists for this problem: ๐‘ญ can be inverted in time ๐‘ต given pre-processing in space ๐‘ต.
  • 34. Main technique ๐‘ฎ = (๐‘ฝ, ๐‘ฌ) โ€“ a directed acyclic graph with ๐‘ฝ = ๐‘ต. ๐‘ฏ๐ˆ๐ โ€“ a hash function that depends on ๐ˆ๐. (for example ๐‘ฏ ๐‘ฐ๐’… ๐’™ = ๐‘ฏโ€ฒ(๐‘ฐ๐’…||๐’™) for some other hash function ๐‘ฏโ€ฒ) We construct ๐‘น = ๐‘น ๐Ÿ, โ€ฆ , ๐‘น ๐‘ต by recursively labelling vertices ๐‘ฝ as follows: 1 2 3 4 5 ๐‘น ๐Ÿ = ๐‘ฏ ๐‘ฐ๐’…(๐Ÿ) ๐‘น ๐Ÿ = ๐‘ฏ ๐‘ฐ๐’…(๐Ÿ) ๐‘น ๐Ÿ‘ = ๐‘ฏ ๐‘ฐ๐’…(๐Ÿ‘, ๐‘น ๐Ÿ, ๐‘น ๐Ÿ) ๐‘น ๐Ÿ’ = ๐‘ฏ ๐‘ฐ๐’…(๐Ÿ’, ๐‘น ๐Ÿ) ๐‘น ๐Ÿ“ = ๐‘ฏ ๐‘ฐ๐’…(๐Ÿ“, ๐‘น ๐Ÿ‘, ๐‘น ๐Ÿ’) Note: every ๐‘ฎ induces a function ๐’‡ ๐‘ฎ of a form ๐ˆ๐ โ†ฆ (๐‘น ๐Ÿ, โ€ฆ , ๐‘น ๐‘ต).
  • 35. Very informally A graph that is bad if it can be โ€œquicklyโ€ labeled if one stores a โ€œsmallโ€ number of labels. Example of a bad graph: 1 2 3 Nโ€ฆ ๐‘ต ๐‘ต The adversary that stores labels in positions ๐Ÿ, ๐‘ต, ๐Ÿ ๐‘ต, โ€ฆ can compute every label in ๐‘ต steps. Call a graph good if it is not bad.
  • 36. How to build a PoS from a good graph? Problem: the entire ๐‘น needs to be sent to the verifier. ๐‘น = (๐‘น ๐Ÿ, โ€ฆ , ๐‘น ๐‘ต) ๐‘ฑ โŠ† ๐Ÿ, โ€ฆ , ๐‘ต such that ๐‘ฑ = ๐’Œ ๐‘น๐’Š ๐’Šโˆˆ๐‘ฑ ๐ˆ๐, ๐‘ต ๐ˆ๐, ๐‘ต Compute ๐‘น = ๐‘น ๐Ÿ, โ€ฆ , ๐‘น ๐‘ต โ‰” ๐’‡ ๐‘ฎ ๐ˆ๐ ๐ˆ๐ง๐ข๐ญ ๐๐ซ๐จ๐จ๐Ÿ
  • 37. Solution: let the prover commit to ๐‘น with a Merkle tree. ๐‘น ๐Ÿ ๐‘น ๐Ÿ ๐‘น ๐Ÿ‘ ๐‘น ๐Ÿ’ ๐‘ฏ(๐‘น ๐Ÿ, ๐‘น ๐Ÿ) ๐‘ฏ(๐‘น ๐Ÿ‘, ๐‘น ๐Ÿ’) ๐‘น ๐Ÿ“ ๐‘น ๐Ÿ” ๐‘น ๐Ÿ• ๐‘น ๐Ÿ– ๐‘ฏ(๐‘น ๐Ÿ“, ๐‘น ๐Ÿ”) ๐‘ฏ(๐‘น ๐Ÿ•, ๐‘น ๐Ÿ–) C Recall: Merkle trees allow to efficiently prove that each block ๐‘น๐’Š was included into the hash ๐‘ช. This is done by sending ๐Œ๐ž๐ซ๐ค๐ฅ๐ž๐๐ซ๐จ๐จ๐Ÿ ๐‘น๐’Š ๐Œ๐ž๐ซ๐ค๐ฅ๐ž๐๐ซ๐จ๐จ๐Ÿ ๐‘น ๐Ÿ“ = ๐‘น ๐Ÿ”, ๐‘ฏ ๐‘น ๐Ÿ”, ๐‘น ๐Ÿ• , โ€ฆ๐Œ๐ž๐ซ๐ค๐ฅ๐ž(๐‘น ๐Ÿ, โ€ฆ , ๐‘น ๐Ÿ–)
  • 38. New ๐ˆ๐ง๐ข๐ญ phase ๐Œ๐ž๐ซ๐ค๐ฅ๐ž(๐‘น) ๐ˆ๐ ๐ˆ๐ Compute ๐‘น = ๐‘น ๐Ÿ, โ€ฆ , ๐‘น ๐‘ต โ‰” ๐’‡ ๐‘ฎ ๐ˆ๐ b c a ๐‘น ๐’ƒ ๐‘น ๐’„ ๐‘น ๐’‚ checks if ๐‘น ๐’‚ = ๐‘ฏ ๐‘ฐ๐’… ๐’‚, ๐‘น ๐’ƒ, ๐‘น ๐’„ if yes, then we say that ๐’‚ is consistent repeat ๐’Œ times
  • 39. New ๐๐ซ๐จ๐จ๐Ÿ phase In the ๐๐ซ๐จ๐จ๐Ÿ phase the prover opens the Merkle commitment to every ๐‘น๐’Š he is asked about. ๐‘ฑ โŠ† ๐Ÿ, โ€ฆ , ๐‘ต such that ๐‘ฑ = ๐’Œ ๐‘น๐’Š ๐’Šโˆˆ๐‘ฑ
  • 40. Easy to see ๐‘ฎ โˆ’ a graph to which a malicious prover committed. If the consistency check was ok for ๐’Œ times, then most likely: a large fraction of nodes in ๐‘ฎ is consistent.
  • 41. How to deal with the inconsistent nodes? graph ๐‘ฎ: ๐’™ inconsistent nodes The adversary can โ€œsaveโ€ memory by not storing these ๐’™ blocks. Observation: such an adversary with memory ๐‘ต ๐ŸŽ can be โ€œsimulatedโ€ by an adversary with memory ๐‘ต ๐ŸŽ + ๐’™ that commits to a graph with no inconsistent nodes.
  • 42. Techniques We construct good graphs such that the time-memory tradeoffs for computing ๐’‡ ๐‘ฎ are bad. For this we use techniques from graph pebbling. The constructions are based on tools from graph theory: โ€ข hard to pebble graphs of Paul, Tarjan, Celoni, 1976, โ€ข superconcentrators, random bipartite expander graphs, and โ€ข graphs of Erdos, Graham, Szemeredi, 1975. The details are in the paper.
  • 43. The results of [DFKP15] We construct a ๐’„ ๐Ÿ ๐‘ต, ๐’„ ๐Ÿ ๐‘ต โˆ’Proof of Space. (for some constants ๐’„ ๐Ÿ, and ๐’„ ๐Ÿ) We also have a construction that is secure when the proverโ€™s space during the execution is restricted. Caveat: in the model we need a โ€œsimplifying assumptionโ€ that the adversary can explicitly state which block he knows.
  • 44. A question How to construct a cryptocurrency on top of PoS?
  • 45. Why cannot the PoSโ€™s be used to directly replace the PoWs? 1. PoW is single-phase, while PoS has the Init phase 2. How to make the reward proportional to invested resources? 3. Where does the challenge come from? (we will talk later about it)
  • 46. Single-phase vs. โ€œwith initializationโ€ random ๐’™ proof ๐’” random ๐’™ proof ๐’” commitment ๐‘ช โ‰” (Merkle(f(Id)),Id) Note: the consistency check can be performed in the proof phase Good news: also PoS is โ€œpublic coinโ€. PoW: PoS: prover verifier prover verifier
  • 47. The solution Every user who joins the system โ€œdeclaresโ€ how much space he can devote. This is done as follows: Gen (secret key sk, public key pk)runs ๐‘น ๐Ÿ, โ€ฆ , ๐‘น ๐‘ต = ๐’‡ ๐ฉ๐ค ๐‘ช โ‰” ๐Œ๐ž๐ซ๐ค๐ฅ๐ž ๐‘น ๐Ÿ, โ€ฆ , ๐‘น ๐‘ต Take a PoS scheme ๐’‡ โ€“ the function that fills-in the memory transaction โŒฉ๐œ๐จ๐ฆ๐ฆ๐ข๐ญ, ๐‘ช, ๐ฉ๐ค โŒช Note: no need to run the consistency check (this is done later)
  • 48. How to make the reward proportional to invested resources? Suppose we have 5 miners, with the following proportion of space: How to determine who has the right to extend the chain in from a given block?
  • 49. Observation Let ๐‘ต ๐Ÿ, โ€ฆ , ๐‘ต ๐’Œ be the memory sizes of the miners. Suppose ๐‘ต ๐Ÿ = โ‹ฏ = ๐‘ต ๐’Œ. Suppose we have a random challenge ๐’™. Observe that the PoS of [DFKP15] is public-coin. Let every miner execute the PoS with respect to this challenge: In Bitcoin the challenge was the previous block. ๐’™ ๐’” ๐Ÿ“๐’” ๐Ÿ ๐’” ๐Ÿ‘ ๐’” ๐Ÿ’๐’” ๐Ÿ ๐‘ฎ: ๐ŸŽ, ๐Ÿ โˆ— โ†’ {๐Ÿ, โ€ฆ , ๐‘พ} โ€“ a hash function (with very large ๐‘พ) ๐‘ท๐’Š is the winner if ๐‘ฎ( ๐’” ๐’Š) is larger than all the other ๐‘ฎ( ๐’” ๐’‹)โ€™s. ๐‘ท ๐Ÿ ๐‘ท ๐Ÿ ๐‘ท ๐Ÿ‘ ๐‘ท ๐Ÿ’ ๐‘ท ๐Ÿ“ proofs
  • 50. Easy to see: For each ๐‘ท๐’Š his probability of winning is equal to ๐Ÿ/๐’Œ. This is because for a given commitment ๐‘ช and a the challenge ๐’™ the solution ๐’” is uniquely determined. Note: this is not true if one can change ๐‘ช. This is why we require the miners to post commitments on the blockchain If it was not the case then a malicious miner could try different ๐’”โ€™s. Hence we would be back in the Proof of Work scenario.
  • 51. But what if the ๐‘ต๐’Šโ€™s are not equal? We need a function ๐‘ซ ๐‘ต ๐’Š such that the following condition yields a winner with probability ๐‘ต๐’Š ๐‘ต ๐Ÿ + โ‹ฏ + ๐‘ต ๐’Œ Turns out that ๐‘ซ ๐‘ต ๐’Š (๐’”) โ‰” ๐‘ฎ(๐’”)/๐‘พ ๐Ÿ/๐‘ต ๐’Š is such a function (the details are in the paper). ๐‘ท๐’Š is the winner if ๐‘ซ ๐‘ต ๐’Š (๐’”๐’Š) is larger than all the other ๐‘ซ ๐‘ต ๐’Š (๐’”๐’‹)โ€™s.
  • 52. Quality of the blockchain Using the function ๐‘ซ ๐‘ต ๐’Š we can also define the quality of the block chain. First, let ๐’—๐’Š โ‰” ๐‘ซ ๐‘ต ๐’Š ๐’”๐ข . Define: ๐‘ธ ๐’—๐’Š โ‰” ๐ฆ๐ข๐ง ๐‘ต ๐๐ซ ๐’—๐’Š < ๐’˜: ๐’˜ โ† ๐‘ซ ๐‘ต(๐‘ผ) โ‰ฅ ๐Ÿ/๐Ÿ in Bitcoin it is its length ๐’” ๐Ÿ ๐’” ๐Ÿ ๐’” ๐Ÿ‘ ๐’” ๐Ÿ’ ๐’” ๐Ÿ“ ๐’” ๐Ÿ” the space required to get a better proof than ๐’—๐’Š on a random challenge with probability 1/2. Then let the total quality of blockchain to be equal to the sum of ๐‘ธ๐’Šโ€™s. uniform
  • 53. This solution need some small modifications 1. To avoid bad events that happen with small probability we need to limit the maximal ๐‘ธ๐’Š that counts (this limit is imposed with respect to the median of other ๐‘ธ๐’Š โ€ฒ s).
  • 54. 2. What if the amount of space in the system increases dramatically? Then the adversary that โ€œstarts computing the blockchain from the beginningโ€ can produce a better quality chain (even if his memory is <1/2 of the total). Solution: only last 1000 block count (note: it requires checkpoints) time space
  • 55. Where does the challenge ๐’™ come from? 1. Use a NIST beacon or some other trusted source โ€“ not a good solution for a โ€œfully distributedโ€ currency. 2. โ€œAskโ€ some other miner โ€“ possible but complicated (what if he is not online?) 3. [Bitcoin solution]: Use some previous block. not so easy as in Bitcoin...
  • 56. Problems with using previous block: By manipulating the transaction list the miner can produce different ๐’™๐’Š โ€ฒ ๐‘ . ๐’™i ๐’™i+1 transactions from period i+1 H This again would lead to Proofs of Work... this is called โ€œgrindingโ€
  • 57. Solution The challenge does not depend on the transactions. Spacemint blockchain syntax: Block ๐‘ฉ๐’Š+๐Ÿ s๐‘–+1 signature transactions Block ๐‘ฉ๐’Š s๐‘– signature transactions Block ๐‘ฉ๐’Š+๐Ÿ s๐‘–+2 signature transactions signature chain proof chain x ๐’Š+๐Ÿ = ๐‘ฏ(s๐’Š) x ๐’Š+๐Ÿ = ๐‘ฏ(s๐’Š+๐Ÿ)
  • 58. Yet another problem Suppose there is a fork blocki+1 blocki+2 blockโ€™i+2 blocki+3 If ๐›๐ฅ๐จ๐œ๐ค ๐ข+๐Ÿ โ€ฒ gives a challenge that is โ€œgoodโ€ for him, then itโ€™s better for him to work on this chain Note: in Bitcoin working on a shorter chain never made sense.
  • 59. Solution: look deeper in the past The challenge for block ๐’Š is a hash of block ๐’Š โˆ’ ๐Ÿ๐Ÿ๐ŸŽ. Why not to look deeper into the past? We do not want the miners to know that they can stay long offline (so they could erase their disks)
  • 60. A more subtle problem In Proofs of Work mining costs, while in Proofs of Space it is โ€œfor freeโ€. So a miner that sees a fork the best (selfish) strategy is to work on both chains. In this case he โ€œwinsโ€ in both cases! blocki blocki+1 blocki+2 blockโ€™i+2 blocki+3 blockโ€™i+3 A similar problem shows up in โ€œProofs of Stakeโ€: โ€œThe problem with Proofs of Stake is that there is nothing at stakeโ€
  • 61. Solution: penalize such behavior blocki blocki+1 blocki+2 blockโ€™i+2 blocki+3 blockโ€™i+3 discovers that these blocks were signed by the same party posts a transaction with a โ€œproofโ€ of this, and gets a reward (the party that signed 2 blocks looses her reward)
  • 62. Full description of the protocol See [PPKAFG 2015]. This paper contains also a game-theoretic model and a security proof.
  • 63. Open problem Understand better the bounds in these constructions (currently there are many hidden constants)
  • 64. Plan 1. Litecoin โ€“ a currency based on the Scrypt hash function 2. Spacemint โ€“ a currency based on the Proofs of Space 3. Currencies based on the Proofs of Stake 4. Currencies doing some useful work (Primecoin, Permacoin) 5. Ethereum โ€“ a currency with Turing- complete scripts 6. Other uses of the Blockchain technology
  • 65. Proofs of Stake The โ€œvoting powerโ€ depends on how much money one has. Justification: people who have the money are naturally interested in the stability of the currency. Currencies: BlackCoin, Peercoin, NXT, shares of coins โ€œvoting powerโ€ โ‰ˆ
  • 66. Challenges when constructing Proof- of-Stake currencies Similar to the Proofs of Space (note: Proofs of Stake is a much earlier concept). How to determine which miner has the right to extend the chain? How to prevent mining on many chains? (โ€œThere is nothing at stakeโ€) How to prevent grinding?
  • 67. Other problems 1. How to distribute initial money? 2. How to force coin owners to mine?
  • 68. A potential speculative attack on PoStake coins [Nicolas Houy, It Will Cost You Nothing to 'Kill' a Proof-of-Stake Crypto- Currency, 2014] I am going to destroy your currency by buying > ๐Ÿ“๐Ÿ% coins and gaining the voting majority shall I sell him my coins? if I believe that he succeeds then I should sell at any non- zero price if everybody thinks this way then the coin price will quickly go close to zero I buy the coins now (cheaply)
  • 69. Plan 1. Litecoin โ€“ a currency based on the Scrypt hash function 2. Spacemint โ€“ a currency based on the Proofs of Space 3. Currencies based on the Proofs of Stake 4. Currencies doing some useful work (Primecoin, Permacoin) 5. Ethereum โ€“ a currency with Turing- complete scripts 6. Other uses of the Blockchain technology
  • 70. Idea Can we have a currency that does something useful? Some ideas proposed: โ€ข Permacoin [A. Miller, A. Juels, E. Shi, B. Parn, J. Katz, Permacoin: Repurposing Bitcoin Work for Data Preservation, 2014] โ€ข Primecoin [Sunny King, Primecoin: Cryptocurrency with Prime Number Proof-of-Work, 2013]
  • 71. Permacoin Main idea: parametrize PoWs with a large file ๐‘ญ (โ€œtoo large to store by individualsโ€). To solve a PoW one needs to store some part of ๐‘ญ. (the more you store, the higher your probability is).
  • 72. Why is it useful? Can be used data that is useful for some purpose. Difference between Permacoin and Spacemint: โ€ข Permacoin is still a Proof of Work (consumes energy) โ€ข The data in Spacemint is random (in Permacoin it is not random) โ€ข Permacoin doesnโ€™t scale (maybe in 20 years everybody will have the library of congress data on his mobile?)
  • 73. Another nice feature of Permacoin Itโ€™s PoWs are nonoutsourcable: A miner in a mining pool can always steal the PoW solution. Hence: creating mining pools makes no sense. See also: [Miller, Kosba, Katz, Shi, Nonoutsourceable Scratch- Off Puzzles to Discourage Bitcoin Mining Coalitions, ACM CCS 2014]
  • 74. Primecoin Proof of Work: finding chains of primes.
  • 75. Chains of primes โ€ข Cunningham chain of the first kind: โ€ข ๐’‘ ๐ŸŽ โ€ข ๐’‘ ๐Ÿ = ๐Ÿ๐’‘ ๐ŸŽ + ๐Ÿ โ€ข ๐’‘ ๐Ÿ = ๐Ÿ๐’‘ ๐Ÿ + ๐Ÿ โ€ข ๐’‘ ๐Ÿ‘ = ๐Ÿ๐’‘ ๐Ÿ + ๐Ÿ โ€ข โ€ฆ (all ๐’‘๐’Šโ€™s are prime) Example: 2, 5, 11, 23, 47,... โ€ข Cunningham chain of the second kind: โ€ข ๐’‘ ๐ŸŽ โ€ข ๐’‘ ๐Ÿ = ๐Ÿ๐’‘ ๐ŸŽ โˆ’ ๐Ÿ โ€ข ๐’‘ ๐Ÿ = ๐Ÿ๐’‘ ๐Ÿ โˆ’ ๐Ÿ โ€ข ๐’‘ ๐Ÿ‘ = ๐Ÿ๐’‘ ๐Ÿ โˆ’ ๐Ÿ โ€ข โ€ฆ (all ๐’‘๐’Šโ€™s are prime) Example: 151, 301, 601, 1201,... โ€ข bi-twin chain: ๐’‘ ๐ŸŽ, ๐’’ ๐ŸŽ, ๐’‘ ๐Ÿ, ๐’’ ๐Ÿ, ๐’‘ ๐Ÿ, ๐’’ ๐Ÿ, โ€ฆ such that โ€ข ๐’‘ ๐ŸŽ, ๐’‘ ๐Ÿ, ๐’‘ ๐Ÿ are Cunningham chain of the first kind, โ€ข ๐’’ ๐ŸŽ, ๐’’ ๐Ÿ, ๐’’ ๐Ÿ are Cunningham chain of the second kind, and โ€ข each (๐’‘๐’Š, ๐’’๐’Š) is a prime twin pair (i.e. ๐’’๐’Š = ๐’‘๐’Š + ๐Ÿ) Famous Conjecture: for every ๐’Œ there exist infinitely many chains like this of length ๐’Œ.
  • 76. Main idea of Primecoin Proof of Work = โ€œfind as long chains as possibleโ€ Some challenges: 1. Verification of a PoW solution should be very efficient Solution: โ€ข limit the size of the numbers โ€ข allow pseudoprimes 2. Quality measure of the solution should be more fine grained than just the length of the chain. Solution: accept chains ๐’‘ ๐Ÿ, ๐’‘ ๐Ÿ, โ€ฆ , ๐’‘ ๐’Œ, ๐’‘ ๐’Œ+๐Ÿ, where all ๐’‘๐’Šโ€™s but the last one are prime. The quality of such a solution is equal to ๐’Œ + ๐’“, where ๐’“ โ€œmeasures how close is ๐’‘ ๐’Œ+๐Ÿ to a primeโ€ โ€œin terms of the Fermat testโ€ a โ€œpseudoprimeโ€ is a composite number ๐‘› that passes Fermat test: โ€œcheck if ๐Ÿ ๐’โˆ’๐Ÿ = ๐Ÿ (๐ฆ๐จ๐ ๐’)โ€
  • 77. Yet another question How to โ€œlinkโ€ the solution to the hash of the previous block ๐๐ข? Answer: Require ๐’‘ ๐Ÿ + ๐Ÿ to be a multiple of ๐‘ฏ(๐‘ฉ๐’Š). For more details see [Sunny King, Primecoin: Cryptocurrency with Prime Number Proof-of-Work, 2013].
  • 78. Research direction Any other ideas for โ€œuseful Proofs of Workโ€?
  • 79. Plan 1. Litecoin โ€“ a currency based on the Scrypt hash function 2. Spacemint โ€“ a currency based on the Proofs of Space 3. Currencies based on the Proofs of Stake 4. Currencies doing some useful work (Primecoin, Permacoin) 5. Ethereum โ€“ a currency with Turing- complete scripts 6. Other uses of the Blockchain technology
  • 80. Ethereum โ€“ a โ€œcurrency designed for contractsโ€ main feature: Turing-complete scripts the transaction ledger is maintained using the GHOST protocol of Sompolinsky and Zohar Developers: Gavin Wood, Jeffrey Wilcke, Vitalik Buterin, et al. Initial release: 30 July 2015 currency unit: Ether (ETH) as of 24.05.2016: Market cap โ‰ˆ 1 billion USD 1 E๐“๐‡ โ‰ˆ 12 USD Main uses: decentralized organizations, prediction markets, and many othersโ€ฆ Susceptible to verifierโ€™s dilemma?
  • 81. Research direction Understand the impact of verifierโ€™s dillema
  • 82. Plan 1. Litecoin โ€“ a currency based on the Scrypt hash function 2. Spacemint โ€“ a currency based on the Proofs of Space 3. Currencies based on the Proofs of Stake 4. Currencies doing some useful work (Primecoin, Permacoin) 5. Ethereum โ€“ a currency with Turing- complete scripts 6. Other uses of the Blockchain technology
  • 83. Namecoin (NMC)โ€“ a decentralized DNS Idea: use Bitcoinโ€™s ledger as a DNS. It maintains a censorship-resistant top level domain .bit. The same blockchain rules as Bitcoin. Placing a record costs 0.01 NMC. Records expire after 36000 blocks (โ‰ˆ ๐Ÿ๐ŸŽ๐ŸŽ days) unless renewed. this money is โ€œdestroyedโ€
  • 85. ยฉ2016 by Stefan Dziembowski. Permission to make digital or hard copies of part or all of this material is currently granted without fee provided that copies are made only for personal or classroom use, are not distributed for profit or commercial advantage, and that new copies bear this notice and the full citation.

Editor's Notes

  1. See: Joel Alwen and Vladimir Serbinenko High Parallel Complexity Graphs and Memory-Hard Functions