김일환
                     (Il-Hwan Kim)
                     1†
               
                  - 
                           
                        (Dept. of Electrical and Electronic Engineering, Kangwon National University, Korea)
                        
 
               
             
            
            
            Copyright © The Korean Institute of Electrical Engineers(KIEE)
            
            
            
            
            
               
                  
Key words
               
               51% attack, Blockchain, Proof of work, Majority attack
             
            
          
         
            
                  1. Introduction
                
               Due to increasing interest in blockchain and crypto currency, there have been much
               interest in security of proof of work (PoW) based blockchains, such as Bitcoin
(1) and Ethereum. 
               
               
 
               PoW is composed of hash calculation and a difficulty adjustment algorithm
(1). The security of the PoW based blockchains is directly dependent on the construction
               and the consensus that is used to verify the PoW. This is because the underlying assumption
               is that the party who can produce PoW the fastest, earns the reward for the work.
               
               
 
               51% attack or majority attack (MA) is a specific class of attack that is designed
               against PoW based blockchains
(2). MA is carried out by an attacker who is computationally more powerful than the rest
               of the network
(3). Under this assumption, the attacker can theoretically produce blocks with more work
               by themselves at a faster speed than the rest of the network. To put it in another
               way, the attacker can create blocks by themselves, withhold the blocks. and then release
               the blocks to the network at a later time, basically undoing all the transactions
               that were originally included before the withheld blocks are introduced
(4). 
               
               
 
               Although MA is not feasible for popular PoW based blockchains because of the total
               amount of computational power in the network is too great, this is not true for less
               popular blockchains.
               
               
 
               In this paper, we present an overview of MA on PoW based blockchains and show feasibility
               analysis of carrying out MA.
               
               
 
             
            
                  2. Consensus Using Proof of Work (PoW)
                
               In blockchain, proof of work (PoW) is used to make the consensus between the nodes
               if there are multiple candidates to build the next block on. PoW requires hash computation
               with a certain degree of difficulty. This difficulty is set so that a fixed number
               of blocks are generated in a set time period. 
               
               
 
               Since block generation is independent and probabilistic, difficulty is adjusted after
               fixed number of blocks are found; if the blocks are found too quickly, it is assumed
               that there is more computational power in the network, and the difficulty is raised
               to reflect that, and vice versa if the blocks are found too slowly.
               
               
 
             
            
                  3. Types of Majority Attack (MA)
                
               There are several types of MA that an attacker can carry out: Private mining, timestamp
               spoofing, timewarp attacks, selfish mining, cherry picking attack. Following subsection
               will describe each attacks in details.
               
               
 
               
                     3.1 Private mining:
                   
                  In this MA, the attacker creates blocks without broadcasting them, and then using
                  their computational power, they solve more blocks than the rest of the network
(4-6). After certain amount of time is passed, the attacker broadcasts the privately mined
                  blocks. 
Figure. 1 shows an example of private mining. In this figure, the attacker generates blocks
                  by themselves off the I+1
st block, and while the rest of the network generates only 3 additional blocks, the
                  attacker generates 4 blocks. Since the attacker has generated more blocks than the
                  rest of the network, attacker broadcasts his privately mined blocks, which forces
                  reorganization of the blocks, replacing the transactions from the public network that
                  occurred from i+2
th block till i+4
th block with the transactions from the private network.
                  
                  
 
                  
                        
                        
Fig. 1. Example of private mining. The attacker generates blocks without broadcasting
                           them until later
                        
 
                      
                   
                
               
                     3.2 Timestamp spoofing: 
                   
                  In this MA, the attacker takes advantage of the difficulty adjustment period and the
                  fact that the time stamp on the block can be spoofed to a future time
