The whole Blockchain area can be regarded from a pretty practical, engineering point of view as well:
You want to design a high-availability system that is resistant even to byzantine attacks or errors ?
Pick a distributed ledger technology with an adequate consensus algorithm.