Scrypt [1] is a password based key derivation function (PBKDF), which can be used as a hash function that takes a configurable amount of memory to compute.
The reason it makes a very poor PoW (as choice of hash function in the Hashcash Proof-of-Work) is that the PoW verifier needs as much memory as the PoW prover, whereas a good PoW should be instantly verifiable.
This is why blockchains using scrypt as hash function severely limit the amount of memory used (usually to 128KB). So that verification, while slow, is not horribly slow.
Cuckoo Cycle also requires a configurable amount of memory to solve (subject to certain tradeoffs), but crucially, can be instantly verified with no memory use at all. And thus makes for a good PoW.
In the form of the Cuckatoo32 variant that most mining takes place with, it requires 0.5 GB of SRAM and 0.5 GB of DRAM to solve most efficiently.
The reason it makes a very poor PoW (as choice of hash function in the Hashcash Proof-of-Work) is that the PoW verifier needs as much memory as the PoW prover, whereas a good PoW should be instantly verifiable.
This is why blockchains using scrypt as hash function severely limit the amount of memory used (usually to 128KB). So that verification, while slow, is not horribly slow.
Cuckoo Cycle also requires a configurable amount of memory to solve (subject to certain tradeoffs), but crucially, can be instantly verified with no memory use at all. And thus makes for a good PoW.
In the form of the Cuckatoo32 variant that most mining takes place with, it requires 0.5 GB of SRAM and 0.5 GB of DRAM to solve most efficiently.
[1] https://en.wikipedia.org/wiki/Scrypt