The maximum number of bytes that can be used by all nonce sessions.
If it exceeds this limit, the verifier will delete the oldest nonce sessions.
This limit is approximate, because it doesn’t take into account the internal extra bytes used in
HashMap and VecDeque used in the AllSessions. It only takes into account bytes used for the secnonces.
The maximum number of bytes per Winternitz key.
The maximum number of nonce sessions that can be stored in the verifier.
It is used so that the allsessions do not store too many small (1 nonce) sessions.
The maximum number of script replacement operations allowed in a single BitVM operation.
This is a safeguard to prevent excessive resource usage and ensure that the BitVM protocol
remains efficient and manageable.
The limit is set to 100,000 operations, which is a reasonable upper bound for
script replacement operations in the context of BitVM, which is normally a constant
equal to 47544.
The maximum number of Winternitz digits per key.
This is used to limit the size of the Winternitz public keys in the protocol
to prevent excessive memory usage and ensure efficient processing.
This value is achieved when signing a 32-byte message with a Winternitz key,
resulting in a maximum of 64 + 4 digits per key, where the last 4 digits are used for
the sum-check operation.
The minimum possible amount that a UTXO can have when created into a Taproot address.
The amount of the non-ephemeral P2A anchor output.
The maximum number of nonces that can be generated in a single nonce generation session.
A single nonce takes 132 (musig2 secret nonce) bytes. We calculate NUM_NONCES so that a nonce
session takes at maximum 150MB.