

At its core, Create2 allows fordeterministic deployment of smart contracts. This means that the address of ato-be-deployed contract can be known in advance, even before the contract isactually deployed.
new_address = hash(0xFF, sender, salt,bytecode).
Here, 0xFF is a constant, sender refers tothe address deploying the contract, salt is a nonce that allows for thedeployment of multiple contracts with the same deploying address, and bytecodeis the compiled code of the contract.
Enhanced Security and Predictability:Knowing the address of a smart contract before it is deployed adds a layer ofpredictability that can be leveraged in various ways. For example, it enablesmore secure interactions between contracts even before they are deployed.Parties can agree on the future address of a contract, which can then be codedinto other contracts or applications, reducing the risk of misaddressing orscams.