# M7 PoW

The M7 PoW algorithm, otherwise known as the "magnificent 7" PoW algorithm, is a proof-of-work algorithm designed for the mining process in Cryptonite. The M7 PoW is not a memory hard algorithm, it's more like the algorithm used by Quark and similar alt-coins. Seven different hashing functions are used to generate the final hash which is tested against the target. The only difference is that Cryptonite doesn't use any obscure hashing functions that no one has ever heard of before. We wanted quality over quantity so we only used cryptographically secure hashing functions which are well tested. In order to avoid bias accumulation we multiply the 7 hashes together and then pass that number through the SHA-256 function one last time. The multiplication step is also harder for GPU's and ASIC's but works very efficiently on a CPU.

The magnificent 7:

- SHA-256
- SHA-512
- Keccak
- RIPEMD
- HAVAL
- Tiger
- Whirlpool

The M7 PoW algorithm can be generalized as the following, where h = header:

`SHA-256(SHA-256(h)*SHA-512(h)*Keccak(h)*Ripemd(h)*Haval(h)*Tiger(h)*Whirlpool(h))`