Regardless of the algorithm to be used, with a memory-bound PoW algorithm comes a requirement on the minimum amount of memory to generate work. Going below this minimum will usually mean a steep increase in the time to generate work (usually exponential), and that's if the implementation can deal with it.
Since this affects the whole community, we're opening up the discussion to figure out what would be an acceptable amount of required memory. The choice will have some impacts:
- Some nodes on the network will no longer be able to generate work. Remember that nodes that don't generate work won't need any memory;
- With a higher requirement, it gets harder and more expensive to parallelize the algorithm, including FPGAs and ASICs
- A higher requirement will also help with botnets
Moreover, the node currently supports work peers and we plan to extend this support to potentially provide DNS resolution and authentication. Generating work is a critical part of Nano.
Curious to hear your thoughts.