FruitChains: A Fair Bloc ockchain Authors: Rafael Pass, Elaine Shi presented by Han Zhang
Nakamotoβs Blockchain β’ A sequence of (mined) blocks π = β’ Assumption: Majority of the computing power is controlled by (β %& , Ξ·, π, β) honest players β’ π : record β’ Strong assumption β’ β %& : pointer to the (record in) previous block β’ β : pointer to the current record β’ lots of work for solve the computational puzzles β’ Ξ· : nonce β’ Players are incentivized by β’ proof-of-work, derived from the pair = β %& , π β’ mining rewards and transaction fees for every block
Selfish Mining and Fairness β’ Minority fraction Ο < & - β of computational power in the network can contribute a significantly larger fraction of blocks than it βfair shareβ Ο β’ Assuming the adversary controls the delivery of messages on the network β’ (1 β Ο)π by hones players, Οπ blocks are replaced by adversarial blocks β’ The expected fraction of adversarial blocks becomes N &%N N &%N =1 , twice its fair share of the rewards β’ Ο = 1/2, β’ Chain quality β’ The chain contains a sufficient fraction of blocks contributed by honest players β’ Ideally, we can have a fair blockchain protocol with a 1 β Ο chain quality β’ Honest players contributing a π β€ 1 β Ο fraction of the computational sources get a π fraction of the blocks and thus rewards in any sufficiently long window
FruitChain β’ FruitChain protocol satisfies βclose-to-optimalβ fairness β’ An adversary controls up to a Ο fraction of the computing power, and as a consequence the adversary coalition cannot get more than 1 + Ξ΄ Ο β’ Ξ΄ < 0.3 β’ Ξ΄ -approximately fair: honest players are guaranteed to get at least a 1 β Ξ΄ (1 β Ο) fraction of the blocks in every sufficiently long window
Step 2: Step1: FruitChain Block 2 Block 1 Step 3: Fruit 1 hang from FruitChain Nakamoto Block 1 β’ Fruit mining and Block mining: β’ Nakamoto: π = β %& , Ξ·, π, β β’ Fruits: π = β %& ; β _ ; Ξ·; πππππ‘π’(πΊ); π; β β’ The records are put inside βfruitsβ and these fruits themselves β’ Nakamoto requires solving some proof of work β %& ; β _ ; Ξ·; πππππ‘π’(πΊ); π; , πΊ β’ Blocks look like fruits: π = β’ Pr πΌ(β %& , Ξ·, π) < πΈ [ = π β’ Digest of some fruit-set F to be included in the block later; β’ β _ pointer that points to the block the fruit is hanging from β’ Blocks by blocks β’ Hardness parameter π g β’ Fruit mining and block mining are piggybacked by each other β’ A fruit is required to βhangβ from a block which isnβt too far from the block which records the fruit β’ Recency Parameter β’ how far back a fruit is allowed to hang
β’ In each round, , check π΅ steps back FruitChain β’ honest players simultaneously mine for a fruit and a block β’ πΌ β %& ; β _ ; Ξ·; πππππ‘π’(πΊ); π; β = β β’ [β] %π΅ denotes the last π΅ bits of β β’ [β] π΅ denotes the first π΅ bits of β β’ π΅ = 2, πβπππ = 10) Block 8 Block 11: fruit is pointed in πβπππ β π΅ =10-2=8 th Block 10: block block Block 12: block with πΊ Block 13: block
Selfish Mining β’ Selfish mining fails in FruitChain β’ Even if an adversary tries to βeraseβ some block mined by an honest player (which contains some honest fruits) β’ An honest player will mine a new block which is stable and this honest player will include the fruit in it β’ The time before such an βhonest blockβ arrives is short enough for the fruit to still be βrecentβ at the time of the honest block arriving
FruitChain β’ Why we require fruits to be recent β’ Without it, an attacker could withhold fruits, and suddenly release lots of them at the same time, thereby creating an very high fraction of adversarial fruit in some segment of the FruitChain. β’ By requiring the fruits to be recent, we prevent the adversary from squirreling away (too many of) itβs fruits.
Questionsβ¦
Recommend
More recommend