...by Daniel Szego
"Simplicity is the ultimate sophistication."
Leonardo da Vinci

Tuesday, November 28, 2017

Blockchain FAQ - immutability

As there are usually some interesting questions regarding blockchain, I thought it is a good idea to start a blockhain FAQ session.

Question 1: I used the state-of-the art development techniques like, Agile, Scrum, DevOps Lean and I deployed the first release of my smart contract to the Ethereum live Blockchain, so how can I deploy the next release ?

Answer 1: You can't ! Immutable means you can't change. Actually nobody can change. It is the basic characteristic of a truly decentralized global trust protocol. Certainly, in very special circumstances there might some workarounds, like you might prepare some elements at the beginning to be dynamic, or Buterin might do a hard-fork for you, or you completely destroy the contract and create a brand new one. But generally if you want to change an immutable smart-contract, you fucked up !

Question 2: Is it possible then to write smart contracts at all ?

Answer 2: Voyager 1 probe was launched in 1977, it left the solar system in 2012, it is still working and it has code running on it. Probably it was designed less with the above mentioned fashionable software development techniques and much more with old fashioned engineering, but it is possible.