Blockchain Science Popularization: Vector76 Attack
The Vector76 attack, also known as a “one-confirmation attack”, is a double-spend attack strategy targeting blockchain networks. It combines elements of the Finney Attack and the Race Attack. By exploiting network propagation delays, miner behavior, and one-confirmation transaction mechanisms, the attacker aims to rollback transactions. This article delves into the technical principles and process of the Vector76 attack.
Basic Principles
In blockchain networks, “double-spending” refers to the act of using the same token in multiple transactions. The Vector76 attack exploits the vulnerabilities of one-confirmation transactions, enabling the attacker to complete a transfer of assets and then roll back the transaction to successfully double-spend.
What makes the Vector76 attack unique is its combination of strategies:
- Finney Attack: Creates conflicting transactions using pre-mining techniques.
- Race Attack: Increases the likelihood of a transaction being accepted by prioritizing its propagation in the network.
Attack Process
Set Up Node Environment
The attacker sets up two independent nodes:
- Node A: Connected directly to the target trader.
- Node B: Connected to other nodes in the blockchain network.
Create Conflicting Transactions
The attacker initiates two transactions using the same tokens:
- Transaction 1: Sends tokens to the trader’s address.
- Transaction 2: Sends the same tokens back to their own wallet.
Transaction 2 is assigned a higher transaction fee to increase its chances of being included in a block. At this stage, neither transaction is broadcast to the network.
Pre-Mine and Choose a Branch
The attacker mines a block containing Transaction 1 on a private chain (Branch 1) without broadcasting it.
Node A broadcasts Transaction 1 to the trader.
Node B broadcasts Transaction 2 to the broader network.
Since Node B has more peer connections, Transaction 2 is more likely to be accepted by the network, while Transaction 1 is marked as a conflicting transaction.
Broadcast the Branch and Trigger a Rollback
Once Transaction 2 is confirmed as valid by the network:
- The attacker broadcasts the block containing Transaction 1 from Branch 1.
- The trader, seeing Transaction 1 on Branch 1, assumes the transaction is valid and confirms the asset transfer.
The attacker quickly withdraws or transfers the assets to an untraceable address. As Branch 2 eventually grows longer, the blockchain’s longest-chain rule causes Branch 1 to be discarded. Transaction 1 is fully rolled back, leaving the trader unable to recover their assets.
Key Factors in the Attack
Network Delay and Propagation Priority
The attack leverages differences in network propagation. Node B’s broader connections and the higher transaction fee for Transaction 2 increase its chances of being prioritized and confirmed.
One-Confirmation Vulnerability
The Vector76 attack exploits scenarios where traders accept payments after only one confirmation. Without waiting for additional confirmations, traders make decisions based on a single block, creating an attack opportunity.
Role of Pre-Mining
Pre-mining ensures the attacker has a prepared chain branch to broadcast at the optimal moment, enabling transaction rollback.
Mitigation Measures
Increase Confirmation Requirements
Traders should avoid accepting payments with just one confirmation. Waiting for multiple confirmations reduces the risk of rollbacks.
Optimize Node Connectivity
Expanding the distribution of node connections can reduce the success rate of broadcasting conflicting transactions.
Monitor Network Anomalies
Deploy monitoring tools to detect transaction conflicts and branch broadcasts in real-time and respond promptly.
Adjust Transaction Fee Strategies
Ensure transaction fees are proportional to the transaction value to prevent attackers from using disproportionately high fees to manipulate priority.
Conclusion
The Vector76 attack is a sophisticated and stealthy double-spend method that exploits network delays and vulnerabilities in transaction confirmation mechanisms. To counter this threat, blockchain participants should optimize network structures, revise transaction confirmation strategies, and implement targeted defense measures.
🔍Content source: https://qitmeer.io/blogs/282