We have designed our Fiber backbone network as a loop.
Is this design acceptable?
having some blocked ports is normal when using STP.
STP is used to avoid bridging loops.
In trasparent bridging there's no equivalent of IP TTL and the switches are not allowed to modify the frames.
So STP manages the redundancy by building a loop free spanning tree centered on the root bridge and does this by putting in blocking state some ports.
STP in case of a topology change like a link or node failure will react by building a new spanning tree.
So one or more ports that were blocked can move to forwarding state safely.
So don't worry about ports blocked by STP.
Actually the loop is broken by STP by putting a link in blocked state but again this is good news.
Hope to help