Ok, what do I remember about Tor network? Tor network is a way to transmit internet packages, so it would be impossible for an observer to figure out where from and where to those packets go, as well as learn anything about this communication contents. It's achieved through the following scheme: The packets are transferred via routes that include several consecutive nodes. Nobody except the communication initiator knows in advance which nodes on the network are going to be chosen for any particular exchange. Nodes don't know about each other either. Like each node knows only two things: Where the packet is coming from, and the next point of the route where it has to be transmitted.
To draw an analogy, I take a small box and put inside some treasure, adding a note with an address where this treasure should be delivered. Then I lock the box with a special key. I know that there is a person at the end of the route that can unlock this box (In Tor terminology it's called Exit Relay). I write the name of this person on the box, so whoever will receive this box will know where to pass it next. Then I put this box into another box and lock it with another key. This second box can be unlocked by another specific person (Middle Relay), who will see the inner box and know to whom it should be given. On the second box, I write that it should be passed to the "Middle Relay." And then I put those two nested boxes into the third box and lock it with the third key. Then I give this whole construction of nested boxes to a person, representing the first leg of the route, (the Guard Relay) who has the key for the outer box. I give this person an instruction to pass this box on.
The "Guard Relay" opens the box with his key and sees inside it the box with an instruction to pass it to the "Middle Relay." The "Guard Relay" knows neither the final destination of this package nor what's in it. All this information is locked inside. All the "Guard Relay" knows is the next route point (Middle Relay). Middle Relay, in turn, upon receiving the package opens the second box and sees the third box with written on it address of the Exit Relay. Middle Relay knows neither that the package was initially sent by me, nor where it's going to finally end up. The former is the information that was discarded on the previous step by the Guard Relay, and the latter is hidden inside the innermost box that can only be opened by the Exit Relay, and the information about the final destination of the treasure is hidden inside this innermost box together with the treasure. (Also, the Guard Relay naturally doesn't know anything about the treasure.) So finally the third box is extracted and given to the Exit Relay, which opens it, discovers the treasure and delivers it to its final point of destination.
Since neither of the nodes in this scheme has the full information of the route, this communication can be considered extremely secure. If anybody tries to eavesdrop at any point of the route, (or one of the nodes turns out to be a malicious actor, aiming to intercept my communications) hijacking one point of my chosen route isn't enough to reveal what kind of exchange I lead or with whom. And since the route points I select are random, (plus the route regularly changes), it's unlikely that somebody can figure out and start intercepting information at more than one node. (Assuming unlikely possibility that the attacker has the technical capacities to do that at all) This architecture, in fact, is effectively resistant to the man-in-middle attack.
One of the weak points in Tor architecture is the nodes, storing information about the relays. To plan the routes for my packets, I need to know some of the relays' addresses. (and addresses of the nodes, containing more relay addresses) Those addresses are stored on the limited number of servers in the US and Germany called "Directory Authorities," and the addresses of those servers are hardcoded into the Tor software. So, potentially it leaves the possibility of a concerted attack against "Directory Authorities" that potentially can cripple Tor network, at least temporarily.