Smart Contract-Based Pool Hopping Attack Prevention for Blockchain Networks
Abstract
:1. Introduction
- Pool hopping attacks and existing studies to mitigate these attacks are described in detail.
- To prevent future pool hoping attacks, we describe a smart contract-based pool hopping attack prevention model.
- A detailed numerical equation is provided to evaluate the miner risk to the mining pool and how to calculate the escrow amount a miner will submit as part of the smart contract agreement.
- Three key consideration factors, computational power, miner risk, and accountability, are analyzed to demonstrate the effectiveness of our proposed model.
- A practical case study based on an Internet of Things smart home network is presented, which illustrates how the proposed model’s methodology will function in a real-world scenario.
- A comparative analysis with existing solutions and the proposed model is presented.
- The limitations of the proposed model and future directions of the research are discussed.
2. Related Work
2.1. Pool Hopping Attack
2.2. Key Considerations
- Computational power: Miners require a certain amount of computational power to solve cryptographic puzzles to block a mine successfully [19,20]. To increase their chances of success, they join with other miners to mine collectively. If the miner or a group of miners abandon the mining pool, the collective computational power will be reduced severely. Mining pools compete with other pools to block the mine first. The first one to successfully block receives the rewards. Hence, a loss of computational power jeopardizes the primary objective of solving the block puzzle first.
- Miner risk: Mining pools face varying hash powers, and there are delays in mining the block (i.e., the mining needs more than the average time required to mine the block). It is important to ensure that a new miner who joins the mining pool is not a risk in the future. A miner with a record of abandoning pools and joining back later should either not be allowed to join or be asked to agree to terms that prevent them from leaving. A pool manager must be able to determine the risk factor of allowing a miner to join the mining network [21].
- Accountability: There is a need for an accountability measure for each miner that abandons the mining pool to achieve greater financial rewards for their personal economic growth. The need for this consideration is to perform as a preventive method ensuring the miner determining to leave the pool is at a significant disadvantage and the existing miners in the mining pool get adequately and evenly rewarded during such an event.
3. Smart Contract-Based Mining Pool Hopping Prevention Model
3.1. Design Overview
3.2. Methodological Flow of the Proposed Model
- Miner’s Address: This address is based on the certificate that will be identified as belonging to the miner. Each certificate is bound to a single miner address, and one miner address cannot be associated with a second certificate. This ensures that a serial pool hopping miner cannot request for a new certificate by the pool manager to mask their malicious behavior.
- Hop_Count: The hop-count shows the number of times a miner has hopped a mining pool in their entire history. It is a reputation-based count that is updated by the pool manager to reflect the miner’s behavior. If the miner hops the pool, the count increases by one, and if the miner does not leave the pool until the mining process is complete, the Hop_Count will reduce by one. If the miner has no Hop_Count (i.e., it is zero), the count will remain at zero if the mining process is complete.
- Smart contract upheld (SCupheld): This shows the count of how many times the miner has fulfilled previous smart contracts signed with previous pool managers. If the count of contracts fulfilled is high, then the current pool manager will keep the escrow amount low, as the miner appears trustworthy.
- Smart contract violated (SCviolated): This shows the times the miner has violated the terms of the smart contract by hopping the mining pool. If the count is high, then the pool manager may increase the escrow amount to safeguard the interests of the mining pool.
- Evaluation. When a miner requests to join the mining pool, as shown in Figure 3, the pool manager is required to evaluate the risk factors of allowing the miner to join. The manager will determine the trustworthiness of the miner to remain as part of the mining process until block mining is complete. This module is based on a three-step process, which is as follows:
- Miner request. The miner will request the pool manager to join the network. If the miner has a past mining record, it will have a pre-issued miner certificate that will present past behavior of the miner. If, however, the miner is a first-time miner, the pool manager will issue a new miner certificate. The pool manager will request the miner to submit their miner’s address in order to locate the miner’s certificate from the ledger. This ledger is stored locally on the database by the pool manager. Each miner certificate is unique to each miner’s address. A request to the miner’s address does not violate the privacy of the miner as this address is essential for the miner to receive the rewards for successfully mining a block.
- Check miner certificate. The pool manager accesses the ledger stored in the local database using the miner’s address to locate the block address. Using the block address, the pool manager locates the miner’s certificate stored as data on the blockchain network. The pool manager will primarily check the Hop_Count of the miner, count of previous SCupheld and count of SCviolated. The pool manager decides about the miner based on the value of the Hop_Count and SCviolated to determine if the miner is safe or a risk to the entire mining pool.
- Evaluate miner risk. The pool manager will evaluate if the miner is a risk to the mining pool. The manager will check the count of two elements, Hop_Count (α) and SCviolated (β). If both values α and β are zero, the miner is evaluated as safe and joins the mining pool. If, however, the miner certificate displays α and β as one or above, the miner is assessed as a risk to the mining pool. Miner risk is calculated using the following Equation (1):Mrsk = α + β.
- Terms. In this module, as shown in Figure 4, the terms of the smart contract are decided for the miner, who is evaluated as a risk to the mining pool because of a high Hop_Count value. The miner is required to submit coins as an escrow, which serves as a means of enforcing a financial penalty if the miner leaves the mining pool without completing the mining of the block. An escrow is a condition in the smart contract that is enforced if the terms of the smart contract are fulfilled. The coins are stored in the smart contract digital agreement as a safety measure to protect the interests of the existing members of the mining pool. The miner risks losing the coins if they leave the mining pool early. This module is based on a three-step process, which is as follows:
- Miner risk. The Hop_Count of the miner is determined to be at one or above, and such they are a risk to the mining pool. The miner exhibits behavior that could potentially hop the mining pool when it is not suitable for them and return when the rewards are high. The pool manager will issue a smart contract, based on which the miner must agree to a set of terms, to be allowed to join the mining pool.
- Smart contract terms. The primary requirement of a smart contract between the mining pool and the new miner is the need for escrow. To present a reliable defensive measure against pool hopping attacks, a miner with a high Hop_Count value must submit a certain amount of coins in the smart contract. The risk of losing the coins acts as a discouraging measure for the miner to hop or abandon the mining pool. The pool manager will observe the number of previous smart contracts upheld and broken by the miner. The count of previous honored smart contracts demonstrates that even if the miner has a record of a high Hop_Count, their behavior from the last mining pools is that of a trustworthy miner.
- Determine escrow value. The primary requirement in a smart contract between the mining pool and the new miner is the need for an escrow. The miner submits coins as a means of a security deposit where if the miner abandons the mining pool, they will forfeit the coins in escrow. A miner with a Hop_Count and SCviolated value of one and above is required to submit coins as an escrow. In our proposed method, the value of SCviolated cannot go below one. If a miner abandons the mining pool once, they are required to submit at least one coin in escrow. The escrow amount is calculated using the following Equation (2):
- Update. Once the miner joins the mining pool, as shown in Figure 5, they usually leave once the mining of the block is complete. However, a miner may leave early and commit a pool hopping attack. The pool manager will update the miner’s certificate based on the miner’s behavior. In this module, the smart contract issued will determine if the agreed terms are fulfilled or not. If the block is mined, the miner receives their coins submitted in escrow, and the new miner certificate will show the Hop_count value reduced by one. If the miner left before mining the block, they lose all coins deposited in escrow, and their Hop_count value will be increased by one. This module is based on a three-step process, which is as follows:
- Mining of block. The miner in agreement to the terms of the smart contract joins and becomes a member of the mining pool. The miner will continue to mine the block and be part of the reward sharing system adopted by the pool. Upon successful completion of the mining, all miners receive the reward for solving the cryptographic puzzle of the block.
- Mining complete. The pool manager will determine if the miner who submitted coins as escrow will receive them back or not. The decision at this stage is made if the smart contract was fulfilled or broken. If the terms of the smart contract are fulfilled, the miner will receive all the coins submitted in escrow. If the conditions are not fulfilled, the miner will lose all coins offered in escrow. These coins will be divided equally to all other miners of the mining pool to make up for the loss of computational power as the result of pool hopping attack. The financial consequences of not fulfilling the terms of the contract are a necessary measure to discourage the miner from abandoning the mining pool. Miners leaving the pool for their financial gains and losing coins to the mining pool breaks that objective.
- Update miner certificate. The pool manager will update the miner certificate based on the outcome of the smart contract. The smart contract is updated based on two conditions: (1) the miner committed a pool hopping attack (Matt)and abandoned the mining pool, and (2) the miner is safe (Msf) and completed the mining process. (Matt)and (Msf) are used to help explain the updating process of the miner certificate. The final values of α, β, and μ are important and are updated in the miner’s certificate to help evaluate the miner risk (Mrsk) using Equation (1) and escrow amount using Equation (2). If the miner abandoned the mining pool, the Hop_Count (α) and the SCviolated (β) value increases by one and the SCupheld (μ) value decreases by one. The pool hopping attack-based update of the miner certificate is expressed in the following Equation (3):
4. Evaluation of the Proposed Model
4.1. Practical Case Study
- Evaluation. In this module, the pool manager (PM) manages the mining pool, Ethpool, in the Ethereum-based mining pool for a smart home blockchain network.
- Miner request. A new miner M1 decides to join the mining pool to contribute their hashing power to mine the block and earn rewards. PM will request the miner to submit their miner address linking to MyEtherWallet built for Ethereum networks.
- Check miner certificate. PM manages a local MySQL-based database, which stores each existing and past miner addresses. Each miner address is associated with a hash value of transaction data previously stored in the blockchain network by the PM. The transaction in the blockchain network refers to the data stored in the blockchain containing the miner certificate. The PM retrieves the hash value of the transaction in the database using the MySQL ‘SELECT’ search command. Using the Web3 JavaScript API for Ethereum blockchain network, the PM will retrieve block details that contain the miner’s certificate using the “web3.eth.getBlock(block_hash_value)” command. The block data provides the miner’s record shown as below:“Hop_Count”: 4“SCupheld”: 2“SCviolated”: 3
- Evaluate miner risk. The PM determines the miner risk from the miner certificate using Equation (1),Mrsk = α + β.
- Terms. In this module, the PM has evaluated that M1 may abandon the pool if it requires additional days to mine the block. As more days are required to mine the block, the miner has to spend more electricity than expected.
- Miner risk. M1 has a Hop_Count value of four and exhibits dishonest behavior. The miner’s abandoning of the mining pool reduces the total hash power and decreases the chances for the mining pool to finish mining the block.
- Smart contract terms. The PM issues a smart contract to safeguard the economic interests of the Ethpool mining members. The smart contract lists a condition that M1 must submit coins as escrow to prevent them from leaving.
- Determine escrow value. PM observes Hop_Count (4), SCupheld (2), and SCviolated (3) count values to determine the escrow amount. Using Equation (2),Es_dep = α + β − μ.
- Update. In this module, M1 joins the Ethpool, begins mining the block, and observes the percentage required to mine the block fully. M1 will decide if it is profitable to continue mining the block or abandon the pool based on the hash rate of the mining pool. If the hash rate goes lower over time, M1 leaves Ethpool and joins another smart building based Ethereum mining pool that has more hash power. The second mining pool will require less time and electricity to complete mining, and M1 will benefit more as an individual.
- Mining of block. The Ethpool dashboard displays the current hash rate in 176 MH/s. Average time to complete mining of the block is five weeks. After a week of mining, the Ethpool dashboard displays the hash rate of 140 MH/s. The mining time required has increased by another week, and M1 is expected to spend more time and electricity to mine the block than earlier expected.
- Mining complete. M1 abandons the Ethpool and joins another smart building based Ethereum mining pool that offers quicker mining of the block and more significant rewards. The second mining pool has a hash rate of 200 MH/s and takes three weeks to complete mining of the block. M1 incurs fewer costs on electricity and earns more than the smart home based Ethpool mining pool. PM determines that M1 has abandoned the pool and committed a pool hopping attack. The smart contract terms require that M1 forfeits the escrow amount of 5 ETH coins. These coins are evenly distributed among all existing miners.
- Update miner certificate. Using Equation (3), PM updates the miner certificate, increments the Hop_Count and SCviolated value by one and decreases the SCupheld count by one. The certificate data is stored in the blockchain network as a transaction, and the block address is noted. The PM updates the mining pool’s MySQL-based database using the MySQL ‘UPDATE’ command and associates the miner address with the new block address.
- Update. M1 joins the Ethpool and determines the profitability of remaining in the mining pool. The profitability is based on the time taken to complete the mining of the block, which is determined by the total hash rate of the mining pool. If the time taken to mine the block fully is more than other mining pools, such as the smart building based Ethereum mining pool, M1 will consider joining the other mining pool. However, M1 risks losing his 5 ETH coins submitted in escrow, which will have a severe financial impact.
- Mining of block. The Ethpool dashboard displays the current hash rate as 176 MH/s. Average time to complete mining of the block is five weeks. After a week of mining, the Ethpool dashboard displays the hash rate of 140 MH/s. The mining time required has increased by another week, and M1 is expected to spend more time and electricity to mine the block than earlier expected.
- Mining complete. The other smart building based Ethereum mining pool has a hash rate of 200 MH/s, which requires three weeks less than Ethpool with a hash rate of 140 MH/s to complete the mining. It also incurs less cost on the electricity bill by finishing the mining in two weeks less than Ethpool, which requires five weeks. M1 evaluates how much money he saves on electricity in three weeks. The electricity cost per week is 136 USD, and for three weeks it is 408 USD. Abandoning the Ethpool requires M1 to forfeit the 5 ETH coins submitted as an escrow. A single ETH coin is 272 USD, and 5 ETH coins are 1360 USD. The miner will lose 952 USD if they abandon Ethpool, so they decide to continue mining. Upon completion of the mining, PM returns the escrow amount of 5 ETH coins along with block rewards.
- Update miner certificate. Using Equation (4), PM updates the miner’s certificate, decrements the Hop_Count by one, and increments the SCupheld count by one. The certificate data is stored in the blockchain network as a transaction, and the block address is noted. The PM updates the mining pool’s MySQL-based database using the MySQL ‘UPDATE’ command and associates the miner address with the new block address.
4.2. Comparative Analysis
- Computational power: We compare other methods with the proposed model based on numerical equations to determine how they prevent the loss of computational power when a miner leaves the mining pool.
- Proposed model: Our proposed model suggests the use of smart contracts to ensure that a miner with a high Hop_Count value does not leave the mining pool, jeopardizing the collective computational power. Equation (2) calculates the escrow value as follows:Es_dep = α + β − μThe equation presents that a miner with high values of Hop_Count (α), SCviolated (β), and SCupheld (μ) is enforced to submit a higher escrow value of coins. The higher the escrow amount, the lower the risk the miner leaves the pool, as they risk losing a large value of their coins. Financial loss is a strong motivation for the miner to not leave, which in turn preserves the computational power of the mining pool.
- Epoch system: Belotti et al. [14] proposed a detection method to detect potential mine hoppers. They have a detection strategy where they implemented an epoch system, which refers to a specific period, to determine if a miner receives rewards from multiple mining pools in a coin base wallet. In the event there are two rewarding transactions from two different mining pools, the miner is detected as a pool hopper. This model provides no defensive measure to protect the mining pool’s computational power. There are questions unanswered such as if a pool hopper is detected, will the miner be removed/allowed to mine? Or, are there any safeguards or incentives to keep a potential mine hopper from not leaving the pool for better economic gains? The means to safeguard the mining pool’s collective computational power are not addressed.
- Slush’s method: The slush mining pool [15,16] proposed using a scoring system to give rewards to miners at the end of each round. The higher the time elapsed, the higher the score. The weakness in the proposed method is that there is little to no incentive in mining the pool in the early period, as there are insufficient prior shares to share the reward with miners. A miner will choose to hop the mining pool and return later when it is more profitable. They provide an equation to calculate the share award system as follows:The block rewards score (s) is distributed according to the score miners received for each submitted share for each round in time (t0). The equation defines the score at a time (t0) for each share (s) at time (ts). Here, Λ is defined as a constant value that represents the speed at which the score decreases over time. An exponentially decreasing scoring is better because of its invariance to time shift. The slush pool equation, unlike the proposed Equation (2), does not present a means to prevent a miner from abandoning the pool but provides a means to calculate the share of rewards an individual miner receives. A pool hopper will only get rewards from the mining pool according to their share of work contributed. However, the equation does not provide a means to prevent a miner from leaving. The miner will leave the mining pool and reduce the collective computational power of the slush pool.
- Geometric method: Rosenfeld et al. [17] proposed the geometric method, which principally addresses the flaws of Slush’s method for resisting pool hopping in mining pools. It implements the related score-based solution as Slush’s method, with the difference that the score assigned for each new share, whether it is the score of an existing or a future share, will remain the same. They proposed an equation logarithmic scale to calculate pay per share for each miner when the mining round ends as follows:
- Miner risk: We compare other methods with the proposed model based on numerical equations to determine the risk that a miner commits a pool hopping attack before they join the mining pool.
- Proposed model: The proposed model determines the risk factor of a new miner using the following Equation (1):The equation presents that a miner with high values of Hop_Count (α) and SCviolated (β) is evaluated as a risk to the mining pool. The higher the values of α and β, the higher the risk the miner is to the mining pool. The pool manager can either decide not to allow the miner to join or issue terms using a smart contract to reduce the risk of the miner of leaving the mining pool.
- Epoch system: To determine miner risk, Belotti et al. [14] suggested the use of the mapping-based procedure by studying the transactions in the bitcoin network. Their approach studies the transactions processed in the wallet using transaction addresses, which determines that the miner receives rewards from multiple pools in a single period called an epoch. However, this is a relatively complicated and time-consuming approach as it requires the pool manager to do a manual, in-depth analysis of each miner before allowing them to join the mining pool. The real-world implementation of the epoch system is not feasible.
- Geometric method: Rosenfeld et al. [17] proposed a geometric method that focuses on improving the share-based reward system proposed by Slush pool. Their research allows all miners to join the mining pool. There is no means to calculate the miner risk to the mining pool.
- Accountability: We compare other methods with the proposed model based on numerical equations.
- Proposed model: In our proposed model, the miner that abandons the mining pool has their behavior recorded on the mining certificate by the pool manager. Miner accountability evaluates by The Equation (3):The miner’s Hop_Count (α) and SCviolated (β) are incremented by one, and the SCupheld (μ) value is decremented by one in the miner certificate. When the miner applies to rejoin the mining pool, the pool manager observes the past behavior of the miner in the miner certificate and issues a smart contract.
- Epoch system: Belotti et al.’s research [14] did not discuss measures to record a miner’s past behavior with the mining pool. A miner may leave and rejoin, and the pool manager cannot determine if the miner has committed a pool hopping attack earlier on their mining pool.
- Geometric method: Rosenfeld et al.’s [17] proposed geometric method only addresses the miner per share reward system and does not discuss how to maintain a record of a miner’s prior performance in the mining pool. A miner may repeatedly abandon the mining pool and return whenever the financial rewards are higher.
4.3. Discussion and Implications
- Evaluation
- Terms
- Update
- Conflict. The miner certificate is managed solely by the pool manager. In the event there is a conflict between the miner and the pool manager, the pool manager may wrongly update the miner certificate.
- Database security. The block addresses are stored on a local database managed by the pool manager, and these address link to the miner’s certificate stored on the blockchain network. Database security against cyber-attacks is essential to maintain records of all current and past miners interacting with the mining pool. If the database records are deleted, the pool manager cannot evaluate the miner’s risk to the mining pool.
5. Conclusions
Author Contributions
Funding
Conflicts of Interest
References
- Nakamoto, S. Bitcoin: A Peer-to-Peer Electronic Cash System. Available online: https://bitcoin.org/bitcoin.pdf (accessed on 8 May 2019).
- Ferreira, M.; Rodrigues, S.; Reis, C.; Maximiano, M. Blockchain: A Tale of Two Applications. Appl. Sci. 2018, 8, 1506. [Google Scholar] [CrossRef]
- Nguyen, G.T.; Kim, K. A Survey about Consensus Algorithms Used in Blockchain. J. Inf. Process. Syst. 2018, 14, 101–128. [Google Scholar]
- Johnson, B.; Laszka, A.; Grossklags, J.; Vasek, M.; Moore, T. Game-theoretic analysis of DDoS attacks against Bitcoin mining pools. In Proceedings of the International Conference on Financial Cryptography and Data Security, Christ Church, Barbados, 3–7 March 2014; Springer: Berlin/Heidelberg, Germany, 2014; pp. 72–86. [Google Scholar]
- Fisch, B.; Pass, R.; Shelat, A. Socially optimal mining pools. In Proceedings of the International Conference on Web and Internet Economics, Bangalore, India, 17–20 December 2017; Springer: Cham, Germany, 2017; pp. 205–218. [Google Scholar]
- Haghighat, A.T.; Shajari, M. Block withholding game among bitcoin mining pools. Future Gener. Comput. Syst. 2019, 97, 482–491. [Google Scholar] [CrossRef]
- Mining Pool Starts. Available online: https://miningpoolstats.stream/bitcoin (accessed on 8 May 2019).
- Liang, X.; Shetty, S.; Tosh, D. Exploring the Attack Surfaces in Blockchain Enabled Smart Cities. In Proceedings of the 2018 IEEE International Smart Cities Conference (ISC2), Kansas City, MO, USA, 16–19 September 2018; IEEE: Piscataway, NJ, USA, 2018; pp. 1–8. [Google Scholar]
- Kwon, Y.; Kim, D.; Son, Y.; Vasserman, E.; Kim, Y. Be selfish and avoid dilemmas: Fork after withholding (faw) attacks on bitcoin. In Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security, Dallas, TX, USA, 30 October–3 November 2017; ACM: New York, NY, USA, 2017; pp. 195–209. [Google Scholar]
- Park, J.; Park, J. Blockchain security in cloud computing: Use cases, challenges, and solutions. Symmetry 2017, 9, 164. [Google Scholar] [CrossRef]
- Rahouti, M.; Xiong, K.; Ghani, N. Bitcoin concepts, threats, and machine-learning security solutions. IEEE Access 2018, 6, 67189–67205. [Google Scholar] [CrossRef]
- Zhu, S.; Li, W.; Li, H.; Tian, L.; Luo, G.; Cai, Z. Coin Hopping Attack in Blockchain-based IoT. IEEE Internet Things J. 2019, 6, 4614–4626. [Google Scholar] [CrossRef]
- Chávez, J.J.G.; da Silva Rodrigues, C.K. Automatic hopping among pools and distributed applications in the Bitcoin network. In Proceedings of the 2016 XXI Symposium on Signal. Processing, Images and Artificial Vision (STSIVA), Bucaramanga, DC, USA, 31 August–2 September 2016; IEEE: Piscataway, NJ, USA, 2016; pp. 1–7. [Google Scholar]
- Belotti, M.; Kirati, S.; Secci, S. Bitcoin Pool-Hopping Detection. In Proceedings of the 2018 IEEE 4th International Forum on Research and Technology for Society and Industry (RTSI), Palermo, Italy, 10–13 September 2018; IEEE: Piscataway, NJ, USA, 2018; pp. 1–6. [Google Scholar] [Green Version]
- SLUSH POOL: Stratum Mining Protocol. Available online: https://slushpool.com/help/#!/manual/stratum-protocol (accessed on 16 May 2019).
- Salimitari, M.; Chatterjee, M.; Yuksel, M.; Pasiliao, E. Profit maximization for bitcoin pool mining: A prospect theoretic approach. In Proceedings of the 2017 IEEE 3rd International Conference on Collaboration and Internet Computing (CIC), San Jose, CA, USA, 15–17 October 2017; IEEE: Piscataway, NJ, USA, 2017; pp. 267–274. [Google Scholar]
- Rosenfeld, M. Analysis of bitcoin pooled mining reward systems. Distributed, Parallel, and Cluster Computing. arXiv 2011, arXiv:1112.4980. [Google Scholar]
- Luu, L.; Velner, Y.; Teutsch, J.; Saxena, P. Smartpool: Practical decentralized pooled mining. In Proceedings of the 26th USENIX Security Symposium (USENIX Security 17), Vancouver, BC, Canada, 16–18 August 2017; pp. 1409–1426. [Google Scholar]
- Rajput, U.; Abbas, F.; Oh, H. A Solution towards Eliminating Transaction Malleability in Bitcoin. J. Inf. Process. Syst. 2018, 14, 837–850. [Google Scholar]
- Zamyatin, A.; Wolter, K.; Werner, S.; Harrison, P.G.; Mulligan, C.E.; Knottenbelt, W.J. Swimming with Fishes and Sharks: Beneath the Surface of Queue-based Ethereum Mining Pools. In Proceedings of the 2017 IEEE 25th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS), Banff, AB, Canada, 20–22 September 2017; IEEE: Piscataway, NJ, USA, 2017; pp. 99–109. [Google Scholar]
- Kim, H.W.; Jeong, Y.S. Secure authentication-management human-centric scheme for trusting personal resource information on mobile cloud computing with blockchain. Hum.-Cent. Comput. Inf. Sci. 2018, 8, 11. [Google Scholar] [CrossRef]
Notation | Description |
---|---|
Mrsk | Miner risk |
Es_dep | Escrow deposit |
Matt | Miner attack |
Msf | Safe miner |
α | Hop_Count {0,1…} |
β | SCviolated {0,1…} |
μ | SCupheld {0,1…} |
Critical Factors | Computational Power | Miner Risk | Accountability | |
Solutions | ||||
Epoch system [14] | They implemented an epoch system to determine if a miner receives rewards from multiple mining pools. It is not feasible to implement, as the pool manager has to analyze each miner’s wallet. | They used a mapping-based procedure between the input of transactions and input and output address of a transaction. A pool manager cannot check each transaction in the wallet as it violates the miner’s privacy. | They did not propose measures for a miner to be held accountable when they abandon the mining pool, and they offer no solutions to prevent the miner from leaving. | |
Slush pool method [15,16] | It utilizes a time-based equation to evaluate how much reward a miner will receive. A miner may abandon and return to the pool when the rewards are higher. | It does not address the evaluation of each miner’s risk to the mining pool. Every miner is permitted and can leave at any time. | It suggests no accountability measures for the miner that leaves the pool. | |
Geometric method [17] | They implemented a scoring-based equation to keep track of miner’s rewards but did not prevent a miner from leaving the mining pool. | It does not determine each miner’s risk when adding them to the pool. Any miner may join and leave the mining pool. | It does not present a solution to hold a miner accountable when they abandon the mining pool. | |
Proposed model | Using Equation (2), a smart contract with a high escrow value is issued to prevent a miner from leaving the mining pool due to financial loss. | The pool manager evaluates the miner risk of each miner using Equation (1) and issues smart contracts for high-risk miners. | The pool manager using Equations (3) and (4) updates the miner’s certificate when a miner completes or abandons mining of the block. |
© 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Singh, S.K.; Salim, M.M.; Cho, M.; Cha, J.; Pan, Y.; Park, J.H. Smart Contract-Based Pool Hopping Attack Prevention for Blockchain Networks. Symmetry 2019, 11, 941. https://doi.org/10.3390/sym11070941
Singh SK, Salim MM, Cho M, Cha J, Pan Y, Park JH. Smart Contract-Based Pool Hopping Attack Prevention for Blockchain Networks. Symmetry. 2019; 11(7):941. https://doi.org/10.3390/sym11070941
Chicago/Turabian StyleSingh, Sushil Kumar, Mikail Mohammed Salim, Minjeong Cho, Jeonghun Cha, Yi Pan, and Jong Hyuk Park. 2019. "Smart Contract-Based Pool Hopping Attack Prevention for Blockchain Networks" Symmetry 11, no. 7: 941. https://doi.org/10.3390/sym11070941