ouroboros crypsinous privacy-preserving proof-of-stake · performance–snarkgateestimation...

28
Ouroboros Crypsinous Privacy-Preserving Proof-of-Stake Thomas Kerber [email protected] Markulf Kohlweiss [email protected] Aggelos Kiayias [email protected] Vassilis Zikas [email protected] The University of Edinburgh & IOHK May 17, 2019

Upload: others

Post on 30-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ouroboros Crypsinous Privacy-Preserving Proof-of-Stake · Performance–SNARKGateEstimation Constraintcount Transfers Lead Checkpk c i 2 27;904 27;904 Checkˆ c2,sk c2 2 27;904 Pathforcm

Ouroboros CrypsinousPrivacy-Preserving Proof-of-Stake

Thomas [email protected]

Markulf [email protected]

Aggelos [email protected]

Vassilis [email protected]

The University of Edinburgh & IOHK

May 17, 2019

Page 2: Ouroboros Crypsinous Privacy-Preserving Proof-of-Stake · Performance–SNARKGateEstimation Constraintcount Transfers Lead Checkpk c i 2 27;904 27;904 Checkˆ c2,sk c2 2 27;904 Pathforcm

Ouroboros CrypsinousPrivacy-Preserving Proof-of-Stake

Thomas [email protected]

Markulf [email protected]

Aggelos [email protected]

Vassilis [email protected]

The University of Edinburgh & IOHK

May 17, 2019

Page 3: Ouroboros Crypsinous Privacy-Preserving Proof-of-Stake · Performance–SNARKGateEstimation Constraintcount Transfers Lead Checkpk c i 2 27;904 27;904 Checkˆ c2,sk c2 2 27;904 Pathforcm

Introduction

I Distributed ledgers allow users to agree on sequences of blocks.

I Users can append blocks to the sequence under some conditions.

I In proof-of-stake, this depends on their stake – their money in thesystem.

Page 4: Ouroboros Crypsinous Privacy-Preserving Proof-of-Stake · Performance–SNARKGateEstimation Constraintcount Transfers Lead Checkpk c i 2 27;904 27;904 Checkˆ c2,sk c2 2 27;904 Pathforcm

Motivation

I Proof-of-stake has advantages over proof-of-work:I More environmentally friendly.I Less susceptible to external attacks.

I However, constructions rely on knowing the “stake” each party has.

I We construct a proof-of-stake systemworking with a Zerocash-liketransaction system, based on Ouroboros Genesis.

Page 5: Ouroboros Crypsinous Privacy-Preserving Proof-of-Stake · Performance–SNARKGateEstimation Constraintcount Transfers Lead Checkpk c i 2 27;904 27;904 Checkˆ c2,sk c2 2 27;904 Pathforcm

Our Contributions

I We construct the first1 formally proven privacy-preservingproof-of-stake protocol.

I Wemodel and prove this privacy secure in the UC setting.I The full UC specification can be found in the paper.

I We preserve the important adaptive security guarantees of the parentprotocols, by using different and novel forward-secure primitives.I We utilise a SNARK-friendly hash-based construction in place of

forward-secure signatures.I We define and use key-private forward-secure encryption.

1There is concurrent and independent work by Ganesh et al. on the same subject.

Page 6: Ouroboros Crypsinous Privacy-Preserving Proof-of-Stake · Performance–SNARKGateEstimation Constraintcount Transfers Lead Checkpk c i 2 27;904 27;904 Checkˆ c2,sk c2 2 27;904 Pathforcm

Background – Ouroboros Genesis

I Time is divided into discrete units: large epochs, and small slots.

I When an epoch starts, its entropy η is determined.

I In every slot sl, stakeholders evaluate a VRF at (η, sl).

I If the result falls under a target, determined by their stake, they create ablock.

Page 7: Ouroboros Crypsinous Privacy-Preserving Proof-of-Stake · Performance–SNARKGateEstimation Constraintcount Transfers Lead Checkpk c i 2 27;904 27;904 Checkˆ c2,sk c2 2 27;904 Pathforcm

Background – Ouroboros Genesis

Alice Bob

Mallory

Page 8: Ouroboros Crypsinous Privacy-Preserving Proof-of-Stake · Performance–SNARKGateEstimation Constraintcount Transfers Lead Checkpk c i 2 27;904 27;904 Checkˆ c2,sk c2 2 27;904 Pathforcm

Background – Zerocash

I Bitcoin maintains a set of unspent coins.

I This leaks a lot about transactions.

I Transactions generally insert and delete some coins.

I Zerocash separates this, andmaintains sets of created coins, anddestroyed coins.

