I need a proof of work/memory that takes about 100ms to complete, and as short time as possible to validate. Hashing random values and a nounce to get enough leading zeroes is my current approach, and my plan was to use blake2 for the hash function, but I couldn't get it to work. I did however get scrypt to work, but it's obviously a lot slower, and even when reducing parameters below recommended values, the speed isn't great.
Does it make sense to use a proof of work where the work is only 32-256 times larger than the work required to validate it? Should i look for another approach?