Performance numbers for Triton VM proving

Transaction throughput on the Neptune Cash blockchain is restricted by computational power. The more proving power that comes online, the more transactions each block can include.

For this reason, several power users run neptune-core on powerful machines as this gives them income in the form of composer fees and transaction fees. We own a couple of machines with powerful processors and we just ran multiple benchmarks on Triton VM version 0.48.0, the version used by neptune-core.

For the benefit of our power users, we present these numbers below.

Triton VM performance

Threadripper 7995wx, RAM-hungry path

Log_2(padded height) 16 17 18 19 20 21 22 23
Proving time (seconds) 2.65 5.36 11.06 22.80 46.52 99.17 203.43 417.75
Max RAM consumption, approximated (GiB) 4.9 8.6 16.1 29.7 58.4 107.8 199.9 399.5

If you want to participate in competitive composition and transaction upgrading, you should probably be able to hit these numbers, or be close to them.

From these numbers, we can estimate the time it takes to create a block proposal as:

  • one proof of padded height 2^{21} (raise from ProofCollection to SingleProof)
  • one 2^{20} proof (a merge of two SingleProof)
  • one 2^{19} proof (BlockProgram).

Summing the time for each proof, gives a total of 168.47 seconds, a little less than three minutes. This assumes your node’s mempool is non-empty – that there is a synced SingleProof transaction ready to be merged into your coinbase transaction.

To benchmark proving speeds on your setup, you can follow these instructions that @ferdinand just added.