Page 9: Ouroboros Crypsinous Privacy-Preserving Proof-of-Stake · Performance–SNARKGateEstimation Constraintcount Transfers Lead Checkpk c i 2 27;904 27;904 Checkˆ c2,sk c2 2 27;904 Pathforcm

Background – Zerocash

I Tomake these unlinkable, the sets store different cryptographicproperties of the same coin.

I To spend, you prove membership in the set of created coins, andnon-membership in the set of destroyed coins.I Membership is proven byMerkle-tree membership proofs.I Non-membership is proven by revealing.

I This is done in zero-knowledge, along with proofs of consistencyproperties, such as transactions being zero-sum.

Page 10: Ouroboros Crypsinous Privacy-Preserving Proof-of-Stake · Performance–SNARKGateEstimation Constraintcount Transfers Lead Checkpk c i 2 27;904 27;904 Checkˆ c2,sk c2 2 27;904 Pathforcm

Background – Zerocash

sk

pk ρ‖v

cm sn

Page 11: Ouroboros Crypsinous Privacy-Preserving Proof-of-Stake · Performance–SNARKGateEstimation Constraintcount Transfers Lead Checkpk c i 2 27;904 27;904 Checkˆ c2,sk c2 2 27;904 Pathforcm

Protocol – Crypsinous in a Nutshell

I We run variants of Ouroboros Genesis and Zerocash together.

I Wemove Ouroboros Genesis’ leadership proof into zero-knowledge.

I We prove our stake with a one-to-one Zerocash transfer.

I The VRF is replaced with a zero-knowledge PRF evaluation.

I There are a number of subtle problems however...

Page 12: Ouroboros Crypsinous Privacy-Preserving Proof-of-Stake · Performance–SNARKGateEstimation Constraintcount Transfers Lead Checkpk c i 2 27;904 27;904 Checkˆ c2,sk c2 2 27;904 Pathforcm

Protocol – Crypsinous in a Nutshell

?

?

?

?

?

?

?

?

?

Page 13: Ouroboros Crypsinous Privacy-Preserving Proof-of-Stake · Performance–SNARKGateEstimation Constraintcount Transfers Lead Checkpk c i 2 27;904 27;904 Checkˆ c2,sk c2 2 27;904 Pathforcm

Protocol – “Frozen” Stake Distributions

I Ouroboros Genesis requires stake to be unchanging during an epoch, toprevent grinding attacks.

I By doing one-to-one transactions, wemust change it.

I We also cannot prevent users from spending.

I Wemaintain sets of leadership-eligible and spending-eligible coins.

I Spending a coin removes it from leadership for the epoch.

I One-to-one leadership proofs create their new coin deterministically.

Page 14: Ouroboros Crypsinous Privacy-Preserving Proof-of-Stake · Performance–SNARKGateEstimation Constraintcount Transfers Lead Checkpk c i 2 27;904 27;904 Checkˆ c2,sk c2 2 27;904 Pathforcm

Model

I Zerocash is not UC secure.

I Existing ledger functionalities are insufficient for privacy-preservingtransactions.

I We introduce a private ledger GPL, and parameterise it to implementprivacy-preserving transactions.

Page 15: Ouroboros Crypsinous Privacy-Preserving Proof-of-Stake · Performance–SNARKGateEstimation Constraintcount Transfers Lead Checkpk c i 2 27;904 27;904 Checkˆ c2,sk c2 2 27;904 Pathforcm

Model – Public Ledger

Alice

Bob10

Bob

Charlie5

Charlie

Alice2

Bob

Alice3

Charlie

Dave1

Dave

Bob2

Page 16: Ouroboros Crypsinous Privacy-Preserving Proof-of-Stake · Performance–SNARKGateEstimation Constraintcount Transfers Lead Checkpk c i 2 27;904 27;904 Checkˆ c2,sk c2 2 27;904 Pathforcm

Model – Private Ledger

Alice

Alice

?10

?

Alice2

?

Alice3

Bob

?

Bob10

Bob

?5

Bob

?3

?

Bob2

Page 17: Ouroboros Crypsinous Privacy-Preserving Proof-of-Stake · Performance–SNARKGateEstimation Constraintcount Transfers Lead Checkpk c i 2 27;904 27;904 Checkˆ c2,sk c2 2 27;904 Pathforcm

Adaptive Security – Leadership Proofs

I For adaptive security, honest slots should not later fall into adversarialcontrol.

I Ouroboros Genesis uses forward-secure signatures, which are tooheavy for being used within zero-knowledge.

I We use a combination of Merkle-tree membership proofs and keyerasure to construct a lightweight replacement.

Page 18: Ouroboros Crypsinous Privacy-Preserving Proof-of-Stake · Performance–SNARKGateEstimation Constraintcount Transfers Lead Checkpk c i 2 27;904 27;904 Checkˆ c2,sk c2 2 27;904 Pathforcm

