Spam-Hash Control function
A properly determined interval between blocks by circa 30% guarantees a stable and reliable network. There are projects with both very small TargetSpacing values of 25 seconds and very long ones (25 minutes). The optimal value is between 8 and 15 minutes, and Bitcoin’s 10 minutes fall into this interval. However, due to the large number of transactions a TargetSpacing value of 10 minutes is too large for Bitcoin: transactions wait for a long time to be included in a block and become too large. The issue can be solved – without decreasing the TargetSpacing value and reward – by introducing a Proof-of-Stake consensus mechanism, that is, increasing the number of blocks solved every day. A wrongly determined blocks interval is one of the main reason for branching (fork-blockchain), though it is not the only one. In any networks, assets (transactions) move around constantly, and they all need to be confirmed in a new block. Nodes or node groups don't all are using a stable connection. When a new block is announced, some nodes have to prepare and record transactions, sending corresponding information to the network: these data are transmitted with a delay and received with a delay by other nodes that have a slower channel or to weak platform. In some cases it takes several minute for the information about transactions and new blocks to be delivered to all network participants. If one of the nodes generates a new fast block in the meantime, information about it will also spread with a delay, and the first nodes to receive informations will be those that ere not puzzleds by work during that time. In such situations a
fork-blockchain can emerge.
Conclusion: a network needs some idle time for information about new transactions and blocks to reach all nodes. Experiments show that the inactivity period should equal circa 30% of the TargetSpacing value. Its length is controlled by the Spam-Hash Control function.
When attacking network, this function carries a certain psychological element of disappointment. With the TargetSpacing value of 10 minutes, regardless of the attacker’s hashrate, the next block will be solved no sooner than 3 minutes after the previous one.