# Attacking the Longest Chain

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

*To modify a past block, an attacker would have to redo the proof-of-work of the block and all blocks after it and then catch up with and surpass the work of the honest nodes. We will show later that the probability of a slower attacker catching up diminishes exponentially as subsequent blocks are added.*

Satoshi Nakamoto, Bitcoin Whitepaper

Thanks to the cumulative nature of Bitcoin’s proof-of-work process, an attacking node that **wants to overwrite a particular block or record which has already been built upon by the honest operators** on the network, would:

* First have to **create a competing block**
* Then **create a new chain of blocks that is longer** than the existing chain of honest blocks being built upon by the network.

In order to uphold the fraud, the dishonest nodes must now also **perform enough proof-of-work to generate new blocks at a rate that exceeds the generation of the honest blocks for as long as they require to perpetrate their fraud**.

They must do so in a way that is **completely public, exposing their dishonesty** to the entire world and leaving a direct trail to their system for law enforcement to follow.

Ps. It should be noted that as the requirement for Proof-of-work grows with the size of the network as a whole, the operation of a node leaves a larger and larger footprint that becomes near impossible to hide. Thus, further disincentivizing dishonest behaviour to the ease of identifying the dishonest actor.


---

# 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-4-proof-of-work-bitcoin-whitepaper/attacking-the-longest-chain.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.
