Should any account be allowed to burn tokens?

Hello everyone,

I just realized something curious while writing ERC-20 tests: I used the OpenZeppelin contract wizard with Mintable/Burnable and Roles features (See screenshot below), and it looks like the burn() method is not protected by default.

This means anyone could burn their own tokens if they wanted to. Now I have questions:

  • Is this standard and considered normal practice?
  • A major holder of a given token could hypothetically decrease supply substantially if he decided to burn his tokens, wouldn't it be problematic?
  • AFAIK DEXes and other services may sometimes need to mint/burn tokens temporarily. How do these thing work in practice?
  • Would it break the proper functioning of the token if the burn function were to be protected by an onlyRole(MINTER_ROLE) modifier?


1 Like

Token burning is a strategy to influence the price of tokens in the cryptocurrency market by removing a certain amount of tokens from circulation.

In a centralized economy, money is issued by a central bank to match the growth of goods in the market so that those goods can be traded at stable prices.

That is, the monetary base (money supply) is regulated by the central bank. In a fully decentralized monetary system, there is no central authority to dictate the monetary base.

Instead, money is created by nodes in a peer-to-peer network. Hence the need for a mechanism to balance inflation and deflation.

The burning of tokens serves the same purpose as halving bitcoin production to limit or adjust the supply of tokens on the market.

There are many scenarios for token destruction, such as penalties for reducing network utility, tokens burned to correct errors, burning of gas fees, destruction of unsold ICOs, and destruction of unclaimed rewards.

1 Like