Report date: May 25, 2024
Attacking target: Vechain Thor consensus protocols
1. Key Deliveries:
In VeChain’s whitepaper, The consensus security is stated as follows:
Once authorized, all nodes have an equal opportunity to create new blocks and earn rewards, without the need to spend vast resources competing against each other. This ensures that richer nodes do not have an unfair advantage over other nodes in the system
However, our attack undermines this assertion. Specifically, under our attack strategy, malicious nodes can usurp the block generation rights from honest nodes, effectively depriving them of their chance to earn rewards. This disruption undermines the fairness and the foundational claims of the consensus protocol’s security model.
Our attack involves intentionally delaying the broadcast of blocks to create forks, and then broadcasting its own block just before the next proposer starts packaging blocks in the next cycle. This leads subsequent proposers to select the attacker’s block as bestBlock
, resulting in the discarding of the block that was packaged by the honest proposer.
To well describe our strategy, we set the current time as T, the time for the next block as T+1, and the time for the block after that as T+2. The attacking strategy is summarized as follows:
- Upon receiving the next block T+1 (1:10:30 ), it packages the block but delays broadcasting.
- Before the proposer for the next cycle T+2 (1:10:40 ) begins packaging, it broadcasts its own block.
This action results in forks among other nodes, with some nodes selecting the attacking node’s block as bestBlock
. Due to the BFT algorithm prioritizing the comparison of Quality in the state, blocks created by the attacking node may have a higher Quality, thus having a higher probability of being chosen as the bestBlock
.
Such an attack could lead to the block packaged by the proposer at T+1 being discarded, thereby affecting the rewards of that proposer.