Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Some projects avoid upgrading contracts at all. They deploy a new version, create a new UI and point this new UI to new contracts. Uniswap V2 vs Uniswap V3. This way users are actively opting into new set of contracts.



This makes sense to me and I think can be considered decentralized. How common are completely immutable contracts though?

It seems like for any contract that holds significant value it would be insane to make it immutable, particularly when it's written in a turing complete language like Solidity.


It's pretty common, the two biggest and most used decentralized exchanges uniswap and sushiswap hold $10.5B and are immutable.


Uniswap censored tokens representing stocks some months back. This is 100% mutable behavior of the project.


That was blocked at the web interface, if you wanted to use one of those tokens you could directly interact with the smart contract to get around those blocks


The Uniswap devs created a standard called Tokensets to allow different front-ends to curate which tokens are available without actually censoring anything.

https://www.tokensets.com/


Holders of large amounts of funds often value simplicity. Take old Gnosis Multisig vs new Gnosis Safe. While lots of projects migrated (moved funds) to Gnosis Safe, some are still using old Multisig contract, which was so simple it could be audited by anyone in an hour. Old Gnosis Multisig is immutable and can definitely be considered a huge success.


It's a tradeoff. There have been cases where an immutable contract was hacked, but there have also been cases where an admin key was compromised resulting in loss of funds. Users also have to consider the possibility that the admin is corrupt.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: