Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Contraction creation with colliding addresses #83

Closed
axic opened this issue Mar 25, 2016 · 7 comments
Closed

Contraction creation with colliding addresses #83

axic opened this issue Mar 25, 2016 · 7 comments
Labels

Comments

@axic
Copy link
Member

axic commented Mar 25, 2016

I am looking for the definitive answer to what happens in the very unlikely, but still possible, scenario when a newly created contract address would clash with an existing (contract) address.

If I understand the YP properly, in Chapter 7 it describes it as:

  • do as if it were a new contract (i.e. rewrite the whole state)
  • with one exception: keep the account balance

Is that correct? Wouldn't it make more sense having it as a clear error condition?

@nmushegian
Copy link

This is one of several soft assumptions based on probabilistic arguments that could be made protocol-level assumptions. For example, I'd like extra protection against discovering address 0's private key. I acknowledge it seems silly but you can imagine a world where it was silly not to have sanity checks on the crypto ops enforced by protocol.

@kumavis
Copy link
Member

kumavis commented Mar 28, 2016

relevant: the ethereum org's multisig wallet worked by funding the contract's address in the genesis block and then later publishing the contract after the thawing

@axic
Copy link
Member Author

axic commented Mar 28, 2016

Thank you @kumavis that probably is the reason for this behaviour.

That doesn't necessarily means it makes sense for the future. Are we expecting any other pre-funded contracts to be revealed?

On the other hand it is an interesting feature.

@axic
Copy link
Member Author

axic commented Mar 28, 2016

Having spent a bit of time reconsidering this, my suggestion is to keep the current way of "overwriting" unless the code storage is set (i.e. a contract is deployed).

That enables pre-funded contracts, but disables subsequent overwrites once the contract has been deployed.

@subtly
Copy link
Member

subtly commented Apr 1, 2016

Collisions simply aren't resolvable.

@github-actions
Copy link

There has been no activity on this issue for two months. It will be closed in a week if no further activity occurs. If you would like to move this EIP forward, please respond to any outstanding feedback or add a comment indicating that you have addressed all required feedback and are ready for a review.

@github-actions github-actions bot added the stale label Jan 16, 2022
@github-actions
Copy link

This issue was closed due to inactivity. If you are still pursuing it, feel free to reopen it and respond to any feedback or request a review in a comment.

bumblefudge added a commit to bumblefudge/EIPs that referenced this issue Feb 16, 2024
Add namespace for Concordium (ccd)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

7 participants