So this is probably a question I should be able to find the answer to easily but I am stumped. In the documentation for cryptonight the part on scratchpad initialization says:

First, the input is hashed using Keccak [KECCAK] with parameters b = 1600 and c = 512. The bytes 0..31 of the Keccak final state are interpreted as an AES-256 key [AES] and expanded to 10 round keys. A scratchpad of 2097152 bytes (2 MiB) is allocated. The bytes 64..191 are extracted from the Keccak final state and split into 8 blocks of 16 bytes each ...

What is the input parameter? Where does it come from?

1 Answer 1


As far as I'm aware, Monero didn't deviate from what was inherited from CryptoNote when it comes to PoW and difficulty.

Input should be the block header, although I'm not sure about all details. It should be according to chapter 4.1 of CNS003.

The winning hash is never recorded to the blockchain. Instead, nodes just hash the header themselves and verify that the resultant hash is above target difficulty for the block height.

The difficulty is evaluated according to CNS010.

Here's some more info:

Cryptonote SHA3 bigger than 64byte? (Scratchpad Initialization)

Keccak vs Keccak-f permutation in cns008

Understanding the structure of a Monero transaction

If you poke arond and get more clear info, please update here (you can answer your own question, as well).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.