With the growth of Bitcoin’s popularity, more companies are starting to accept it as a means of payment. As with any financial asset, increased adoption is associated with an increase in fraud attacks. Although Bitcoin is designed so that transactions are publicly verified, the Bitcoin ecosystem will always witness attempts at double spending as the primary way to commit fraud on the network. Criminals want to a) issue coins in stores and b) also transfer them to their own wallets, effectively withdrawing payments and defrauding merchants.
Fraudsters use a wide spectrum of strategies for this.
In the “race attack” variant, they send the two conflicting transactions to the network in rapid succession, with the aim of confirming only the wallet transfer. To take care of this, criminals often use the Replace-by-Fee (RBF) option, which is available in many wallets. Here, the fees for payments to sellers are low enough to discourage miners from validating those transactions. After a few minutes, pending payments are canceled by changing the recipient’s address to that of their wallet.
Violators also carry out “Finney attacks” – sending payment transactions straight away to retailer nodes, while wallet transfers are broadcast across the network. This technique also increases the likelihood of payments being withdrawn. Other strategies include “Vector76 attacks” (a combination of the above two typologies).
Unfortunately, it takes an average of 10 minutes to confirm that a Bitcoin transaction is not a double spend. Fast-pay merchants (such as ATMs, vending machines, fast-service restaurants) cannot afford to wait for confirmed payments. They are thus exposed to fraud risks as goods change hands before victims realize payments have been canceled.
Then there are other threat vectors (such as “fork attacks”), which can dupe sellers even after payment confirmation, hurting even slow-paying merchants. (Forks create an alternate version of the blockchain, with the two variants running simultaneously on different parts of the network.)
In the “alternate history attack”, offenders file the payment while privately digging another fork, including the fraudulent spending. While shopkeepers wait n confirmations and underwrite the payment, criminals try to get more than n processed blocks to release the fork and recover the coins. Successful implementation of the above requires fraudsters to own systems with a relatively high hash rate (number of calculations performed per second). By design, hash rate requirements mean that the Bitcoin network strongly discourages this type of fraud.
A “majority attack” is an enhanced version of the above, in which criminals control more than 50 percent of the network hash rate (a virtual impossibility on Bitcoin). In such cases, double publishing is guaranteed to be successful. No amount of confirmations can prevent this attack. However, waiting for multiple confirmations increases the cost of resources for such threat vectors, deterring fraudsters.
To avoid consumers having to cover the costs of fraud, there is a growing need for measures that are scalable and realistic to deploy.
Fraud Analytics Solutions
One such approach could be to include a layer of real-time fraud analysis solutions, as “sensing nodes” in the network. These can alert suppliers to risky payments by running machine learning models on transactions. These models can calculate potential winnings from fraudsters in the event they attempt to withdraw payments and double the spending, creating the likelihood that a payment is fraudulent.
APIs hosted at merchant apps / websites can read processing power from machines initiating payments, checking the latent hash rate. Such models can also suggest the number of confirmations that merchants should wait (using features such as consumer-network-hash-rate ratio) before approving payments.
In addition, a “reputation score” can be calculated for each consumer. APIs that capture behavioral biometrics (such as type styles) in addition to IP address, device details, etc., can be used to cluster payments into huddles of homogeneity, which is more likely to come from the same users.
Bitcoin’s public transaction log leaks significant information about user profiles. “Network algorithms” can use this data to link different wallet addresses together to unmask coordinated attacks. Accordingly, we can get such scores even for wallet clusters. This may enable us to implement accountability measures within the system (eg Blacklist linked wallet addresses and IPs).
“Reputation scores” can be of particular use in case of fork attacks, as payments can be canceled regardless of the number of confirmations.
It should be noted that, as with any analysis model, there is a risk that real payments will be misclassified as attempts at double spending. Therefore, traders should be able to choose their own risk appetite and decide on a “severity threshold” of model warnings, above which they may want to refuse suspicious payments. A comparison of benefits of expected savings on fraud loss with cost potential loss of revenue (due to decreases in actual payments) may provide guidance in this area. Retailers may be charged for using model recommendations, which can be dynamically calculated through automated model performance tracking.
Merchant Education can be an additional way to limit fraud risks.
Business owners can be trained to defend against racial attacks. Stores can a) connect to a sufficiently large, random sample of nodes in the Bitcoin network and b) disable incoming connections. These measures will prevent fraudsters from accurately identifying and transmitting payment transactions straight away to merchant nodes.
Double spending attempts are usually facilitated in practice by a lack of anonymity. Many retailers publicly link their wallet pseudonyms to their identity. This allows criminals to obtain social engineering information relevant to any seller’s Bitcoin node.
Merchants should also understand the difference between confirmed and unconfirmed activity, and be able to check the status of payments using a block explorer. Improved wallet UI design can help in this context by sharply emphasizing the difference between users’ actual and stated balances.
Research has shown that the leakage of profiles in Bitcoin’s public activity log increases with the number of transactions initiated by users. This is because the ones that can be assigned to a plethora of records can be easily researched as compared to others. Interestingly, the above can serve as a built-in deterrent to large amounts of coordinated attacks by syndicated fraudsters, which are always in vogue in the credit card space.
Clearly, anti-fraud solutions for the Bitcoin ecosystem can potentially pose privacy concerns.
However, greater network congestion due to Bitcoin’s rising popularity could lead to a rapid increase in the average confirmation time. This, coupled with the continued discovery of new threat vectors, makes systematic fraud prevention the need of the hour.
This is a guest post from Debanjan Chatterjee. The views expressed are entirely their own and do not necessarily reflect those of BTC Inc or Bitcoin Magazine.
- Karame, GO, Androulaki, E., & Capkun, S. (2012). Two Bitcoins for the Price of One? Double spend attacks on fast payments in Bitcoin (No. 248). Picked up from http://eprint.iacr.org/2012/248.
- Podolanko, JP, Ming, J., & Wright, M. (nd) (2017). Countering double spend on Bitcoin fastpay transactions. (p. 7). Picked up from http://www.ieee-security.org/TC/SPW2017/ConPro/papers/podolanko-conpro17.pdf.
- Karame, GO, Androulaki, E., Roeschlin, M., Gervais, A., Capkun, S. (2015). Misbehavior in Bitcoin: An Investigation of Double Spending and Accountability. ACM Trans. Inf. Syst. Secure. 18 (1). Picked up from https://www.researchgate.net/publication/279246556_Misbehavior_in_Bitcoin_A_Study_of_Double-Spending_and_Accountability