- [x] follow the longest valid chain - [x] if there are 2 valid blocks at the same height, wait for the following block - [x] if there is a chain discovered that can get validated, replace the current one with it can be started after #97