(7). By setting the time stamp way ahead, it tricks the difficulty adjustment algorithm
                  to think that it took very long time to generate the blocks; i.e., the difficulty
                  of the block is too high. This result in reduced difficulty during the next difficulty
                  adjustment period, making the blocks easier to solve.
                  
                  
 
                
               
                     3.3 Timewarp attack:
                   
                  Timewarp attack is combination of private mining and timestamp spoofing attack. In
                  this attack, timestamp spoofing is used to lower the difficulties of the block and
                  blocks are privately mined so that only the attacker can benefit from the lowered
                  difficulties
(8). 
                  
                  
 
                  Selfish mining involves an attacker to solve a block before others, but before broadcasting
                  the solution, the attacker starts solving the next block
(9). Since the attacker gets a head start to solve the next block, they are more likely
                  to solve it before the rest of the network does. 
Figure. 2 shows an example of the selfish mining attack. The attacker solves the i+1
st block before rest of the network, and then starts working on the i+2
nd block. After some time, the attacker broadcasts their solution to the network. Under
                  this scheme, the attacker gets a head start before rest of the network
                  
                  
 
                  
                        
                        
Fig. 2. Example of selfish mining. The attacker gets a head start on solving the next
                           block by broadcasting the solution later
                        
 
                      
                   
                
               
                     3.4 Cherry picking attack: 
                   
                  Under this MA, the attacker takes advantage of the difficulty readjustment period
                  by solving the blocks only when the difficulty is low
(10). First, using their computational power, they solve blocks as quickly as possible.
                  Since the blocks are solved very quickly, the difficulty adjustment algorithm will
                  increase the difficulty to reduce the time it will take to solve the blocks. Before
                  the difficulty becomes adjusted and becomes higher, the attacker stops mining and
                  wait for the difficulty adjustment algorithm to decrease the difficulty, and then
                  mine again. This attack is repeated and is coordinated the attack with many different
                  blockchains; the attacker cherry picks between different blockchains. 
Figure. 3 shows an example of cherry picking attack. Each box represents set of blocks that
                  shares the same difficulty. In this example, the attacker first attacks the blockchain
                  1 until the next difficulty adjustment period, where the difficulty increases for
                  the chain 1, then the attacker attacks the blockchain 2 until the next difficulty
                  adjustment period, and so on. This attack can be combined with other attacks for more
                  effective attacks.
                  
                  
 
                  
                        
                        
Fig. 3. Example of cherry picking attack between three blockchains
 
                      
                   
                
             
            
                  4. Motivation for Majority Attack (MA)
                
               MA achieves following: ownership of coinbase transactions, transaction delay, and
               overwriting transactions. Following subsections explain possible motivations and description
               of how they are achieved.
               
               
 
               
                     4.1 Ownership of coinbase transactions
                   
                  Coinbase transactions are the coin reward that is given to the miner who solves the
                  block. During MA, the attacker can use their computational power to produce more blocks
                  than if they mined honestly. In the case of private mining or timewarp attack, only
                  the attacker will gain all the coinbase transactions. In the case of timestamp spoofing
                  and cherry picking, it is not guaranteed that the attacker will receive all the coinbase
                  transactions.  
                  
                  
 
                
               
                     4.2 Transaction delay
                   
                  Although it is not possible to block a transaction, it is possible to delay it using
                  MA. In this case, the attacker can control when the transaction becomes included in
                  the block or in the case of private mining and timewarp attack, the transactions can
                  be included in the earlier blocks without the rest of the network knowing. This is
                  a problem for time sensitive transactions such as hash time locked transactions, where
                  they have a time limit to submit their proof. 
                  
                  
 
                
               
                     4.3 Double spending
                   
                  For MA where the blocks are privately mined and broadcasted later, when the privately
                  mined blocks are introduced to the public, it will force reorganization of the existing
                  blocks that are mined by the rest of the network. The attacker can use this chance
                  to overwrite the transactions. 
                  
                  
 
