Demystify the Burning Mechanism of TiFi Token
“How does TiFi Token burning mechanism work?”, “Why I didn’t see the burnt token being transferred somewhere?” . These questions have been asked several times by the TiFi community. This post will answer these questions by uncovering the burning mechanism of TiFi Token. This post is purely for demonstrating technical facts, not for investment advice.
Two Ways of Burning: Subtraction vs. Transferring
“Burn” as its meaning is destroy something with fire and it is gone forever, and only ash left so we know something is burnt. Nobody can tell what it was and restore back to the original item that has been burnt. When we talk about burning tokens, we assume that they are destroyed forever and nobody can use them or transfer them back.
For TiFi Token, the burning means subtracting the number of burnt tokens from total supply. It means the tokens disappeared and nobody can see them (but only the ash) or access to them, so this is a safe mechanism for “burn” compared to “transfer” these tokens to somewhere else.
On the other hand tokens like Shiba Inu Token, they call transferring tokens to zero address or dead address as “Burn”, this way means the wallets hold the tokens that should be destroyed. And people assume that nobody knows the private key for these wallets yet. In theory, the zero address and dead address are valid wallet addresses and the tokens stored there can be sold or transferred to somewhere else. It’s similar to a person hiding money or a treasure box somewhere in the ocean but nobody else knows where to find the treasure.
As of the time of writing this post, only on BSC(Binance Smart Chain), there are totally over 533.5 Million USD worth of cryptos transferred to the dead address, and 270.6 Million USD worth transferred to the zero address. There are tremendous amounts of assets awaiting somebody to unlock (I hope it will never happen).
From a technical point of view, subtraction is a better practice compared to transferring when implementing a burning mechanism. And more and more projects are using subtraction for burning nowadays.
Deep Dive into TiFi Token Burning Mechanism
As you can see from this transaction, the deployer of TiFi Token created the smart contract with the initial supply of 1 quadrillion (1,000 Trillion) TiFi Tokens. Now the total supply now on https://bscscan.com/token/0x17E65E6b9B166Fb8e7c59432F0db126711246BC0 show the total supply is around 982 Trillion. It means around 18 Trillion (1000 minus 982) TiFi Tokens have been burnt so far, because the subtraction between initial supply and total supply for now is how the burnt amount is calculated.
You can see the code of how TiFi Token burning works at https://bscscan.com/address/0x17E65E6b9B166Fb8e7c59432F0db126711246BC0#code:
Line 582 and Line 583 are conventional verification to check if this burn activity is permitted.
Line 584 subtracts the amount of burnt tokens from reflection balance (_rOwned[account]).
Line 585 subtracts the amount of burnt tokens from token balance(_tOwned[account]) if the account is a pair account. Because the actual balance is calculated by reflection balance divided by _rtRate, we need to keep the actual token balance for pair addresses since they are not receiving the reflections.
Line 586 calculates the reflected burnt amount by using _rtRate.
Line 587 subtracts the reflected burnt amount from reflected total supply(_rTotal).
Line 588 adds the actual burnt amount to the amount of the burnt tokens.
Line 589 subtract the actual burnt amount from total supply(_tTotal), we should subtract from total supply twice because we use _tTotal and _rTotal to calculate the _rtRate, which is used for calculating the balance of every holder.
Line 590 is to calculate the _rtRate.
Line 591 is to emit the events so people can search the activity via BSC Browser.
One thing to highlight is, we emit “transfer” for calling the burn function, which shows transfer the burnt tokens to zero address. The reason is that we are using the BEP20 standard which is inherited from ERC20 Standard, the standard and the interface to implement the smart contract haven’t defined the burn event for emitting logs yet, so we use the transfer event instead of burn event to follow the standard’s convention for burn, which is transferring to a zero address. However, the underlying code just subtract the amount from total supply.
The above principle is also documented in the TiFi Token White Paper. For more questions about TiFi Token smart contract, you can refer to the code or contact the TiFi core team at https://tifi.net/about/contact.html or following channels: