When building software, we often focus too much on the technical details and not enough on the real world factors that software deals with. Cryptocurrencies are a great example of this. We talk a lot about their technical challenges, but not enough about what they are meant to replace: money.