Figure. 4 shows how double spending works. First, the attacker starts private mining. Then,
                  the attacker sends coins that they want to double spend in the public network. After
                  that, the attacker sends the same coins that were sent to another recipient (such
                  as themselves) in the private network. Then, the attacker broadcasts the privately
                  mined blocks to the public network. This force block reorganization which will overwrite
                  the transaction that was sent in the public network, effectively double spending the
                  coins.
                  
                  
 
                  
                   
                
             
            
                  5. MA Feasibility Analysis
                
               In this section, we collect different data to determine the feasibility of running
               MA. Several blockchains are considered for testing.
               
               
 
               
                     5.1 Machine specification 
                   
                  Following is the list of specification for the miner that was used to simulate the
                  MA. 
                  
                  
 
                  6 × Hardrive (SSD, hard drive) 
                  
                  
 
                  24 × Riser 
                  
                  
 
                  6 × Motherboard (variety) 
                  
                  
 
                  6 × CPUs (2nd, 3rd, 4th generation cpus)
                  
                  
 
                  6 × Power (95%+ conversion efficiency) 
                  
                  
 
                  6 × RAM (4Gb – 8GB)
                  
                  
 
                  24 × GPUs (gtx 1080 ti) 
                  
                  
 
                  24 × System fans (1 per gpu) 
                  
                  
 
                  1 × Air conditioner (rated for cooling 6kwh) 
                  
                  
 
                  The above items were used to assemble 6 miners. In terms of the software, variety
                  of operating systems and mining codes have been tested to reach optimal hashrate.
                  
                  
 
                
               
                     5.2 List of tested blockchains
                   
                  Three blockchains, Vertcoin, Monero, and Ethereum are tested to test the feasibility
                  of MA. Description of each blockchain is provided in the following subsubsections.
                  
                  
                  
 
                  
                        5.2.1 Vertcoin (VTC)
                      
                     Vertcoin is a PoW blockchain based on Lyra2rev2 algorithm
(11). It is known to support atomic swap, which is a way to exchange Vertcoin with different
                     PoW based coins. MAs that delays transactions are dangerous for atomic swap, as it
                     uses hash time locked transaction. Because it is not a very popular blockchain, the
                     difficulty adjustment algorithm is very sensitive to hashrate change, making it an
                     easy target to timestamp spoofing and cherry picking attack.
                     
                     
 
                   
                  
                        5.2.2 Monero (XMR)
                      
                     Monero is PoW blockchain based on Cryptonight algorithm
(12). The difficulty adjustment is done every block with consideration of sudden extreme
                     change in the hashrate. This feature makes Timewarp attacks less effective for Monero
                     blockchain. 
                     
                     
 
                   
                  
                        5.2.3 Ethereum (ETH) 
                      
                     Ethereum is PoW blockchain based on Ethash algorithm
(13). It is one of the most popular blockchain that supports smart contracts. MAs that
                     delay transactions are especially dangerous for Ethereum, because there many time
                     sensitive smart contracts, such as ICO funding.
                     
                     
 
                   
                
               
                     5.3 Experimental results
                   
                  In this subsection, we collected average estimated network hashrates of the three
                  blockchains and compare it with the hashrates of our 6 mining machines.
                  
                  
 
 
                  Following 
Table shows the network hashrate of our setup and whether MA is feasible.
                  
                  
 
                  
                        
                        
Table 1. Hashrate of our setup
                     
                      
                        
                              
                                 
                                    | 
                                       
                                    			
                                     Blockchain Name 
                                    			
                                  | 
                                 
                                       
                                    			
                                     Hashrate 
                                    			
                                  | 
                                 
                                       
                                    			
                                     MA feasibility 
                                    			
                                  | 
                              
                           
                           
                                 
                                    | 
                                       
                                    			
                                     Vertcoin 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1.92 Ghash 
                                    			
                                  | 
                                 
                                       
                                    			
                                     yes 
                                    			
                                  | 
                              
                              
                                    | 
                                       
                                    			
                                     Monero 
                                    			
                                  | 
                                 
                                       
                                    			
                                     24 Khash 
                                    			
                                  | 
                                 
                                       
                                    			
                                     yes 
                                    			
                                  | 
                              
                              
                                    | 
                                       
                                    			
                                     Ethereum 
                                    			
                                  | 
                                 
                                       
                                    			
                                     1.32 Ghash 
                                    			
                                  | 
                                 
                                       
                                    			
                                     no 
                                    			
                                  | 
                              
                           
                        
 
                     
                   
                   
