Contract upgradeability has been a hotly debated topic.
If the contract is upgradable, this means compromising the minimum level of trust on the chain. If it cannot be upgraded, the iteration of the protocol will face great resistance.
The needs of different applications are not the same, and the level of trust is not uncompromising. For DeFi-like asset-heavy protocols, hard-coded contracts consolidate the security of assets. For other applications that require frequent iterations, non-upgradable contracts mean heavy costs such as user migration. At one time, Ethereum was the only deployment option, so utilizing proxy contracts became the obvious choice for an iterative protocol. Now more and more smart contract platforms are developing rapidly, which also provides more options for different applications.
In this article from Andre Cronje, AC expresses his views on the nature of smart contracts. Rhythm BlockBeats translated the full text:
In the past day, my mood was very mixed. I haven't been able to make sense of all the data available, so I can't make a good summary of what happened. This incident really got me thinking about smart contracts and the role they play in our ecosystem. There is a unique duality in smart contracts, that is, on the one hand, it repeats mechanical work that cannot be changed, and on the other hand, it cannot run smoothly from the beginning, but all it has to do is eliminate all human influence factors , and prevent the occurrence of human failure. So smart contracts are not only a trust assumption, but also a contingency measure. Even if one day I die, all the codes I have written in DeFi will still run independently as usual without any intervention from me.
For some, this is a flaw, but in my opinion, it is a great advantage - the immutability of smart contracts is its strength. I have always been against the agency model in the past, which still relies heavily on human leadership to make decisions and cannot do its own work. This is because they know they are constantly being watched by humans and may be replaced at any time. However, not only smart contracts need to worry about losing their status, but users should also be cautious, because the proxy model still has certain risks. However, we have also developed corresponding risk mitigation tools and introduced time locks to ensure that participants have enough time to react. At the same time, we have also added a multi-signature mechanism to avoid failures caused by individuals. But at the end of the day, these methods are all about giving humans some control over smart contracts.
We have strayed from our original direction.
I want to repeat here what I have written in previous articles: In Crypto, you are voting with money. If you keep voting for low-level scams, get-rich-quick schemes, or crap forks, they will only increase. Platform building itself is already quite difficult, it takes longer than anyone imagined, and building a platform without human intervention will take even longer. However, we have advanced to the stage where we can directly manage these agreements, which are sending funds out of the EOA. I myself am at fault for this, and I myself have strayed from the original vision.
I am very concerned about the various topics about protocols and robots, because I once thought that we are not building for humans, but for machines, in order for them to generate new machine currency, in order for our future machine overlords to trade, in order to generate A mechanism that could persist long after our extinction. I still strongly believe in this, but I've lost track.
I always wanted someone to agree with me, so I started looking for the community to find people who shared my vision. I really wanted to belong and not be a lone ranger anymore. Now, however, there are only a handful of people who can discuss with me the nuances of smart contracts and their relationship to digital finance. Most of them are retired or don't care much about the latest developments in the industry.
I needed to revisit my goals, but when I looked at the code I wrote, I also found that although my thinking had changed, my passion for the cause hadn't been affected in the slightest. My code has no proxy mechanism, no artificial components, management functions and DAO controls, no multi-signature or time lock functions, it is simply running normally. If you want to confirm this, you can check it out hereSolidlycode.
The immutability and autonomy of smart contracts are precisely its advantages, not problems.
We talk about trust assumptions a lot, but trust assumptions don't exist in code, only we need it.
Original link
