From 485e0ecf1d79b710cf4dfc46d30c162b123cd8897a569541a8d4151bf5890d7f Mon Sep 17 00:00:00 2001 From: stupdi Date: Sat, 19 Apr 2025 23:04:48 -0500 Subject: [PATCH] Update pow.md Signed-off-by: stupdi --- pow.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/pow.md b/pow.md index 473a0f4..44ad13e 100644 --- a/pow.md +++ b/pow.md @@ -0,0 +1,18 @@ +# The three pillars of PoW +## Asymmetry +Easy to verify, hard to compute +## Puzzle/Challenge +Have to solve a very challenging(computationally) problem +## Nonce +A value used to vary inputs until the puzzle solution meets a requirement. + +# Common Puzzles/Challenges for PoW ++ Bitcoin's SHA256: +Find a nonce such that ```hash(block + nonce)``` starts with a specific number of zeros. +This is usually only used for blockchains, hence there is the block. However, this could be used for other applications as well. + ++ ProgPoW: +Heavily GPU and CPU intensive, as it creates a psuedo-random program that does several seemingly random operations using the nonce to generate a number that one can "mine" in order to get. + ++ RandomX (Used by Monero) +Is heavily CPU-dependent, as it doesn't translate onto the GPU that well, and it works by using Just-In-Time(JIT) to create another psuedo-random program that can be mined as well. However, this uses all kinds of operations, like floating point, AES, and memory loads.