As far as I know, we can deploy a contract with the same address in different chains by using the same private key to create an account in different chains, and using that account to deploy the contract. If that account has made no transactions in any chain, the nonce will be the same and therefore the address of the created account will also be the same.
But this means handling the private key, and that may be considered insecure.
In this EIP (in the "Deployment method" section) a method (called Nick's method, I don't know why) is proposed that allows to create a contract with the same address but guaranteeing that no one know the private key. And while I think I get the heart of the idea, I don't really know how to execute it.
So I'd like to know: How does that method work? What are the detailed steps to use it? And who is Nick?