Adaptive Security – Recall: Zerocash

sk

pk ρ‖v

cm sn

Page 19: Ouroboros Crypsinous Privacy-Preserving Proof-of-Stake · Performance–SNARKGateEstimation Constraintcount Transfers Lead Checkpk c i 2 27;904 27;904 Checkˆ c2,sk c2 2 27;904 Pathforcm

Adaptive Security – Leadership Proofs

sk

t0

skt0 skt0+1 · · · sktskt−1 · · · · · · skt0+R

Page 20: Ouroboros Crypsinous Privacy-Preserving Proof-of-Stake · Performance–SNARKGateEstimation Constraintcount Transfers Lead Checkpk c i 2 27;904 27;904 Checkˆ c2,sk c2 2 27;904 Pathforcm

Adaptive Security – Leadership Proofs

sk

t0

skt0 skt0+1 · · · sktskt−1 · · · · · · skt0+R

Page 21: Ouroboros Crypsinous Privacy-Preserving Proof-of-Stake · Performance–SNARKGateEstimation Constraintcount Transfers Lead Checkpk c i 2 27;904 27;904 Checkˆ c2,sk c2 2 27;904 Pathforcm

Adaptive Security – Leadership Proofs

sk

t0

skt0 skt0+1 · · · sktskt−1 · · · · · · skt0+R

Page 22: Ouroboros Crypsinous Privacy-Preserving Proof-of-Stake · Performance–SNARKGateEstimation Constraintcount Transfers Lead Checkpk c i 2 27;904 27;904 Checkˆ c2,sk c2 2 27;904 Pathforcm

Adaptive Security – Non-Committing Encryption

I Zerocash requires (key-private) encryption.

I Adaptive corruption requires encryption to be non-committing.

I Non-committing encryption is expensive.

I We employ key-private forward-secure encryption.

Page 23: Ouroboros Crypsinous Privacy-Preserving Proof-of-Stake · Performance–SNARKGateEstimation Constraintcount Transfers Lead Checkpk c i 2 27;904 27;904 Checkˆ c2,sk c2 2 27;904 Pathforcm

Adaptive Security – Non-Committing Encryption

Sent

Received

Page 24: Ouroboros Crypsinous Privacy-Preserving Proof-of-Stake · Performance–SNARKGateEstimation Constraintcount Transfers Lead Checkpk c i 2 27;904 27;904 Checkˆ c2,sk c2 2 27;904 Pathforcm

Conclusion

I We construct a privacy-preserving proof-of-stake protocol.

I We prove it secure in UC, with adaptive corruptions

I Wemodel the private ledger, and use it to construct a private currency.

Page 25: Ouroboros Crypsinous Privacy-Preserving Proof-of-Stake · Performance–SNARKGateEstimation Constraintcount Transfers Lead Checkpk c i 2 27;904 27;904 Checkˆ c2,sk c2 2 27;904 Pathforcm
Page 26: Ouroboros Crypsinous Privacy-Preserving Proof-of-Stake · Performance–SNARKGateEstimation Constraintcount Transfers Lead Checkpk c i 2 27;904 27;904 Checkˆ c2,sk c2 2 27;904 Pathforcm

Performance – SNARK Gate Estimation

Constraint count Transfers LeadCheck pkci

2 × 27,904 27,904Check ρc2 , skc2 2 × 27,904Path for cmci 2 × 43,808 43,808(1 layer of 32) (1,369) (1,369)Path for rootskci

34,225

Check snci 2 × 27,904 27,904Check cmci 4 × 2,542 2 × 2,542Check v1 + v2 = v3 + v4 1Ensure that v1 + v2 < 264 65Check y, ρ 2 × 3,252Check (approx.) y < ord(G)φf(v) 256Total 209,466 201,493

Page 27: Ouroboros Crypsinous Privacy-Preserving Proof-of-Stake · Performance–SNARKGateEstimation Constraintcount Transfers Lead Checkpk c i 2 27;904 27;904 Checkˆ c2,sk c2 2 27;904 Pathforcm

Network Anonymity – The Problem

I We assume fully adversarial networks.

I The adversary can show different chains to different users.

I He can tell which chain is being extended.

I Therefore the leader is leaked.

Page 28: Ouroboros Crypsinous Privacy-Preserving Proof-of-Stake · Performance–SNARKGateEstimation Constraintcount Transfers Lead Checkpk c i 2 27;904 27;904 Checkˆ c2,sk c2 2 27;904 Pathforcm

Network Anonymity –Weaker Threat Models

I Mixnets solve this.

I The leadership anonymity of Crypsinous upgrades gracefully.

I Mixnets are not practical in this setting.

I More practical models, such as TOR, are challenging to model, and notour focus.