Recently, the number of transactions on the NEO network has increased significantly. Some of them are meaningless and could be considered as an attack. NEO is designed to be a high performance blockchain system that can handle high transactions per second (TPS) scenarios in event such as this. Information below can help you know better what has happened recently.
- NEO has a parameter called “MaxTransactionsPerBlock” which is set to 500 now. The purpose of this parameter is to protect NEO from an infinite number of transactions flooding the network.
- NEO also has another parameter called “MaxFreeTransactionsPerBlock” which is currently set to 20. This limits the number of transactions which are sent without a fee to only 20 in a single block. All of the excluded free transactions stay in the mempool of NEO node.
- Each block has a “MinerTransaction”, therefore each block will have a total of 21 transactions, as you can see in blockchain explorers.
- If any of the transactions are sent with a fee then they will be validated by nodes at a higher priority. Thus, if you need your transactions to be confirmed immediately, sending a transaction with a fee will be the best choice.
- This mechanism can protect NEO from malicious attacks through the use of tremendous meaningless transactions.
- As NEO grows to be a larger blockchain platform, more transactions will be executed in NEO blockchain one way or another. Sending transaction with fee will be recommended. It’s easy and effective.
- The amount of transaction fee depends on how fast you need to get transactions confirmed by blockchain. In general, 1 satoshi gas will be enough.
- If you still need to know if it’s necessary to pay transaction fee. Checking the status of node’s memory pool will be a good choice. Please refer to this article for details.(http://docs.neo.org/en-us/node/cli/2.7.6/api/getrawmempool.html)
- The NEO team is encouraging exchanges to add a transaction fee when a user withdraws NEO tokens from the exchange.
- The NEO team is encouraging all wallet clients to add the ability for a user to set the transaction fee, so that users can make their own choice to pay the fee or not.