# Forging Algorithm

Each block in the chain has a signature generation parameter. To participate in the forging process of a block, the active account cryptologically signs the previous generated block with its own public key. This creates a 64-byte signature that is then hashed using SHA256. The first 8 bytes of the resulting hash give a number called the hit of the account. The hit is compared to the current target value. If the calculated hit is lower than the target, the next block can be generated. As noted in the target value formula, the target value increases with each second. Even if there are only a few active accounts on the network, one of them will eventually generate a block because the target value will become very large. The consequence of this is that you can estimate the time it will take for any account to force the block by comparing the hit value of that account to the target value. The last point is of great importance. Since any node can request an effective balance for any active account, it is possible to go through all active accounts to determine their individual hit value. This means that with reasonable accuracy, you can predict what the following account wins right to block counterfeit. A shuffle attack can be triggered by moving a stake into an account that will generate the next block, which is another reason why PZM bet must be stationary for 1,440 blocks before it can contribute to the forging (through an effective balance value). Interestingly, the new base target for the next block cannot be reasonably predicted, so a virtually deterministic process of determining who will force the next block becomes more and more stochastic as attempts are made to predict future blocks.

![](/files/-MSLgM2lrpkiG38SbDIJ)

This feature of the forging PRIZM algorithm helps to form the basis for the development and implementation of the Transparent Forging algorithm. When an active account is granted the right to create a block, it combines up to 255 available unconfirmed transactions into a new block and populates the block with all its necessary parameters. This block is then transmitted to the network as a Blockchain candidate. The payload that generates the account and all signatures on each block can be checked by all the network nodes that receive it. In a situation where multiple blocks are generated, nodes select the block with the highest accumulated complexity as the authoritative block. Because the block data is distributed among the members (peers), forks (unauthorized chain fragments) are detected and dismantled by examining the cumulative complexity of the chains stored in each fork.


---

# 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://prizm.gitbook.io/pzm/wp/forging-algorithm.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.
