It is a good book but there is a lack of proper communication. Terms are not properly defined before elaborations. For example in 1st chapter while saying about consensus layer. It is written the word "consensus" is not properly defined in it's technical way. "The primary purpose of this layer is to get all nodes to agree on one consistent state of the ledger." And then it is written - " There could be different ways of achieving consensus.....". The before statement defines what consensus means but it does not say that it is doing so. That creates some sort of gap in the reader's mind. This is so much repeated in this book. Almost in every chapter.