Introduction to Metaverse input/output limitation and the rectifying of small change
When the Metaverse was first introduced this week, we realized that miners could not transfer out ETP obtained through mining. After debugging and testing, we found that there was a bug in the group transaction algorithm resulting from a lack of restriction on input/output.
Problems arose with the group transaction algorithm because Metaverse uses address rather than input as the most granular during the process of looking for input. Hence, if an account’s balance is sufficient, all ETP will be transferred retuning 0 to the address. This has led to a particularly large number of problems occurring with input, and too much input will cause a large transaction.
Metaverse uses the UTXO model. In the UTXO model, the number of inputs / outputs is limited.
In Bitcoin, transactions with one proven input and one output occupies about 161 - 250 bytes.
In Bitcoin, transactions smaller than 100kb are termed standard transactions while those larger than 100kb are termed non-standard transactions.
So in Bitcoin, the maximum number of inputs / ouputs is limited to 100KB / 161B ~ = 600 per transaction.
There are similar limitations on transaction sizes on Metaverse. However, due to the asset issue function, the number of inputs / ouputs per transaction is limited to around 333 instead.
For ordinary users, large numbers of small amounts (input) should not appear frequently. If they do, you can manually send the rectified transaction (for large denominations):
You have 900 inputs, and each input contains an ETP. When you want to return the 900 ETP, it is better to divide it into three transactions. Each transactions transfers 300 ETP to the same address A which will contain 3 inputs, with each input containing 300ETP.
This is the same for miners, and each coinbase only generates three ETP.
In other words, miners not only do mining, but also need to undertake the rectification of tokens by swapping small ETP for larger denominations of ETP then lastly placing the ETP into circulation after rectification.
Considering the limitation of around 330 ETP, each transaction can be rectified to 1,000 ETP.
For example, if miners have gotten 20,000 ETP as a reward for mining, they would require about 20 transactions sent to the same address (that is, 20 inputs; the following transactions will become normal).
We fixed the problem in updated 0.6.3 version.
The updated version, which serves as a patch, aims to repair bugs and improve functions. It is not involved in any account’s data migration. If you want to download the latest version, please visit our official website http://mvs.live.