With the growth of Bitcoin’s popularity, more businesses are starting to accept it as a mode of payment. As with any financial asset, increased acceptance is coupled with a rise in fraud attacks. Although Bitcoin was designed so that transactions are publicly verified, the Bitcoin ecosystem will always witness attempts at double spending as a primary way of committing fraud on the network. Criminals look to a) spend coins at stores while also, b) transferring the same to their own wallets, thus effectively revoking payments and defrauding merchants.
Fraudsters adopt a wide spectrum of strategies for this purpose.
In the “race attack” variant, they send the two conflicting transactions in rapid succession into the network, aiming for only the wallet transfer to be confirmed. In order to ensure this, criminals often use the Replace-by-Fee (RBF) option, available in many wallets. Here, fees accompanying merchant payments are set low enough to discourage miners from validating those transactions. After a few minutes, pending payments are cancelled by changing the recipient address to that of one’s own wallet.
Offenders also carry out “Finney attacks” — sending payment transactions directly to nodes of retailers, while broadcasting wallet transfers across the entire network. This technique also increases chances of payments being repealed. Other strategies include “Vector76 attacks” (a combination of the above two typologies).
Unfortunately, it takes 10 minutes, on average, to confirm that a Bitcoin transaction is not a double-spending attempt. Fast-pay merchants (such as ATMs, vending machines, quick-service eateries) cannot afford to wait for confirmed payments. Thus, they are exposed to fraud risk, as goods change hands before victims realize that payments have been cancelled.
Then there are other threat vectors (such as “fork attacks”), where sellers might be duped, even after confirmation of payments, thus hurting even slow-pay merchants. (Forks create an alternative version of the blockchain, with the two varieties running simultaneously on different parts of the network.)
In the “alternative history attack,” offenders submit the payment while privately mining another fork, including the fraudulent spend. While retailers wait for n confirmations and endorse the payment, criminals attempt to get more than n blocks processed to release the fork and regain the coins. Successful execution of the above requires fraudsters to own systems with relatively high hash rate (number of calculations performed per second). By design, hash rate requirements mean that the Bitcoin network heavily disincentivizes this type of fraud.
A “majority attack” is an enhanced version of the above, with criminals controlling more than 50 percent of the network hash rate (a virtual impossibility on Bitcoin). In such cases, double spend is guaranteed to succeed. No amount of confirmations can prevent this attack. However, waiting for multiple confirmations increases resource cost of such threat vectors, thus deterring fraudsters.
To protect consumers from having to cover costs of fraud occurrences, there is a growing need to find measures that are scalable and realistic to deploy.
Fraud Analytics Solutions
One such approach might be to include a layer of real-time fraud analytics solutions, as “observer nodes” in the network. These can alert vendors to risky payments, by running machine learning models on transactions. These models can compute potential profits of fraudsters in case they attempt to repeal payments and double spend, thus arriving at the probability of any payment being fraudulent.
APIs hosted at merchant apps/websites can read processing power of machines initiating payments, thus checking latent hash rate. Such models can also suggest the number of confirmations sellers should wait for (using features such as the ratio of consumer-to-network hash rate), before endorsing payments.
In addition, a “reputation score” can be computed for each consumer. APIs capturing behavioral biometrics (such as typing styles) in addition to IP address, device details, etc. can be used to cluster payments into huddles of homogeneity, thus having a high chance of originating from the same users.
The public transaction log of Bitcoin leaks considerable information about user proﬁles. “Network algorithms” can use this data to link diﬀerent wallet addresses, thus unmasking coordinated attacks. Accordingly, we can arrive at such scores even for wallet clusters. This can enable us to implement accountability measures within the system (e.g., blacklist linked wallet addresses and IPs).
“Reputation scores” might be of special use in case of fork attacks, as payments might be nullified irrespective of the number of confirmations.
It needs to be noted that, as with any analytics model, there obviously would be the risk of misclassifying genuine payments as double-spend attempts. Hence, merchants need to be able to choose their own risk appetite and decide on a “severity threshold” of model alerts, beyond which they might want to decline suspicious payments. A comparison of benefits of expected fraud loss savings with cost of potential revenue loss (resulting from declines of genuine payments) can provide guidance in this space. Retailers can be charged a fee for availing model recommendations, which can be dynamically computed via automated tracking of model performance.
Merchant education can be an additional avenue of fraud risk mitigation.
Business owners can be trained to defend against race attacks. Stores can a) connect to a sufﬁciently large, random sample of nodes in the Bitcoin network and b) disable incoming connections. These measures will prevent fraudsters from accurately identifying and sending payment transactions directly to merchant nodes.
Double-spend attempts are usually facilitated by lack of anonymity in practice. Many retailers publicly link their wallet pseudonyms to their identities. This provides criminals the ability to social engineer information, relevant to any seller’s Bitcoin node.
Merchants also need to understand the difference between confirmed and unconfirmed activity and be able to check the status of payments using a block explorer. Improved user-interface design of wallets can help in this context, by sharply highlighting the difference between users’ actual and stated balances.
Research has shown that profile leakage in the public activity log of Bitcoin rises with the number of transactions initiated by users. This is because those who can be mapped to an abundance of records can be easily scrutinized, compared to others. Interestingly, the above can act as a built-in deterrent for high volumes of coordinated attacks by syndicated fraud rings, perennially in vogue in the space of credit cards.
Clearly, counter-fraud solutions for the Bitcoin ecosystem might run into privacy concerns.
However, increased network congestion resulting from the rising popularity of Bitcoin could lead to a rapid increase in average confirmation time. This, coupled with continuing discovery of fresh threat vectors, renders systematic fraud mitigation the need of the hour.
This is a guest post by Debanjan Chatterjee. Opinions expressed are entirely their own and do not necessarily reflect those of BTC Inc or Bitcoin Magazine.
- Karame, G. O., Androulaki, E., & Capkun, S. (2012). Two Bitcoins at the price of one? Double spending attacks on fast payments in Bitcoin (No. 248). Retrieved from http://eprint.iacr.org/2012/248.
- Podolanko, J. P., Ming, J., & Wright, M. (n.d.) (2017). Countering double-spend attacks on Bitcoin fastpay transactions. (p. 7). Retrieved from http://www.ieee-security.org/TC/SPW2017/ConPro/papers/podolanko-conpro17.pdf.
- Karame, G.O., Androulaki, E., Roeschlin, M., Gervais, A., Capkun, S. (2015). Misbehavior in bitcoin: a study of double-spending and accountability. ACM Trans. Inf. Syst. Secur. 18(1). Retrieved from https://www.researchgate.net/publication/279246556_Misbehavior_in_Bitcoin_A_Study_of_Double-Spending_and_Accountability