We can't count the components because identities can be Sybil attacked.
I'm not really sure why you are having such a problem with this; it is obvious that hashing power is the only substitute for the abstract concept of a node, or a component.
Because hash rate doesn't prove faultiness. Bitcoin has no frame of reference.
When you see a corrected design, you will understand why not being able to Sybil attack a frame of reference is what enables establishing blame and making the system Byzantine tolerant.