Smart contracts make no sense as software engineering. You need a perfect bug-free program – but humans are really bad at coding without error. Programming to this extreme quality level is done by organisations like NASA for spacecraft, and it’s hideously slow and expensive.