I've found a way to share only with people who share without the need to block anyone. You have to create a new group on the library and then you can add your friends to that group. So you need to add everyone with files to your friends and then to the group. Then on the library just deselect all public shares and select the group instead.
So there is no need for this feature after all. While before some people could leech from me when I was afk and I couldn't block them if they didn't share enough files, now I have the reverse problem. There are people who I may have not seen that are sharing files and won't be able to download from me.
I believe a way to enforce/incentivize sharing is still necessary. Allowing free riding degrades the user experience for everyone. Take a look at the paper, Free riding on Gnutella revisited. https://libgen.rs/scimag/10.1109%2Fmdso.2005.31
From the paper:
To gauge the prevalence of free riding, the 2000 study analyzed Pong and QueryHit messages (see the
"Gnutella 0.4" sidebar for more information about Gnutella messages). The study found that 66 percent of
peers shared no files at all, while 73 percent shared 10 or fewer files. Additionally, Adar and Huberman
observed that a very small proportion of the peers are responsible for the vast majority of the sharing: the top 1
percent of sharing peers accounted for 47 percent of all QueryHits, and the top 25 percent of these peers
I honestly believe being altruistic and sharing with people without shares is equally as bad as leeching since it encourages people to free ride. So it's in the benefit of everyone in the network to block leechers.