Smart contracts that run on a distributed ledger effectively need to work forever to be useful. Working forever requires maintenance and security—the longer a computer program runs, the more exposure it has to change and the opportunity to be exploited.
However, programming as an industry has little experience with this kind of operating model. It’s not surprising to see large scale exploits or errors. I think we will be surprised when maintenance burdens and tech debt cause issues for higher level abstractions (DeFi) or stifle development of the underlying protocols.
See also:
- An Engineer’s Hype-Free Observations on Web3 literary notes
- Smart contracts are not legal contracts
- Smart contracts and their accompanying blockchain need to exist long enough for the Lindy Effect to kick in
- Web3