I’m starting to see a lot of developers getting excited about building all sorts of applications using blockchains. That’s great.

I’d like to point out that blockchains are not magic.

You cannot put unlimited data or computations in a blockchain. There are theoretical limitations and fundamental tradeoffs that are unavoidable.

You can have a global view on a relatively small set of data or you can have network partitions that have local views on large sets of data. You can put limited state and computations into a public/open blockchain or you can put lots of state and computations in a blockchain and not be decentralized.

I can go on.

At the heart of blockchains you have traditional distributed systems problems that are not going to magically disappear. Without a deep understanding of these problems and tradeoffs, the toy apps of today are never going to see meaningful production use. It’s science, not magic.