Summary
This proposal aims to exclude contract executions by dapps from the scope of Burn Tax.
Motivation
When the proposal for burn tax was introduced by @ek826 , the following transaction types were included in the scope of the burn tax:
- MsgSend - Sending from one wallet to another
- MsgMultiSend - Sending from multiple senders or to multiple receivers (taxed once)
- MsgSwapSend - Swapping then sending to another wallet
- MsgExecuteContract - Smart contract transaction
- MsgExecute - Bundled dApp and smart contract transactions (each bundled tx is parsed and taxed)
- MsgInstantiateContract - Creating a new smart contract
The transaction types related to governance, staking and swaps were excluded from the scope of the burn tax. The following transaction types were excluded:
- MsgDelegate - Delegation of LUNC
- MsgWithdrawDelegationReward - Withdrawing of staking rewards
- MsgSwap - Swapping of stablecoins
and some other trivial governance and staking related transactions.
Based on on-chain data of transactions collated by @godoal , the burn tax generated in a single day by the various taxable transaction types are as follows:
- MsgSend - 57,084,943 LUNC
- MsgMultiSend - 0 LUNC
- MsgSwapSend - 0 LUNC
- MsgExecuteContract - 1,319,533 LUNC
- MsgExecute - 0 LUNC
- MsgInstantiateContract - ~0 LUNC
In a nutshull,
- ~97% of the burn tax comes from Send Transactions (MsgSend, MsgMultiSend, MsgSwapSend) - particularly MsgSend transactions,
- while only ~3% of the burn tax comes from Contract Executions (MsgExecuteContract, MsgExecute, MsgInstantiateContract) - particularly MsgExecuteContract transactions.
Burn tax on smart contract transactions does more harm than good as it drives away dapps and on-chain utility due to the additional fees and code complexity, while adding very little to the burn amount.
Pros of excluding burn tax from smart contract transactions:
- Lower transaction fees on smart contract transactions
- Better dapp interpretability with other smart contracts platforms like CosmWasm
- More utility and gas fees generated for the network, which would result in more rewards for stakers and more funds sent to the community pool
Cons of excluding burn tax from smart contract transactions:
- ~3% less will be burnt
Proposal
Should this proposal go through, the following transaction types will be excluded from the scope of burn tax:
MsgExecuteContract
MsgExecute
MsgInstantiateContract
The code changes for this will be implemented by the L1 Task Force led by @ek826
Note: Special thanks to @godoal for the on-chain analysis.