FruitChains - ETH Z · Distributed Setting Genesis block … Data: A nonce Data: B nonce Genesis...

41
FruitChains A Fair Blockchain

Transcript of FruitChains - ETH Z · Distributed Setting Genesis block … Data: A nonce Data: B nonce Genesis...

FruitChainsA Fair Blockchain

A single Block

Data: B

nonce

Blockchain

Genesisblock

…Data: A

nonce

Data: B

nonce

Add a block

Data: A

nonce

Data: B

nonce

Data: C

nonce

Data: C

nonce

Data: C

nonce

Data: C

noncePointer, Nonce and Data: C

solves the crypto puzzle

Distributed Setting

Genesisblock …

Data: A

nonce

Data: B

nonce

Genesisblock …

Data: A

nonce

Data: B

nonce

Genesisblock …

Data: A

nonce

Data: B

nonce

Alice

Bob Carol

Branches

B C

Branches

B C

D

F

Branches

B C

D

F G

Rewards (Bitcoin)

• Block Reward

• Transaction Fees

Mining Pools

Source: https://btc.com/stats/pool

Security Properties

Chain Consistency

Alice

Bob

A B C D E

A B C F G

k

Chain Growth

A B

A B C D

Time 𝑇0

Time 𝑇1, 𝑇1 > 𝑇0

Chain Quality

A B C D E F

Selfish Mining Attack

Selfish Mining Attack

Public Chain

Private Chain

B C

D

Selfish Mining Attack

Public Chain

Private Chain

B C

D E

Selfish Mining Attack

Public Chain

Private Chain

B C

D E

F

Selfish Mining Attack

Public Chain

Private Chain

B C ED

Selfish Mining Attack (Case 2)

Public Chain

Private Chain

B C

D

Selfish Mining Attack (Case 2)

Public Chain

Private Chain

B C

D

F

𝛾: fraction of honest players that mine on block D

Expected Revenue

• Optimal Selfish mining strategies in bitcoin (2016)• By Sapirshtein, Sompolinsky, Zohar

Expected revenue

𝛾 = 0 𝛾 = 1

«Quick Fix» for Selfish Mining

𝛾 = 0.5

FruitChains: A Fair blockchain

rewardComputational Power

High-level view

B contains contains Data: A

Structure

B C ED

Structure

B C ED

Mining a Fruit/Block

Hash• Pointer to last block

• Pointer to a block far “enough” away

• Random nonce

• Hash of the set of recent fruits

• Data

JunkB

Fruit

• Verifies data

• Pointer to last block

• Pointer to a block far “enough” away

• Random nonce

• Hash of the set of recent fruits

• Data

Data

nonce

Block

• Verifies fruits

• Pointer to last block

• Pointer to a block far “enough” away

• Random nonce

• Hash of the set of recent fruits

• Data

nonce

Hash of fruits

New Reward System

B C ED

k

Security Properties

Fruit “Freshness”

B C ED

Fruit Consistency

Alice

Bob

A B C D

A B C F

E

G

Fruit Growth

A B C

A B C D

Fruit Fairness

A B C D

Why does this work?

• Selfish Mining Attack

• Fruit Flooding

Disincentivise Mining Pools

Mining Pools

Partial Solutions

FruitChains

Reward mining fruits

Conclusion

References

• Bitcoin / Blockchain• Nakamoto, Bitcoin: A peer-to-peer electronic cash system (2008)

• Pass, Seeman, Shelat, Analysis of the blockchain protocol in asynchronous networks (2017)

• Selfish Mining Attack• Eyal, Sirer, Majority is not enough: Bitcoin mining is vulnerable (2014)

• Sapirshtein, Sompolinsky, Zohar, Optimal Selfish mining strategies in bitcoin (2016)

• FruitChains• Pass, Shi, FruitChains: A Fair Blockchain (2017)