I've been trying to learn about smart contracts. After taking a look at the source code for the erc-721 standard, the transfer function has me confused
The "to" and "from" arguments are public wallet addresses correct? What's stopping anyone from passing in any two public wallets and stealing tokens. Im assuming the private key is used, but where and how? Is the private key passed in somewhere else? Is it passed in along with the public address? Help is greatly appreciated!