When a user interacts with a proxy contract, they send a transaction signed by themselves to that proxy. My question is, how is that transaction communicated to the underlying implementation contract? Does the proxy send another transaction to it, and if yes, who is that signed by? Or is it a relationship more like the proxy contract inheriting from the implementation?
If you could also provide the source of your answer it would be very appreciated, thanks for any input.