Everything I read about cryptography talks about a "public key" and a "private key". However, the Cardano CLI reality appears more complex.
As I understand it, the 24 word seed phrase is sufficient to generate all the keys and wallet addresses necessary for a Daedalus wallet to function.
If I bypass Daedalus and the seed phrase process and instead generate a signing key (.skey) and a verification key (.vkey) using
cardano-cli address key-gen {parameters}
and an address from those using
cardano-cli address build {parameters}
what qualifies as the "public key"? The signing key (.skey) is obviously the private key. As far as I can tell, once the wallet address is generated, the .vkey file is no longer used. The wallet address of the sending wallet is not necessary for sending ADA. So it appears that the UTxO is the "public key". However, that is not reflected in the language of the articles I have read, which refer to the wallet address as the public key.
It does seems that the UTxO is cryptographically married to the (sending) wallet address, or at least the signing key (which is of course cryptographically married to the wallet address). I have tried sending test ADA thru the CLI from a UTxO from wallet B while signing with the skey for wallet A, and of course that fails. Does that digital marriage between UTxO and (sending) wallet address make it irrelevant which one is the public key?