I'm new to blockchain technologies and I'm trying to grasp the "why" and the real "value" of immutable contracts.

In software engineering is pretty much accepted that no piece of logic is ever perfect / bug-free and is expected to evolve throughout its life cycle.

What makes immutable contracts that trustworthy? Shouldn't a "smart" piece of logic be able to evolve too?



Blockchain technology objective is the immutability. If you want use database/directory/repository to save your code, there are already many technologies. But don't forget that these codes can be changed to add hacks, cracks, tricks...

The idea behind the smart contract is to define a contract/code that is by default not hackable by someone. So it is a rule defined like "The Ten Commandments". When you use a smart code, you are sure that it is always the same code/protocol/rule.

For simple contracts or verified contracts (by programs, humans), you don't need evolution but for complex contracts like the DAO, it was certain that we will found bugs and it needed a method to upgrade the contract like you can do with lawyers. But as all first programs, there were big errors. In future, when the technology will be more mature, the upgrade process will be sure.

Not the answer you're looking for? Browse other questions tagged or ask your own question.