<p>The amount of an asset is allowed to be negative because, in the minting field of a transaction, burning tokens is defined as negative minting. This does not mean that you can send negative amounts to an address i.e. that a UTxO is allowed to contain a negative amount of assets. Allowing this would effectively mean that anybody could print tokens by sending a positive amount and simultaneously a negative amount such that in sum no token apparently would be minted. It is clear that this cannot be true.</p>

CC BY-SA 4.0
2022-01-22T07:56:18.733Z
2022-01-22T08:01:40.530Z
2022-01-22T08:01:40.530Z
Jey
<p>In Cardano's Alonzo <a href="https://github.com/input-output-hk/cardano-ledger/blob/master/eras/alonzo/test-suite/cddl-files/alonzo.cddl#L371-L378" rel="nofollow noreferrer">CDDL</a> (Concise Data Definition Language) specification, it seems that the value of an asset could be negative. Is it correct?</p>
<p>If the above assumption is correct, I am wondering how will the ledger work in the following scenario:</p>
<p>Alice has a native asset named &quot;X&quot; with negative quantity of -1000. Then, she send this asset <code>X=-1000</code> to Bob, who has the same asset but a positive quantity of 2000. If this transaction is valid and successfully included in the blockchain, does it mean Bob will end up having only 1000 token X (2000-1000=1000) left?</p>
<p>It sounds weird that Alice could burn anybody's token by simply sending a negative quantity of tokens. If I have to guess an explanation for this scenario, it could be that Alice is granted with the power of &quot;burning&quot; by the token issuer, therefore she could burn anybody's token by sending negative values to their addresses. Therefore, token issuers should be extremely cautious about minting and issuing negative quantity tokens to any third party.</p>
<p>Update:</p>
<p>After taking a careful look at the ledger spec, the quantity of an asset can only be uint, specified as <code>multiasset&lt;uint&gt;</code> in <a href="https://github.com/input-output-hk/cardano-ledger/blob/master/eras/alonzo/test-suite/cddl-files/alonzo.cddl#L375" rel="nofollow noreferrer">this line</a>. Only the minting amount could be negative, specified as multiasset in <a href="https://github.com/input-output-hk/cardano-ledger/blob/master/eras/alonzo/test-suite/cddl-files/alonzo.cddl#L376" rel="nofollow noreferrer">this line</a>. This also verified Andy's answer below.</p>

<native-assets><minting><token><alonzo>
Are negative values valid quantities in native assets?
# Are negative values valid quantities in native assets?

(Asked by: username_0 on 2022-01-22)

In Cardano's Alonzo [CDDL](https://github.com/input-output-hk/cardano-ledger/blob/master/eras/alonzo/test-suite/cddl-files/alonzo.cddl#L371-L378) (Concise Data Definition Language) specification, it seems that the value of an asset could be negative. Is it correct?

If the above assumption is correct, I am wondering how will the ledger work in the following scenario:

Alice has a native asset named "X" with negative quantity of -1000. Then, she send this asset `X=-1000` to Bob, who has the same asset but a positive quantity of 2000. If this transaction is valid and successfully included in the blockchain, does it mean Bob will end up having only 1000 token X (2000-1000=1000) left?

It sounds weird that Alice could burn anybody's token by simply sending a negative quantity of tokens. If I have to guess an explanation for this scenario, it could be that Alice is granted with the power of "burning" by the token issuer, therefore she could burn anybody's token by sending negative values to their addresses. Therefore, token issuers should be extremely cautious about minting and issuing negative quantity tokens to any third party.

Update:

After taking a careful look at the ledger spec, the quantity of an asset can only be uint, specified as `multiasset` in [this line](https://github.com/input-output-hk/cardano-ledger/blob/master/eras/alonzo/test-suite/cddl-files/alonzo.cddl#L375). Only the minting amount could be negative, specified as multiasset in [this line](https://github.com/input-output-hk/cardano-ledger/blob/master/eras/alonzo/test-suite/cddl-files/alonzo.cddl#L376). This also verified Andy's answer below.

**Tags:** native-assets, minting, token, alonzo

---

## 1 answers

### Answer by username_1 on 2022-01-22. Score: 0

The amount of an asset is allowed to be negative because, in the minting field of a transaction, burning tokens is defined as negative minting. This does not mean that you can send negative amounts to an address i.e. that a UTxO is allowed to contain a negative amount of assets. Allowing this would effectively mean that anybody could print tokens by sending a positive amount and simultaneously a negative amount such that in sum no token apparently would be minted. It is clear that this cannot be true.


---

