1) Bitcoin addresses are generated from public keys through a multi-step process involving hashing, encoding, and adding checksums.
2) Specifically, the public key is hashed using SHA256 and RIPEMD160, then encoded in base58 format.
3) A version byte and checksum are added to the encoded hash to create the final Bitcoin address.