scaling bitcoin securely
play

Scaling Bitcoin Securely Aggelos Kiayias University of Edinburgh - PowerPoint PPT Presentation

Scaling Bitcoin Securely Aggelos Kiayias University of Edinburgh based on joint work with Juan Garay, Nikos Leonardos, Giorgos Panagiotakos Analyzing the Bitcoin Protocol Nakamoto : adversary vs. honest player working on a chain


  1. Scaling Bitcoin Securely Aggelos Kiayias University of Edinburgh based on joint work with Juan Garay, 
 Nikos Leonardos, Giorgos Panagiotakos

  2. Analyzing the Bitcoin Protocol • Nakamoto : adversary vs. honest player working on a chain perform a random walk. • Assuming honest-majority the adversary cannot “catch” the honest players. • Nakamoto’s analysis can be easily seen to be limited: • the adversary can be more creative than just mining in private until he obtains a longer chain. E.g., it can broadcast conflicting chains to different sets of honest miners in order to split their mining power.

  3. The Bitcoin Backbone : analysis and applications [Eurocrypt 2015, joint work with J. Garay, N. Leonardos] • Formal model. • Instead of arguing security against specific attacks 
 argue security against all possible attackers in the model. •State general properties that should be satisfied. 
 • The bitcoin backbone : 
 the generic blockchain protocol derived from bitcoin

  4. GKL Model • A general framework for arguing formally about bitcoin-like protocols. • in the tradition of synchronous distributed systems modeling. • Stand alone, synchronous execution. • Static number of parties. • Extensible to the dynamic / composition setting.

  5. The model : q -bounded synchronous setting • Synchronous operation: time is divided in rounds. n parties, t of which controlled by the adversary. •In each round 
 each player is allowed q queries to a hash function • messages are sent through a diffusion mechanism • Adversary may : 
 1. spoof messages 
 2. generate arbitrary number of messages

  6. Round structure beginning of round i+1 end of round i users input output Env Env Π Π Π Π Π Π broadcast Hash Adv Adv Hash q queries rushing

  7. On the generality of the model • We quantify over all possible adversaries. This includes a large mining pool some parties that is performing receiving only some some type of selfish of the messages mining Π Π Π 0 Adv Adv Or any combination thereof

  8. On the generality of the model • There are n-t honest parties each one receiving q queries to the hash function per round. • The adversary is able to control t parties acting as a malicious mining pool. • A “flat” version of the world in terms of hashing power. • It is worse for honest parties to be separated (they have to pay the price of being decentralized).

  9. Modeling the hash function • Hash Function = [Random oracle] • State = Table T • Given any query x look up T for pair of the form (x,y) • If it does not exist sample y from {0,1}^ λ and store (x,y) to T • Return y λ = security parameter

  10. Execution & View protocol Π 3 PPT machines n parties adversary A environment Z concatenation of the 
 VIEW Π A , Z (1 λ ) view of each party at each round random variable with support : 
 1. coins of A , Z , n copies of Π 2. Random oracle

  11. Property of a protocol fix a protocol Π a number of parties n, t of which 
 controlled by adversary a predicate Q We say that the protocol has property Q if and only if with error ✏ ∀ A ∀ Z Prob [ Q ( VIEW Π A , Z (1 λ )] ≥ 1 − ✏ typically : ✏ = negl ( � )

  12. Sanity check: why use the bitcoin protocol? Classical results in distributed systems : Lamport, Shostak Pease ‘80 •No authentication infrastructure n,t are unknown hence known consensus algorithms cannot be applied

  13. Sanity check: why use the bitcoin protocol? Classical results in cryptography : Goldreich Micali Wigderson 1987 any function can be securely computed by n parties. Is this applicable to the bitcoin setting ? •No authentication infrastructure n,t are unknown hence “secure MPC” cannot be applied

  14. Precursors from a consensus point of view • Aspnes-Jackson-Krishnamourthy 2005. Suggest use of POW to establish PKI (from which one may obtain broadcast (the byzantine generals) and then consensus) • Okun 2005. Defines anonymous consensus (but no POW - no efficient algorithm).

  15. Bitcoin Backbone • A precise algorithmic description of the core of the bitcoin protocol that isolates its consensus characteristics in a precise manner (while it abstracts away the transactional aspects)

  16. The Bitcoin Backbone (1) parameterized by V ( · ) , I ( · ) , R ( · ) and G ( · ) , H ( · ) hash functions • players have a state in the form of a “blockchain”: C ... H ( ) s i s i − 1 G ( ) ctr G ( ) ctr < D x i x i − 1 satisfies the predicate C V ( C ) = true

  17. The Bitcoin Backbone (2) parameterized by V ( · ) , I ( · ) , R ( · ) and G ( · ) , H ( · ) hash functions • Within a round, players obtain (INSERT, x) symbols from the environment and network and process them x i +1 = I ( . . . all local info . . . ) • Then they use their q queries to to obtain a new H ( · ) block by trying ctr = 0 , 1 , 2 , . . . s i +1 G ( ) ctr x i +1

  18. The Bitcoin Backbone (3) parameterized by V ( · ) , R ( · ) , I ( · ) • If a player finds a new block it extends C x i +1 x i x i − 1 • The new is propagated to all players via the C (unreliable/anonymous) broadcast

  19. The Bitcoin Backbone (4) parameterized by V ( · ) , R ( · ) , I ( · ) • A player will compare any incoming chains and the local chain w.r.t. their length/difficulty x i − 1 x i +1 x i Better Chain ! y i y i − 1 is adopted • Finally a player given a (Read) symbol it will return R ( x 1 , x 2 , . . . , x i +1 )

  20. Input entropy H ( ctr, G ( s, x )) < D • Simplifying assumption: I(.) chooses a random nonce as part of x. • Subsequently, function G maps the random nonces to their hashes. ✓ q total ◆ the parties choose the same 2 − λ random nonce twice, has probability <= 2 ✓ q total ◆ G (.) maps those values to the same <= 2 − λ one (collision) 2

  21. Pseudocode : Validate

  22. Pseudocode : POW

  23. Pseudocode : main loop Requirements. Input Validity : function I(.) produces inputs satisfiable by V(.) Input Entropy : function I(.) will not produce the same x value with overwhelming probability

  24. 
 Let’s prove a property! During any period from round r to s > r + λ the chain of an honest party will blocks grow by at least 0 . 9 γλ where α = pq ( n − t ) p = D probability a single query to be successful 2 λ D = corresponds to 
 difficulty of producing a block with error ✏ = negl ( � )

  25. Proof - Step 1 • Two honest parties, a,b, submit a query to the RO. • Let A, B be the events that the respective party finds a hash value less than difficulty threshold D . • Conditioning on the event that the G(.) values of the two parties are distinct (no G collision - no repetition of x-values) , the events A, B are independent.

  26. Proof - Step 2 Given independence : The probability at least one honest party finds a solution in a single round: 1 − (1 − p ) q ( n − t ) ≥ 1 − e − α ≥ γ = α − α 2 we call this a “successful round”

  27. Proof - Step 3 Define a random variable X i ( 1 i -th round is successful X i = 0 otherwise Facts − α 2 ∀ i Prob [ X i ] ≥ α i 6 = j ! Prob [ X i = 1 ∧ X j = 1] = Prob [ X i = 1] · Prob [ X j = 1]

  28. Proof - Step 4 • Lemma. At any round r , consider an honest party with a chain of length L. By round s >= r every honest party has adopted a chain of length at least s − 1 X L + X i i = r Proof. By induction on s-r = i Base. i = 0 
 Indeed, if the party has a chain of length L >0 at round r, this means that at a previous round it has broadcasted it. It follows that other honest parties by round r either have adopted either this one (or an equally long chain).

  29. Proof - Step 5 Induction Step. Suppose it holds for i, we show for i +1. By round s -1 every honest party has received a chain 
 of length s − 2 X L + X i i = r if the result follows immediately X s − 1 = 0 if we have that s -1 is a successful round 
 X s − 1 = 1 thus at the end of the round at least one honest party broadcasts a chain of s − 2 s − 1 length X X 1 + L + X i = X i i = r i = r

  30. Proof - Step 6 s is a Binomial distribution X X = X i i = r µ = E [ X ] ≥ γ ( s − r ) Tail bounds for Binomial distribution (Chernoff) Prob [ X ≤ (1 − δ ) µ ] ≤ e − δ 2 µ/ 2 ∀ δ ∈ (0 , 1] Corollary. Prob [ X ≤ (1 − δ ) γ ( s − r )] ≤ e − δ 2 γ ( s − r ) / 2

  31. Proof - Step 7 • It follows that from round r to round s all honest parties will grow their chain by s − 1 X X i i = r which is at least (1 − δ ) γ ( s − r − 1) ≥ 0 . 9 γλ 1 − e − δ 2 γ ( s − r − 1) / 2 ≥ 1 − e − 0 . 005 γλ with probability We set δ = 0 . 1 s > r + λ QED

  32. Backbone Protocol Properties Common Prefix Chain Quality Chain Growth (informally) (informally) (informally) the chain of any If two players prune a Any (large enough) honest player grows at sufficient number of chunk of an honest least at a steady rate - blocks from their player’s chain will the chain speed chains they will obtain contain some blocks coefficient the same prefix from honest players

  33. CP : will players converge?

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend