What are the specific aspects of a consensus protocol system that I need to pay special attention to in order to come up with a new consensus protocol ?
You must remember that most networks have a series of nodes that are each competing or "working" for the ability to write to the chain. i.e produce the next block. Once a "winner" is found, all other nodes verify the solution, and then check whether transactions are valid. If they are, then they move onto attempting to find the next block.
So your consensus mechanism must ask for some "work" from nodes, and that work must be easy to verify by other nodes. the work done must also be variable, ie. it must be scalable to a sense of difficulty.
There are several books on foundations of distributed systems that discuss the consensus problem, e.g. Cachin et al. "Introduction to Reliable and Secure Distributed Programming" https://www.springer.com/gp/book/9783642152597 .