> For the complete documentation index, see [llms.txt](https://hub.bsvblockchain.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hub.bsvblockchain.org/higher-learning/bsv-academy/bitcoin-whitepaper-series/bitcoin-whitepaper-abstract/timechain-and-proof-of-work.md).

# Timechain and Proof-of-Work

<figure><img src="https://3421145409-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRTEKu4E7Fvtss3GI9CYU%2Fuploads%2FhBVm8PsS0K3KFVCy83YA%2FTimechain.gif?alt=media&amp;token=0aa7df60-3d5a-43f5-a82e-9cb99954dcd0" alt=""><figcaption></figcaption></figure>

*The network timestamps transactions by hashing them into an ongoing chain of hash-based proof-of-work, forming a record that cannot be changed without redoing the proof-of-work.*

\- Satoshi Nakamoto, Bitcoin Whitepaper

The **timechain** is a term that encapsulates the nature of the Bitcoin blockchain as **a sequential chain of timestamped events in history**. As transactions are received into the network, nodes capture and collate them into logs, known as **blocks**. Each block contains a timestamp applied to a sequential list of transactions, representing a consensus agreement on the existence and validity of all transactions contained within.

**Proof-of-work** is the mechanism that determines who gets to update transactions on the Bitcoin blockchain. To gain the right to update the next block of transactions, **a node must provide proof that it has solved a computational challenge that is difficult yet easily verifiable by the network**. This process is akin to completing a jigsaw puzzle; while it may be challenging to solve, once completed, it is straightforward for others to validate.

As new transactions are received, **nodes compile them into a block template containing all accepted transactions** that have not yet been included in a valid block. They then perform h**ash-based work on a difficulty puzzle** that must be solved to form a valid block. The hashing process involves taking an input of data of any length and transforming it into a repeatable yet essentially random output of a fixed length. In Bitcoin, the hashing algorithm used is **SHA-256**, which produces a fixed-length output of 256 bits.

The network **adjusts the puzzle's difficulty** to maintain an average block time of **approximately 10 minutes**. As more nodes contribute their CPU power to the pool performing proof-of-work, the puzzle becomes increasingly challenging to solve. Consequently, **altering blocks that have had several subsequent blocks built on top of them becomes nearly impossible due to the accumulation of Proof-of-work.**


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://hub.bsvblockchain.org/higher-learning/bsv-academy/bitcoin-whitepaper-series/bitcoin-whitepaper-abstract/timechain-and-proof-of-work.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
