Indistinguishable Proofs of Work or Knowledge
Foteini Baldimtsi, Aggelos Kiayias, Thomas Zacharias, Bingsheng Zhang
ASIACRYPT 2016 8th December, Hanoi, Vietnam
Work or Knowledge Foteini Baldimtsi, Aggelos Kiayias, Thomas - - PowerPoint PPT Presentation
Indistinguishable Proofs of Work or Knowledge Foteini Baldimtsi, Aggelos Kiayias, Thomas Zacharias, Bingsheng Zhang ASIACRYPT 2016 8th December, Hanoi, Vietnam Motivation (ZK) Proofs of Knowledge - PoK Statement: Prover
Foteini Baldimtsi, Aggelos Kiayias, Thomas Zacharias, Bingsheng Zhang
ASIACRYPT 2016 8th December, Hanoi, Vietnam
Prover Verifier Statement: ๐ฆ โ ๐
Accept/Reject Witness: ๐ 1) Completeness: the verifier always accepts a valid proof 2) PoK: for any convincing verifier, we can extract ๐ 3) Prover privacy is preserved via some ZK variant Accept/Reject
Prover Verifier Parameters: ๐, ๐ Check if ๐๐ = ๐ โ (๐๐)๐ pick ๐ข โ ๐๐ ๐ = ๐๐ข ๐ pick ๐ โ ๐๐ ๐ ๐ = ๐ข + ๐ โ ๐ก๐ ๐ Statement: โ๐ก๐: ๐๐ = ๐๐ก๐ Witness: ๐ก๐
Prover Verifier Parameters: ๐, ๐
Schnorr identification is a Sigma protocol that achieves special soundness and honest-verifier ZK
Statement: โ๐ก๐: ๐๐ = ๐๐ก๐ Witness: ๐ก๐
โIf I donโt know you and you want to send me a message, then you must prove that you spent, say, ten seconds of CPU time, just for me and just for this messageโ [DN92]
โIf I donโt know you and you want to send me a message, then you must prove that you spent, say, ten seconds of CPU time, just for me and just for this messageโ [DN92]
Alice
Verifier
I am an approved contact
email Server
Approved contacts:
Bob
Alice
Verifier
I am an approved contact
email Server
Bob Approved contacts:
Eve Not approved!
โIf I donโt know you and you want to send me a message, then you must prove that you spent, say, ten seconds of CPU time, just for me and just for this messageโ [DN92]
Verifier
email Server
Bob Approved contacts:
Eve Not approved!
Mail server distinguishes between approved and non-approved contacts!!
โIf I donโt know you and you want to send me a message, then you must prove that you spent, say, ten seconds of CPU time, just for me and just for this messageโ [DN92]
Alice I am an approved contact
Verifier
email Server
Bob Approved contacts:
Eve Not approved!
Alice I am an approved contact
prove that either
โ know some secret that implies their relation with the receiver OR โ has spent a certain amount of work in terms
prove that either
โ know some secret that implies their relation with the receiver OR โ has spent a certain amount of work in terms
the sender, remains unknown to the mail server.
Task/Puzzle solution Verifier Prover Accept/Reject
Task/Puzzle solution Verifier Prover Accept
The verifier ascertains that the prover performed some certain amount of work, given the difficulty of the puzzle parameters
PoK: PoW:
Prover either knows a witness to the statement
solve a puzzle
Prover Verifier Prover Statement: ๐ฆ โ ๐
PoK: PoW:
Prover either knows a witness to the statement
solve a puzzle
Prover Verifier Prover
Statement: ๐ฆ โ ๐
๏ถ We define cryptographic puzzle systems.
๏ถ We define cryptographic puzzle systems. ๏ถ We define PoWorKs w.r.t. some language in NP and a fixed puzzle system.
๏ถ We define cryptographic puzzle systems. ๏ถ We define PoWorKs w.r.t. some language in NP and a fixed puzzle system. ๏ถ We provide an efficient 3-move PoWorK construction.
๏ถ We define cryptographic puzzle systems. ๏ถ We define PoWorKs w.r.t. some language in NP and a fixed puzzle system. ๏ถ We provide an efficient 3-move PoWorK construction. ๏ถ We provide two puzzle system instantiations
(one in the RO model and one under complexity assumptions).
๏ถ We define cryptographic puzzle systems. ๏ถ We define PoWorKs w.r.t. some language in NP and a fixed puzzle system. ๏ถ We provide an efficient 3-move PoWorK construction. ๏ถ We provide two puzzle system instantiations
(one in the RO model and one under complexity assumptions).
๏ถ We present applications of PoWorKs in
knowledge.
Basic properties: 1) Easy to generate and efficiently sampleable 2) Hard to solve 3) Easy to verify 4) Amortization resistant
Basic properties: 1) Easy to generate and efficiently sampleable 2) Hard to solve 3) Easy to verify 4) Amortization resistant 5) Dense (can be sampled by just generating random strings )
We do not restrict parallelizability of our puzzles!
PuzSys = {Sample, Solve , SampleSol, Verify}
hardness parameter
Puzzle Space ๐ธ๐ป, Solution Space ๐ป๐ป, Hardness space ๐ฐ๐ป
PuzSys = {Sample, Solve , SampleSol, Verify}
hardness parameter
Puzzle Space ๐ธ๐ป, Solution Space ๐ป๐ป, Hardness space ๐ฐ๐ป
1) Completeness/Correctness and Efficient Sampleability of Sample and SampleSol PuzSys = {Sample, Solve, SampleSol, Verify}
1) Completeness and Efficient sampleability of Sample and SampleSol
2) ๐-Hardness: PuzSys = {Sample, Solve , SampleSol, Verify}
1) Completeness and Efficient Sampleability of Sample and SampleSol
2) ๐-Hardness: PuzSys is ๐-hard, if for every adversary:
๐๐๐ < โ Sample (๐)
๐, ๐๐๐ ๐๐๐๐
Verify (๐, ๐๐๐, ๐๐๐๐) โ> ๐ข๐ ๐ฃ๐
๐ผ๐๐๐๐ฉ๐๐๐๐๐๐๐๐(๐, ๐๐๐) < ๐ (๐ผ๐๐๐๐๐ฉ๐ฆ๐ฐ๐(๐, ๐๐๐))
With negligible probability
PuzSys = {Sample, Solve , SampleSol, Verify}
1) Completeness and Efficient sampleability of Sample and SampleSol 2) ๐-Hardness
3) Statistical indistinguishability of Sample and SampleSol PuzSys = {Sample, Solve , SampleSol, Verify}
1) Completeness and Efficient sampleability of Sample and SampleSol 2) ๐-Hardness 3) Statistical indistinguishability of Sample and SampleSol
4) (๐, ๐) โamortization resistance
๐๐๐๐, โฆ , ๐๐๐๐ < โ Sample(๐) ๐, ๐๐๐๐, โฆ , ๐๐๐๐ ๐๐๐๐๐, โฆ , ๐๐๐๐๐ for all 1 < ๐ < ๐ Verify(๐, ๐๐๐๐, ๐๐๐๐๐) โ> ๐ข๐ ๐ฃ๐
PuzSys = {Sample, Solve , SampleSol, Verify}
๐ผ๐๐๐๐ฉ๐๐๐๐๐๐๐๐(๐, ๐๐๐) < ๐(เท
๐=๐ ๐
๐ (๐ผ๐๐๐๐ป๐๐๐๐(๐, ๐๐๐๐)) With negligible probability
(๐, ๐) is an f-sound PoWorK for ๐ โ ๐ถ๐ธ w.r.t. witness relation ๐๐ and PuzSys, if it achieves the following properties:
(๐, ๐) is an f-sound PoWorK for ๐ โ ๐ถ๐ธ w.r.t. witness relation ๐๐ and PuzSys, if it achieves the following properties: 1) Completeness: for all ๐ โ ๐, ๐ โ ๐๐ ๐ฆ , ๐ โ 0,1
โ , ๐ โ ๐ผ๐
Pr[< ๐(๐) โ ๐ > (๐, ๐, ๐); ๐ โ โacceptโ] = 1 โ negl(๐) & Pr[< ๐Solve(h) โ ๐ > ๐, ๐, ๐ ; ๐ โ โacceptโ] = 1 โ negl(๐)
(๐, ๐) is an ๐-sound PoWorK for ๐ โ ๐ถ๐ธ w.r.t. witness relation ๐๐ and PuzSys, if it achieves the following properties: 1) Completeness 2) ๐-Soundness: for all ๐ โ ๐, ๐, ๐ โ 0,1
โ , ๐ โ ๐ผ๐ and
prover ๐ธโฒ:
If ๐ accepts while ๐๐๐๐๐ธโฒ โค ๐ (๐๐๐๐Solve(๐, ๐๐๐)) then โ PPT extractor ๐ณ s.t ๐ณ๐ธโฒ(๐, ๐, ๐, ๐) โ ๐๐(๐)
(๐, ๐) is an ๐-sound PoWorK for ๐ โ ๐ถ๐ธ w.r.t. witness relation ๐๐ and PuzSys, if it achieves the following properties: 1) Completeness 2) ๐-Soundness 3) Stat./Comp. Indistinguishability: for all ๐ โ ๐, ๐ โ ๐๐ ๐ฆ , ๐
โ 0,1
โ , ๐ โ ๐ผ๐ and verifier ๐พโฒ:
๐ฐ๐ฃ๐๐ฑ ๐พโฒ โ< ๐ ๐ โ ๐พโฒ > ๐, ๐, ๐ ๐ฐ๐ฃ๐๐ฑ ๐พโฒ โ< PSolve(h) โ ๐พโฒ > ๐, ๐, ๐
Verifier Prover pick puzzle ๐๐๐ ๐๐๐
compute commitment ๐ ๐๐ s.t. ๐ ๐๐ = Commit (๐) + ZK: know ๐ that ๐ โ ๐ด
OR
๐ ๐๐ = Commit (๐๐๐)+ ZK : solved ๐๐๐ to sol
๐ ๐๐+ZK proof
42
Parameters: ๐ด, ๐, ๐,๐
43
3-round special-sound HVZK
PuzSys
PoWorK
44
PoWorK
PuzSys= {Sample, Solve, Verify, SampleSol}
3-move special-sound HVZK
ฮ = (P1,P2,Ver)
45
Verifier ๐, ๐๐, ๐ Prover (w) Goal: prove that (๐, ๐) โ ๐๐ (๐, ๐) โP1(๐, ๐) ๐ โ P2(๐ , ๐) ๐ ๐ โ ChallengeSpace 0/1 โVer(๐, ๐, ๐ , ๐) ๐ ๐
ฮ = (P1,P2,Ver)
46
Verifier ๐, ๐๐, ๐ Prover (w) Goal: prove that (๐, ๐) โ ๐๐ (๐โฒ, ๐โฒ) โP1(๐, ๐) ๐โฒ โ P2(๐ โฒ, ๐โฒ) ๐โฒ ๐ โฒ โ ChallengeSpace 0/1 โVer(๐, ๐โฒ, ๐ โฒ, ๐โฒ) ๐ โฒ ๐โฒ
w s.t. (x,w) โ RL
same distribution as P on input (x,w) and honest V
Verifier Prover (๐) ๐, ๐๐, ๐, ๐
Verifier Prover (๐)
(๐โฒ, ๐) โP1(๐, ๐)
๐โฒ ๐, ๐๐, ๐, ๐
Verifier Prover (๐)
(๐โฒ, ๐) โP1(๐, ๐)
๐โฒ
๐ โ ChallengeSpace
๐ ๐, ๐๐, ๐, ๐
Verifier Prover (๐)
(๐โฒ, ๐) โP1(๐, ๐)
๐โฒ
๐ โ ChallengeSpace
๐ ๐ โฒ, ๐โฒ, ๐๐๐, ๐๐๐๐
(๐๐๐, ๐๐๐๐)โSampleSol(๐) Set ๐ โฒ = ๐ โ ๐๐๐ ๐โฒ โ P2(๐ โฒ, ๐)
๐, ๐๐, ๐, ๐
51
Verifier Prover (๐)
(๐โฒ, ๐) โP1(๐, ๐)
๐โฒ
๐ โ ChallengeSpace
๐ ๐ โฒ, ๐โฒ, ๐๐๐, ๐๐๐๐
Verification
(๐๐๐, ๐๐๐๐)โSampleSol(๐) Set ๐ โฒ = ๐ โ ๐๐๐ ๐โฒ โ P2(๐ โฒ, ๐)
๐, ๐๐, ๐, ๐
Verifier Prover
๐, ๐๐, ๐, ๐
Verifier Prover
(๐โฒ, ๐ โฒ, ๐โฒ) โSim(๐)
๐โฒ
๐, ๐๐, ๐, ๐
Verifier Prover ๐โฒ
๐ โ ChallengeSpace
๐
(๐โฒ, ๐ โฒ, ๐โฒ) โSim(๐)
๐, ๐๐, ๐, ๐
Verifier Prover ๐โฒ
๐ โ ChallengeSpace
๐ ๐ โฒ, ๐โฒ, ๐๐๐, ๐๐๐๐
Set ๐๐๐ = ๐ โ ๐ โฒ ๐๐๐๐โSolve(๐, ๐๐๐) (๐โฒ, ๐ โฒ, ๐โฒ) โSim(๐)
๐, ๐๐, ๐, ๐
Verifier Prover ๐โฒ
๐ โ ChallengeSpace
๐ ๐ โฒ, ๐โฒ, ๐๐๐, ๐๐๐๐
Set ๐๐๐ = ๐ โ ๐ โฒ ๐๐๐๐โSolve(๐, ๐๐๐) Verification
(๐โฒ, ๐ โฒ, ๐โฒ) โSim(๐)
๐, ๐๐, ๐, ๐
Assumptions
Theorem:
with ๐-hardness (๐, ๐) is a (ฮ(๐))-sound PoWorK with statistical indistinguishability.
PuzSys = (Sample,SampleSol, Solve, Verify) (1) Based on random oracles (2) Based on complexity assumptions
Assume a hash function ๐ผ: {0,1}๐ โ {0,1}๐
๐๐๐ = ๐ด๐ป๐ช๐(๐ผ(๐)) and ๐๐๐๐ = ๐
๐ด๐ป๐ช๐(๐ผ ๐โฒ ) = ๐๐๐ If yes, then output ๐๐๐๐ = ๐โฒ
๐ด๐ป๐ช๐(๐ผ ๐๐๐๐ ) = ๐๐๐
Theorem: For every โ โ [log2๐, ๐/4], ๐ > 2, ๐ = ๐(
8 2๐), if H
is a RO, then the RO instantiation is a dense puzzle system with
๐ (โ)- soundness and (๐๐, ๐)-
amortization resistance.
strong extractors from regular universal oneway hash functions (UOWHFs).
extractors from regular universal oneway hash functions (UOWHFs).
๐ ๐ฒ๐ฎ, and a one-way function ๐ , we get that ฮจ(๐, ๐ก๐๐๐)=(๐ ๐ฒ๐ฎ ๐(๐), ๐ก๐๐๐ , ๐ก๐๐๐ ) is a dense one-way function (i.e. its output is close to uniform)
extractors from regular universal oneway hash functions (UOWHFs).
and a one-way function ๐ , we get that ฮจ(๐, ๐ก๐๐๐)=(๐ ๐ฒ๐ฎ ๐(๐ฆ), ๐ก๐๐๐ , ๐ก๐๐๐) is a dense one-way function
we set the puzzle ๐๐๐ = ๐ ๐ฒ๐ฎ ๐๐๐ฉ๐ก
_๐ ๐ + ๐ , ๐ก๐๐๐) , ๐ก๐๐๐, ๐
with solution ๐๐๐๐ = ๐ โ {0,1}๐
Theorem: For every โ โ [2log4๐, log5๐], ๐ > 2, ๐ = ๐(2log3๐), if the TCR property of Ext is ๐( 2โ) โsecure and DLog is ๐(
๐ 2โ) โ hard, then the DLog instantiation
is a dense puzzle system with
๐ (โ)- soundness
and (๐๐, ๐)-amortization resistance.
Verifier
email Server
PoWorK PoWorK Mail server cannot distinguish between approved contacts or not
email Server
Bob
โIf I donโt know you and you want to send me a message, then you must prove that you spent, say, ten seconds of CPU time, just for me and just for this messageโ [DN92]
Most blockchains are maintained via proofs of work
But...recent suggestions exist that are based in signatures/ proofs of knowledge
Hybrid PoW - PoK Cryptocurrencies
OR
Hybrid PoW - PoK Cryptocurrencies
OR
The ledger remains live even if many miners go
Hybrid PoW - PoK Cryptocurrencies
OR
A trusted party could issue blocks in case of such emergency
Hybrid PoW - PoK Cryptocurrencies
OR
the trusted partyโs involvement will be unnoticed and hence will have no impact to the economy that the cryptocurrency supports
assumptions our 3-move PoWorK construction is straight-line simulatable in ๐(๐poly(log๐)) time.
construction is a 3-round concurrently simulatable argument of knowledge.
class of interactive proof systems.
puzzle systems.
construction.
scenarios.
Foteini Baldimtsi, Aggelos Kiayias, Thomas Zacharias, Bingsheng Zhang
ASIACRYPT 2016 8th December, Hanoi, Vietnam