Example project that helps to understand Proof of Work.

Example project that helps to understand Proof of Work (PoW). In PoW, we want to find a hash that satisfies a certain condition (the hash needs to be smaller than a given value called `target`). Most of the input for computing the hash is fixed. But there is a variable we can change in order to influence the resulting hash: it is the `nonce`.

<!-- GETTING STARTED -->

## Getting Started

...

...

@@ -31,4 +31,4 @@ Before you follow the steps below, you need to [download the source code](https:

java -jar build/libs/proof-of-work.jar -d=0.001

```

Try different values for `d` in order to scale the difficulty (`0 < d <= 1`). Since the difficulty is determined by multiplying `d` with `Integer.MAX` (i.e., `2^31 - 1 = 2,147,483,647`), higher values of `d`result in a lower difficulty; the chance of `hash < difficulty` is high.

Try different values for `d` in order to scale the hash target (`0 < d <= 1`). Since the target is determined by multiplying `d` with `Integer.MAX` (i.e., `2^31 - 1 = 2,147,483,647`), for higher values of `d`the chance of finding a nonce that satisfies `hash < target` is high.