I am looking at the details of the Tezos protocol right now, and I cannot find this information online.
In a wallet (e.g. TezBox) we can create KT1 addresses from a tz1 account. These KT1 "originated accounts" are mostly used to delegate tez, and can host smart contracts.
I would like to know how does this origination work. What is the mechanism involved? Any hash function? Anything to do with the contract which is saved at this address (like Bitcoin's P2SH)?