In Cardano's Alonzo CDDL (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.
After taking a careful look at the ledger spec, the quantity of an asset can only be uint, specified as
multiasset<uint> in this line. Only the minting amount could be negative, specified as multiasset in this line. This also verified Andy's answer below.