I can see why this can cause confusion. While people on the outside use the term ‘burn/mint’ to describe our anonymisation process, we use ‘mint/spend’ for most of our existence. Minting is the process of anonymising your transparent Firo balance. Spending is the process of bringing these anonymised Firo back to the transparent layer.
In your wallet’s Debug Console, you can enter
help and locate commands with
lelantus in them, and you will notice that
joinsplit is associated with Lelantus.
In the past, one must spend exactly the denomination that was minted (i.e. if you mint 25, you’ll have to spend 25). This changed with Lelantus, where you can mint any amount and spend any amount from your private balance. For example, mint 125 Firo and from this only spend 4 with the change reminted - this avoids observers linking that the person who minted the 125 Firo is also the same one that spend the 125 Firo later down the road.
This improvement with “of the 125 minted, spend 4 and remint the rest” is a massive departure from the previous method with Zerocoin/Sigma. Joinsplit can be thought of as a combination of mint and spend, so we can’t call it spend like for Zerocoin/Sigma previously.
Am I further understanding correctly that if I’d specify 2 addresses (and amounts) that the’d both be minted from my virtual balance created somewhen before through
The amount will be taken from the balance that you anonymised earlier with
mintlelantus. It will not be taken from your transparent balance.
To me it first seemed that
joinsplit is not affecting lelantus mints and still feel like the name is slightly misleading for this part of the operations functionality. if there were a command like
minttoaddress I would have surely stumbled over it by browsing through the available operation-commands but maybe thats just my own logic…
As we have plans to enable users to send their mint (anonymised Firo) directly to other users in the future, we could not use those commands. And since the operation of bringing an anonymised Firo back to the transparent layer is both a mint and a spend, it will be even more misleading.
Here are some examples of Lelantusjsplit. You can compare it with the previous protocol.