<p>An <em><a href="https://en.wikipedia.org/wiki/Exploit_(computer_security)" rel="nofollow noreferrer">exploit</a></em> makes use of a software bug or security vulnerability to induce unintended or unanticipated behavior in software to the attacker's advantage.</p>
<p>Neither a <a href="https://bitcoin.stackexchange.com/q/4942/5406">Finney attack</a> nor an &quot;empty-block attack&quot;¹ are exploits. In both cases, the software is working as designed. A Finney attack would be classified as either a user error (relying on an unconfirmed transaction) or social engineering attack (misallocated trust), and a majority attack breaks the main security assumption of the protocol that the majority of the hashrate is not colluding to attack.</p>
<p>&quot;Attack&quot; is a hypernym collecting any sort of attempt to harm the network or take advantage of other users. <em>Exploits</em> are a specific subcategory of attacks. It's not obvious to me what you're exactly trying to disambiguate, but perhaps you're trying to distinguish <em>attacks on users</em> and <em>attacks on the whole network</em>?</p>
<hr />
<p><sup>¹ I'm operating under the assumption that &quot;empty-block attack&quot; is supposed to refer to a majority attacker displacing any blocks that confirm transactions, or monopolizing block creation and only mining empty block, to subject the network to a denial-of-service attack.</sup></p>

CC BY-SA 4.0
2022-01-23T01:37:00.237Z
Yes, I'm distinguishing between attacks on the network, and ways which users of the network can take advantage of others, which can be extremely broad and would include any sort of MEV.  It seems strange to me that the same word is being used.  Selfish mining, undercutting, etc are examples where the protocol is functioning as prescribed, but not as intended.  Maybe exploit is not the best word?
MicahW
CC BY-SA 4.0
2022-01-23T14:58:55.207Z
I guess selfish-mining could be categorized as a protocol exploit, because the intention is for miners to earn a share of the reward equivalent their relative hashrate, and if you have more than 33% of the hashrate, you can earn more than your share by employing this tactic. I don't know what "undercutting" is referring to.
Murch
CC BY-SA 4.0
2022-01-23T17:55:45.860Z
Fee undercutting is an (attack?, exploit?) that becomes available if there are significantly more transaction fees mined in the  latest block than are available in the mempool.  By mining a block at the same height with some but not all of the fees, a miner can claim more fees for themselves than if they had extended the chain tip.  Further, because they can leave more fees available, rational miners will choose to extend the block mined later,  causing the first-mined block to become stale.
MicahW
CC BY-SA 4.0
2022-01-24T17:28:37.447Z
Ah, I know that attack as ["fee sniping"](https://bitcoin.stackexchange.com/a/48385/5406). Yeah, one could say that's a bug in the game theory being exploited.
Murch
CC BY-SA 4.0
2022-01-22T19:24:44.737Z
2022-01-22T19:32:48.677Z
2022-01-22T19:32:48.677Z
Murch
<p>I'm writing up lecture notes and attempting to put the language on the most logical footing.  I'm hoping to distinguish attacks on the consensus itself from exploits of the protocol, as these seem to be separate categories.  For example an empty-block attack is clearly an attack: the purpose is to damage Bitcoin, whereas Finney's attack is not attempting to strike a blow to the consensus, it's an attempt to exploit consensus rules in a way that is more favorable to the attacker.</p>
<p>Am I going against a decade of convention or is there some precedent here?</p>
<p>More generally, is there a definition an &quot;attack&quot;?</p>

CC BY-SA 4.0
2022-01-23T01:40:54.620Z
An empty block attack is when someone who wants to hobble Bitcoin acquires over 51% of the hashrate and uses this to maintain a longest chain containing only empty blocks.
MicahW
<terminology><attack>
Is there a distinction between an attack and an exploit?
MicahW
# Is there a distinction between an attack and an exploit?

(Asked by: username_0 on 2022-01-22)

I'm writing up lecture notes and attempting to put the language on the most logical footing. I'm hoping to distinguish attacks on the consensus itself from exploits of the protocol, as these seem to be separate categories. For example an empty-block attack is clearly an attack: the purpose is to damage Bitcoin, whereas Finney's attack is not attempting to strike a blow to the consensus, it's an attempt to exploit consensus rules in a way that is more favorable to the attacker.

Am I going against a decade of convention or is there some precedent here?

More generally, is there a definition an "attack"?

**Tags:** terminology, attack

> **Comments:**
> **username_0**: An empty block attack is when someone who wants to hobble Bitcoin acquires over 51% of the hashrate and uses this to maintain a longest chain containing only empty blocks.  

---

## 1 answers

### Answer by username_1 on 2022-01-22. Score: 1

An *[exploit](https://en.wikipedia.org/wiki/Exploit_(computer_security))* makes use of a software bug or security vulnerability to induce unintended or unanticipated behavior in software to the attacker's advantage.

Neither a [Finney attack](https://bitcoin.stackexchange.com/q/4942/5406) nor an "empty-block attack"¹ are exploits. In both cases, the software is working as designed. A Finney attack would be classified as either a user error (relying on an unconfirmed transaction) or social engineering attack (misallocated trust), and a majority attack breaks the main security assumption of the protocol that the majority of the hashrate is not colluding to attack.

"Attack" is a hypernym collecting any sort of attempt to harm the network or take advantage of other users. *Exploits* are a specific subcategory of attacks. It's not obvious to me what you're exactly trying to disambiguate, but perhaps you're trying to distinguish *attacks on users* and *attacks on the whole network*?

---

¹ I'm operating under the assumption that "empty-block attack" is supposed to refer to a majority attacker displacing any blocks that confirm transactions, or monopolizing block creation and only mining empty block, to subject the network to a denial-of-service attack.

> **Comments:**
> **username_0**: Yes, I'm distinguishing between attacks on the network, and ways which users of the network can take advantage of others, which can be extremely broad and would include any sort of MEV.  It seems strange to me that the same word is being used.  Selfish mining, undercutting, etc are examples where the protocol is functioning as prescribed, but not as intended.  Maybe exploit is not the best word?  
> **username_1**: I guess selfish-mining could be categorized as a protocol exploit, because the intention is for miners to earn a share of the reward equivalent their relative hashrate, and if you have more than 33% of the hashrate, you can earn more than your share by employing this tactic. I don't know what "undercutting" is referring to.  
> **username_0**: Fee undercutting is an (attack?, exploit?) that becomes available if there are significantly more transaction fees mined in the  latest block than are available in the mempool.  By mining a block at the same height with some but not all of the fees, a miner can claim more fees for themselves than if they had extended the chain tip.  Further, because they can leave more fees available, rational miners will choose to extend the block mined later,  causing the first-mined block to become stale.  
> **username_1**: Ah, I know that attack as ["fee sniping"](https://bitcoin.stackexchange.com/a/48385/5406). Yeah, one could say that's a bug in the game theory being exploited.  

---

