# Timechain and Proof-of-Work

<figure><img src="/files/G9toKHBiT5cDEXrautcm" 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: 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/bitcoin-whitepaper-abstract/timechain-and-proof-of-work.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.
