This topic is about stale blocks and how UCS and other crypto currencies are dealing with stale blocks.
What are stale blocks and why do they occur?
In general stale blocks sometimes also called orphan blocks occur when two valid next blocks are propagated at the same time. In this case the other participants are unable to decide which block was first.
What happens if a stale block occurs?
Over time the longest chain will override the shorter causing the block(s) of the shorter chain to get abandoned. This also affects all transactions in the stale block(s) as they won’t get any more confirmations. In most crypto currencies a block consists of multiple transactions which results in all these transactions to be revoked/orphaned.
Can a stale block occur in UCS?
In UCS there is no central blockchain. Every user manages his own chain where every block represents one transaction resulting the whole chain to be a tangle. This means that stale blocks can only occur if a user acts fraudulent and deletes his last block or creates two new blocks at the same time. The occurance of a stale block in UCS is always linked to fraudulent user actions while in other crypto currencies the occurance of a stale block is mainly caused by simultaneous propagated next blocks. So in these crypto currencies stale blocks are expected as a result of a timing issue and are normal behaviour (although they do not occur very often). In UCS a stale block always indicates malicious behaviour.
How does UCS handle stale blocks?
Whenever reading a transaction or sync-file the program will compare the sent index-file with the one already received by the user. If there is a mismatch between the users’ transactions sent and the ones already received the script will compare the blocks of the user and will propagate the chain having the higher number of confirmations in total. As a block only contains one transaction the overall impact of a stale block is not as big as compared other crypto currencies.
To minimize the risk of a stale block occurence and to reduce the time needed to identify a potential stale block it is very important that you synchronize yourself with other users or UCAs.