# Attacker's Limitations

<figure><img src="/files/FpjVY99PJwyArzzTuV0u" alt=""><figcaption></figcaption></figure>

*We consider the scenario of an attacker trying to generate an alternate chain faster than the honest chain.*

*Even if this is accomplished, it does not throw the system open to arbitrary changes, such as creating value out of thin air or taking money that never belonged to the attacker. Nodes are not going to accept an invalid transaction as payment, and honest nodes will never accept a block containing them.*

Satoshi Nakamoto, Bitcoin Whitepaper

The concept of a **51% attack** is often discussed in the context of blockchain security. This type of attack occurs when a malicious actor gains control of more than half of the network's mining power, allowing them to create an alternate chain that may contain fraudulent transactions or reject valid transactions accepted by the majority. However, it is essential to recognize the boundaries of what an attacker can achieve.

1. **No Arbitrary Changes**: An attacker cannot make arbitrary changes to the consensus rules of the network. Any attempt to create money that does not exist or to spend funds in a manner that contradicts the Bitcoin Protocol will result in the blocks they create being rejected by the network. This necessitates the maintenance of a separate fork of the blockchain, which is not only resource-intensive but also limits the attacker's influence to only those nodes that agree with their version of the consensus.
2. **Public Nature of Transactions**: Any attempt to double-spend or alter transactions must be conducted in a public manner. This transparency means that all users of the network can observe which transaction was double-spent and identify the node responsible for the attack.

An attacker can only **attempt to alter one of their own transactions to reclaim funds** they have recently spent. If they do so, they do it **in full public view**, exposing them up to the **full force of the justice system**. This limitation is a fundamental aspect of the blockchain's design, ensuring that the integrity of the network remains intact despite potential malicious attempts.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://hub.bsvblockchain.org/higher-learning/bsv-academy/bitcoin-whitepaper-series/section-11-calculations-bitcoin-whitepaper/attackers-limitations.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
