How do we detect manipulated chains. Your chain may be public and the bad guy knows your blocks. He can manipulate a payload and calculate from that block on forward to the current block. As a result two chains exist and both claim to be the correct one. The faked chain can only calculate it’s next hash, after it learned the back-step value from the original chain. In case of a dispute, just ask the suspected chain to calculate a dummy record, let’s say with empty payload. Because he does not have the back-step generator of the original chain, he can only guess a value.
He would not be able to provide a back-step value that links to the previous block. One simple one-way operation and everybody knows who’s the bad guy.
There is a second method to detect the bad guys on-line. The bad guy needs the back-step value of your current record you just published. Without that he cannot continue the faked chain. You may release your block, but keep the back-step value for a certain time with you. People on the network receive your block which contains the hash, but they cannot verify now. They need to wait until you release the back-step value of that block a short time later. The chain which is published first must have known the correct back-step value at that time. The other chain must have copied the value when it is released from the correct owner.
More on security in a later post.