Recognising the risk of ledger bloat, a dust protection mechanism is introduced.
Note: when we are thinking about dust we have to think about UTXOs rather than addresses. This is quite tricky to understand for most people, as we will see. It took me some time!
3/n
The basic rule of IOTA 1.5 dust protection is that "UTXOs cannot hold under 1 million IOTA (1 Mi)".
Try to remember this very important rule as it makes sending amounts under 1 Mi very tricky!
4/n
To understand why this is tricky, let's look at an example where I try to send 10i to an address that already contains 5 Mi.
You may assume that you could add 10i to that 5 Mi, so that you have a total of 5.00001 Mi, which respects the basic dust protection rule.
But no!
5/n
Each UTXO is actually a self-contained pot, which only contains the output from a transaction.
And in this case that pot would only contain the 10i you sent (ie the output of that transaction). So, as the UTXO only contains 10i, you have broken the dust protection rule.
6/n
You may need to re-read the previous tweet a few times to understand it properly. It took me some time to properly get it. 😅
7/n
To overcome this problem, a special UTXO called a "dust allowance output" was introduced.
Users could now lock 1- 10 Mi on a dust allowance output, and could then receive up to 10 dust-UTXOs per Mi deposited, on the associated address.
8/n
eg
- I create a dust allowance output with 2 Mi locked on Address A.
- You can now send up to 20 dust transactions (a dust transaction is anything under 1 Mi) to Address A.
9/n
Users can also sweep the dust UTXOs - this means combining multiple dust UTXOs into a single UTXO (eg 1i + 1i + 1i -> 3i on 1 UTXO).
This sweeping frees up spare UTXOs on your dust-enabled address.
10/n
This is a reasonable interim solution, but unfortunately it would not be compatible with the upcoming IOTA 2.0 network, as it requires total ordering of the Tangle to work (to determine if the transaction is valid, and that the dust protection rules are fulfilled).
11/n
Okay so that is a brief summary of IOTA 1.5 dust protection.
In the next thread we will look at the new dust solution introduced with the tokenisation framework.
/thread
• • •
Missing some Tweet in this thread? You can try to
force a refresh
The new IOTA tokenisation framework introduces various new UTXO types, which add a great amount of functionality to IOTA. But they can also add large amounts of data to the ledger (eg for NFTs, native assets, aliases).
2/n
All this new data will bloat the ledger, just like dust. So we need a dust solution that can also deal with this type of bloat, and would also ideally work with IOTA 2.0.
A new dust solution is proposed. This has 2 rules.
3/n
The tokenisation specifications released today have attracted a lot of interest. There is so much to delve into here, but first I wanted to talk about the ugly duckling that was also released today. The new #IOTA dust RFC: github.com/muXxer/protoco…
1/n
This RFC is quite complex to understand, because we have tried to tackle many things at the same time, using an elegant unified system. So I will try to explain this as simply as possible.
Let’s start with why this dust protection is needed. What exactly is “dust”?
2/n
“Dust” refers to very very small amounts of cryptocurrency. So small that you would usually ignore it. If you trade on an exchange, you will likely see very small amounts of tokens, which you previously traded, still remaining in your account.
3/n