Figures. 5 and 
Figures. 6 are a small compilation of the estimated network hashrate of the Vertcoin and Monero
                  blockchains, where our setup can successfully launch MA. Unfortunately, our machine
                  cannot launch MA for Ethereum, as the estimated network hashrate is far greater than
                  1.32 Ghash.
                  
                  
 
                  
                        
                        
Fig. 5. Vertcoin hashrate
 
                      
                   
                  
                   
                
             
            
                  6. Conclusion
                
               In this paper, overview of 51% attack, also known as majority attack, in a proof of
               work based blockchain is shown. Several attacks are detailed and the motivation behind
               the attacks are also shown. Finally, feasibility analysis also show that our machine
               could have launched majority attacks for Vertcoin and Monero using the hashrate of
               1.92 and 2.4 Ghash respectively. As the technology improves, we expect more sophisticated
               attacks to surface, and blockchains which are less susceptible to these attacks will
               be required.
               
               
 
             
          
         
            
                  
                     References
                  
                     
                        
                        Nakamoto S., 2008, Bitcoin: A peer-to-peer electronic cash system, http://bitcoin.org

 
                      
                     
                        
                        Yli-Huumo J., Ko D., Choi S., Park S. S., Smolander K., 2016, Where is current research
                           on blockchain technology? — A systematic review, PLOS ONE, Vol. 11, No. 10

 
                      
                     
                        
                        Li X., Jiang P., Chen T., Luo X., Wen Q., 2017, A survey on the security of blockchain
                           systems, Future Generation Computer Systems

 
                      
                     
                        
                        Gervais A., 2016, On the security, Performance and Privacy of Proof of Work Blockchains,
                           Doctoral Thesis, ETH Zurich

 
                      
                     
                        
                        Sapirshtein A., Sompolinsky Y., Zohar A., 2016, Optimal selfish mining strategies
                           in bitcoin, In International Conference on Financial Cryptography and Data Security,
                           pp. 515-532

 
                      
                     
                        
                        Eyal I., Sirer E. G., 2018, Majority is not enough: Bitcoin mining is vulnerable,
                           Communications of the ACM, Vol. 61, No. 7, pp. 95-102

 
                      
                     
                        
                        , http://en.bitcoin.it/wiki/Block_timestamp
                      
                     
                        
                        , http://litecoin.info/index.php/Time_warp_attack
                      
                     
                        
                        Conoscenti M., Vetro A., De Martin J. C., 2016, Block- chain for the Internet of Things:
                           A systematic literature review, In Computer Systems and Applications International
                           Conference, pp. 1-6

 
                      
                     
                        
                        Meshkov D., Chepurnoy A., Jansen M., 2017, Short Paper: Revisiting Difficulty Control
                           for Blockchain Systems. In Data Privacy Management, Cryptocurrencies and Blockchain
                           Technology, Springer, pp. 429-436

 
                      
                     
                     
                     
                        
                        , http://www.ethdocs.org/en/latest/
                      
                   
                
             
            저자소개
             
             
             
            
             
            
            He received B.S. and M.S. degree in the dept. of control and instrumentation engineering
            from Seoul National University in 1982 and 1985 respectively and Ph.D. at the Tohoku
            University in 1993. 
            
 
            In 1995, he joined the dept. of electrical and electronic engineering at the Kangwon
            National University and is currently a professor.