Announcements about “Malicious” Transactions in NEO

7/31/2018 发布

Posted on 7/31/2018

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.

Current Situation

  • 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.

Advice

  • 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)

Solutions

  • 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.

Announcement