Basic knowledge of networking like IP, broadcasting/multicasting, P2P networks (torrents) would suffice
Mathematics and Computer Science are closely related.For a Blockchain developement,Probability,Permutations and Combinations are very much needed.
Probability: Basic probability theory for understanding the calculations about the probabilities of deriving private keys using brute force.
Permutations and Combinations: Basic knowledge to calculate the numbers involved in finding the probabilities.
Byzantine General’s Problem:
Cryptographic hash functions (SHA-2, RIPEMD160):
After getting a good grasp on the above topics you can continue with the book you have mentioned, or if you want videos, then there is a playlist on youtube by Princeton University on Bitcoin and cryptocurrencies, the first three lectures would be enough for you to start programming and getting your hands dirty with the Bitcoin Core software