Why is it still required have two open ports, DirPort and OrPort, for a relay?
Imagine such a situation. A Tor user with unlimited network traffic and with that kind great bandwidth stay behind a NAT router without the ability to forward two ports, or e.g. no external IP address in the provider's VPN configuration, or public modern Wi-Fi cafe, etc...
It is obvious that the anonymity of a relay operator, while browsing, is much better than the client's.
This should be enabled by default for high-bandwidth connections.
Why do I point out the possibility of incoming traffic to such a middle-relay? I'm just fortuitously found for myself, that the onion hidden service isn't required in any open ports.
In the same way, with only one hop, not a three hops, any relay behind the NAT router would share its bandwidth with the network. That means, the bandwidth of the whole network will grow 100 times and the anonymity of such clients-middle-relays will grow!
Complexity of code for this is +100 lines at maximum.
Current state is: 5,000 relays vs 500,000 clients, 1 x 100.
Under "Middle-relay", I mean ExitPolicy reject *:*