Professional Documents
Culture Documents
Finished 2022-03-15
Table of Contents
1
Summary
MLabs audited the correct minting of the Cardano native asset with policy ID
362706e09f908e1470b90278cb50bcd834b4c2f8d489431a8965ddb8 and name KubeCoin
(4b756265436f696e). Throughout the document, this asset is called the KubeCoin token.
Specifically, it has been successfully checked that only 480 million (480,000,000) tokens have
been minted to date and no more tokens can be minted in the future.
Assumptions
The trustworthiness of the claims made by this report rely on the correct implementation of the
multi-signature language and the Cardano command-line interface by IOG, as well as the
veracity of the data displayed by third-party tools like the API Blockfrost or alternatively the
Cardanoscan blockchain explorer.
Analysis
The minting policy of a Cardano native asset specifying the conditions under which tokens can
be minted or burnt can be defined using multi-signature scripts (also called simple scripts).
Transfer logic and other related functionality is built into the Cardano ledger itself. Therefore, no
Plutus scripts are needed to safely create new assets and interact with them.
{
"type": "all",
"scripts":
[
{
"type": "before",
"slot": 52172439
},
{
"type": "sig",
"keyHash": "1e877165fc4734d51e23c4ec4bf9de77faaa56c5994a0fddc7c028fb"
}
]}
This can be checked with the Cardano command-line interface (Cardano CLI) by running the
following command:
2
> cardano-cli transaction policyid --script-file FILE
The minting policy establishes two conditions that must be met in order to allow the minting or
burning of a KubeCoin token:
- The upper bound of the transaction validity interval must be lower than slot 52172439
- The transaction must be signed by the key corresponding to the public key hash
1e877165fc4734d51e23c4ec4bf9de77faaa56c5994a0fddc7c028fb.
The current slot of the Cardano blockchain can be checked by running the following command
in the CLI:
At the time of writing this report, the current slot number is 55702137, which is already past slot
52172439. This means that no more KubeCoin tokens can be minted or burnt. Therefore, the
total supply of KubeCoin tokens that will ever be in existence can be computed by aggregating
the total number of minted tokens to date and subtracting the amount of tokens burnt.
Querying the blockchain, it can be checked that there is only one transaction minting KubeCoin
tokens and no transactions burning them. The transaction with hash
5c1818cf34ee8d1c46c2e05b72d4decbf3661191ae86883f1585cf035ef8456a, included in
block number 6828911, mints 480,000,000 KubeCoin tokens in slot 52163448 and sends them
to the address addr1v97nmncwc8x4xsyvn8psfqnrwp8ny02jt0zgztvsnqn7a9cscp0tk.
3
Found issues
Prior to the minting of the KubeCoin tokens, 480 millions (480,000,000) of tokens of a similarly
named asset Kubecoin (4b756265636f696e) with policy ID
3b6f1e831ae8fa6455cd7374208e4ded0fb5e48849b120b2e212a8a2 were minted and sent to
the same wallet addr1v97nmncwc8x4xsyvn8psfqnrwp8ny02jt0zgztvsnqn7a9cscp0tk. The
minting of these tokens (Kubecoin tokens from now on) was performed on slot 52091951 by the
transaction hash
eec3c513d41c4026652e3639d7819a36fdd259a1191e6a569d4b7211b733c75d included in
block 6825509.
{
"type": "all",
"scripts":
[
{
"type": "before",
"slot": 52100951
},
{
"type": "sig",
"keyHash": "96d44006db70bfa981d54d9aeecfb9d4318816794a005130bb379378"
}
]
}
Since all the minting and burning had to occur before slot 52100951, no more Kubecoin tokens
can be minted or burnt.
The minting of Kubecoin tokens is most likely due to a failed KubeCoin minting attempt and can
be safely ignored. Nonetheless, it must be noted that the similarity of the two tokens (name and
minted amount) plus the fact that both assets have been first received by the same wallet may
lead to confusion, especially among users of blockchain explorers.