zips icon indicating copy to clipboard operation
zips copied to clipboard

[ZIP 227] Should there be a limit on total issuance of an asset lower than 2^96?

Open daira opened this issue 1 year ago • 1 comments

@arya2 asked:

Is there meant to be a maximum total supply of issued assets? (e.g. u64::MAX)

Currently, the only limit on the total issuance of a given asset is the one implied by the maximum value of a note ($2^{64} - 1$ units of that asset) and the maximum size of the Orchard note commitment tree ($2^{32}$, if all notes were of that asset — although obviously some notes already exist). This gives an upper bound of just under $2^{96}$. However, there is no implementation guidance on how amounts of an asset should be represented, and so an implementor might naively assume that a u64 is sufficient. ZIP 227 does not explicitly state the type of asset balances (it would be in Specification - Global Issuance State).

Should there be a consensus rule limiting issuance for a given asset? It does not appear to be necessary for the rest of the protocol to function correctly; the argument for balance in § 4.14 Balance and Binding Signature (Orchard), adapted to allow multiple value bases, does not need it.

Whether or not there is such a consensus rule, the type of asset balances should be given.

daira avatar Nov 12 '24 10:11 daira

https://github.com/QED-it/zips/pull/83 adds to the specification a maximum supply value of $$2^{64} - 1$$. That PR has been merged into #960.

vivek-arte avatar Nov 22 '24 04:11 vivek-arte

This limit is present at https://zips.z.cash/zip-0227#global-issuance-state and was originally merged in #974.

daira avatar Nov 05 '25 04:11 daira