A recent yellow paper by Vitalik Buterin simplifies and applies a 99 percent Byzantine fault tolerant algorithm for blockchains. ETHNews explains it in language you can understand
https://www.ethnews.com/vitalik-buterins-latest-consensus-algorithm-paper-explained