I would like to make some improvements to ethereum's protocol and came across two terms- private network and testnet. What is the different between them? networks? Can other people see my nodes in testnet?
A private network disallows entry by arbitrary members. In other words, it's permissioned. A testnet can either be local (in which case it's only running on a single machine for development and is very lightweight and fast) or public with "fake gas" so it doesn't cost anything to use. Here's an excellent article by the great Karl.tech: https://karl.tech/intro-guide-to-ethereum-testnets/ explaining the different testnets. If you're interested in permissioned blockchains, check out the EEA stuff.