I attach the following image. Once a user creates a digital wallet (for example in MetaMask), then they receive a private key and a public address of their account as outputs.
Then, after having developed and compiled their smart contract they need to deploy it in the Ethereum blockchain. In order to do so they need to approve the transaction and pay for gas. For doing so, does the private key or their public address should "work" as an input to the "Deploy and approve transaction"?
In other words, in a visual way (as shown below), should a line from private key or from public address direct to the deploy and approve transaction?
My perspective is that the private key should be served as the input, since its like the means of signing a transaction. But since I am relative new to the Ethereum and blockchain world, I would need your help.