What is the difference between proxy and VPN?
If we consider them in the context of the task of hiding your address, then the difference will be in the OSI level.
Proxies work at the application level, while VPNs work at the network or even channel level.
But, generally speaking, these are completely different technologies.
A proxy server is any server that performs a user request on its own behalf. Typically, a proxy server can only work on one protocol.
The exceptions are HTTPS proxies, which, thanks to the CONNECT call, can tunnel any TCP connection, and SOCKS5 proxies, which can transmit any TCP and UDP packets.
An important fact is that you can’t just take and slip a proxy into any program – the program must know that it connects to the server through a proxy and how to work with this proxy (the exception is reverse proxies that pretend to be a server, and transparent proxies that intercept network traffic; but you definitely won’t confuse them with a VPN).
VPN is a virtual network. Just like a local network, only virtual. Usually (with the exception of particularly crooked solutions), a VPN connection looks like another network adapter to a computer for programs, so if configured correctly, any program can work through VPN without even knowing about the existence of this VPN.
As with any network, a VPN may or may not have multiple routers that connect it to other networks.