When a block header with missing dependencies is received it is likely that those dependencies will be received later on and the block can be added to the database.
For that, instead of discarding the block because of a validation failure, the block should be stored temporarily in a staging area.
In addition a synchronization session should be triggered to query the missing dependencies for that block header. For that it is helpful when the origin of the block header is recorded (cf. #79).
If the block header is part of an active cut synchronization should be done with high priority.
When a block header with missing dependencies is received it is likely that those dependencies will be received later on and the block can be added to the database.
For that, instead of discarding the block because of a validation failure, the block should be stored temporarily in a staging area.
In addition a synchronization session should be triggered to query the missing dependencies for that block header. For that it is helpful when the origin of the block header is recorded (cf. #79).
If the block header is part of an active cut synchronization should be done with high priority.