Does a Monero full node require more or less RAM than a Zcash full node?

Assuming 8GB of ram how much time would it take to generate one RingCT transaction of average size with a standard mixin compared to the time to create one standard "mint transaction" (converting the non-anonymous basecoin into anonymous zerocoins) and one "pour" transaction to follow (making a private payment with the zerocoins)?

1 Answer 1


Monero originally required a lot of RAM, because it stored the blockchain in RAM. Currently, Monero uses LMDB to store its blockchain. As a result, people are able to set up Monero nodes with only 512MB of RAM. When running, bitmonerod (the daemon) uses less than 100 MB of RAM. For Zerocash the requirement will be much higher for nodes that generate spend (aka "pour") transactions:

Zooko also added that privacy-preserving spend generation likely requires more than 4 gigabytes of RAM, although he also mentioned that they don’t have precise measurements on RAM requirements quite yet.

In your 8GB RAM example a RingCT Monero transaction would be generated nearly instantly, while a Zcash transaction would take minutes according to Zooko, Zcash founder & CEO

“The current alpha code that we have running on a testnet ‒ it takes like about a minute or two of CPU time to generate a new privacy-preserving spend and only like a few milliseconds, I think, to verify. The latter part is for the good for performance, and that’s really important because all the full nodes and the miners have to be doing verifications all the time. The former part is pretty bad because it takes a whole minute or two on like a high-powered, supercomputer 64-bit laptop CPU.”

Lastly, it should be noted that the integration of RingCT will not result in additional RAM requirements.

  • 2
    Not "minutes", that's out of date. It takes about 42 seconds and 3GB of memory to produce a JoinSplit proof on our benchmarking machine (a 4-core, no hyperthreading, Xeon E3-1225 V2 at 3.20GHz). A complicated transaction might require more than one JoinSplit, though. It's a high priority for us to optimise this, and there is plenty of scope to do so. Commented Feb 19, 2017 at 4:48

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.